@charset "UTF-8";
/* START: VENDOR */
/**
 * Foundation for Sites by ZURB
 * Version 6.3.1
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! 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.
     */
@import url("../fonts/fontello/css/flo-icons.css");
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

body {
  margin: 0;
  padding: 0;
  background: #fefefe;
  font-family: "Helvetica Neue", Helvetica, Roboto, Arial, 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;
     -moz-appearance: none;
          appearance: none;
  border: 0;
  border-radius: 0;
  background: transparent;
  line-height: 1; }
  [data-whatinput='mouse'] button {
    outline: 0; }

pre {
  overflow: auto; }

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

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

.row {
  max-width: 75rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' '; }
  .row::after {
    clear: both; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .row .row {
    margin-right: -0.625rem;
    margin-left: -0.625rem; }
    @media print, screen and (min-width: 48em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64.0625em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    .row .row.collapse {
      margin-right: 0;
      margin-left: 0; }
  .row.expanded {
    max-width: none; }
    .row.expanded .row {
      margin-right: auto;
      margin-left: auto; }
  .row:not(.expanded) .row {
    max-width: none; }
  .row.gutter-small > .column, .row.gutter-small > .columns {
    padding-right: 0.625rem;
    padding-left: 0.625rem; }
  .row.gutter-medium > .column, .row.gutter-medium > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 48em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  .column:last-child:not(:first-child), .columns:last-child:not(:first-child) {
    float: right; }
  .column.end:last-child:last-child, .end.columns:last-child:last-child {
    float: left; }

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

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

.small-1 {
  width: 8.33333%; }

.small-push-1 {
  position: relative;
  left: 8.33333%; }

.small-pull-1 {
  position: relative;
  left: -8.33333%; }

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

.small-2 {
  width: 16.66667%; }

.small-push-2 {
  position: relative;
  left: 16.66667%; }

.small-pull-2 {
  position: relative;
  left: -16.66667%; }

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

.small-3 {
  width: 25%; }

.small-push-3 {
  position: relative;
  left: 25%; }

.small-pull-3 {
  position: relative;
  left: -25%; }

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

.small-4 {
  width: 33.33333%; }

.small-push-4 {
  position: relative;
  left: 33.33333%; }

.small-pull-4 {
  position: relative;
  left: -33.33333%; }

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

.small-5 {
  width: 41.66667%; }

.small-push-5 {
  position: relative;
  left: 41.66667%; }

.small-pull-5 {
  position: relative;
  left: -41.66667%; }

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

.small-6 {
  width: 50%; }

.small-push-6 {
  position: relative;
  left: 50%; }

.small-pull-6 {
  position: relative;
  left: -50%; }

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

.small-7 {
  width: 58.33333%; }

.small-push-7 {
  position: relative;
  left: 58.33333%; }

.small-pull-7 {
  position: relative;
  left: -58.33333%; }

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

.small-8 {
  width: 66.66667%; }

.small-push-8 {
  position: relative;
  left: 66.66667%; }

.small-pull-8 {
  position: relative;
  left: -66.66667%; }

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

.small-9 {
  width: 75%; }

.small-push-9 {
  position: relative;
  left: 75%; }

.small-pull-9 {
  position: relative;
  left: -75%; }

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

.small-10 {
  width: 83.33333%; }

.small-push-10 {
  position: relative;
  left: 83.33333%; }

.small-pull-10 {
  position: relative;
  left: -83.33333%; }

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

.small-11 {
  width: 91.66667%; }

.small-push-11 {
  position: relative;
  left: 91.66667%; }

.small-pull-11 {
  position: relative;
  left: -91.66667%; }

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

.small-12 {
  width: 100%; }

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

.small-up-1 > .column, .small-up-1 > .columns {
  float: left;
  width: 100%; }
  .small-up-1 > .column:nth-of-type(1n), .small-up-1 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-1 > .column:nth-of-type(1n+1), .small-up-1 > .columns:nth-of-type(1n+1) {
    clear: both; }
  .small-up-1 > .column:last-child, .small-up-1 > .columns:last-child {
    float: left; }

.small-up-2 > .column, .small-up-2 > .columns {
  float: left;
  width: 50%; }
  .small-up-2 > .column:nth-of-type(1n), .small-up-2 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-2 > .column:nth-of-type(2n+1), .small-up-2 > .columns:nth-of-type(2n+1) {
    clear: both; }
  .small-up-2 > .column:last-child, .small-up-2 > .columns:last-child {
    float: left; }

.small-up-3 > .column, .small-up-3 > .columns {
  float: left;
  width: 33.33333%; }
  .small-up-3 > .column:nth-of-type(1n), .small-up-3 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-3 > .column:nth-of-type(3n+1), .small-up-3 > .columns:nth-of-type(3n+1) {
    clear: both; }
  .small-up-3 > .column:last-child, .small-up-3 > .columns:last-child {
    float: left; }

.small-up-4 > .column, .small-up-4 > .columns {
  float: left;
  width: 25%; }
  .small-up-4 > .column:nth-of-type(1n), .small-up-4 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-4 > .column:nth-of-type(4n+1), .small-up-4 > .columns:nth-of-type(4n+1) {
    clear: both; }
  .small-up-4 > .column:last-child, .small-up-4 > .columns:last-child {
    float: left; }

.small-up-5 > .column, .small-up-5 > .columns {
  float: left;
  width: 20%; }
  .small-up-5 > .column:nth-of-type(1n), .small-up-5 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-5 > .column:nth-of-type(5n+1), .small-up-5 > .columns:nth-of-type(5n+1) {
    clear: both; }
  .small-up-5 > .column:last-child, .small-up-5 > .columns:last-child {
    float: left; }

.small-up-6 > .column, .small-up-6 > .columns {
  float: left;
  width: 16.66667%; }
  .small-up-6 > .column:nth-of-type(1n), .small-up-6 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-6 > .column:nth-of-type(6n+1), .small-up-6 > .columns:nth-of-type(6n+1) {
    clear: both; }
  .small-up-6 > .column:last-child, .small-up-6 > .columns:last-child {
    float: left; }

.small-up-7 > .column, .small-up-7 > .columns {
  float: left;
  width: 14.28571%; }
  .small-up-7 > .column:nth-of-type(1n), .small-up-7 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-7 > .column:nth-of-type(7n+1), .small-up-7 > .columns:nth-of-type(7n+1) {
    clear: both; }
  .small-up-7 > .column:last-child, .small-up-7 > .columns:last-child {
    float: left; }

.small-up-8 > .column, .small-up-8 > .columns {
  float: left;
  width: 12.5%; }
  .small-up-8 > .column:nth-of-type(1n), .small-up-8 > .columns:nth-of-type(1n) {
    clear: none; }
  .small-up-8 > .column:nth-of-type(8n+1), .small-up-8 > .columns:nth-of-type(8n+1) {
    clear: both; }
  .small-up-8 > .column:last-child, .small-up-8 > .columns:last-child {
    float: left; }

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

.small-collapse .row {
  margin-right: 0;
  margin-left: 0; }

.expanded.row .small-collapse.row {
  margin-right: 0;
  margin-left: 0; }

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

.small-centered {
  margin-right: auto;
  margin-left: auto; }
  .small-centered, .small-centered:last-child:not(:first-child) {
    float: none;
    clear: both; }

.small-uncentered,
.small-push-0,
.small-pull-0 {
  position: static;
  float: left;
  margin-right: 0;
  margin-left: 0; }

@media print, screen and (min-width: 48em) {
  .medium-1 {
    width: 8.33333%; }
  .medium-push-1 {
    position: relative;
    left: 8.33333%; }
  .medium-pull-1 {
    position: relative;
    left: -8.33333%; }
  .medium-offset-0 {
    margin-left: 0%; }
  .medium-2 {
    width: 16.66667%; }
  .medium-push-2 {
    position: relative;
    left: 16.66667%; }
  .medium-pull-2 {
    position: relative;
    left: -16.66667%; }
  .medium-offset-1 {
    margin-left: 8.33333%; }
  .medium-3 {
    width: 25%; }
  .medium-push-3 {
    position: relative;
    left: 25%; }
  .medium-pull-3 {
    position: relative;
    left: -25%; }
  .medium-offset-2 {
    margin-left: 16.66667%; }
  .medium-4 {
    width: 33.33333%; }
  .medium-push-4 {
    position: relative;
    left: 33.33333%; }
  .medium-pull-4 {
    position: relative;
    left: -33.33333%; }
  .medium-offset-3 {
    margin-left: 25%; }
  .medium-5 {
    width: 41.66667%; }
  .medium-push-5 {
    position: relative;
    left: 41.66667%; }
  .medium-pull-5 {
    position: relative;
    left: -41.66667%; }
  .medium-offset-4 {
    margin-left: 33.33333%; }
  .medium-6 {
    width: 50%; }
  .medium-push-6 {
    position: relative;
    left: 50%; }
  .medium-pull-6 {
    position: relative;
    left: -50%; }
  .medium-offset-5 {
    margin-left: 41.66667%; }
  .medium-7 {
    width: 58.33333%; }
  .medium-push-7 {
    position: relative;
    left: 58.33333%; }
  .medium-pull-7 {
    position: relative;
    left: -58.33333%; }
  .medium-offset-6 {
    margin-left: 50%; }
  .medium-8 {
    width: 66.66667%; }
  .medium-push-8 {
    position: relative;
    left: 66.66667%; }
  .medium-pull-8 {
    position: relative;
    left: -66.66667%; }
  .medium-offset-7 {
    margin-left: 58.33333%; }
  .medium-9 {
    width: 75%; }
  .medium-push-9 {
    position: relative;
    left: 75%; }
  .medium-pull-9 {
    position: relative;
    left: -75%; }
  .medium-offset-8 {
    margin-left: 66.66667%; }
  .medium-10 {
    width: 83.33333%; }
  .medium-push-10 {
    position: relative;
    left: 83.33333%; }
  .medium-pull-10 {
    position: relative;
    left: -83.33333%; }
  .medium-offset-9 {
    margin-left: 75%; }
  .medium-11 {
    width: 91.66667%; }
  .medium-push-11 {
    position: relative;
    left: 91.66667%; }
  .medium-pull-11 {
    position: relative;
    left: -91.66667%; }
  .medium-offset-10 {
    margin-left: 83.33333%; }
  .medium-12 {
    width: 100%; }
  .medium-offset-11 {
    margin-left: 91.66667%; }
  .medium-up-1 > .column, .medium-up-1 > .columns {
    float: left;
    width: 100%; }
    .medium-up-1 > .column:nth-of-type(1n), .medium-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-1 > .column:nth-of-type(1n+1), .medium-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .medium-up-1 > .column:last-child, .medium-up-1 > .columns:last-child {
      float: left; }
  .medium-up-2 > .column, .medium-up-2 > .columns {
    float: left;
    width: 50%; }
    .medium-up-2 > .column:nth-of-type(1n), .medium-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-2 > .column:nth-of-type(2n+1), .medium-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .medium-up-2 > .column:last-child, .medium-up-2 > .columns:last-child {
      float: left; }
  .medium-up-3 > .column, .medium-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .medium-up-3 > .column:nth-of-type(1n), .medium-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-3 > .column:nth-of-type(3n+1), .medium-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .medium-up-3 > .column:last-child, .medium-up-3 > .columns:last-child {
      float: left; }
  .medium-up-4 > .column, .medium-up-4 > .columns {
    float: left;
    width: 25%; }
    .medium-up-4 > .column:nth-of-type(1n), .medium-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-4 > .column:nth-of-type(4n+1), .medium-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .medium-up-4 > .column:last-child, .medium-up-4 > .columns:last-child {
      float: left; }
  .medium-up-5 > .column, .medium-up-5 > .columns {
    float: left;
    width: 20%; }
    .medium-up-5 > .column:nth-of-type(1n), .medium-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-5 > .column:nth-of-type(5n+1), .medium-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .medium-up-5 > .column:last-child, .medium-up-5 > .columns:last-child {
      float: left; }
  .medium-up-6 > .column, .medium-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .medium-up-6 > .column:nth-of-type(1n), .medium-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-6 > .column:nth-of-type(6n+1), .medium-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .medium-up-6 > .column:last-child, .medium-up-6 > .columns:last-child {
      float: left; }
  .medium-up-7 > .column, .medium-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .medium-up-7 > .column:nth-of-type(1n), .medium-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-7 > .column:nth-of-type(7n+1), .medium-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .medium-up-7 > .column:last-child, .medium-up-7 > .columns:last-child {
      float: left; }
  .medium-up-8 > .column, .medium-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .medium-up-8 > .column:nth-of-type(1n), .medium-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .medium-up-8 > .column:nth-of-type(8n+1), .medium-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .medium-up-8 > .column:last-child, .medium-up-8 > .columns:last-child {
      float: left; }
  .medium-collapse > .column, .medium-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .medium-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .medium-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .medium-uncollapse > .column, .medium-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .medium-centered {
    margin-right: auto;
    margin-left: auto; }
    .medium-centered, .medium-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .medium-uncentered,
  .medium-push-0,
  .medium-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

@media print, screen and (min-width: 64.0625em) {
  .large-1 {
    width: 8.33333%; }
  .large-push-1 {
    position: relative;
    left: 8.33333%; }
  .large-pull-1 {
    position: relative;
    left: -8.33333%; }
  .large-offset-0 {
    margin-left: 0%; }
  .large-2 {
    width: 16.66667%; }
  .large-push-2 {
    position: relative;
    left: 16.66667%; }
  .large-pull-2 {
    position: relative;
    left: -16.66667%; }
  .large-offset-1 {
    margin-left: 8.33333%; }
  .large-3 {
    width: 25%; }
  .large-push-3 {
    position: relative;
    left: 25%; }
  .large-pull-3 {
    position: relative;
    left: -25%; }
  .large-offset-2 {
    margin-left: 16.66667%; }
  .large-4 {
    width: 33.33333%; }
  .large-push-4 {
    position: relative;
    left: 33.33333%; }
  .large-pull-4 {
    position: relative;
    left: -33.33333%; }
  .large-offset-3 {
    margin-left: 25%; }
  .large-5 {
    width: 41.66667%; }
  .large-push-5 {
    position: relative;
    left: 41.66667%; }
  .large-pull-5 {
    position: relative;
    left: -41.66667%; }
  .large-offset-4 {
    margin-left: 33.33333%; }
  .large-6 {
    width: 50%; }
  .large-push-6 {
    position: relative;
    left: 50%; }
  .large-pull-6 {
    position: relative;
    left: -50%; }
  .large-offset-5 {
    margin-left: 41.66667%; }
  .large-7 {
    width: 58.33333%; }
  .large-push-7 {
    position: relative;
    left: 58.33333%; }
  .large-pull-7 {
    position: relative;
    left: -58.33333%; }
  .large-offset-6 {
    margin-left: 50%; }
  .large-8 {
    width: 66.66667%; }
  .large-push-8 {
    position: relative;
    left: 66.66667%; }
  .large-pull-8 {
    position: relative;
    left: -66.66667%; }
  .large-offset-7 {
    margin-left: 58.33333%; }
  .large-9 {
    width: 75%; }
  .large-push-9 {
    position: relative;
    left: 75%; }
  .large-pull-9 {
    position: relative;
    left: -75%; }
  .large-offset-8 {
    margin-left: 66.66667%; }
  .large-10 {
    width: 83.33333%; }
  .large-push-10 {
    position: relative;
    left: 83.33333%; }
  .large-pull-10 {
    position: relative;
    left: -83.33333%; }
  .large-offset-9 {
    margin-left: 75%; }
  .large-11 {
    width: 91.66667%; }
  .large-push-11 {
    position: relative;
    left: 91.66667%; }
  .large-pull-11 {
    position: relative;
    left: -91.66667%; }
  .large-offset-10 {
    margin-left: 83.33333%; }
  .large-12 {
    width: 100%; }
  .large-offset-11 {
    margin-left: 91.66667%; }
  .large-up-1 > .column, .large-up-1 > .columns {
    float: left;
    width: 100%; }
    .large-up-1 > .column:nth-of-type(1n), .large-up-1 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-1 > .column:nth-of-type(1n+1), .large-up-1 > .columns:nth-of-type(1n+1) {
      clear: both; }
    .large-up-1 > .column:last-child, .large-up-1 > .columns:last-child {
      float: left; }
  .large-up-2 > .column, .large-up-2 > .columns {
    float: left;
    width: 50%; }
    .large-up-2 > .column:nth-of-type(1n), .large-up-2 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-2 > .column:nth-of-type(2n+1), .large-up-2 > .columns:nth-of-type(2n+1) {
      clear: both; }
    .large-up-2 > .column:last-child, .large-up-2 > .columns:last-child {
      float: left; }
  .large-up-3 > .column, .large-up-3 > .columns {
    float: left;
    width: 33.33333%; }
    .large-up-3 > .column:nth-of-type(1n), .large-up-3 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-3 > .column:nth-of-type(3n+1), .large-up-3 > .columns:nth-of-type(3n+1) {
      clear: both; }
    .large-up-3 > .column:last-child, .large-up-3 > .columns:last-child {
      float: left; }
  .large-up-4 > .column, .large-up-4 > .columns {
    float: left;
    width: 25%; }
    .large-up-4 > .column:nth-of-type(1n), .large-up-4 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-4 > .column:nth-of-type(4n+1), .large-up-4 > .columns:nth-of-type(4n+1) {
      clear: both; }
    .large-up-4 > .column:last-child, .large-up-4 > .columns:last-child {
      float: left; }
  .large-up-5 > .column, .large-up-5 > .columns {
    float: left;
    width: 20%; }
    .large-up-5 > .column:nth-of-type(1n), .large-up-5 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-5 > .column:nth-of-type(5n+1), .large-up-5 > .columns:nth-of-type(5n+1) {
      clear: both; }
    .large-up-5 > .column:last-child, .large-up-5 > .columns:last-child {
      float: left; }
  .large-up-6 > .column, .large-up-6 > .columns {
    float: left;
    width: 16.66667%; }
    .large-up-6 > .column:nth-of-type(1n), .large-up-6 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-6 > .column:nth-of-type(6n+1), .large-up-6 > .columns:nth-of-type(6n+1) {
      clear: both; }
    .large-up-6 > .column:last-child, .large-up-6 > .columns:last-child {
      float: left; }
  .large-up-7 > .column, .large-up-7 > .columns {
    float: left;
    width: 14.28571%; }
    .large-up-7 > .column:nth-of-type(1n), .large-up-7 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-7 > .column:nth-of-type(7n+1), .large-up-7 > .columns:nth-of-type(7n+1) {
      clear: both; }
    .large-up-7 > .column:last-child, .large-up-7 > .columns:last-child {
      float: left; }
  .large-up-8 > .column, .large-up-8 > .columns {
    float: left;
    width: 12.5%; }
    .large-up-8 > .column:nth-of-type(1n), .large-up-8 > .columns:nth-of-type(1n) {
      clear: none; }
    .large-up-8 > .column:nth-of-type(8n+1), .large-up-8 > .columns:nth-of-type(8n+1) {
      clear: both; }
    .large-up-8 > .column:last-child, .large-up-8 > .columns:last-child {
      float: left; }
  .large-collapse > .column, .large-collapse > .columns {
    padding-right: 0;
    padding-left: 0; }
  .large-collapse .row {
    margin-right: 0;
    margin-left: 0; }
  .expanded.row .large-collapse.row {
    margin-right: 0;
    margin-left: 0; }
  .large-uncollapse > .column, .large-uncollapse > .columns {
    padding-right: 0.9375rem;
    padding-left: 0.9375rem; }
  .large-centered {
    margin-right: auto;
    margin-left: auto; }
    .large-centered, .large-centered:last-child:not(:first-child) {
      float: none;
      clear: both; }
  .large-uncentered,
  .large-push-0,
  .large-pull-0 {
    position: static;
    float: left;
    margin-right: 0;
    margin-left: 0; } }

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

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: "Helvetica Neue", Helvetica, Roboto, Arial, 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: 48em) {
  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 {
  border-bottom: 1px dotted #0a0a0a;
  color: #0a0a0a;
  cursor: help; }

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

.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: 48em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

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

[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;
  color: #0a0a0a;
  transition: box-shadow 0.5s, border-color 0.25s ease-in-out;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none; }
  [type='text']:focus, [type='password']:focus, [type='date']:focus, [type='datetime']:focus, [type='datetime-local']:focus, [type='month']:focus, [type='week']:focus, [type='email']:focus, [type='number']:focus, [type='search']:focus, [type='tel']:focus, [type='time']:focus, [type='url']:focus, [type='color']:focus,
  textarea:focus {
    outline: none;
    border: 1px solid #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:-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;
     -moz-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: table;
  width: 100%;
  margin-bottom: 1rem; }
  .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;
  display: table-cell;
  vertical-align: middle; }

.input-group-label {
  padding: 0 1rem;
  border: 1px solid #cacaca;
  background: #e6e6e6;
  color: #0a0a0a;
  text-align: center;
  white-space: nowrap;
  width: 1%;
  height: 100%; }
  .input-group-label:first-child {
    border-right: 0; }
  .input-group-label:last-child {
    border-left: 0; }

.input-group-field {
  border-radius: 0;
  height: 2.5rem; }

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  width: 1%;
  height: 100%; }
  .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; }

.input-group .input-group-button {
  display: table-cell; }

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;
    background: #fefefe; }

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
     -moz-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  line-height: normal;
  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):-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; }

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  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.hollow {
    border: 1px solid #1779ba;
    color: #1779ba; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #0c3d5d;
      color: #0c3d5d; }
    .button.hollow.primary {
      border: 1px solid #1779ba;
      color: #1779ba; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #0c3d5d;
        color: #0c3d5d; }
    .button.hollow.secondary {
      border: 1px solid #767676;
      color: #767676; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: #3b3b3b;
        color: #3b3b3b; }
    .button.hollow.success {
      border: 1px solid #3adb76;
      color: #3adb76; }
      .button.hollow.success:hover, .button.hollow.success:focus {
        border-color: #157539;
        color: #157539; }
    .button.hollow.warning {
      border: 1px solid #ffae00;
      color: #ffae00; }
      .button.hollow.warning:hover, .button.hollow.warning:focus {
        border-color: #805700;
        color: #805700; }
    .button.hollow.alert {
      border: 1px solid #cc4b37;
      color: #cc4b37; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #67251a;
        color: #67251a; }
  .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.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.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

.accordion {
  margin-left: 0;
  background: #fefefe;
  list-style-type: none; }

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

.is-accordion-submenu-parent > a {
  position: relative; }
  .is-accordion-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;
    position: absolute;
    top: 50%;
    margin-top: -3px;
    right: 1rem; }

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

.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: ' '; }
  .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;
      top: 1px;
      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;
  font-size: 0; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' '; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .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 {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:last-child {
      width: 100%; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .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, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 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: 48em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64.0625em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  position: relative;
  margin: 0 0 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 {
  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 {
  padding: 1rem;
  background: #e6e6e6; }
  .card-divider > :last-child {
    margin-bottom: 0; }

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

.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 {
  margin: 0;
  list-style-type: none; }
  .menu > li {
    display: table-cell;
    vertical-align: middle; }
    [data-whatinput='mouse'] .menu > li {
      outline: 0; }
  .menu > li > a {
    display: block;
    padding: 0.7rem 1rem;
    line-height: 1; }
  .menu input,
  .menu select,
  .menu a,
  .menu button {
    margin-bottom: 0; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    vertical-align: middle; }
    .menu > li > a img + span,
    .menu > li > a i + span,
    .menu > li > a svg + span {
      vertical-align: middle; }
  .menu > li > a img,
  .menu > li > a i,
  .menu > li > a svg {
    margin-right: 0.25rem;
    display: inline-block; }
  .menu > li, .menu.horizontal > li {
    display: table-cell; }
  .menu.expanded {
    display: table;
    width: 100%;
    table-layout: fixed; }
    .menu.expanded > li:first-child:last-child {
      width: 100%; }
  .menu.vertical > li {
    display: block; }
  @media print, screen and (min-width: 48em) {
    .menu.medium-horizontal > li {
      display: table-cell; }
    .menu.medium-expanded {
      display: table;
      width: 100%;
      table-layout: fixed; }
      .menu.medium-expanded > li:first-child:last-child {
        width: 100%; }
    .menu.medium-vertical > li {
      display: block; } }
  @media print, screen and (min-width: 64.0625em) {
    .menu.large-horizontal > li {
      display: table-cell; }
    .menu.large-expanded {
      display: table;
      width: 100%;
      table-layout: fixed; }
      .menu.large-expanded > li:first-child:last-child {
        width: 100%; }
    .menu.large-vertical > li {
      display: block; } }
  .menu.simple li {
    display: inline-block;
    vertical-align: top;
    line-height: 1; }
  .menu.simple a {
    padding: 0; }
  .menu.simple li {
    margin-left: 0;
    margin-right: 1rem; }
  .menu.simple.align-right li {
    margin-right: 0;
    margin-left: 1rem; }
  .menu.align-right::before, .menu.align-right::after {
    display: table;
    content: ' '; }
  .menu.align-right::after {
    clear: both; }
  .menu.align-right > li {
    float: right; }
  .menu.icon-top > li > a {
    text-align: center; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      display: block;
      margin: 0 auto 0.25rem; }
  .menu.icon-top.vertical a > span {
    margin: auto; }
  .menu.nested {
    margin-left: 1rem; }
  .menu .active > a {
    background: #1779ba;
    color: #fefefe; }
  .menu.menu-bordered li {
    border: 1px solid #e6e6e6; }
    .menu.menu-bordered li:not(:first-child) {
      border-top: 0; }
  .menu.menu-hover li:hover {
    background-color: #e6e6e6; }

.menu-text {
  padding-top: 0;
  padding-bottom: 0;
  padding: 0.7rem 1rem;
  font-weight: bold;
  line-height: 1;
  color: inherit; }

.menu-centered {
  text-align: center; }
  .menu-centered > .menu {
    display: inline-block;
    vertical-align: top; }

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

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

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

.is-drilldown-submenu-parent > a {
  position: relative; }
  .is-drilldown-submenu-parent > 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;
    position: absolute;
    top: 50%;
    margin-top: -6px;
    right: 1rem; }

.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;
  display: block;
  width: 300px;
  padding: 1rem;
  visibility: hidden;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-size: 1rem; }
  .dropdown-pane.is-open {
    visibility: visible; }

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

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

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

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

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

.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 {
  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: 48em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #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; }
  .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 {
    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: 64.0625em) {
  .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; }
  .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 {
    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; }
  .is-dropdown-submenu .is-dropdown-submenu-parent > a::after {
    right: 14px; }
  .is-dropdown-submenu .is-dropdown-submenu-parent.opens-left > a::after {
    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: block;
  margin-bottom: 1rem; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 47.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      display: block; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .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.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

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

.js-off-canvas-overlay {
  position: absolute;
  top: 0;
  left: 0;
  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: 1;
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  background: #e6e6e6; }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.is-transition-overlap {
    z-index: 10; }
    .off-canvas.is-transition-overlap.is-open {
      box-shadow: 0 0 10px rgba(10, 10, 10, 0.7); }
  .off-canvas.is-open {
    transform: translate(0, 0); }

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

.position-left {
  top: 0;
  left: 0;
  width: 250px;
  height: 100%;
  transform: translateX(-250px);
  overflow-y: auto; }
  .position-left.is-open ~ .off-canvas-content {
    transform: translateX(250px); }
  .position-left.is-transition-push::after {
    position: absolute;
    top: 0;
    right: 0;
    height: 100%;
    width: 1px;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-left.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.position-right {
  top: 0;
  right: 0;
  width: 250px;
  height: 100%;
  transform: translateX(250px);
  overflow-y: auto; }
  .position-right.is-open ~ .off-canvas-content {
    transform: translateX(-250px); }
  .position-right.is-transition-push::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 100%;
    width: 1px;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-right.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  transform: translateY(-250px);
  overflow-x: auto; }
  .position-top.is-open ~ .off-canvas-content {
    transform: translateY(250px); }
  .position-top.is-transition-push::after {
    position: absolute;
    bottom: 0;
    left: 0;
    height: 1px;
    width: 100%;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-top.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  transform: translateY(250px);
  overflow-x: auto; }
  .position-bottom.is-open ~ .off-canvas-content {
    transform: translateY(-250px); }
  .position-bottom.is-transition-push::after {
    position: absolute;
    top: 0;
    left: 0;
    height: 1px;
    width: 100%;
    box-shadow: 0 0 10px rgba(10, 10, 10, 0.7);
    content: " "; }
  .position-bottom.is-transition-overlap.is-open ~ .off-canvas-content {
    transform: none; }

.off-canvas-content {
  transition: transform 0.5s ease;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }

@media print, screen and (min-width: 48em) {
  .position-left.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-top.reveal-for-medium ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-medium {
    transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-medium ~ .off-canvas-content {
      margin-bottom: 250px; } }

@media print, screen and (min-width: 64.0625em) {
  .position-left.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    transform: none;
    z-index: 1; }
    .position-bottom.reveal-for-large ~ .off-canvas-content {
      margin-bottom: 250px; } }

.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%;
  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: ' '; }
  .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: 48em) {
      .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%;
  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;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  -ms-touch-action: none;
      touch-action: none; }

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.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%;
  transform: translateY(-50%);
  position: absolute;
  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;
  transform: scale(1, -1); }
  .slider.vertical .slider-fill {
    top: 0;
    width: 0.5rem;
    max-height: 100%; }
  .slider.vertical .slider-handle {
    position: absolute;
    top: 0;
    left: 50%;
    width: 1.4rem;
    height: 1.4rem;
    transform: translateX(-50%); }

.sticky-container {
  position: relative; }

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

.sticky.is-stuck {
  position: fixed;
  z-index: 5; }
  .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;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.reveal-overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 1005;
  display: none;
  background-color: rgba(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: 48em) {
    .reveal {
      min-height: 0; } }
  .reveal .column, .reveal .columns,
  .reveal .columns {
    min-width: 0; }
  .reveal > :last-child {
    margin-bottom: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal {
      width: 600px;
      max-width: 75rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal .reveal {
      right: auto;
      left: auto;
      margin: 0 auto; } }
  .reveal.collapse {
    padding: 0; }
  @media print, screen and (min-width: 48em) {
    .reveal.tiny {
      width: 30%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 48em) {
    .reveal.small {
      width: 50%;
      max-width: 75rem; } }
  @media print, screen and (min-width: 48em) {
    .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: 47.9375em) {
    .reveal {
      top: 0;
      left: 0;
      width: 100%;
      max-width: none;
      height: 100%;
      height: 100vh;
      min-height: 100vh;
      margin-left: 0;
      border: 0;
      border-radius: 0; } }
  .reveal.without-overlay {
    position: fixed; }

.switch {
  height: 2rem;
  position: relative;
  margin-bottom: 1rem;
  outline: 0;
  font-size: 0.875rem;
  font-weight: bold;
  color: #fefefe;
  -webkit-user-select: none;
     -moz-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;
    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%;
  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 {
  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: 64em) {
  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: ' '; }
  .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[aria-hidden="false"] {
    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: #0a0a0a;
  color: #fefefe; }
  .title-bar::before, .title-bar::after {
    display: table;
    content: ' '; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

.title-bar-left {
  float: left; }

.title-bar-right {
  float: 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 {
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    content: '';
    border-top-width: 0;
    border-bottom-style: solid;
    border-color: transparent transparent #0a0a0a;
    position: absolute;
    bottom: 100%;
    left: 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.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;
    top: 50%;
    bottom: auto;
    left: 100%;
    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;
    top: 50%;
    right: 100%;
    bottom: auto;
    left: auto;
    transform: translateY(-50%); }

.top-bar {
  padding: 0.5rem; }
  .top-bar::before, .top-bar::after {
    display: table;
    content: ' '; }
  .top-bar::after {
    clear: both; }
  .top-bar,
  .top-bar ul {
    background-color: #e6e6e6; }
  .top-bar input {
    max-width: 200px;
    margin-right: 1rem; }
  .top-bar .input-group-field {
    width: 100%;
    margin-right: 0; }
  .top-bar input.button {
    width: auto; }
  .top-bar .top-bar-left,
  .top-bar .top-bar-right {
    width: 100%; }
  @media print, screen and (min-width: 48em) {
    .top-bar .top-bar-left,
    .top-bar .top-bar-right {
      width: auto; } }
  @media screen and (max-width: 64em) {
    .top-bar.stacked-for-medium .top-bar-left,
    .top-bar.stacked-for-medium .top-bar-right {
      width: 100%; } }
  @media screen and (max-width: 74.9375em) {
    .top-bar.stacked-for-large .top-bar-left,
    .top-bar.stacked-for-large .top-bar-right {
      width: 100%; } }

.top-bar-title {
  display: inline-block;
  float: left;
  padding: 0.5rem 1rem 0.5rem 0; }
  .top-bar-title .menu-icon {
    bottom: 2px; }

.top-bar-left {
  float: left; }

.top-bar-right {
  float: right; }

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

.show-for-sr,
.show-on-focus {
  position: absolute !important;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0); }

.show-on-focus:active, .show-on-focus:focus {
  position: static !important;
  width: auto;
  height: auto;
  overflow: visible;
  clip: auto; }

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

.float-left {
  float: left !important; }

.float-right {
  float: right !important; }

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

.clearfix::before, .clearfix::after {
  display: table;
  content: ' '; }

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* END: VENDOR */
/* START: GLOBAL */
/* START: TEMPORARY */
/* END: TEMPORARY */
/* START: FLO ICONS */
body.flo-social-links-type-b {
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */
  /* '' */ }
  body.flo-social-links-type-b .flo-icon-youtube:not(.flo-icon-original):before {
    content: 'YT'; }
  body.flo-social-links-type-b .flo-icon-flickr:not(.flo-icon-original):before {
    content: 'FK'; }
  body.flo-social-links-type-b .flo-icon-vimeo:not(.flo-icon-original):before {
    content: 'VI'; }
  body.flo-social-links-type-b .flo-icon-twitter:not(.flo-icon-original):before {
    content: 'TW'; }
  body.flo-social-links-type-b .flo-icon-facebook:not(.flo-icon-original):before {
    content: 'FB'; }
  body.flo-social-links-type-b .flo-icon-gplus:not(.flo-icon-original):before {
    content: 'GP'; }
  body.flo-social-links-type-b .flo-icon-pinterest:not(.flo-icon-original):before {
    content: 'PI'; }
  body.flo-social-links-type-b .flo-icon-tumblr:not(.flo-icon-original):before {
    content: 'TM'; }
  body.flo-social-links-type-b .flo-icon-linkedin:not(.flo-icon-original):before {
    content: 'LK'; }
  body.flo-social-links-type-b .flo-icon-dribbble:not(.flo-icon-original):before {
    content: 'DB'; }
  body.flo-social-links-type-b .flo-icon-instagram:not(.flo-icon-original):before {
    content: 'IG'; }
  body.flo-social-links-type-b .flo-icon-yahoo:not(.flo-icon-original):before {
    content: 'YH'; }
  body.flo-social-links-type-b .flo-icon-delicious:not(.flo-icon-original):before {
    content: 'DE'; }
  body.flo-social-links-type-b .flo-icon-mail:not(.flo-icon-original):before {
    content: 'ML'; }

/* END: FLO ICONS */
/* START: COLORS */
/* END: COLORS */
/* START: WIDTH VARIABLES */
/* END: WIDTH VARIABLES */
/* START: MIXINS */
/* End: Transitions */
/* End: Transitions */
/* Start: Background image */
/* End: Background image */
/* Start: Box Sizing */
/* End: Box sizing */
.flo-global-clickable {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }
  .flo-global-clickable-with-animation {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: transform 0.5s, color 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-global-clickable-with-animation:hover {
      transform: scale(1.05); }

/* START: Responsive Images For Background */
/* END: Responsive Images For Background */
/* END: MIXINS */
/* START: GLOBAL STYLES */
@media screen and (min-width: 48em) {
  html {
    font-size: 1.11111vw; } }

* {
  -webkit-tap-highlight-color: transparent; }

*:not(.flo-post) a:focus, *:not(.flo-post__styles) a:focus {
  color: #332F2F; }

*:not(.flo-post) .hover-block, *:not(.flo-post__styles) .hover-block {
  display: block; }
  *:not(.flo-post) .hover-block figure, *:not(.flo-post__styles) .hover-block figure {
    opacity: 1;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    *:not(.flo-post) .hover-block figure:hover, *:not(.flo-post__styles) .hover-block figure:hover {
      opacity: 0.6; }
  *:not(.flo-post) .hover-block:hover, *:not(.flo-post__styles) .hover-block:hover {
    color: inherit; }

*:not(.flo-post) ul, *:not(.flo-post__styles) ul {
  list-style: none;
  margin: 0;
  padding: 0; }

body {
  overflow-x: hidden;
  color: #332F2F;
  width: 100%;
  max-width: 100%;
  background: #ffffff; }

h1,
h2,
h3,
h4,
h5,
h6 {
  margin: 0;
  font: inherit; }

[class^="flo-icon-"]:before,
[class*=" flo-icon-"]:before {
  width: auto;
  height: auto; }

button {
  outline: none; }

a {
  color: inherit; }
  a:hover {
    color: inherit; }

p {
  line-height: inherit; }

figure {
  margin: 0; }

pre {
  white-space: initial; }

.row {
  max-width: initial;
  width: initial; }

@media screen and (min-width: 48em) {
  .row-flex {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; } }

.column, .columns {
  padding: 0;
  float: none; }

.slick-initialized .slick-slide {
  outline: none; }

/* START: INPUTS */
input[type]:not([type="submit"]),
textarea {
  box-shadow: none;
  box-sizing: border-box;
  height: 100%;
  padding: 0.625rem 0.9375rem;
  margin-bottom: 0;
  border-bottom: 1px solid;
  background-color: transparent; }
  input[type]:not([type="submit"]):-ms-input-placeholder,
  textarea:-ms-input-placeholder {
    color: inherit; }
  input[type]:not([type="submit"])::placeholder,
  textarea::placeholder {
    color: inherit; }
  input[type]:not([type="submit"]):focus, input[type]:not([type="submit"]):hover,
  textarea:focus,
  textarea:hover {
    box-shadow: none;
    background-color: transparent;
    border-bottom: 1px solid;
    border-width: 0 0 1px 0; }
  input[type]:not([type="submit"]).flo-no-styling,
  textarea.flo-no-styling {
    padding: 0;
    color: inherit; }
    input[type]:not([type="submit"]).flo-no-styling, input[type]:not([type="submit"]).flo-no-styling:hover, input[type]:not([type="submit"]).flo-no-styling:focus,
    textarea.flo-no-styling,
    textarea.flo-no-styling:hover,
    textarea.flo-no-styling:focus {
      background-color: transparent; }

input[type="text"],
input[type="email"],
input[type="url"],
input[type="password"] {
  border: 0;
  line-height: 1em !important; }

input[type='submit'] {
  border: 0;
  background: 0;
  outline: 0;
  padding: 0;
  box-shadow: none;
  cursor: pointer;
  display: inline-block;
  transition: color 0.5s, letter-spacing 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

textarea {
  resize: none;
  border: 0;
  border-bottom: 1px solid; }

/* END: INPUTS */
/* START: BUTTONS */
.flo-button, .flo-block-slideshow-1__link--style-button,
input[type="submit"] {
  display: inline-block;
  text-align: center;
  min-width: 8.4375rem;
  padding: 0.375rem 2.5rem;
  transition: opacity 0.5s, background-color 0.5s, color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  min-height: 1.6875rem;
  cursor: pointer; }
  .flo-button:not(.flo-button--without-border), .flo-block-slideshow-1__link--style-button:not(.flo-button--without-border),
  input[type="submit"]:not(.flo-button--without-border) {
    border-width: 1px;
    border-style: solid; }

/* END: BUTTONS */
/* END: GLOBAL STYLES */
/* START: APPEAR ANIMATION */
@media screen and (min-width: 64.0625em) {
  /* START: APPEAR ANIMATION */
  body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block,
  body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear),
  body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *,
  body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear),
  body:not(.flo-appear-disabled):not(.single-gallery) .to-appear,
  body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child) {
    opacity: 0;
    transform-origin: bottom;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear:not(.visible),
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child):not(.visible) {
      transform: translateY(7.5rem);
      opacity: 0; }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear:nth-child(1n),
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(1n) {
      transition: opacity 1.25s, transform 0.5s, color 0.5s; }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear:nth-child(2n),
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(2n) {
      transition: opacity 1.25s 0.1s, transform 0.5s 0.1s, color 0.5s; }
    body:not(.flo-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block.visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear).visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-post.with-appear > *.visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear).visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .to-appear.visible,
    body:not(.flo-appear-disabled):not(.single-gallery) .widget:not(:first-child).visible {
      opacity: 1; }
  /* END: APPEAR ANIMATION */ }

@media screen and (min-width: 48em) and (max-width: 64em) {
  /* START: APPEAR ANIMATION */
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block,
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear),
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *,
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear),
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear,
  body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child) {
    opacity: 0;
    transform-origin: bottom;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear:not(.visible),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child):not(.visible) {
      transform: translateY(7.5rem);
      opacity: 0; }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear:nth-child(1n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(1n) {
      transition: opacity 1.25s, transform 0.5s, color 0.5s; }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear:nth-child(2n),
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(2n) {
      transition: opacity 1.25s 0.1s, transform 0.5s 0.1s, color 0.5s; }
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block.visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear).visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-post.with-appear > *.visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear).visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .to-appear.visible,
    body:not(.flo-tablet-appear-disabled):not(.single-gallery) .widget:not(:first-child).visible {
      opacity: 1; }
  /* END: APPEAR ANIMATION */ }

@media screen and (max-width: 47.9375em) {
  /* START: APPEAR ANIMATION */
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block,
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear),
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *,
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear),
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear,
  body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child) {
    opacity: 0;
    transform-origin: bottom;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear:not(.visible),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child):not(.visible) {
      transform: translateY(7.5rem);
      opacity: 0; }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear:nth-child(1n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(1n) {
      transition: opacity 1.25s, transform 0.5s, color 0.5s; }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block:nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear):nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *:nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear):nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear:nth-child(2n),
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child):nth-child(2n) {
      transition: opacity 1.25s 0.1s, transform 0.5s 0.1s, color 0.5s; }
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .layout-sections--scroll-normal .flo-block.visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo_page > .flo-block:not(:first-of-type):not(.disable-appear).visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-post.with-appear > *.visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .flo-footer:not(.disable-appear).visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .to-appear.visible,
    body:not(.flo-mobile-appear-disabled):not(.single-gallery) .widget:not(:first-child).visible {
      opacity: 1; }
  /* END: APPEAR ANIMATION */ }

/* END: APPEAR ANIMATION */
/* START: Z-INDEX MAP */
.flo-page-has-sidebar__sidebar {
  z-index: 9; }

.flo-slider-arrow {
  z-index: 9; }

.flo-page-hero__logo {
  z-index: 11; }

.flo-header {
  z-index: 999999; }

.flo-page-about-type-a__featured-info {
  z-index: 9; }

/* END: Z-INDEX MAP */
body {
  opacity: 0;
  transition: opacity 0.25s ease-in; }
  body.flo-decoration-type--waves .flo-icon-quote-left:before {
    content: '\e810'; }
  body.flo-decoration-type--waves .flo-icon-quote-right:before {
    content: '\e803'; }
  body.flo-decoration-type--stars .flo-icon-quote-left:before {
    content: '\e821';
    font-size: 1.625rem; }
  body.flo-decoration-type--stars .flo-icon-quote-right:before {
    content: '\e822';
    font-size: 1.625rem; }
  body.flo-decoration-type--raindrops .flo-icon-quote-left:before {
    content: '\e820';
    font-size: 1.875rem; }
  body.flo-decoration-type--raindrops .flo-icon-quote-right:before {
    content: '\e820';
    font-size: 1.875rem; }
  body.flo-decoration-type--wind .flo-icon-quote-left:before {
    content: '\e823';
    font-size: 1.875rem; }
  body.flo-decoration-type--wind .flo-icon-quote-right:before {
    content: '\e824';
    font-size: 1.875rem; }

.overflow-hide {
  overflow-y: hidden; }

/* END: HTML OVERFLOW FOR SAFARI FIX */
/* START: FIX ROWS IN SAFARI */
.row:before {
  width: 0; }

/* END: FIX ROWS IN SAFARI */
/* END: GLOBAL */
/* START: COMPONENTS (KEEP THIS ONE AT THE BOTTOM ALL THE TIME) */
.comments-block {
  padding-top: 5.3125rem; }
  .comments-block .flo-icon-reply {
    font-size: 0.875rem; }
  .comments-block .parent .comment .comment-body {
    padding-left: 2.1875rem;
    padding-right: 2.1875rem; }
  .comments-block .parent .comment.depth-3 .comment-body {
    padding-left: 3.125rem; }
  .comments-block .parent .comment.depth-4 .comment-body {
    padding-left: 4.0625rem; }
  .comments-block .parent .comment.depth-5 .comment-body {
    padding-left: 5rem; }
  .comments-block .parent .comment.depth-5 .comment-body {
    padding-left: 5.9375rem; }
  .comments-block .comment-body {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    padding: 1.375rem 0; }
  .comments-block .comment-name-and-reply {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .comments-block .comment-avatar-and-name {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .comments-block .flo-porto2-comments-block__reply {
    position: relative;
    margin: 0.625rem 0;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .comments-block .flo-porto2-comments-block__reply .comment-reply-link {
      position: absolute;
      left: 0;
      top: 0;
      height: 100%;
      width: 100%; }
    .comments-block .flo-porto2-comments-block__reply:hover {
      color: #bbbbbb; }
  .comments-block .comment-block-content {
    display: -ms-flexbox;
    display: flex;
    padding-top: 0.625rem; }
  .comments-block .comment-meta {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding-top: 1.5rem; }
  .comments-block .comment-avatar {
    padding-right: 0.875rem; }
    .comments-block .comment-avatar img {
      border-radius: 50%;
      width: 2.25rem;
      margin: 0; }
  .comments-block .comment-respond {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .comments-block .comment-respond input:not([type="submit"]) {
      margin-bottom: 1.25rem; }
  .comments-block__top-bar {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    -ms-flex-align: center;
        align-items: center;
    padding-bottom: 1.5rem; }
  .comments-block__show {
    position: relative; }
  .comments-block__top-bar-hide-button .flo-icon {
    font-size: 0.5rem; }
  .comments-block__top-bar-show-button .flo-icon {
    font-size: 0.75rem; }
  .comments-block__top-bar-hide-button, .comments-block__top-bar-show-button, .comments-block__top-bar-toggle-button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    transition: opacity 0.5s, visibility 0.5s, height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .comments-block__top-bar-toggle-button {
    cursor: pointer;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .comments-block__top-bar-toggle-button-label-wrap {
    position: relative; }
  .comments-block__top-bar-toggle-button-label {
    transition: opacity 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .comments-block__top-bar-toggle-button-label--hide {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      opacity: 0; }
  .comments-block__top-bar-toggle-button-icon {
    margin-left: 0.78125rem;
    transform: rotate(180deg);
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .comments-block__collapsed {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: 0;
    width: 100%; }
  .comments-block__posts {
    transition: visibility 0.5s, opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .comments-block--expanded .comments-block__top-bar-show-button {
    opacity: 0;
    visibility: hidden;
    height: 0; }
  .comments-block--expanded .comments-block__top-bar-hide-button {
    opacity: 1;
    visibility: visible;
    height: inherit; }
  .comments-block--expanded .comments-block__top-bar-toggle-button-label--show {
    opacity: 0; }
  .comments-block--expanded .comments-block__top-bar-toggle-button-label--hide {
    opacity: 1; }
  .comments-block--collapsed .comments-block__top-bar-show-button {
    visibility: visible;
    opacity: 1; }
  .comments-block--collapsed .comments-block__top-bar-hide-button {
    visibility: hidden;
    opacity: 0; }
  .comments-block--collapsed .comments-block__top-bar-toggle-button-label--show {
    opacity: 1; }
  .comments-block--collapsed .comments-block__top-bar-toggle-button-label--hide {
    opacity: 0; }
  .comments-block--collapsed .comments-block__top-bar-toggle-button-icon {
    transform: rotate(0deg); }
  .comments-block__post-form {
    padding-top: 2.75rem;
    /* START: PARSLEY */
    /* END: PARSLEY */ }
    .comments-block__post-form .form-submit {
      padding-top: 3rem; }
    .comments-block__post-form .parsley-errors-list {
      display: block; }
    .comments-block__post-form .parsley-required {
      color: red;
      margin: 0.625rem 0; }
  .comments-block__form-title-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
  .comments-block__form-title {
    padding-bottom: 2.25rem; }
  .comments-block__form-field {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 1.25rem; }
    .comments-block__form-field:last-of-type {
      margin-bottom: 0; }
  .comments-block .form-submit {
    padding-top: 3rem; }
  @media screen and (min-width: 48em) {
    .comments-block .comment-content {
      padding-top: 0.875rem; }
    .comments-block__form-field input[type]:not([type="submit"]) {
      margin-right: 5.625rem; }
      .comments-block__form-field input[type]:not([type="submit"]):last-child {
        margin-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .comments-block .comment-block-content {
      -ms-flex-direction: column;
          flex-direction: column; }
    .comments-block__form-field {
      -ms-flex-direction: column;
          flex-direction: column; }
      .comments-block__form-field input[type]:not([type="submit"]) {
        margin-bottom: 2.1875rem; }
        .comments-block__form-field input[type]:not([type="submit"]):last-of-type {
          margin-bottom: 0; }
    .comments-block__post-form {
      padding-left: 1.25rem;
      padding-right: 1.25rem; } }

.comment-reply-title {
  text-align: center; }
  .comment-reply-title .flo-icon-close {
    padding-right: 0.625rem;
    font-size: 0.875rem; }

.comments-pagination h2.screen-reader-text {
  display: none; }

.comments-pagination .nav-links {
  text-align: center; }

.comments-pagination .page-numbers.prev .screen-reader-text, .comments-pagination .page-numbers.next .screen-reader-text {
  display: none; }

.comments-pagination .page-numbers.prev {
  float: left; }

.comments-pagination .page-numbers.next {
  float: right; }

.flo-block {
  max-width: 100%;
  position: relative; }
  .flo-block--merged-with-header {
    padding-top: 0 !important; }
  .flo-block--full-width {
    padding-left: 0;
    padding-right: 0; }
  .flo-block--no-padding {
    padding: 0 !important; }
  .flo-block--not-found {
    margin-bottom: 3.75rem; }
  .flo-block--hidden {
    display: none; }
  .flo-block__header {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9999; }
  .flo-block__container:after {
    content: '';
    clear: both;
    display: block; }
  .flo-block:last-child {
    padding-bottom: 0; }
  @media screen and (min-width: 48em) {
    .flo-block {
      padding: 3.125rem 6.375rem; }
      .flo-block__container {
        margin: 0 auto;
        position: relative; }
      .flo-block--no-top-padding {
        padding-top: 0;
        padding-bottom: 0; }
      .flo-block--full-width {
        padding-right: 0;
        padding-left: 0; }
      .flo-block--medium-width .flo-block__container {
        max-width: 47.5rem;
        padding-left: 1.25rem;
        padding-right: 1.25rem; }
      .flo-block--header-hidden-on-desktop .flo-block__header {
        display: none; }
      .flo-block:first-child {
        padding-top: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block {
      padding: 1.875rem 0; }
      .flo-block:not(.flo-block--full-width) {
        padding: 1.875rem 2.03125rem; }
      .flo-block.flo-block-mobile--no-vertical-padding {
        padding: 0; }
      .flo-block:first-child {
        padding-top: 0; } }

.flo-form input[type] {
  margin: 0; }

.flo-form__field {
  margin-bottom: 1.46875rem; }
  .flo-form__field:last-of-type {
    margin-bottom: 0; }

.flo-form input[type="submit"] {
  margin-top: 2.5rem; }

.flo-modal {
  position: fixed;
  z-index: 9;
  background: rgba(255, 255, 255, 0.5);
  width: 100%;
  height: 100%;
  top: 0px;
  left: 0px;
  display: none; }
  .flo-modal .thx-msg {
    width: 300px;
    height: 200px;
    text-align: center;
    padding: 20px;
    vertical-align: middle;
    margin: 0 auto;
    top: 50%;
    margin-top: -180px;
    position: absolute;
    left: 50%;
    margin-left: -170px;
    background-color: #fff;
    border: 2px solid #e5e5e5; }

.contact-response p {
  border-radius: 0.78125rem;
  border: 2px dashed #f9f9f9;
  padding: 0.9375rem;
  margin-top: 0.9375rem;
  color: #dddcdb; }

*[data-lqip-src] {
  transition: filter 0.5s, background-image 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  *[data-lqip-src]:not(.flo-lqip--original-loaded) {
    filter: blur(40px); }

.flo-page-head {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: stretch;
      align-items: stretch;
  -ms-flex-pack: justify;
      justify-content: space-between;
  width: calc(100% - 5rem);
  margin: 0 auto; }
  .flo-page-head--with-border {
    border-bottom: 1px solid #bbbbbb; }
  .flo-page-head__dropdown {
    visibility: hidden; }
    .flo-page-head__dropdown .flo-dropdown-menu {
      height: 100%; }
  .flo-page-head--has-dropdown-menu .flo-page-head__dropdown {
    visibility: visible; }
  .flo-page-head__decoration-image {
    display: inline-block;
    max-width: 5.55rem;
    margin-bottom: 1.25rem; }
  .flo-page-head__title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    font-size: 0.9375rem;
    letter-spacing: 1em;
    text-transform: uppercase;
    text-align: center; }
  @media screen and (min-width: 48em) {
    .flo-page-head__title {
      width: 60%;
      padding: 2.6875rem 0; }
    .flo-page-head__left-side {
      width: 20%; }
    .flo-page-head__dropdown {
      width: 20%; }
    .flo-page-head .flo-dropdown-menu__btn {
      margin-left: auto; } }
  @media screen and (max-width: 47.9375em) {
    .flo-page-head {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      width: calc(100% - 3.75rem);
      padding-top: 2.6875rem;
      margin-bottom: 2.5rem; }
      .flo-page-head .flo-dropdown-menu__btn {
        padding: 1.4375rem 0 2.6875rem; } }

.flo-share-rollover {
  position: relative;
  display: inline-block; }
  .flo-share-rollover__trigger {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-share-rollover__share-wrap {
    opacity: 0;
    pointer-events: none;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    display: -ms-inline-flexbox;
    display: inline-flex; }
    .flo-share-rollover__share-wrap a {
      margin: 0 0.4375rem;
      font-size: 0.6875rem;
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-share-rollover.visible .flo-share-rollover__trigger {
    opacity: 0;
    pointer-events: none; }
  .flo-share-rollover.visible .flo-share-rollover__share-wrap {
    opacity: 1;
    pointer-events: initial; }

.slick-slider .slick-track,
.slick-slider .slick-list,
.slick-slider .slick-slide,
.slick-slider a {
  outline: none !important;
  box-shadow: none !important; }

.slick-arrow {
  transition: color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  cursor: pointer; }

.flo-video-embed-dummy {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }
  .flo-video-embed-dummy__video-button {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    z-index: 100;
    width: 4.375rem;
    height: 4.375rem;
    border-radius: 4.375rem;
    font-size: 0.6875rem;
    color: #ffffff;
    border: 1px solid #ffffff;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    transition: color 0.5s, top 0.5s, opacity 0.5s, border 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed-dummy__video-button:hover {
      opacity: 0.4; }
  .flo-video-embed-dummy__video-button-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed-dummy__video-button-icon--play {
      opacity: 1; }
  @media screen and (max-width: 47.9375em) {
    .flo-video-embed-dummy__video-button {
      width: 3rem;
      height: 3rem;
      border-radius: 3rem;
      font-size: 0.71886rem; } }

.flo-video-embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }
  .flo-video-embed__screen {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed__screen iframe {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .flo-video-embed__video-button {
    pointer-events: initial;
    position: absolute;
    left: 50%;
    transform: translate(-50%, -50%);
    transform-origin: center;
    z-index: 100;
    width: 4.375rem;
    height: 4.375rem;
    border-radius: 4.375rem;
    font-size: 0.6875rem;
    color: #ffffff;
    border: 1px solid #ffffff;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    transition: color 0.5s, top 0.5s, opacity 0.5s, border 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed__video-button:hover {
      opacity: 0.4; }
  .flo-video-embed__video-button-icon {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-video-embed__video-button-icon--play {
      opacity: 0; }
    .flo-video-embed__video-button-icon--stop {
      opacity: 0; }
  .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__screen {
    opacity: 0;
    pointer-events: none; }
  .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__video-button {
    top: 50%; }
  .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__video-button-icon--play {
    opacity: 1; }
  .flo-video-embed--loaded .flo-video-embed__screen {
    opacity: 1;
    pointer-events: initial; }
  .flo-video-embed--loaded .flo-video-embed__video-button {
    top: 6.25rem; }
  .flo-video-embed--loaded .flo-video-embed__video-button-icon--stop {
    opacity: 1; }
  .flo-video-embed--loaded:not(:hover) .flo-video-embed__video-button {
    opacity: 0; }
  @media screen and (max-width: 47.9375em) {
    .flo-video-embed__video-button {
      width: 3rem;
      height: 3rem;
      border-radius: 3rem;
      font-size: 0.5625rem; } }

.flo-social-links-type-a .flo-social-links__link {
  font-size: 0.75rem; }

.flo-social-links-type-b .flo-social-links__link:before {
  line-height: 1em !important; }
  .flo-social-links-type-b .flo-social-links__link:before:not(:last-child) {
    margin-right: 1.125rem; }

.flo-block-button {
  text-align: center; }

.flo-block-category-switcher {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .flo-block-category-switcher__category {
    padding: 0.5rem 0.6875rem;
    border-bottom: 1px solid;
    border-color: transparent;
    transition: border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-block-category-switcher {
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-category-switcher {
      -ms-flex-align: center;
          align-items: center;
      text-align: center; }
      .flo-block-category-switcher__category {
        width: 50%; }
        .flo-block-category-switcher__category:first-child {
          width: 100%; } }

.flo-block-comments__fb_comments {
  text-align: center; }

.flo-block-comments__fb_comments .flo-block-comments__title {
  width: 100%; }

.flo-block-comments__comment {
  margin-bottom: 2.3125rem; }

.flo-block-comments__comment-avatar {
  height: 3.125rem;
  border-radius: 3.125rem;
  overflow: hidden;
  margin-bottom: 1.0625rem; }
  .flo-block-comments__comment-avatar,
  .flo-block-comments__comment-avatar img {
    width: 3.125rem; }
  .flo-block-comments__comment-avatar img {
    display: inline-block; }

.flo-block-comments__comment-author {
  margin-bottom: 1.0625rem; }

.flo-block-comments__comment-date:before {
  content: "/";
  display: inline-block;
  margin-right: 0.5em; }

.flo-block-comments__form {
  padding-top: 2.375rem; }

.flo-block-comments__form-field-wrap {
  position: relative; }
  .flo-block-comments__form-field-wrap--big .flo-block-comments__form-field + .flo-block-comments__form-field-label,
  .flo-block-comments__form-field-wrap--big .flo-block-comments__form-field + ul + .flo-block-comments__form-field-label {
    top: 0; }
  .flo-block-comments__form-field-wrap--small .flo-block-comments__form-field + .flo-block-comments__form-field-label,
  .flo-block-comments__form-field-wrap--small .flo-block-comments__form-field + ul + .flo-block-comments__form-field-label {
    top: 50%;
    transform: translateY(-50%); }

.flo-block-comments__form-field {
  color: inherit;
  border-color: inherit;
  padding: 0.625rem 0 !important; }
  .flo-block-comments__form-field:focus + .flo-block-comments__form-field-label,
  .flo-block-comments__form-field:focus + ul + .flo-block-comments__form-field-label, .flo-block-comments__form-field:not(.empty) + .flo-block-comments__form-field-label,
  .flo-block-comments__form-field:not(.empty) + ul + .flo-block-comments__form-field-label {
    top: 0;
    transform: translateY(-100%); }

.flo-block-comments__form-field-label {
  color: inherit;
  position: absolute;
  left: 0;
  pointer-events: none;
  transition: top 0.5s, transform 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-comments {
    padding: 3.125rem 13.8125rem; }
    .flo-block-comments__list-wrap {
      display: -ms-flexbox;
      display: flex; }
    .flo-block-comments__title {
      width: 22.62%;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-block-comments__list {
      width: 77.38%;
      margin-bottom: 5.4375rem; }
    .flo-block-comments__comment {
      display: -ms-flexbox;
      display: flex; }
    .comment .comment .flo-block-comments__comment {
      padding: 3.25rem 2.375rem; }
    .flo-block-comments__comment-left-wrap {
      width: 11.25rem;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      padding-right: 1.25rem; }
    .flo-block-comments__form-wrap {
      display: -ms-flexbox;
      display: flex; }
    .flo-block-comments__form-title {
      width: 22.62%; }
    .flo-block-comments .comment-respond {
      width: 77.38%;
      margin-top: 0.625rem; }
    .flo-block-comments__form {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .flo-block-comments__form-field-wrap--small {
      width: 27.8%;
      margin-bottom: 2.5625rem !important; }
      .flo-block-comments__form-field-wrap--small:not(:nth-child(3)) {
        margin-right: 3.96875rem; }
    .flo-block-comments__form-field-wrap--big {
      width: calc(55.6% + 3.96875rem);
      margin-bottom: 4.1875rem; }
    .flo-block-comments__list .comment-respond {
      width: 100%;
      margin-bottom: 6.25rem; }
      .flo-block-comments__list .comment-respond .flo-block-comments__form-field-wrap {
        width: 100%;
        margin-bottom: 2.5rem !important; }
      .flo-block-comments__list .comment-respond .flo-block-comments__form-field {
        display: block; }
        .flo-block-comments__list .comment-respond .flo-block-comments__form-field--small, .flo-block-comments__list .comment-respond .flo-block-comments__form-field--big {
          width: 100%; }
    .flo-block-comments .form-submit {
      width: 100%; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-comments {
    padding: 1.875rem 2.03125rem; }
    .flo-block-comments__title {
      text-align: center;
      margin-bottom: 1.875rem; }
    .flo-block-comments .comment .comment .flo-block-comments__comment {
      padding: 1.25rem 1.25rem; }
    .flo-block-comments__comment-left-wrap {
      margin-bottom: 1.25rem; }
    .flo-block-comments__form-title {
      text-align: center;
      margin-bottom: 0.625rem; }
    .flo-block-comments__form-field-wrap {
      margin-bottom: 2.5625rem !important; } }

.flo-block-contact-block-1 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-contact-block-1__text-section {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    text-align: center;
    width: 50%; }
  .flo-block-contact-block-1__title-wrap {
    position: relative; }
  .flo-block-contact-block-1__title-decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .flo-block-contact-block-1__text-description:not(:last-child) {
    margin-bottom: 0.5rem; }
  .flo-block-contact-block-1__form-section {
    width: 50%;
    text-align: center; }
    .flo-block-contact-block-1__form-section--custom form {
      width: 100%; }
    .flo-block-contact-block-1__form-section--custom input[type]:not([type="submit"]), .flo-block-contact-block-1__form-section--custom textarea {
      border-top: 0 !important;
      border-left: 0 !important;
      border-right: 0 !important;
      border-bottom: 1px solid !important;
      text-align: center; }
    .flo-block-contact-block-1__form-section--custom .app-flo-forms input[type]:not([type="submit"]) {
      height: auto; }
    .flo-block-contact-block-1__form-section--custom .error {
      margin-top: 0.3125rem;
      color: red !important; }
    .flo-block-contact-block-1__form-section--custom label {
      line-height: 1em; }
  .flo-block-contact-block-1__form-field {
    border-bottom: 1px solid !important; }
    .flo-block-contact-block-1__form-field:not(:last-child) {
      margin-bottom: 1.25rem !important; }
    .flo-block-contact-block-1__form-field input,
    .flo-block-contact-block-1__form-field label,
    .flo-block-contact-block-1__form-field textarea {
      text-align: center;
      border: 0 !important; }
    .flo-block-contact-block-1__form-field label {
      line-height: 1em; }
  .flo-block-contact-block-1__form-submit {
    padding: 1.125rem 3.875rem 0.8125rem 3.625rem !important;
    line-height: 1em !important;
    min-height: 2.625rem; }
  @media screen and (min-width: 48em) {
    .flo-block-contact-block-1__text-section {
      padding: 0 2rem; }
    .flo-block-contact-block-1__decorative-icon {
      margin-bottom: 4.6875rem; }
    .flo-block-contact-block-1__title-wrap {
      margin-bottom: 3.125rem; }
    .flo-block-contact-block-1__subtitle {
      margin-bottom: 5rem; }
    .flo-block-contact-block-1__text-description:last-child {
      margin-bottom: 0; }
    .flo-block-contact-block-1__form-section {
      padding: 6.25rem 8.1875rem; }
    .flo-block-contact-block-1__form-submit {
      margin-top: 3.125rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-contact-block-1 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-contact-block-1__text-section {
        width: 100%;
        padding: 1.875rem 2.03125rem; }
      .flo-block-contact-block-1__decorative-icon {
        margin-bottom: 2.1875rem; }
      .flo-block-contact-block-1__title-wrap {
        margin-bottom: 1.5625rem; }
      .flo-block-contact-block-1__subtitle {
        margin-bottom: 2.5rem; }
      .flo-block-contact-block-1__form-section {
        width: 100%;
        padding: 1.875rem 2.03125rem; }
      .flo-block-contact-block-1__form-submit {
        margin-top: 1.5625rem; } }

.flo-block-contact-block-2 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column; }
  .flo-block-contact-block-2__title-section {
    width: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: start;
        justify-content: flex-start;
    text-align: center;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
    .flo-block-contact-block-2__title-section .flo-header__search-form .flo-header__search-form-input {
      color: inherit !important; }
  .flo-block-contact-block-2__header-area {
    width: 100%; }
    .flo-block-contact-block-2__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-contact-block-2__form-section {
    width: 100%; }
    .flo-block-contact-block-2__form-section--custom {
      text-align: center; }
      .flo-block-contact-block-2__form-section--custom form {
        width: 100%; }
      .flo-block-contact-block-2__form-section--custom .app-flo-forms input[type]:not([type="submit"]) {
        height: auto; }
      .flo-block-contact-block-2__form-section--custom input[type]:not([type="submit"]), .flo-block-contact-block-2__form-section--custom textarea {
        border-top: 0 !important;
        border-left: 0 !important;
        border-right: 0 !important;
        border-bottom: 1px solid !important;
        text-align: center; }
      .flo-block-contact-block-2__form-section--custom .error {
        margin-top: 0.3125rem;
        color: red !important; }
  .flo-block-contact-block-2__fields-wrap {
    display: -ms-flexbox;
    display: flex; }
  .flo-block-contact-block-2__form-field {
    border-bottom: 1px solid !important;
    position: relative; }
    .flo-block-contact-block-2__form-field:not(:last-child) {
      margin-bottom: 1.25rem !important; }
    .flo-block-contact-block-2__form-field input,
    .flo-block-contact-block-2__form-field label,
    .flo-block-contact-block-2__form-field textarea {
      display: block;
      text-align: center;
      border: 0 !important; }
  .flo-block-contact-block-2__form-submit {
    padding: 1.125rem 3.875rem 0.8125rem 3.625rem !important;
    line-height: 1em !important;
    min-height: 2.625rem; }
  @media screen and (min-width: 48em) {
    .flo-block-contact-block-2--header-is-visible .flo-block-contact-block-2__title {
      padding-bottom: 13.3125rem; }
    .flo-block-contact-block-2:not(.flo-block-contact-block-2--header-is-visible) .flo-block-contact-block-2__title-section {
      -ms-flex-pack: center;
          justify-content: center; }
    .flo-block-contact-block-2__title {
      padding: 0 14rem; }
    .flo-block-contact-block-2__form-section {
      width: calc(100% - 28rem);
      margin: 0 14rem;
      padding: 4.8125rem 3.75rem 5.0625rem 3.75rem;
      margin-top: -7.0625rem; }
      .flo-block-contact-block-2__form-section--custom .left_column {
        width: 50%;
        padding-right: 2.03125rem; }
      .flo-block-contact-block-2__form-section--custom .right_column {
        width: 50%;
        padding-left: 2.03125rem; }
    .flo-block-contact-block-2__form-description {
      margin-bottom: 6.25rem;
      padding: 0 11.625rem; }
    .flo-block-contact-block-2__column {
      width: calc(50% -  4.0625rem);
      display: -ms-flexbox;
      display: flex;
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      text-align: center; }
      .flo-block-contact-block-2__column--left {
        padding-right: 2.03125rem; }
      .flo-block-contact-block-2__column--right {
        padding-left: 2.03125rem; }
        .flo-block-contact-block-2__column--right .flo-block-contact-block-2__form-field {
          height: 100%; }
    .flo-block-contact-block-2__form-submit {
      margin: 5.0625rem auto 0 auto;
      display: block; }
    .flo-block-contact-block-2__contact-info {
      width: calc(100% - 28rem);
      margin: 0 14rem;
      padding-top: 3.125rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center; }
    .flo-block-contact-block-2__contact-details {
      width: 50%;
      padding-right: 1.5625rem;
      text-align: right;
      position: relative; }
      .flo-block-contact-block-2__contact-details:after {
        content: "|";
        position: absolute;
        right: 0; }
    .flo-block-contact-block-2__contact-email {
      width: 50%;
      padding-left: 1.5625rem;
      text-align: left; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-contact-block-2__title {
      margin: auto; }
    .flo-block-contact-block-2__form-section {
      width: 100%;
      padding: 1.875rem 2.03125rem; }
    .flo-block-contact-block-2__fields-wrap {
      -ms-flex-direction: column;
          flex-direction: column; }
    .flo-block-contact-block-2__form-field, .flo-block-contact-block-2 input, .flo-block-contact-block-2 textarea {
      margin-bottom: 1.25rem !important; }
    .flo-block-contact-block-2__form-submit {
      margin: 1.875rem auto 1.875rem auto;
      display: block; }
    .flo-block-contact-block-2__contact-info {
      margin: 2.03125rem auto 0 auto;
      text-align: center; }
    .flo-block-contact-block-2__contact-details:after {
      content: "|";
      display: block;
      margin: 1.25rem auto; } }
  .flo-block-contact-block-2__title-section {
    background-image: url(../img/no-image.jpg);
    background-image: var(--img-small); }
  @media (min-width: 768px) {
    .flo-block-contact-block-2__title-section {
      background-image: var(--img-medium); } }
  @media (min-width: 1025px) {
    .flo-block-contact-block-2__title-section {
      background-image: var(--img-large); } }

.flo-block-contact-block-3__form-section--custom {
  text-align: center; }
  .flo-block-contact-block-3__form-section--custom form {
    width: 100%; }
  .flo-block-contact-block-3__form-section--custom .app-flo-forms input[type]:not([type="submit"]) {
    height: auto; }
  .flo-block-contact-block-3__form-section--custom input[type]:not([type="submit"]),
  .flo-block-contact-block-3__form-section--custom textarea {
    text-align: center; }
  .flo-block-contact-block-3__form-section--custom .error {
    margin-top: 0.3125rem;
    color: red !important; }

.flo-block-contact-block-3__form-field {
  position: relative; }
  .flo-block-contact-block-3__form-field:not(:last-child) {
    margin-bottom: 1.25rem !important; }
  .flo-block-contact-block-3__form-field label, .flo-block-contact-block-3__form-field input, .flo-block-contact-block-3__form-field textarea {
    display: block;
    text-align: center; }

.flo-block-contact-block-3__form-submit {
  padding: 1.125rem 3.875rem 0.8125rem 3.625rem !important;
  line-height: 1em !important;
  min-height: 2.625rem; }

.flo-block-contact-block-3__contact-details {
  margin-bottom: 0.625rem; }

@media screen and (min-width: 48em) {
  .flo-block-contact-block-3__form-section {
    width: calc(100% - 45.75rem);
    margin: 0 22.875rem;
    padding: 4rem 9.5625rem 4rem 9.5625rem; }
  .flo-block-contact-block-3__form-submit {
    margin: 2.5rem auto 0 auto;
    display: block; }
  .flo-block-contact-block-3__contact-info {
    width: calc(100% - 28rem);
    margin: 0 14rem;
    padding-top: 3.125rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-contact-block-3__form-section {
    width: 100%;
    padding: 1.875rem 2.03125rem; }
  .flo-block-contact-block-3__form-field, .flo-block-contact-block-3 label, .flo-block-contact-block-3 input, .flo-block-contact-block-3 textarea {
    margin-bottom: 1.25rem !important; }
  .flo-block-contact-block-3__form-submit {
    margin: 1.875rem auto 1.875rem auto;
    display: block; }
  .flo-block-contact-block-3__contact-info {
    margin: 2.03125rem auto 0 auto;
    text-align: center; } }

.flo-block-content-in-columns-3 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-content-in-columns-3__column {
    text-align: center; }
  .flo-block-content-in-columns-3__decorative-elements {
    position: relative;
    margin-bottom: 1.4375rem; }
  .flo-block-content-in-columns-3__decorative-icon--with-decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .flo-block-content-in-columns-3__decorative-icon--no-decorative-letter {
    margin-bottom: 0.625rem; }
  .flo-block-content-in-columns-3__decorative-letter {
    opacity: 0.1; }
  .flo-block-content-in-columns-3__decorative-number--with-decorative-letter {
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%); }
  @media screen and (min-width: 48em) {
    .flo-block-content-in-columns-3 {
      padding: 0 7.625rem; }
      .flo-block-content-in-columns-3__column {
        width: 16.5rem;
        padding-bottom: 7.75rem;
        box-sizing: content-box; }
        .flo-block-content-in-columns-3__column:nth-child(2) {
          padding: 0 3.1875rem;
          border-left: 1px solid;
          border-right: 1px solid; }
        .flo-block-content-in-columns-3__column:nth-child(1) {
          margin-right: 3.1875rem; }
        .flo-block-content-in-columns-3__column:nth-child(3) {
          margin-left: 3.1875rem; }
      .flo-block-content-in-columns-3__column-title {
        margin-bottom: 2.375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-content-in-columns-3 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-content-in-columns-3__column {
        width: 100%;
        margin-bottom: 2.5rem; }
      .flo-block-content-in-columns-3__column-title {
        margin-bottom: 1.25rem; } }

.flo-block-delimiter-1__delimiter-wrap {
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }

.flo-block-delimiter-1__delimiter-line {
  height: 1px;
  width: 100%; }

.flo-block-delimiter-1__decorative-letter {
  position: relative;
  padding: 0.68em 0.52em;
  margin: 0 0.68em;
  line-height: 1em !important;
  letter-spacing: 0 !important; }
  .flo-block-delimiter-1__decorative-letter:before {
    content: " ";
    position: absolute;
    left: 0;
    top: 0.25em;
    width: 100%;
    height: calc(100% - 0.5em);
    border: 1px solid; }
  .flo-block-delimiter-1__decorative-letter:after {
    content: " ";
    position: absolute;
    top: 0;
    left: 0.22em;
    width: calc(100% - 0.44em);
    height: 100%;
    border: 1px solid; }

.flo-block-faq-block-1__title-area {
  text-align: center;
  position: relative;
  margin-bottom: 3.125rem; }

.flo-block-faq-block-1__title {
  position: relative;
  z-index: 2; }

.flo-block-faq-block-1__title-decorative-icon {
  position: absolute;
  z-index: 1;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%); }

.flo-block-faq-block-1__single-qa {
  /*-Add bottom margin to all children except for the last 2-*/
  margin-bottom: 2.75rem; }
  .flo-block-faq-block-1__single-qa:nth-last-child(1), .flo-block-faq-block-1__single-qa:nth-last-child(2) {
    margin-bottom: 0; }

.flo-block-faq-block-1__question {
  margin-bottom: 0.625rem;
  position: relative; }

.flo-block-faq-block-1__answer p:last-child {
  margin-bottom: 0; }

@media screen and (min-width: 48em) {
  .flo-block-faq-block-1__faq-wrap {
    position: relative;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 2.5rem 0; }
  .flo-block-faq-block-1__single-qa {
    width: 50%; }
    .flo-block-faq-block-1__single-qa:nth-child(odd) {
      padding-left: 3.1875rem;
      padding-right: 6.375rem; }
    .flo-block-faq-block-1__single-qa:nth-child(even) {
      padding-left: 6.375rem;
      padding-right: 3.1875rem; }
  .flo-block-faq-block-1__divider {
    width: 1px;
    height: 100%;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-faq-block-1__single-qa:nth-last-child(1), .flo-block-faq-block-1__single-qa:nth-last-child(2) {
    margin-bottom: 2.75rem; }
  .flo-block-faq-block-1__divider {
    display: none; } }

.flo-block-faq-block-2 {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-faq-block-2 {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-faq-block-2 {
    background-image: var(--img-large); } }

.flo-block-faq-block-2 {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  position: relative; }
  .flo-block-faq-block-2__image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flo-block-faq-block-2__title {
    text-align: center;
    position: relative; }
  .flo-block-faq-block-2__faq-slider {
    position: relative;
    overflow: hidden !important; }
    .flo-block-faq-block-2__faq-slider .slick-list {
      overflow: visible; }
  .flo-block-faq-block-2__faq-slide-content {
    display: -ms-flexbox;
    display: flex;
    text-align: center; }
  .flo-block-faq-block-2__answer p:last-child {
    margin-bottom: 0; }
  .flo-block-faq-block-2__navigation {
    text-align: center;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .flo-block-faq-block-2__faq-counter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-block-faq-block-2__current-item-number {
    -ms-flex-item-align: start;
        align-self: flex-start; }
  .flo-block-faq-block-2__number-divider {
    height: 1px;
    border-bottom: 1px solid;
    border-color: inherit;
    margin: 0.1875rem 0; }
  .flo-block-faq-block-2__total-item-number {
    -ms-flex-item-align: end;
        align-self: flex-end; }
  @media screen and (min-width: 48em) {
    .flo-block-faq-block-2 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      padding-top: 5.4375rem;
      padding-left: 6.375rem;
      padding-right: 6.375rem;
      padding-bottom: 6.25rem; }
      .flo-block-faq-block-2__title {
        margin-bottom: 7.25rem; }
      .flo-block-faq-block-2__questions-wrap {
        -ms-flex-positive: 1;
            flex-grow: 1;
        min-height: 34.3125rem;
        margin-right: 8.6875rem; }
      .flo-block-faq-block-2__single-qa {
        margin-bottom: 3.75rem; }
      .flo-block-faq-block-2__question {
        width: 50%;
        padding: 0 1.59375rem; }
      .flo-block-faq-block-2__answer {
        width: 50%;
        padding: 0 1.59375rem; }
      .flo-block-faq-block-2__navigation {
        -ms-flex-pack: center;
            justify-content: center;
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: 3.1875rem; }
        .flo-block-faq-block-2__navigation--hide {
          display: none; }
      .flo-block-faq-block-2__faq-counter {
        margin: 0 8.75rem; }
      .flo-block-faq-block-2__number-divider {
        width: 11.25rem; }
      .flo-block-faq-block-2__arrow {
        font-size: 0.5rem;
        transition: transform 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
        -webkit-user-select: none;
           -moz-user-select: none;
            -ms-user-select: none;
                user-select: none;
        cursor: pointer;
        outline: none; }
        .flo-block-faq-block-2__arrow:hover {
          transform: scale(1.1) !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-faq-block-2 {
      padding: 1.25rem; }
      .flo-block-faq-block-2__image-overlay--hide {
        display: none; }
      .flo-block-faq-block-2__title {
        margin-bottom: 3.125rem; }
      .flo-block-faq-block-2__faq-slider {
        margin-bottom: 3.125rem; }
      .flo-block-faq-block-2__faq-slide-content {
        -ms-flex-direction: column;
            flex-direction: column; }
      .flo-block-faq-block-2__question {
        margin-bottom: 1.25rem; }
      .flo-block-faq-block-2__navigation {
        position: relative;
        -ms-flex-pack: justify;
            justify-content: space-between; }
      .flo-block-faq-block-2__faq-counter {
        width: 50%; }
      .flo-block-faq-block-2__number-divider {
        width: 100%; }
      .flo-block-faq-block-2__arrow {
        font-size: 0.625rem; } }

.flo-block-featured-link-2__pretitle:not(:last-child) {
  margin-bottom: 0.375rem; }

.flo-block-featured-link-2__title:not(:last-child) {
  margin-bottom: 1.25rem; }

.flo-block-featured-link-2__text:not(:last-child) {
  margin-bottom: 1.25rem; }

.flo-block-featured-link-2__image-link-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  text-align: center; }

.flo-block-featured-link-2__image {
  width: 11.25rem; }

.flo-block-featured-link-2__link-description {
  display: block; }
  .flo-block-featured-link-2__link-description:not(:last-child) {
    margin-bottom: 1.5625rem; }

.flo-block-featured-link-2__button {
  display: inline-block;
  border: 1px solid;
  border-color: inherit;
  padding: 0.4375rem 1.125rem;
  transition: background-color 0.5s, color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-featured-link-2 {
    padding: 3.125rem 6.375rem;
    display: -ms-flexbox;
    display: flex; }
    .flo-block-featured-link-2__text-area {
      padding-right: 5.625rem; }
    .flo-block-featured-link-2__image-link-area {
      margin-left: 5.625rem;
      margin-right: 5.625rem; }
    .flo-block-featured-link-2__image {
      max-width: 16.875rem;
      width: auto;
      height: auto; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-link-2 {
    padding: 1.875rem 2.03125rem;
    text-align: center; }
    .flo-block-featured-link-2__text-area:not(:last-child) {
      margin-bottom: 1.875rem; }
    .flo-block-featured-link-2__image {
      margin: 0 auto 1.25rem auto; }
    .flo-block-featured-link-2__link-wrap {
      padding: 0 0.625rem; } }

.flo-block-featured-link-3 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-featured-link-3__image-wrap {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-block-featured-link-3__text-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    text-align: center; }
  .flo-block-featured-link-3__title-wrap {
    position: relative;
    padding: 2.5625rem 0 3.125rem 0; }
  .flo-block-featured-link-3__title-decorative-icon {
    position: absolute;
    left: 50%;
    top: -1.3125rem;
    transform: translateX(-50%);
    max-width: 2rem; }
  .flo-block-featured-link-3__title-decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.2; }
  @media screen and (min-width: 48em) {
    .flo-block-featured-link-3 {
      padding: 0 7.625rem; }
      .flo-block-featured-link-3__image-wrap {
        width: 39.375rem;
        height: 39.625rem; }
      .flo-block-featured-link-3__text-wrap {
        -ms-flex-pack: center;
            justify-content: center;
        margin: 4.625rem 0;
        padding: 0 9rem 0 9rem;
        width: 27.5rem;
        margin-left: -4.5625rem; }
      .flo-block-featured-link-3__subtitle {
        margin-bottom: 3.4375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-featured-link-3 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-featured-link-3__image-wrap {
        width: 100%;
        height: 19.75rem;
        margin-bottom: 1.25rem; }
      .flo-block-featured-link-3__text-wrap {
        margin: -3.75rem 1.25rem 0 1.25rem;
        padding: 1.875rem 1.25rem; }
      .flo-block-featured-link-3__title-decorative-icon {
        top: -0.75rem; }
      .flo-block-featured-link-3__subtitle {
        padding-bottom: 1.25rem; } }

.flo-block-featured-links-3__link {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-featured-links-3__text-wrap {
  transition: background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-featured-links-3__text-wrap .flo-block-featured-links-3__link-pretitle,
  .flo-block-featured-links-3__text-wrap .flo-block-featured-links-3__link-title,
  .flo-block-featured-links-3__text-wrap .flo-block-featured-links-3__link-text {
    color: inherit;
    border-color: inherit;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-featured-links-3 .flo-block-featured-links-3__link-button {
  color: inherit;
  border-color: inherit;
  margin-left: auto;
  margin-right: auto;
  background-color: transparent; }

@media screen and (min-width: 48em) {
  .flo-block-featured-links-3 {
    padding: 3.125rem 13.875rem;
    display: -ms-flexbox;
    display: flex; }
    .flo-block-featured-links-3__link {
      padding: 3.8125rem 3.75rem;
      width: calc(50% - 1.65625rem);
      text-align: center; }
    .flo-block-featured-links-3__link--left {
      margin-right: 1.65625rem; }
    .flo-block-featured-links-3__link--right {
      margin-left: 1.65625rem; }
    .flo-block-featured-links-3__text-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      height: 100%;
      padding: 7.125rem 0 4.9375rem 0; }
    .flo-block-featured-links-3__link-pretitle {
      margin-bottom: 0.4375rem; }
    .flo-block-featured-links-3__link-title {
      margin-bottom: 3.0625rem;
      padding: 0 3.125rem; }
    .flo-block-featured-links-3__link-text {
      margin-bottom: 3.5625rem;
      padding: 0 4.8125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-links-3 {
    padding: 1.875rem 2.03125rem; }
    .flo-block-featured-links-3__link {
      padding: 1.9375rem 1.875rem;
      text-align: center; }
    .flo-block-featured-links-3__link--left {
      margin-bottom: 1.875rem; }
    .flo-block-featured-links-3__text-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      height: 100%;
      padding: 3.75rem 0 2.5625rem 0; }
    .flo-block-featured-links-3__link-pretitle {
      margin-bottom: 0.4375rem; }
    .flo-block-featured-links-3__link-title {
      margin-bottom: 1.5625rem;
      padding: 0 0.9375rem; }
    .flo-block-featured-links-3__link-text {
      margin-bottom: 2.1875rem;
      padding: 0 1.875rem; } }

.flo-block-featured-links-4__text-wrap {
  display: -ms-flexbox;
  display: flex; }

.flo-block-featured-links-4__column--navigation-column .flo-block-featured-links-4__arrow-left {
  margin-right: 2.5625rem;
  font-size: 1.25rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }

.flo-block-featured-links-4__column--navigation-column .flo-block-featured-links-4__arrow-right {
  margin-left: 2.5625rem;
  font-size: 1.25rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }

.flo-block-featured-links-4__slide-link-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-featured-links-4__slide-link-title {
  min-width: 9.375rem;
  padding: 0.625rem 1.25rem;
  transition: color 0.5s, background-color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-featured-links-4 {
    padding: 0 7.625rem;
    width: calc(100vw - 12.75rem); }
    .flo-block-featured-links-4__text-wrap {
      margin-bottom: 3.25rem; }
    .flo-block-featured-links-4__column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      width: calc(100% / 3 + 4.375rem); }
      .flo-block-featured-links-4__column--title-column {
        margin-right: 2.1875rem;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: start;
            align-items: flex-start; }
      .flo-block-featured-links-4__column--middle-column {
        margin: 0 2.1875rem;
        -ms-flex-pack: center;
            justify-content: center; }
      .flo-block-featured-links-4__column__middle-label {
        text-align: center; }
      .flo-block-featured-links-4__column--navigation-column {
        margin-left: 2.1875rem;
        -ms-flex-pack: center;
            justify-content: center; }
        .flo-block-featured-links-4__column--navigation-column[data-slides-count="1"], .flo-block-featured-links-4__column--navigation-column[data-slides-count="2"], .flo-block-featured-links-4__column--navigation-column[data-slides-count="3"] {
          visibility: hidden; }
    .flo-block-featured-links-4__slider {
      width: 100%; }
    .flo-block-featured-links-4__slide-link {
      padding: 1.125rem 1.125rem 2.625rem 1.125rem;
      width: 19.1875rem;
      margin-right: 2.1875rem; }
    .flo-block-featured-links-4__slide-link-image {
      height: 22.625rem;
      position: relative; }
    .flo-block-featured-links-4__slide-link-title {
      position: absolute;
      bottom: -1.1875rem;
      left: 50%;
      transform: translateX(-50%); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-links-4__text-wrap {
    -ms-flex-direction: column;
        flex-direction: column;
    margin-bottom: 1.5625rem; }
  .flo-block-featured-links-4__column {
    text-align: center; }
    .flo-block-featured-links-4__column--title-column {
      margin-bottom: 1.25rem; }
    .flo-block-featured-links-4__column--middle-column {
      margin-bottom: 1.25rem; }
    .flo-block-featured-links-4__column--navigation-column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-block-featured-links-4__column--navigation-column[data-slides-count="1"] {
        display: none; }
  .flo-block-featured-links-4__slider {
    width: calc(100vw - 4.0625rem);
    margin: auto; }
  .flo-block-featured-links-4__slide-link {
    width: calc(100vw - 1.25rem);
    padding: 0.9375rem 0.9375rem 1.875rem 0.9375rem;
    display: inline-block !important; }
    .flo-block-featured-links-4__slide-link:not(:last-child) {
      margin-right: 0.625rem; }
  .flo-block-featured-links-4__slide-link-image {
    height: 22.625rem;
    position: relative; }
  .flo-block-featured-links-4__slide-link-title {
    position: absolute;
    bottom: -1.1875rem;
    left: 50%;
    transform: translateX(-50%); } }

.flo-block-featured-slideshow-1 {
  z-index: 1; }
  @media screen and (min-width: 48em) {
    .flo-block-featured-slideshow-1 {
      margin: 0 7.625rem;
      padding: 4.09375rem 3.1875rem 5.03125rem 3.1875rem; }
      .flo-block-featured-slideshow-1__featured-slider {
        position: relative; }
      .flo-block-featured-slideshow-1__slide {
        display: -ms-inline-flexbox !important;
        display: inline-flex !important;
        -ms-flex-direction: row;
            flex-direction: row;
        height: 37.0625rem; }
      .flo-block-featured-slideshow-1__left-wrap {
        width: 27.3125rem;
        height: 100%;
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat; }
      .flo-block-featured-slideshow-1__right-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start;
        width: 31.75rem;
        height: 100%; }
        .flo-block-featured-slideshow-1__right-wrap--no-decoration {
          padding-top: 11.875rem; }
      .flo-block-featured-slideshow-1__decorative-image {
        padding-top: 3.5625rem;
        padding-bottom: 8.75rem; }
      .flo-block-featured-slideshow-1__titles-wrap {
        position: relative;
        text-align: center; }
      .flo-block-featured-slideshow-1__decorative-letter {
        position: absolute;
        top: -50%;
        left: 40%;
        transform: translateX(-50%);
        opacity: 0.05; }
      .flo-block-featured-slideshow-1__pre-title {
        padding-bottom: 1rem; }
      .flo-block-featured-slideshow-1__title {
        padding-bottom: 1.125rem; }
      .flo-block-featured-slideshow-1__arrows {
        position: absolute;
        bottom: 7.6875rem;
        right: calc(50% - 7.625rem);
        transform: translate(calc(40% + 7.625rem));
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        z-index: 2; }
      .flo-block-featured-slideshow-1__arrow {
        display: inline-block; }
        .flo-block-featured-slideshow-1__arrow:not(.flo-block-featured-slideshow-1__arrow--separator) {
          cursor: pointer; }
        .flo-block-featured-slideshow-1__arrow--left {
          margin-right: 1.8125rem; }
        .flo-block-featured-slideshow-1__arrow--right {
          margin-left: 2.25rem; }
        .flo-block-featured-slideshow-1__arrow--separator {
          height: 2.875rem;
          width: 1px;
          transform: rotate(10deg); }
        .flo-block-featured-slideshow-1__arrow--prev {
          margin-right: 3rem; }
        .flo-block-featured-slideshow-1__arrow--next {
          margin-left: 2.5625rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-featured-slideshow-1 {
      padding: 1.25rem; }
      .flo-block-featured-slideshow-1__slide {
        width: 100vw; }
      .flo-block-featured-slideshow-1__left-wrap {
        height: 18.5rem;
        margin-bottom: 1.25rem;
        background-size: contain;
        background-position: center center;
        background-repeat: no-repeat; }
      .flo-block-featured-slideshow-1__right-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-direction: column;
            flex-direction: column; }
      .flo-block-featured-slideshow-1__decorative-image {
        padding-top: 1.5625rem;
        padding-bottom: 3.125rem; }
      .flo-block-featured-slideshow-1__titles-wrap {
        position: relative;
        text-align: center;
        margin-bottom: 1.25rem; }
      .flo-block-featured-slideshow-1__decorative-letter {
        position: absolute;
        top: 0;
        left: 40%;
        transform: translateX(-50%);
        opacity: 0.05;
        font-size: 6.5rem !important; }
      .flo-block-featured-slideshow-1__pre-title {
        padding-bottom: 1rem; }
      .flo-block-featured-slideshow-1__title {
        padding-bottom: 1.125rem; }
      .flo-block-featured-slideshow-1__arrows {
        margin-top: 1.25rem;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

.flo-block-featured-slideshow-2__decorative-letter {
  opacity: 0.24; }

.flo-block-featured-slideshow-2__slide-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-featured-slideshow-2__arrows {
  display: -ms-flexbox;
  display: flex; }

.flo-block-featured-slideshow-2__arrow {
  font-size: 1.3125rem; }
  .flo-block-featured-slideshow-2__arrow--prev {
    margin-right: 3.9375rem; }

@media screen and (min-width: 48em) {
  .flo-block-featured-slideshow-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding: 7.9375rem 0 9.125rem 0; }
    .flo-block-featured-slideshow-2__text-area {
      position: relative;
      margin-left: 13.875rem;
      margin-right: 4.4375rem; }
    .flo-block-featured-slideshow-2__decorative-letter {
      position: absolute;
      left: 0%;
      top: 0%;
      transform: translate(-50%, -40%); }
    .flo-block-featured-slideshow-2__text {
      width: 17.4375rem; }
    .flo-block-featured-slideshow-2__slides {
      width: 53.25rem; }
    .flo-block-featured-slideshow-2__slide-image {
      height: 38.875rem;
      width: 26.0625rem;
      margin-right: 1.125rem; }
    .flo-block-featured-slideshow-2__arrows {
      position: absolute;
      right: 6.4375rem;
      bottom: 4.125rem; }
    .flo-block-featured-slideshow-2__arrow {
      opacity: 0.24;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-featured-slideshow-2__arrow:hover {
        opacity: 1; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-slideshow-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    text-align: center;
    padding: 3.125rem 2.03125rem; }
    .flo-block-featured-slideshow-2__text-area {
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-featured-slideshow-2__decorative-letter {
      display: none; }
    .flo-block-featured-slideshow-2__slides {
      width: 100%; }
    .flo-block-featured-slideshow-2__slide-image {
      height: 25rem; }
    .flo-block-featured-slideshow-2__arrows {
      margin: 1.875rem 0; } }

.flo-block-featured-slideshow-7__title-area-wrap {
  text-align: center; }

.flo-block-featured-slideshow-7__decoration-wrap {
  position: relative; }

.flo-block-featured-slideshow-7__decoration-icon {
  position: absolute;
  left: 50%;
  top: 40%;
  transform: translateX(-50%);
  opacity: 0.2; }

.flo-block-featured-slideshow-7__slide-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-featured-slideshow-7__slide-title-wrap {
  display: -ms-flexbox;
  display: flex; }

.flo-block-featured-slideshow-7__arrow {
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }
  .flo-block-featured-slideshow-7__arrow--left {
    margin-right: 2.5rem; }

@media screen and (min-width: 48em) {
  .flo-block-featured-slideshow-7__title-area-wrap {
    padding: 0 14rem; }
  .flo-block-featured-slideshow-7__decoration-wrap {
    padding-top: 8.1875rem;
    padding-bottom: 4.4375rem; }
  .flo-block-featured-slideshow-7__title {
    padding: 0 7.625rem 12.625rem 7.625rem; }
  .flo-block-featured-slideshow-7__slider-wrap {
    padding: 0 14rem; }
  .flo-block-featured-slideshow-7__featured-slider {
    padding: 3.75rem;
    margin-top: -3.8125rem; }
  .flo-block-featured-slideshow-7__slide-image {
    width: 100%;
    height: 36.25rem; }
  .flo-block-featured-slideshow-7__slide-title-wrap {
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-pack: end;
        justify-content: flex-end;
    margin-top: 2.59375rem; }
  .flo-block-featured-slideshow-7__slide-title {
    width: 50%; }
  .flo-block-featured-slideshow-7__arrows {
    width: 50%;
    text-align: right; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-featured-slideshow-7__title-area-wrap {
    padding: 0 2.03125rem; }
  .flo-block-featured-slideshow-7__decoration-wrap {
    padding-top: 4.0625rem;
    padding-bottom: 1.25rem; }
  .flo-block-featured-slideshow-7__title {
    font-size: 0.875rem !important;
    padding-top: 1.25rem;
    padding-bottom: 6.25rem; }
  .flo-block-featured-slideshow-7__slider-wrap {
    padding: 0 2.03125rem;
    padding-top: 1.25rem; }
  .flo-block-featured-slideshow-7__featured-slider {
    padding: 1.25rem;
    margin-top: -3.125rem; }
  .flo-block-featured-slideshow-7__slide-image {
    width: 100%;
    height: 18.125rem; }
  .flo-block-featured-slideshow-7__slide-title-wrap {
    -ms-flex-direction: column;
        flex-direction: column;
    text-align: center;
    margin-top: 1.25rem; }
  .flo-block-featured-slideshow-7__slide-title {
    width: 100%;
    margin-bottom: 1.25rem; }
  .flo-block-featured-slideshow-7__arrows {
    width: 100%; } }

.flo-block-featured-slideshow-7__slide-image {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-featured-slideshow-7__slide-image {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-featured-slideshow-7__slide-image {
    background-image: var(--img-large); } }

.flo-block-gallery-view-1 {
  position: relative; }
  .flo-block-gallery-view-1:hover .flo-block-gallery-view-1__title-area, .flo-block-gallery-view-1--is-focused .flo-block-gallery-view-1__title-area {
    opacity: 0; }
  .flo-block-gallery-view-1:hover .flo-video-embed__video-button {
    opacity: 1; }
  .flo-block-gallery-view-1__image-wrap {
    position: relative; }
    .flo-block-gallery-view-1__image-wrap.slick-current .flo-block-gallery-view-1__arrow {
      opacity: 1;
      pointer-events: initial;
      cursor: pointer; }
  .flo-block-gallery-view-1--title-area-visible .flo-video-embed__video-button {
    opacity: 0; }
  .flo-block-gallery-view-1--title-area-invisible .flo-block-gallery-view-1__title-area {
    display: none; }
  .flo-block-gallery-view-1__arrow {
    position: absolute;
    opacity: 0;
    pointer-events: none;
    z-index: 1;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-gallery-view-1__title-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    width: 100%;
    height: 100%;
    z-index: 1;
    pointer-events: none;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-gallery-view-1__decorative-image {
    width: 1.5rem;
    margin-bottom: 1.9375rem; }
  .flo-block-gallery-view-1__decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.33; }
  .flo-block-gallery-view-1__title {
    margin-bottom: 0.1875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-gallery-view-1__arrow {
      top: 50%;
      font-size: 1.25rem;
      width: 3.125rem;
      height: 3.125rem;
      border-radius: 3.125rem;
      overflow: hidden;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      background-color: white; }
      .flo-block-gallery-view-1__arrow--prev {
        left: 0;
        transform: translate(-50%, -50%); }
      .flo-block-gallery-view-1__arrow--next {
        right: 0;
        transform: translate(50%, -50%); } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-gallery-view-1__arrow {
      top: 1.25rem;
      text-shadow: 0px 0px 2px white; }
      .flo-block-gallery-view-1__arrow--prev {
        left: 1.25rem; }
      .flo-block-gallery-view-1__arrow--next {
        right: 1.25rem; } }

.flo-block-gallery-view-2__image {
  display: inline-block;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-gallery-view-2__image.lazy {
    opacity: 0; }

.flo-block-gallery-view-2__image-thumb {
  width: 100%; }

@media screen and (min-width: 48em) {
  .flo-block-gallery-view-2__image {
    cursor: pointer; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-gallery-view-2__image {
    margin-bottom: 1.875rem; } }

.flo-block-gallery-view-3__image-wrap {
  position: relative; }

.flo-block-gallery-view-3__image {
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-gallery-view-3__arrow {
  font-size: 1.25rem; }

.flo-block-gallery-view-3__thumb {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

@media screen and (min-width: 48em) {
  .flo-block-gallery-view-3__images-wrap {
    position: relative;
    width: 62.5rem;
    margin: 0 auto; }
  .flo-block-gallery-view-3__images {
    margin-bottom: 1.8125rem; }
  .flo-block-gallery-view-3__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
    .flo-block-gallery-view-3__arrow--prev {
      left: -6.25rem; }
    .flo-block-gallery-view-3__arrow--next {
      right: -6.25rem; }
  .flo-block-gallery-view-3__thumbs {
    width: 62.5rem;
    margin: 0 auto; }
  .flo-block-gallery-view-3__thumb-wrap {
    opacity: 0.2;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-gallery-view-3__thumb-wrap.slick-current, .flo-block-gallery-view-3__thumb-wrap:hover {
      opacity: 1; }
  .flo-block-gallery-view-3__thumb {
    width: 8.90625rem;
    height: 5.85938rem;
    margin-right: 1.8125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-gallery-view-3__images-wrap {
    position: relative; }
  .flo-block-gallery-view-3__images {
    margin-top: 3.125rem; }
  .flo-block-gallery-view-3__image {
    height: 18.75rem; }
  .flo-block-gallery-view-3__arrow {
    position: absolute;
    bottom: calc(100% + 1.5625rem);
    transform: translateY(50%); }
    .flo-block-gallery-view-3__arrow--prev {
      left: 1.25rem; }
    .flo-block-gallery-view-3__arrow--next {
      right: 1.25rem; }
  .flo-block-gallery-view-3__thumbs {
    display: none; } }

.flo-block-image-block-1__image-wrap {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: justify;
      justify-content: space-between;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-image-block-1__image-overlay {
  position: absolute;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%; }

.flo-block-image-block-1__header-area {
  width: 100%;
  -ms-flex-positive: 0;
      flex-grow: 0; }
  .flo-block-image-block-1__header-area header:not(.is-sticky) .flo-header {
    color: inherit !important;
    border-color: inherit !important;
    background-color: transparent !important;
    margin-bottom: 0 !important; }

.flo-block-image-block-1__title {
  text-align: center;
  color: inherit;
  z-index: 100; }

@media screen and (min-width: 48em) {
  .flo-block-image-block-1__title-center {
    padding: 3.125rem 21.625rem; }
  .flo-block-image-block-1__title-left {
    padding: 3.125rem 43.25rem 3.125rem 2rem;
    text-align: left; }
  .flo-block-image-block-1__title-right {
    padding: 3.125rem 2rem 3.125rem 43.25rem;
    text-align: right; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-image-block-1__title {
    padding: 1.25rem; } }

.flo-block-image-block-1__image-wrap {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-image-block-1__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-image-block-1__image-wrap {
    background-image: var(--img-large); } }

.flo-block-image-block-2 {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-image-block-2 {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-image-block-2 {
    background-image: var(--img-large); } }

.flo-block-image-block-2 {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }
  .flo-block-image-block-2__image-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .flo-block-image-block-2__text-area {
    position: relative;
    text-align: center; }
  .flo-block-image-block-2__titles-wrap {
    position: relative; }
    .flo-block-image-block-2__titles-wrap:not(:last-child) {
      margin-bottom: 1.25rem; }
  .flo-block-image-block-2__decorative-image:not(:last-child) {
    margin-bottom: 1.25rem; }
  .flo-block-image-block-2__title-decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%); }
  .flo-block-image-block-2__title:not(:last-child) {
    margin-bottom: 0.4375rem; }
  .flo-block-image-block-2__text-paragraph:not(:last-child) {
    margin-bottom: 2.8125rem; }
  .flo-block-image-block-2__button {
    border: 1px solid;
    border-color: inherit;
    display: inline-block;
    padding: 0.625rem 1.875rem;
    transition: color 0.5s, border-color 0.5s, background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-block-image-block-2 {
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-block-image-block-2__text-area {
        width: 33.75rem; }
      .flo-block-image-block-2__button-wrap {
        margin-top: 1.9375rem; }
      .flo-block-image-block-2__button:not(:last-child) {
        margin-right: 1.25rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-block-2 {
      min-height: 25rem;
      padding: 1.25rem;
      position: relative;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom {
        padding: 0;
        -ms-flex-direction: column;
            flex-direction: column; }
        .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__mobile-img-wrap, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom .flo-block-image-block-2__mobile-img-wrap {
          position: relative; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__text-area {
        -ms-flex-order: -1;
            order: -1; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__mobile-img-wrap {
        margin-top: 1.5625rem; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom .flo-block-image-block-2__mobile-img-wrap {
        margin-bottom: 1.5625rem; }
      .flo-block-image-block-2__mobile-bg-wrap {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background-size: cover;
        background-position: center center;
        background-repeat: no-repeat; }
      .flo-block-image-block-2__text-area {
        width: 100%;
        padding: 1.25rem;
        z-index: 1; }
      .flo-block-image-block-2__titles-wrap {
        margin-bottom: 1.25rem; }
      .flo-block-image-block-2__vertical-line {
        display: none; }
      .flo-block-image-block-2__title-paragraph {
        margin-top: 1.5625rem; }
      .flo-block-image-block-2__button-wrap {
        margin-top: 2.5rem; } }
  @media (max-width: 767px) and (orientation: landscape) {
    .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom {
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -ms-flex-pack: center;
          justify-content: center; }
      .flo-block-image-block-2.flo-block-image-block-2__mobile-text-top .flo-block-image-block-2__mobile-img-wrap, .flo-block-image-block-2.flo-block-image-block-2__mobile-text-bottom .flo-block-image-block-2__mobile-img-wrap {
        max-height: 400px;
        width: auto; } }

.flo-block-image-block-3 {
  /* START: Button Type A */
  /* END: Button Type A */
  /* START: Button Type B */
  /* END: Button Type B */ }
  .flo-block-image-block-3__title:not(:last-child) {
    margin-bottom: 0.625rem; }
  .flo-block-image-block-3__subtitle:not(:last-child) {
    margin-bottom: 1.5625rem; }
  .flo-block-image-block-3__buttons-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .flo-block-image-block-3__button {
    padding: 0.6875rem 1.875rem;
    border: 1px solid;
    border-color: transparent;
    transition: background-color 0.5s, color 0.5s, border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-image-block-3__button-links-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-image-block-3__button-link {
    -webkit-backface-visibility: hidden;
            backface-visibility: hidden;
    padding: 1.5625rem 1.875rem 1.5625rem 1.875rem;
    border-color: inherit;
    position: relative;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-image-block-3__button-link:not(:last-child):not(:first-child) {
      border-top: 1px groove;
      border-bottom: 1px groove; }
    .flo-block-image-block-3__button-link:before {
      font-size: 0.4375rem;
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 2.1875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-image-block-3 {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      /* START: Button Type A */
      /* END: Button Type A */
      /* START: Button Type B */
      /* END: Button Type B */ }
      .flo-block-image-block-3__image {
        width: 34.375rem;
        -ms-flex-negative: 0;
            flex-shrink: 0; }
      .flo-block-image-block-3__text-area {
        -ms-flex-positive: 1;
            flex-grow: 1;
        -ms-flex-item-align: stretch;
            align-self: stretch;
        padding: 2.5rem 8.4375rem;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center; }
      .flo-block-image-block-3__text {
        padding-right: 2.8125rem; }
        .flo-block-image-block-3__text:not(:last-child) {
          margin-bottom: 4.1875rem; }
      .flo-block-image-block-3__button--primary {
        margin-right: 1.25rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-block-3 {
      /* START: Button Type A */
      /* END: Button Type A */
      /* START: Button Type B */
      /* END: Button Type B */ }
      .flo-block-image-block-3 > *:not(:last-child) {
        margin-bottom: 1.875rem; }
      .flo-block-image-block-3__text-area {
        padding: 1.875rem 1.5625rem; }
      .flo-block-image-block-3__text:not(:last-child) {
        margin-bottom: 1.875rem; }
      .flo-block-image-block-3__buttons-wrap {
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center; }
      .flo-block-image-block-3__button--primary:not(:last-child) {
        margin-bottom: 1.25rem; } }

.flo-block-image-links-2 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-image-links-2__link {
    text-align: center; }
  .flo-block-image-links-2__link-image {
    height: 21rem;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-block-image-links-2 {
      padding: 0 7.625rem; }
      .flo-block-image-links-2__link {
        width: calc(100% / 3);
        padding: 3.125rem; }
        .flo-block-image-links-2__link--has-url {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column; }
          .flo-block-image-links-2__link--has-url:hover .flo-block-image-links-2__link-image {
            transform: scale(0.9); }
        .flo-block-image-links-2__link:first-child {
          padding-left: 0px; }
        .flo-block-image-links-2__link:nth-child(2) {
          width: calc(100% / 3 + 3.125rem); }
        .flo-block-image-links-2__link:last-child {
          padding-right: 0px; }
        .flo-block-image-links-2__link:not(:last-child) {
          border-right: 1px solid; }
      .flo-block-image-links-2__link-image {
        width: 100%;
        margin-bottom: 2.5625rem; }
        .flo-block-image-links-2__link-image--has-url {
          transition: transform 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-image-links-2__link-pretitle {
        margin-bottom: 1.25rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-links-2 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-image-links-2__link {
        width: 100%; }
        .flo-block-image-links-2__link--has-url {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column; }
        .flo-block-image-links-2__link:after {
          content: " ";
          width: 20%;
          height: 1px;
          background-color: black;
          margin: auto;
          display: block;
          margin-top: 1.25rem;
          margin-bottom: 2.5rem; }
      .flo-block-image-links-2__link-image {
        margin-bottom: 1.25rem; }
      .flo-block-image-links-2__link-pretitle {
        margin-bottom: 0.625rem; } }

.flo-block-image-links-4 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: center;
      justify-content: center; }
  .flo-block-image-links-4__column {
    position: relative;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    height: 18.5625rem; }
  .flo-block-image-links-4__link-title {
    position: absolute;
    left: 50%;
    bottom: 1.75rem;
    transform: translateX(-50%);
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-block-image-links-4__column {
      width: calc(100% / 3 - 3.125rem);
      height: 18.5625rem; }
      .flo-block-image-links-4__column:nth-child(2) {
        margin: 0 3.125rem; }
      .flo-block-image-links-4__column:hover .flo-block-image-links-4__link-title {
        opacity: 1; }
    .flo-block-image-links-4__link-title {
      opacity: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-links-4 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-image-links-4__column {
        width: 100%;
        margin-bottom: 1.25rem; } }

.flo-block-image-links-5__image-link {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

@media screen and (min-width: 48em) {
  .flo-block-image-links-5 {
    padding: 0 6.375rem; }
    .flo-block-image-links-5__links-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .flo-block-image-links-5__image-link {
      height: 19.6875rem;
      margin-bottom: 3.75rem; }
      .flo-block-image-links-5__image-link:nth-child(2n) {
        margin-left: 3.125rem;
        width: calc(50% - 1.5625rem - 0.1rem); }
      .flo-block-image-links-5__image-link:not(:nth-child(2n)) {
        width: calc(50% - 1.5625rem - 0.1rem); }
      .flo-block-image-links-5__image-link:hover .flo-block-image-links-5__background-wrap {
        opacity: 1; }
    .flo-block-image-links-5__background-wrap {
      width: 100%;
      height: 100%;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-align: center;
          align-items: center;
      position: relative;
      opacity: 0;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-image-links-5__decorative-image {
      padding-bottom: 2.8125rem; }
    .flo-block-image-links-5__bottom-label {
      position: absolute;
      left: 50%;
      bottom: 2.1875rem;
      transform: translateX(-50%); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-image-links-5__links-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-image-links-5__image-link {
    width: 100%;
    height: 19.6875rem;
    margin-bottom: 1.875rem; }
  .flo-block-image-links-5__background-wrap {
    width: 100%;
    height: 100%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-pack: center;
        justify-content: center;
    -ms-flex-align: center;
        align-items: center;
    position: relative; }
  .flo-block-image-links-5__decorative-image {
    padding-bottom: 1.25rem; }
  .flo-block-image-links-5__bottom-label {
    position: absolute;
    left: 50%;
    bottom: 3.3125rem;
    transform: translateX(-50%); } }

.flo-block-image-links-6 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-image-links-6__link-image {
    width: 100%;
    height: 18.5625rem;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-block-image-links-6 {
      padding: 0 6.375rem; }
      .flo-block-image-links-6__image-link {
        width: calc(100% / 3); }
        .flo-block-image-links-6__image-link:nth-child(2n) {
          margin-left: 2.8125rem;
          margin-right: 2.8125rem; }
      .flo-block-image-links-6__text-wrap {
        padding: 1.875rem 1.875rem 2.5rem 1.875rem; }
      .flo-block-image-links-6__link-title {
        margin-bottom: 0.4375rem; }
      .flo-block-image-links-6__link-subtitle {
        margin-bottom: 1.5rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-image-links-6 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-image-links-6__image-link {
        width: 100%; }
        .flo-block-image-links-6__image-link:not(:last-child) {
          margin-bottom: 2.8125rem; }
      .flo-block-image-links-6__text-wrap {
        padding: 1.25rem 1.25rem 1.875rem 1.25rem; }
      .flo-block-image-links-6__link-title {
        margin-bottom: 0.625rem; }
      .flo-block-image-links-6__link-subtitle {
        margin-bottom: 1.25rem; } }

.flo-block-image-links-7__image-link--text-area {
  text-align: center;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  min-height: 25rem; }

.flo-block-image-links-7__button {
  border: 1px solid;
  border-color: inherit;
  padding: 0.6875rem 1.875rem;
  transition: background-color 0.5s, color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-image-links-7 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .flo-block-image-links-7__image-link {
      width: 50%; }
      .flo-block-image-links-7__image-link--text-area {
        padding: 3.75rem 7.5rem;
        position: relative; }
    .flo-block-image-links-7__pretitle {
      position: absolute;
      top: 3.75rem; }
    .flo-block-image-links-7__title:not(:last-child) {
      margin-bottom: 0.9375rem; }
    .flo-block-image-links-7__button-wrap {
      position: absolute;
      bottom: 3.75rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-image-links-7__image-link--text-area {
    padding: 2.1875rem 3.75rem; }
  .flo-block-image-links-7__pretitle:not(:last-child) {
    margin-bottom: 1.875rem; }
  .flo-block-image-links-7__subtitle:not(:last-child) {
    margin-bottom: 1.875rem; } }

.flo-block-intro-block__image-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: start;
      justify-content: flex-start;
  position: relative;
  height: 100vh;
  width: 100vw;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-intro-block .flo-block-intro-block__image-wrap {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-intro-block .flo-block-intro-block__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-intro-block .flo-block-intro-block__image-wrap {
    background-image: var(--img-large); } }

.flo-block-intro-block__image-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  pointer-events: none; }

.flo-block-intro-block__header-area {
  width: 100%; }
  .flo-block-intro-block__header-area header:not(.is-sticky) .flo-header {
    color: inherit !important;
    border-color: inherit !important;
    background-color: transparent !important; }

.flo-block-intro-block__text-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-positive: 1;
      flex-grow: 1;
  width: 100%; }

.flo-block-intro-block__text > *:last-child {
  margin-bottom: 0; }

.flo-block-intro-block__actions-wrap {
  -ms-flex-negative: 0;
      flex-shrink: 0; }

.flo-block-intro-block__button {
  display: -ms-inline-flexbox;
  display: inline-flex;
  border: 1px solid;
  padding: 10px;
  min-width: 11.25rem;
  -ms-flex-pack: center;
      justify-content: center;
  -ms-flex-align: center;
      align-items: center;
  transition: color 0.5s, background-color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-intro-block__icon {
  font-size: 7px; }

@media screen and (min-width: 48em) {
  .flo-block-intro-block__header-area header .flo-header {
    padding: 3.75rem 5rem; }
  .flo-block-intro-block__text-area {
    position: relative;
    padding: 0 6.25rem 6.25rem 6.25rem; }
  .flo-block-intro-block__title {
    max-width: 30.9375rem; }
  .flo-block-intro-block__text {
    max-width: 28.125rem;
    margin-top: 0.4375rem; }
  .flo-block-intro-block.flo-block-intro-block--type-a .flo-block-intro-block__text-area {
    -ms-flex-align: end;
        align-items: flex-end;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .flo-block-intro-block.flo-block-intro-block--type-a .flo-block-intro-block__text-area.flo-block-intro-block__buttons-position--below {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: end;
          justify-content: flex-end; }
      .flo-block-intro-block.flo-block-intro-block--type-a .flo-block-intro-block__text-area.flo-block-intro-block__buttons-position--below .flo-block-intro-block__actions-wrap:not(:first-child) {
        margin-top: 2.5rem; }
  .flo-block-intro-block.flo-block-intro-block--type-a .flo-block-intro-block__button:not(:first-child) {
    margin-left: 1.875rem; }
  .flo-block-intro-block.flo-block-intro-block--type-b .flo-block-intro-block__text-area {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    text-align: center; }
  .flo-block-intro-block.flo-block-intro-block--type-b .flo-block-intro-block__actions-wrap {
    margin-top: 3.125rem; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__text-area {
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    text-align: center; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-pack: center;
        justify-content: center;
    width: 100%;
    margin-top: 6.25rem; }
    .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button {
      display: -ms-flexbox;
      display: flex;
      position: relative;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: center;
          justify-content: center;
      width: 50%;
      padding: 2.8125rem 2.8125rem 3.125rem 2.8125rem; }
      .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button:last-child {
        border-left: none; }
      .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button .flo-block-intro-block__button-title {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: row;
            flex-direction: row;
        text-align: left;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: justify;
            justify-content: space-between;
        width: 100%; }
        .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button .flo-block-intro-block__button-title:not(:first-child) {
          margin-top: 0.3125rem; }
      .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__actions-wrap .flo-block-intro-block__button .flo-block-intro-block__icon {
        font-size: 15px; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-intro-block__header-area {
    width: 100%;
    position: relative;
    z-index: 1; }
    .flo-block-intro-block__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-intro-block__text-area {
    position: relative;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    text-align: center;
    padding: 1.875rem 2.03125rem; }
  .flo-block-intro-block__title {
    margin-bottom: 0.625rem; }
  .flo-block-intro-block__actions-wrap {
    margin-top: 1.25rem; }
  .flo-block-intro-block__button:not(:first-child) {
    margin-top: 0.9375rem; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__button-pretitle {
    margin-bottom: 0.625rem; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__button {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    text-align: left;
    -ms-flex-align: start;
        align-items: flex-start;
    padding: 0.9375rem; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__button-title {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap; }
  .flo-block-intro-block.flo-block-intro-block--type-c .flo-block-intro-block__icon {
    padding-left: 1.875rem; } }

@media screen and (min-width: 48em) and (max-width: 64em) {
  .flo-block-intro-block__text-area {
    padding: 3.3125rem 6.25rem; } }

.flo-block-item-content__content-area {
  position: relative;
  margin: 0 auto; }

.flo-block-item-content__decorative-letter {
  position: absolute;
  left: 0%;
  top: 0%;
  transform: translate(-30%, -35%); }

.flo-block-item-content__back-link {
  font-size: 0.75rem; }

.flo-block-item-content__share-links {
  font-size: 0.6875rem; }

@media screen and (min-width: 48em) {
  .flo-block-item-content__content-area {
    max-width: 92%; }
  .flo-block-item-content__decorative-letter {
    opacity: 0.2; }
  .flo-block-item-content__side-area {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: justify;
        justify-content: space-between;
    height: 100%;
    max-height: 28.4375rem;
    position: absolute;
    top: 0;
    right: 0; }
  .flo-block-item-content__back-link {
    margin-bottom: 1.25rem; }
  .flo-block-item-content__share-links {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
    .flo-block-item-content__share-links a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; }
      .flo-block-item-content__share-links a:not(:last-child):after {
        content: " ";
        display: inline-block;
        height: 2.5625rem;
        width: 1px;
        border-left: 1px solid;
        margin: 0.6875rem 0; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-content__content-area {
    margin-bottom: 1.25rem; }
  .flo-block-item-content__decorative-letter {
    display: none; }
  .flo-block-item-content__side-area {
    display: -ms-flexbox;
    display: flex;
    text-align: center;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-block-item-content__back-link {
    margin: 0 0.625rem; }
  .flo-block-item-content__share-links a,
  .flo-block-item-content__share-links span {
    margin: 0 0.625rem; } }

.flo-block-item-pagination__link {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-item-pagination__link--prev i {
    margin-right: 1.6875rem; }
  .flo-block-item-pagination__link--next {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse;
    -ms-flex-pack: start;
        justify-content: flex-start;
    text-align: right; }
    .flo-block-item-pagination__link--next i {
      margin-left: 1.6875rem; }

.flo-block-item-pagination__thumb {
  width: 12rem;
  height: 12rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-item-pagination__text-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: center;
      justify-content: center;
  padding: 1.25rem 4.6875rem; }

.flo-block-item-pagination__title {
  margin-bottom: 0.25rem; }

.flo-block-item-pagination__bottom-label {
  margin-top: 1.75rem; }
  .flo-block-item-pagination__bottom-label i {
    font-size: 0.6875rem; }

@media screen and (min-width: 48em) {
  .flo-block-item-pagination {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
    .flo-block-item-pagination__link {
      width: 50%; }
      .flo-block-item-pagination__link--prev {
        border-right: 1px solid;
        border-color: inherit; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-pagination {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse; }
    .flo-block-item-pagination__link {
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      margin-bottom: 1.875rem; }
    .flo-block-item-pagination__thumb {
      width: 100%;
      height: 18.75rem; }
    .flo-block-item-pagination__text-area {
      padding: 1.25rem 0;
      text-align: center; }
    .flo-block-item-pagination__bottom-label i {
      display: none; } }

.flo-block-item-title-2__title {
  margin-bottom: 0.375rem; }

.flo-block-item-title-2__share-links a {
  font-size: 0.6875rem; }
  .flo-block-item-title-2__share-links a:not(:last-child) {
    margin-right: 1.375rem; }

@media screen and (min-width: 48em) {
  .flo-block-item-title-2 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    margin: 0 auto; }
    .flo-block-item-title-2__left-side {
      text-align: left; }
    .flo-block-item-title-2__right-side {
      text-align: right; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-item-title-2 {
    text-align: center; }
    .flo-block-item-title-2__left-side {
      margin-bottom: 1.875rem; } }

.flo-block-item-title {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  text-align: center; }
  .flo-block-item-title__header-area {
    width: 100%; }
    .flo-block-item-title__header-area .flo-header-mobile.not-sticky,
    .flo-block-item-title__header-area .flo-header.is-not-sticky {
      background-color: transparent !important;
      color: inherit !important;
      border-color: inherit !important; }
  .flo-block-item-title__featured-image {
    display: inline-block; }
    .flo-block-item-title__featured-image--img-landscape {
      max-width: calc(100% - 18.625rem); }
    .flo-block-item-title__featured-image--img-portrait {
      margin: 0 auto;
      max-width: 100%;
      max-height: 80vh; }
    .flo-block-item-title__featured-image--bgi {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
    .flo-block-item-title__featured-image--below {
      -ms-flex-order: 1;
          order: 1; }
  .flo-block-item-title__text-area-wrap {
    position: relative;
    text-align: left;
    width: 100%; }
  .flo-block-item-title__date-and-category {
    margin-bottom: 1.1875rem; }
  .flo-block-item-title__title {
    margin-bottom: 2.125rem; }
  .flo-block-item-title__decorative-area {
    position: relative;
    display: inline-block;
    -ms-flex-positive: 0;
        flex-grow: 0;
    width: auto; }
  .flo-block-item-title__decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    opacity: 0.06;
    min-width: 1.1em; }
  .flo-block-item-title__decorative-image {
    display: inline-block;
    position: relative;
    width: 9.1875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-item-title--featured-image-position-bg .flo-block-item-title__text-area-wrap {
      padding-top: 10.25rem;
      padding-bottom: 8.25rem; }
    .flo-block-item-title__featured-image--above {
      margin-bottom: 2.5rem; }
    .flo-block-item-title__featured-image--below {
      margin-top: 6.5rem; }
    .flo-block-item-title__text-area-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      padding-left: 9.3125rem;
      padding-right: 9.3125rem; }
    .flo-block-item-title__text-area {
      width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-item-title header {
      z-index: 3;
      position: relative; }
    .flo-block-item-title .flo-header__logo--is-light .flo-header-mobile.not-sticky .flo-header-mobile__logo-image--light {
      opacity: 1; }
    .flo-block-item-title .flo-header__logo--is-light .flo-header-mobile.not-sticky .flo-header-mobile__logo-image--default {
      opacity: 0; }
    .flo-block-item-title__featured-image--below {
      padding-top: 2.5rem; }
    .flo-block-item-title__featured-image--img-landscape, .flo-block-item-title__featured-image--img-portrait {
      max-width: 100%; }
    .flo-block-item-title__text-area-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      padding: 3.75rem 2.03125rem 0 2.03125rem;
      text-align: center; }
    .flo-block-item-title__text-area {
      margin-top: 2.5rem;
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-item-title__decorative-image {
      width: 3.125rem; } }

.flo-block-listing-1__featured-image {
  display: inline-block;
  width: 100%;
  margin-bottom: 2.4375rem; }

.flo-block-listing-1__text-area {
  display: -ms-flexbox;
  display: flex; }

.flo-block-listing-1__left-side {
  display: block;
  width: 3.3125rem;
  -ms-flex-negative: 0;
      flex-shrink: 0; }
  .flo-block-listing-1__left-side--decoration-on {
    margin-right: 3.125rem; }
  .flo-block-listing-1__left-side--decoration-off {
    margin-right: 0 !important; }

.flo-block-listing-1__decorative-image {
  display: inline-block;
  max-width: 100%; }

.flo-block-listing-1__right-side {
  display: block; }

.flo-block-listing-1__title {
  display: block;
  margin-bottom: 0.3125rem; }

.flo-block-listing-1__date-and-category {
  display: block;
  margin-bottom: 1.5625rem; }

.flo-block-listing-1__excerpt {
  display: block;
  margin-bottom: 3.6875rem; }

.flo-block-listing-1__link {
  display: inline-block;
  padding: 0.75rem 1.4375rem;
  border: 1px solid;
  border-color: inherit; }

@media screen and (min-width: 48em) {
  .flo-block-listing-1 {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .flo-block-listing-1__grid-sizer {
      width: calc(100% / 2); }
    .flo-block-listing-1__item {
      width: calc(100% / 2 - 5.6875rem);
      margin: 0 2.84375rem 9.25rem 2.84375rem; }
      .flo-block-listing-1__item:last-child {
        margin-bottom: 0; }
    .flo-block-listing-1__left-side {
      margin-right: 3.125rem; }
    .flo-block-listing-1__right-side {
      padding-right: 4rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-1__item {
    margin-bottom: 5rem; }
  .flo-block-listing-1__decorative-image {
    margin-right: 3.125rem; } }

.flo-block-listing-2 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .flo-block-listing-2__item--is-masonry img {
    height: auto; }
  .flo-block-listing-2__featured-image {
    width: 100%;
    display: block;
    height: 16.9375rem; }
    .flo-block-listing-2__featured-image--2-columns {
      height: 23.75rem; }
    .flo-block-listing-2__featured-image--4-columns {
      height: 13.125rem; }
    .flo-block-listing-2__featured-image--bgi {
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
  .flo-block-listing-2__overlay {
    padding: 1.25rem; }
  .flo-block-listing-2__decorative-image {
    max-width: 6.25rem; }
  .flo-block-listing-2--columns-4 .flo-block-listing-2__decorative-image {
    max-width: 2.5rem; }
  .flo-block-listing-2__title {
    display: block;
    text-align: center; }
  .flo-block-listing-2--is-masonry .flo-block-listing-2__featured-image {
    height: auto; }
    .flo-block-listing-2--is-masonry .flo-block-listing-2__featured-image--2-columns {
      height: auto; }
    .flo-block-listing-2--is-masonry .flo-block-listing-2__featured-image--4-columns {
      height: auto; }
  @media screen and (min-width: 48em) {
    .flo-block-listing-2__item {
      position: relative; }
      .flo-block-listing-2__item:hover .flo-block-listing-2__overlay {
        opacity: 1; }
    .flo-block-listing-2__overlay {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      position: absolute;
      top: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-listing-2__decorative-image {
      padding-bottom: 2.1875rem; }
    .flo-block-listing-2__title {
      margin-bottom: 0.625rem; }
    .flo-block-listing-2__date-and-category {
      margin-bottom: 2.5rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-listing-2__item {
      width: 100%;
      text-align: center; }
    .flo-block-listing-2__overlay {
      width: 100%;
      height: auto;
      display: block;
      padding: 2.5rem 1.25rem; }
    .flo-block-listing-2__decorative-image {
      margin-bottom: 1.25rem; }
    .flo-block-listing-2__title {
      margin-bottom: 0.3125rem; }
    .flo-block-listing-2__date-and-category {
      display: block;
      margin-bottom: 1.25rem; }
    .flo-block-listing-2__link {
      display: block; } }

.flo-block-listing-3__featured-image {
  width: 100%;
  display: block; }
  .flo-block-listing-3__featured-image--no-masonry-3-columns {
    height: 12.5rem; }
  .flo-block-listing-3__featured-image--no-masonry-2-columns {
    height: 19rem; }
  .flo-block-listing-3__featured-image--no-masonry-4-columns {
    height: 8.125rem; }
  .flo-block-listing-3__featured-image--bgi {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }

.flo-block-listing-3__title {
  display: block; }

.flo-block-listing-3__excerpt {
  display: block; }

.flo-block-listing-3__date-and-category {
  display: block; }

@media screen and (min-width: 48em) {
  .flo-block-listing-3 {
    margin: 0 7.625rem; }
    .flo-block-listing-3__text-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      padding: 1.875rem; }
    .flo-block-listing-3__title {
      margin-bottom: 0.9375rem; }
    .flo-block-listing-3__excerpt {
      margin-bottom: 2.0625rem; }
    .flo-block-listing-3__date-and-category {
      margin-bottom: 1rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-3__item {
    width: 100%;
    text-align: center; }
  .flo-block-listing-3__text-area {
    width: 100%;
    height: auto;
    display: block;
    padding: 2.5rem 1.25rem; }
  .flo-block-listing-3__title {
    margin-bottom: 0.625rem; }
  .flo-block-listing-3__excerpt {
    margin-bottom: 0.9375rem; }
  .flo-block-listing-3__date-and-category {
    display: block; }
  .flo-block-listing-3__link {
    display: block; } }

.flo-block-listing-4__item--big {
  display: block;
  position: relative;
  width: 100%; }

.flo-block-listing-4__featured-image {
  display: block;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-4__big-item-overlay {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.flo-block-listing-4__big-item-title-area {
  position: relative;
  text-align: center; }

.flo-block-listing-4__big-item-decorative-letter {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-70%, -40%); }

.flo-block-listing-4__big-item-title {
  display: block; }

.flo-block-listing-4__big-item-tags {
  display: block;
  text-transform: uppercase !important; }

.flo-block-listing-4__big-item-link {
  padding: 0.59375rem 1.5rem 0.59375rem 1.5rem;
  border: 1px solid;
  border-color: inherit;
  transition: color 0.5s, background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-listing-4__bottom-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.flo-block-listing-4__small-item-overlay {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  text-align: center;
  padding: 1.25rem; }

@media screen and (min-width: 48em) {
  .flo-block-listing-4__top-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between; }
  .flo-block-listing-4__item--big:hover .flo-block-listing-4__big-item-overlay {
    opacity: 1; }
  .flo-block-listing-4__big-item-overlay {
    position: absolute;
    top: 3.1875rem;
    left: 3.1875rem;
    right: 3.1875rem;
    bottom: 3.1875rem;
    opacity: 0;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-listing-4__big-item-decorative-image {
    margin-bottom: 5.3125rem; }
  .flo-block-listing-4__big-item-title-area {
    margin-bottom: 5.625rem; }
  .flo-block-listing-4__big-item-title {
    margin-top: 1rem;
    margin-bottom: 1.125rem; }
  .flo-block-listing-4__top-wrap-right-side {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -ms-flex-align: start;
        align-items: flex-start; }
    .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item {
      position: relative; }
      .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small:nth-child(3), .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small:nth-child(4) {
        margin-bottom: 0 !important; }
      .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small:nth-child(2), .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small:nth-child(4) {
        margin-right: 0 !important; }
  .flo-block-listing-4__item--small {
    position: relative; }
    .flo-block-listing-4__item--small:hover .flo-block-listing-4__small-item-overlay {
      opacity: 1; }
    .flo-block-listing-4__item--small:nth-child(4n) {
      margin-right: 0 !important; }
  .flo-block-listing-4__small-item-overlay {
    position: absolute;
    top: 1.5rem;
    left: 1.5rem;
    right: 1.5rem;
    bottom: 1.5rem;
    opacity: 0;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-4__top-wrap {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-listing-4__top-wrap-left-side {
    width: 100%; }
  .flo-block-listing-4__big-item-overlay {
    padding: 1.875rem 1.25rem;
    padding-top: 3.75rem;
    height: 100%; }
  .flo-block-listing-4__big-item-decorative-image {
    margin-bottom: 2.5rem; }
  .flo-block-listing-4__big-item-title-area {
    margin-bottom: 2.8125rem; }
  .flo-block-listing-4__big-item-title {
    margin-top: 1.25rem;
    margin-bottom: 1.25rem; }
  .flo-block-listing-4__big-item-tags {
    margin-bottom: 1.25rem; }
  .flo-block-listing-4__top-wrap-right-side {
    width: 100%; }
    .flo-block-listing-4__top-wrap-right-side .flo-block-listing-4__item--small {
      display: block; }
  .flo-block-listing-4__item--small {
    width: 100%; }
  .flo-block-listing-4__small-item-overlay {
    padding: 1.875rem 1.25rem; } }

.flo-block-listing-5__item {
  display: block; }

.flo-block-listing-5__text-area {
  text-align: center; }

.flo-block-listing-5__item-decorative-image {
  max-height: 4.375rem;
  width: auto; }

.flo-block-listing-5__item-link {
  display: inline-block;
  border: 1px solid;
  padding: 0.75rem 1.5625rem 0.5625rem 1.5625rem;
  transition: color 0.5s, background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-listing-5__item-link--under-featured-image {
    margin-top: 3.125rem;
    margin-bottom: 0 !important; }

.flo-block-listing-5__item-featured-image {
  display: block;
  width: 100%;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-listing-5__button-wrap {
  text-align: center; }

.flo-block-listing-5__share-links {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  margin-top: 3.75rem; }
  .flo-block-listing-5__share-links--delimiter {
    display: inline-block;
    width: 2.5625rem;
    height: 1px;
    margin-left: 0.9375rem;
    margin-right: 0.9375rem; }
  .flo-block-listing-5__share-links .flo-share-link {
    padding: 0 1.25rem; }

@media screen and (min-width: 48em) {
  .flo-block-listing-5 {
    padding: 0 14rem; }
    .flo-block-listing-5__item {
      padding: 3.75rem 4.6875rem; }
    .flo-block-listing-5__text-area {
      padding: 0 6.25rem; }
    .flo-block-listing-5__item-decorative-image {
      margin-bottom: 2.375rem; }
    .flo-block-listing-5__item-title {
      margin-bottom: 0.625rem; }
    .flo-block-listing-5__item-date {
      margin-bottom: 1.25rem; }
    .flo-block-listing-5__item-link {
      margin-bottom: 3.125rem; }
    .flo-block-listing-5__item-featured-image img {
      max-height: 80vh;
      width: auto;
      margin: 0 auto;
      display: block; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-5 {
    padding: 1.875rem 0; }
    .flo-block-listing-5__item {
      padding: 1.875rem 2.1875rem; }
    .flo-block-listing-5__item-decorative-image {
      margin-bottom: 1.25rem; }
    .flo-block-listing-5__item-title {
      margin-bottom: 0.625rem; }
    .flo-block-listing-5__item-date {
      margin-bottom: 1.25rem; }
    .flo-block-listing-5__item-link {
      margin-bottom: 2.1875rem; } }

.flo-block-listing-6__item {
  display: -ms-flexbox;
  display: flex; }

.flo-block-listing-6__title {
  display: inline-block; }

.flo-block-listing-6__date-and-category {
  display: inline-block; }

.flo-block-listing-6__excerpt {
  display: inline-block; }

.flo-block-listing-6__link {
  display: inline-block;
  border: 1px solid;
  padding: 0.75rem 1.5625rem 0.5625rem 1.5625rem;
  transition: color 0.5s, background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-listing-6__featured-image {
  -ms-flex-positive: 1;
      flex-grow: 1;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

@media screen and (min-width: 48em) {
  .flo-block-listing-6 {
    padding: 0 4.5rem; }
    .flo-block-listing-6__item {
      transition: transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-listing-6__item:hover {
        transform: scale(1.05); }
    .flo-block-listing-6__text-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-positive: 1;
          flex-grow: 1;
      -ms-flex-preferred-size: 50%;
          flex-basis: 50%;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      text-align: center;
      padding: 6.25rem 5rem; }
    .flo-block-listing-6__decorative-image {
      margin-bottom: 4.375rem; }
    .flo-block-listing-6__date-and-category {
      margin-bottom: 2.3125rem; }
    .flo-block-listing-6__excerpt {
      margin-bottom: 5rem; }
    .flo-block-listing-6__featured-image {
      width: 50%; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-listing-6__item {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-listing-6__text-area {
    padding: 3.125rem 1.5625rem;
    text-align: center; }
  .flo-block-listing-6__decorative-image {
    margin-bottom: 1.875rem; }
  .flo-block-listing-6__title {
    display: block; }
  .flo-block-listing-6__date-and-category {
    margin-bottom: 0.9375rem; }
  .flo-block-listing-6__excerpt {
    margin-bottom: 2.5rem; }
  .flo-block-listing-6__featured-image {
    height: 18.75rem; } }

.flo-block-listing-pagination-2 {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  transition: color 0.5s, background-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-listing-pagination-2__button-wrap {
    display: block;
    width: auto;
    margin: 0 auto;
    color: var(--text-color);
    border-color: var(--text-color);
    background-color: var(--background-color);
    border: 1px solid;
    transition: background-color 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
    .flo-block-listing-pagination-2__button-wrap:hover {
      color: var(--hover-text-color);
      background-color: var(--hover-background-color); }
  .flo-block-listing-pagination-2__button {
    display: block;
    color: inherit !important;
    padding: 0.75rem 4rem; }

.flo-block-listing-pagination {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .flo-block-listing-pagination__page-number {
    margin-right: 1.875rem;
    height: 1.4375rem;
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-align: center;
        align-items: center;
    position: relative;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
    .flo-block-listing-pagination__page-number:after {
      content: " ";
      background-color: #000;
      width: 100%;
      height: 1px;
      display: inline-block;
      position: absolute;
      bottom: 0;
      left: 0;
      opacity: 0;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-listing-pagination__page-number:hover:after {
      opacity: 1; }
    .flo-block-listing-pagination__page-number--active:after {
      opacity: 1; }
    .flo-block-listing-pagination__page-number:last-child {
      margin-right: 0; }
  .flo-block-listing-pagination__page-dots {
    margin-right: 1.875rem; }
  @media screen and (min-width: 48em) {
    .flo-block-listing-pagination {
      -ms-flex-pack: justify;
          justify-content: space-between; }
      .flo-block-listing-pagination__navigation--previous i {
        margin-right: 1.375rem; }
      .flo-block-listing-pagination__navigation--next i {
        margin-left: 1.375rem; }
      .flo-block-listing-pagination__spacer {
        -ms-flex: 0 1 10%;
            flex: 0 1 10%; }
      .flo-block-listing-pagination__page-links {
        text-align: center; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-listing-pagination {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-listing-pagination__navigation {
        display: -ms-flexbox;
        display: flex; }
        .flo-block-listing-pagination__navigation--previous {
          margin-bottom: 1.875rem; }
          .flo-block-listing-pagination__navigation--previous i {
            margin-right: 0.6875rem; }
        .flo-block-listing-pagination__navigation--next {
          margin-top: 1.875rem; }
          .flo-block-listing-pagination__navigation--next i {
            margin-left: 0.6875rem; } }

.flo-block-numeric-details__numeric-detail {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: start;
      justify-content: flex-start;
  text-align: center;
  border-color: inherit !important; }

.flo-block-numeric-details__numeric-detail-number {
  position: relative; }
  .flo-block-numeric-details__numeric-detail-number:not(:last-child) {
    margin-bottom: 0.625rem; }
  .flo-block-numeric-details__numeric-detail-number.flo-block-numeric-details__plus-will-show:before {
    content: "+";
    position: absolute;
    top: 50%;
    left: 100%;
    transform: translateY(-50%);
    opacity: 0;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-numeric-details__numeric-detail-number.flo-block-numeric-details__plus-will-show.flo-block-numeric-details__plus-shown:before {
    opacity: 1; }

@media screen and (min-width: 48em) {
  .flo-block-numeric-details {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-align: stretch;
        align-items: stretch;
    -ms-flex-pack: center;
        justify-content: center;
    padding: 1.875rem 0; }
    .flo-block-numeric-details__numeric-detail {
      padding: 0.9375rem 1.5625rem; }
      .flo-block-numeric-details__numeric-detail:not(:last-child) {
        border-right: 1px solid; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-numeric-details__numeric-detail {
    padding: 3.125rem 0;
    margin: 0 3.125rem; }
    .flo-block-numeric-details__numeric-detail:not(:last-child) {
      border-bottom: 1px solid; } }

.flo-block-press__title {
  text-align: center; }

.flo-block-press__press-images {
  position: relative;
  border-color: inherit; }

.flo-block-press__slider .flo-block-press__press-image {
  margin: 0.9375rem auto !important; }

.flo-block-press__slider .slick-slide {
  overflow: visible;
  display: inline-block;
  vertical-align: middle;
  float: none;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-block-press__slider .slick-active {
  opacity: 1; }

.flo-block-press__slider .flo-block-press__arrow {
  font-size: 0.9375rem;
  position: absolute;
  transform-origin: center;
  transform: translateY(-50%);
  z-index: 100; }

.flo-block-press__slider .flo-block-press__arrow--prev {
  left: 2rem; }

.flo-block-press__slider .flo-block-press__arrow--next {
  right: 2rem; }

.flo-block-press__press-images-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-align: center;
      align-items: center; }

.flo-block-press__press-images-wrap,
.flo-block-press__slides > div {
  padding-top: 3.3125rem;
  border-top: 1px solid;
  border-color: inherit; }

@media screen and (min-width: 48em) {
  .flo-block-press__slider .flo-block-press__arrow {
    top: 50%; }
  .flo-block-press__press-images-wrap {
    padding-left: 1.875rem;
    padding-right: 1.875rem;
    -ms-flex-pack: space-evenly;
        justify-content: space-evenly; }
  .flo-block-press__press-image {
    max-width: 8.4375rem;
    margin: 0.9375rem; }
    .flo-block-press__press-image:nth-child(5n) {
      margin-right: 0; } }

@media screen and (min-width: 48em) and (max-width: 64em) {
  .flo-block-press__slider .flo-block-press__arrow--prev {
    left: -2.75rem; }
  .flo-block-press__slider .flo-block-press__arrow--next {
    right: -2.75rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-press__slider__arrow {
    bottom: 0; }
  .flo-block-press__press-images-wrap {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-press__press-image {
    max-width: 80%;
    display: block;
    margin: 0.625rem auto; }
    .flo-block-press__press-image:not(:last-child) {
      margin-bottom: 2.5rem; } }

.flo-block-pricing-package-1 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-pricing-package-1__image-wrap {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    width: 58.4375rem;
    position: relative; }
  .flo-block-pricing-package-1__package-number {
    position: absolute; }
  .flo-block-pricing-package-1__text-area {
    text-align: center; }
  .flo-block-pricing-package-1__decorative-icon {
    margin-bottom: 1.8125rem; }
  .flo-block-pricing-package-1__title {
    margin-bottom: 0.875rem; }
  .flo-block-pricing-package-1__subtitle {
    margin-bottom: 3.125rem; }
  @media screen and (min-width: 48em) {
    .flo-block-pricing-package-1__image-wrap--text-area-position-left {
      -ms-flex-order: 2;
          order: 2; }
    .flo-block-pricing-package-1__image-wrap--text-area-position-right {
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-pricing-package-1__package-number {
      bottom: 4.3125rem; }
      .flo-block-pricing-package-1__package-number--text-area-position-left {
        right: 4.5rem; }
      .flo-block-pricing-package-1__package-number--text-area-position-right {
        left: 4.5rem; }
    .flo-block-pricing-package-1__text-area {
      margin: 4.5rem 0;
      padding: 4rem 5.625rem 4.875rem 5.625rem;
      width: 28.8125rem;
      z-index: 1; }
      .flo-block-pricing-package-1__text-area--text-area-position-left {
        -ms-flex-order: 1;
            order: 1;
        margin-right: -14.375rem; }
      .flo-block-pricing-package-1__text-area--text-area-position-right {
        -ms-flex-order: 2;
            order: 2;
        margin-left: -14.375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-pricing-package-1 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-pricing-package-1__image-wrap {
        width: 100%;
        height: 18.75rem; }
        .flo-block-pricing-package-1__image-wrap--text-area-position-left {
          -ms-flex-order: 2;
              order: 2;
          margin-top: 1.25rem; }
        .flo-block-pricing-package-1__image-wrap--text-area-position-right {
          -ms-flex-order: 1;
              order: 1;
          margin-bottom: 1.25rem; }
      .flo-block-pricing-package-1__package-number {
        bottom: 1.875rem;
        left: 50%;
        transform: translateX(-50%); }
      .flo-block-pricing-package-1__text-area {
        padding: 1.25rem 1.875rem;
        word-wrap: break-word; }
        .flo-block-pricing-package-1__text-area--text-area-position-left {
          -ms-flex-order: 1;
              order: 1; }
        .flo-block-pricing-package-1__text-area--text-area-position-right {
          -ms-flex-order: 2;
              order: 2; } }

.flo-block-pricing-packages-2__title-area {
  text-align: center; }

.flo-block-pricing-packages-2__packages-area {
  display: -ms-flexbox;
  display: flex; }

.flo-block-pricing-packages-2__package {
  height: 29.6875rem;
  position: relative;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-pack: end;
      justify-content: flex-end;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-pricing-packages-2 .flo-block-pricing-packages-2__package {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-pricing-packages-2 .flo-block-pricing-packages-2__package {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-pricing-packages-2 .flo-block-pricing-packages-2__package {
    background-image: var(--img-large); } }

.flo-block-pricing-packages-2__package-content {
  margin: 1.1875rem;
  padding: 2.5rem 2.4375rem;
  text-align: center; }

.flo-block-pricing-packages-2__package-number-and-decorative-icon {
  position: relative;
  height: 5.75rem;
  padding: 1.875rem;
  opacity: 1; }

.flo-block-pricing-packages-2__package-number {
  position: relative;
  z-index: 2; }

.flo-block-pricing-packages-2__decorative-icon {
  position: absolute;
  left: 50%;
  top: 0;
  transform: translate(-50%, -50%);
  z-index: 1; }

.flo-block-pricing-packages-2__package-title {
  margin-bottom: 1.6875rem; }

.flo-block-pricing-packages-2__package-description {
  box-sizing: border-box;
  height: 11.625rem;
  margin-bottom: 0; }

.flo-block-pricing-packages-2__package-link {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%; }

.flo-block-pricing-packages-2__package-block-button-wrap {
  text-align: center; }

.flo-block-pricing-packages-2__package-block-button {
  display: inline-block;
  padding: 0.75rem 3.125rem;
  border: 1px solid;
  transition: color 0.5s, background-color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-block-pricing-packages-2__title-area {
    margin: 3.875rem 0; }
  .flo-block-pricing-packages-2__packages-area {
    -ms-flex-pack: distribute;
        justify-content: space-around; }
    .flo-block-pricing-packages-2__packages-area--3-packages {
      -ms-flex-pack: justify;
          justify-content: space-between; }
  .flo-block-pricing-packages-2__package {
    width: calc(100% / 3 - 1.375rem); }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-content {
      background-color: transparent; }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-description {
      height: 0 !important; }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-number-and-decorative-icon {
      height: 0 !important;
      opacity: 0; }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-title {
      color: var(--elements-on-image-color); }
    .flo-block-pricing-packages-2__package:not(:hover) .flo-block-pricing-packages-2__package-price {
      color: var(--elements-on-image-color); }
  .flo-block-pricing-packages-2__package-content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: end;
        justify-content: flex-end;
    height: 100%;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    color: var(--elements-on-hover-color); }
  .flo-block-pricing-packages-2__package-number-and-decorative-icon {
    transition: height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-pricing-packages-2__package-description {
    overflow: hidden;
    transition: height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-pricing-packages-2__package-block-button-wrap {
    margin-top: 3.9375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-pricing-packages-2__title-area {
    margin: 1.875rem 0; }
  .flo-block-pricing-packages-2__packages-area {
    -ms-flex-direction: column;
        flex-direction: column; }
  .flo-block-pricing-packages-2__package {
    height: 31.25rem; }
    .flo-block-pricing-packages-2__package:not(:last-child) {
      margin-bottom: 1.375rem; }
  .flo-block-pricing-packages-2__decorative-icon {
    max-width: 50%; }
  .flo-block-pricing-packages-2__package-block-button-wrap {
    margin-top: 2.5rem; } }

.flo-block-related-items__title-area {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  text-align: center; }

.flo-block-related-items__title {
  position: relative; }

.flo-block-related-items__title-decoration {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 0.5625rem; }

.flo-block-related-items__item {
  display: block; }

.flo-block-related-items__item-featured-image {
  display: block;
  height: 18.5625rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-related-items__item-text-area {
  display: block;
  padding: 2.3125rem 3.125rem;
  text-align: center; }

.flo-block-related-items__item-title {
  display: block;
  margin-bottom: 0.625rem; }

.flo-block-related-items__item-category {
  display: block; }

@media screen and (min-width: 48em) {
  .flo-block-related-items__title-area {
    margin-bottom: 4.9375rem; }
  .flo-block-related-items__title-decoration--left {
    right: calc(100% + 1.9375rem); }
  .flo-block-related-items__title-decoration--right {
    left: calc(100% + 1.9375rem); }
  .flo-block-related-items__items {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-block-related-items__item {
    width: 18.5625rem;
    margin: 0 1.59375rem;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-related-items__item:hover {
      transform: scale(1.05); } }

@media screen and (max-width: 47.9375em) {
  .flo-block-related-items__title-area {
    margin-bottom: 1.875rem; }
  .flo-block-related-items__title-decoration--left {
    right: calc(100% + 0.625rem); }
  .flo-block-related-items__title-decoration--right {
    left: calc(100% + 0.625rem); }
  .flo-block-related-items__item {
    width: 100%;
    margin-bottom: 1.25rem; } }

.flo-block-share-and-tags__share-links a {
  font-size: 0.6875rem; }

@media screen and (min-width: 48em) {
  .flo-block-share-and-tags {
    padding: 3.125rem 13.8125rem;
    display: -ms-flexbox;
    display: flex; }
    .flo-block-share-and-tags__share {
      display: -ms-flexbox;
      display: flex;
      width: 50%;
      text-align: left; }
    .flo-block-share-and-tags__share-label {
      margin-right: 4.6875rem; }
    .flo-block-share-and-tags__share-links a {
      margin-right: 2.1875rem; }
    .flo-block-share-and-tags__tags {
      width: 50%;
      text-align: right; }
    .flo-block-share-and-tags__tags a {
      margin-left: 3.125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-share-and-tags {
    text-align: center;
    padding: 1.875rem 2.03125rem; }
    .flo-block-share-and-tags__share {
      text-align: center;
      margin-bottom: 1.875rem; }
    .flo-block-share-and-tags__share-label {
      display: block; }
    .flo-block-share-and-tags__share-links {
      display: block; }
    .flo-block-share-and-tags__tags a {
      margin: 0.9375rem; } }

.flo-block-slideshow-1 {
  position: relative;
  /* START: LINK STYLE */
  /* END: LINK STYLE */ }
  .flo-block-slideshow-1__slides {
    position: relative; }
  .flo-block-slideshow-1__content-wrap {
    overflow: hidden; }
  .flo-block-slideshow-1__header-area {
    pointer-events: initial;
    -webkit-user-select: initial;
       -moz-user-select: initial;
        -ms-user-select: initial;
            user-select: initial; }
    .flo-block-slideshow-1__header-area header:not(.is-sticky) .flo-header {
      color: inherit;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-slideshow-1__middle-area {
    width: 100%;
    position: relative;
    min-height: 5rem; }
  .flo-block-slideshow-1__arrow {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: initial;
    z-index: 1;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__logo {
    position: relative;
    text-align: center;
    margin: 0 auto; }
    .flo-block-slideshow-1__logo--is-light .flo-block-slideshow-1__logo-image--default {
      opacity: 0; }
    .flo-block-slideshow-1__logo--is-light .flo-block-slideshow-1__logo-image--light {
      opacity: 1; }
  .flo-block-slideshow-1__logo-image {
    display: inline-block;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-1__logo-image--default {
      position: relative; }
    .flo-block-slideshow-1__logo-image--light {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      opacity: 0; }
  .flo-block-slideshow-1__footer-area {
    /* START: APPLY SHADOW TO INSTAGRAM IMAGES */
    /* END: APPLY SHADOW TO INSTAGRAM IMAGES */ }
    .flo-block-slideshow-1__footer-area .flo-footer-area-1-type-a,
    .flo-block-slideshow-1__footer-area .flo-footer-area-1-type-b,
    .flo-block-slideshow-1__footer-area .flo-footer-area-1-type-c,
    .flo-block-slideshow-1__footer-area .flo-footer-area-1-type-d,
    .flo-block-slideshow-1__footer-area .flo-footer-area-2-type-a,
    .flo-block-slideshow-1__footer-area .flo-footer-area-2-type-b,
    .flo-block-slideshow-1__footer-area .flo-footer-copyrights-area-type-a,
    .flo-block-slideshow-1__footer-area .flo-footer-copyrights-area-type-b {
      color: inherit !important;
      background-color: transparent !important;
      border-color: inherit !important; }
    .flo-block-slideshow-1__footer-area .flo-footer-image-feed__image,
    .flo-block-slideshow-1__footer-area .img-block {
      box-shadow: 0px 0px 42px 5px rgba(0, 0, 0, 0.4); }
  .flo-block-slideshow-1 .flo-block {
    padding-bottom: 0; }
  .flo-block-slideshow-1 .flo-block-delimiter-1__delimiter-line {
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1 .flo-block-delimiter-1__decorative-letter {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-1 .flo-block-delimiter-1__decorative-letter:before, .flo-block-slideshow-1 .flo-block-delimiter-1__decorative-letter:after {
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__link--style-button {
    background-color: transparent !important;
    transition: color 0.5s, border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__link--style-link {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-left-side, .flo-block-slideshow-1__footer-middle-area, .flo-block-slideshow-1__footer-right-side {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    text-align: center;
    box-sizing: border-box; }
  .flo-block-slideshow-1__footer-left-side-title {
    margin-bottom: 0.625rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-left-side-text {
    margin-bottom: 0.4375rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-left-side-link {
    pointer-events: initial; }
  .flo-block-slideshow-1__footer-middle-area {
    position: relative; }
  .flo-block-slideshow-1__footer-middle-area-slide-title {
    display: none;
    position: relative;
    margin-bottom: 1.6875rem;
    margin-top: 0.875rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-middle-area-slide-title-decorative-letter {
    opacity: 0.1 !important;
    position: absolute;
    left: 50%;
    top: 0;
    transform: translate(-50%, 0%);
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-middle-area-slide-subtitle {
    display: none;
    position: relative;
    margin-bottom: 2.375rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-middle-area-slide-link {
    position: relative;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-1__footer-middle-area-slide-link, .flo-block-slideshow-1__footer-middle-area-slide-link.hidden {
      pointer-events: none;
      opacity: 0; }
    .flo-block-slideshow-1__footer-middle-area-slide-link.visible {
      opacity: 1;
      pointer-events: initial; }
  .flo-block-slideshow-1__footer-middle-area-scrolldown {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: -2.09375rem;
    pointer-events: initial;
    font-size: 0.625rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-right-side-title {
    margin-bottom: 0.625rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-right-side-text {
    margin-bottom: 0.4375rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-1__footer-right-side-link {
    pointer-events: initial; }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-1__footer {
      padding: 0 6.375rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding-bottom: 4.9375rem; }
    .flo-block-slideshow-1__footer-delimiter {
      width: 100%;
      margin-bottom: 4.25rem; }
    .flo-block-slideshow-1__footer-left-side, .flo-block-slideshow-1__footer-middle-area, .flo-block-slideshow-1__footer-right-side {
      -ms-flex-pack: center;
          justify-content: center; }
    .flo-block-slideshow-1__footer-left-side {
      padding: 0.9375rem 4.125rem 0.9375rem 2.25rem;
      width: 29%; }
    .flo-block-slideshow-1__footer-left-side-link {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: transform 0.5s, color 0.5s, opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-1__footer-left-side-link:hover {
        transform: scale(1.05); }
    .flo-block-slideshow-1__footer-middle-area {
      position: relative;
      width: 42%;
      padding: 0.9375rem 4.125rem; }
      .flo-block-slideshow-1__footer-middle-area:before, .flo-block-slideshow-1__footer-middle-area:after {
        content: " ";
        display: block;
        position: absolute;
        top: 50%;
        transform: translateY(-50%);
        height: 100%;
        max-height: 11.125rem;
        width: 1px;
        transition: background-color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-1__footer-middle-area:before {
        left: 0; }
      .flo-block-slideshow-1__footer-middle-area:after {
        right: 0; }
    .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-left-side,
    .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-right-side {
      width: 20%; }
    .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-middle-area {
      width: 60%; }
      .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-middle-area:before, .flo-block-slideshow-1--middle-area-has-no-borders .flo-block-slideshow-1__footer-middle-area:after {
        content: none; }
    .flo-block-slideshow-1__footer-middle-area-slide-link {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: transform 0.5s, color 0.5s, opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-1__footer-middle-area-slide-link:hover {
        transform: scale(1.05); }
    .flo-block-slideshow-1__footer-right-side {
      padding: 0.9375rem 2.25rem 0.9375rem 4.125rem;
      width: 29%; }
    .flo-block-slideshow-1__footer-right-side-link {
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: transform 0.5s, color 0.5s, opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-1__footer-right-side-link:hover {
        transform: scale(1.05); } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-1__footer-delimiter {
      margin-bottom: 1.875rem; }
    .flo-block-slideshow-1__footer-left-side {
      margin-bottom: 6.25rem; }
    .flo-block-slideshow-1__footer-middle-area {
      padding-top: 1.25rem;
      margin-bottom: 5rem; }
    .flo-block-slideshow-1__footer-middle-area-scrolldown {
      pointer-events: initial;
      bottom: calc(100% + 2.1875rem); } }
  .flo-block-slideshow-1 .flo-hero-video-embed__button {
    display: none; }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-1__content-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      pointer-events: none; }
    .flo-block-slideshow-1__header-area {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      pointer-events: initial; }
    .flo-block-slideshow-1__header {
      padding: 1.8125rem 6.375rem;
      border-bottom-style: solid;
      border-bottom-width: 1px;
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-1__header-menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      width: 100%; }
      .flo-block-slideshow-1__header-menu > li:not(:last-child) {
        margin-right: 5.5625rem; }
    .flo-block-slideshow-1__arrow--next {
      right: 6.375rem; }
    .flo-block-slideshow-1__arrow--prev {
      left: 6.375rem; }
    .flo-block-slideshow-1__logo {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1; }
    .flo-block-slideshow-1__footer-area {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      pointer-events: initial; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-1--mobile-freeze {
      overflow: scroll; }
    .flo-block-slideshow-1 {
      padding: 0;
      z-index: 1; }
    .flo-block-slideshow-1__slides {
      height: 100vh;
      width: 100vw; }
    .flo-block-slideshow-1__content-wrap {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      z-index: 1;
      overflow-y: scroll;
      padding-bottom: 0; }
      .flo-block-slideshow-1__content-wrap .not-sticky .flo-block-slideshow-1__logo--is-light .flo-header-mobile__logo-image--default {
        opacity: 0; }
      .flo-block-slideshow-1__content-wrap .not-sticky .flo-block-slideshow-1__logo--is-light .flo-header-mobile__logo-image--light {
        opacity: 1; }
    .flo-block-slideshow-1__header-area {
      margin-bottom: 5rem; }
      .flo-block-slideshow-1__header-area .flo-header-mobile.not-sticky {
        background-color: transparent; }
    .flo-block-slideshow-1__header {
      display: none; }
    .flo-block-slideshow-1__middle-area {
      min-height: 5rem; }
    .flo-block-slideshow-1__arrow--next {
      right: 2.03125rem; }
    .flo-block-slideshow-1__arrow--prev {
      left: 2.03125rem; }
    .flo-block-slideshow-1__logo {
      padding: 0 2.03125rem;
      margin-bottom: 6.25rem; }
    .flo-block-slideshow-1__logo-image {
      max-width: calc(100vw - 8.125rem); }
    .flo-block-slideshow-1__header-area {
      margin-bottom: 0; }
    .flo-block-slideshow-1__footer-area {
      padding: 0 2.03125rem;
      margin-bottom: 6.25rem; } }

.flo-block-slideshow-2 {
  position: relative; }
  .flo-block-slideshow-2__slides {
    position: relative; }
  .flo-block-slideshow-2__content-wrap {
    overflow: hidden;
    pointer-events: none; }
    .flo-block-slideshow-2__content-wrap > * {
      pointer-events: initial; }
  .flo-block-slideshow-2__arrow {
    display: block;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    pointer-events: initial;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-2__header-area {
    pointer-events: initial;
    -webkit-user-select: initial;
       -moz-user-select: initial;
        -ms-user-select: initial;
            user-select: initial; }
    .flo-block-slideshow-2__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-slideshow-2__logo {
    position: relative;
    text-align: center; }
    .flo-block-slideshow-2__logo--is-light .flo-block-slideshow-2__logo-image--default {
      opacity: 0; }
    .flo-block-slideshow-2__logo--is-light .flo-block-slideshow-2__logo-image--light {
      opacity: 1; }
  .flo-block-slideshow-2__logo-image {
    display: inline-block;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-2__logo-image--default {
      position: relative; }
    .flo-block-slideshow-2__logo-image--light {
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);
      opacity: 0; }
  .flo-block-slideshow-2__scroll-down-area {
    pointer-events: initial;
    margin-bottom: 5.4375rem;
    text-align: center;
    font-size: 0.6875rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  .flo-block-slideshow-2__scroll-down-area-label {
    margin-top: 2.75rem; }
  .flo-block-slideshow-2 .flo-hero-video-embed__button {
    bottom: 2.5rem;
    top: auto;
    transform: translate(-50%, 0); }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-2__content-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      pointer-events: none; }
    .flo-block-slideshow-2__arrow--next {
      right: 6.375rem;
      z-index: 1000; }
    .flo-block-slideshow-2__arrow--prev {
      left: 6.375rem;
      z-index: 1000; }
    .flo-block-slideshow-2__header-area {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      pointer-events: initial; }
    .flo-block-slideshow-2--header-menu-items-hidden .flo-header .menu {
      opacity: 0;
      pointer-events: none; }
    .flo-block-slideshow-2--header-logo-hidden .flo-header__logo {
      opacity: 0;
      pointer-events: none; }
    .flo-block-slideshow-2__logo {
      width: 100%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 1;
          flex-shrink: 1; }
    .flo-block-slideshow-2__menu-wrap {
      margin-top: 1.875rem;
      pointer-events: initial; }
    .flo-block-slideshow-2__menu > li {
      min-width: 10.6875rem;
      padding-left: 0.9375rem;
      padding-right: 0.9375rem; }
      .flo-block-slideshow-2__menu > li:not(:last-child) {
        border-right: 1px solid; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-2--mobile-freeze {
      overflow: scroll; }
    .flo-block-slideshow-2__logo--is-light .flo-header-mobile {
      opacity: 1 !important; }
    .flo-block-slideshow-2__logo--is-light .flo-header-mobile__logo-image--default {
      opacity: 0; }
    .flo-block-slideshow-2__slides {
      height: 100vh;
      width: 100vw; }
    .flo-block-slideshow-2__arrow--next {
      right: 0.9375rem;
      z-index: 1000; }
    .flo-block-slideshow-2__arrow--prev {
      left: 0.9375rem;
      z-index: 1000; }
    .flo-block-slideshow-2__content-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-pack: justify;
          justify-content: space-between;
      overflow: scroll;
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      pointer-events: all; }
    .flo-block-slideshow-2__header-area {
      pointer-events: initial;
      margin-bottom: 5rem; }
      .flo-block-slideshow-2__header-area .flo-header-mobile.not-sticky {
        background-color: transparent; }
    .flo-block-slideshow-2__mobile-header-menu-hidden .flo-header-mobile .flo-header-mobile__menu-trigger {
      display: none; }
    .flo-block-slideshow-2__mobile-header-logo-hidden .flo-header-mobile .flo-header-mobile__logo {
      display: none; }
    .flo-block-slideshow-2__logo {
      padding: 0 2.03125rem;
      margin: auto;
      margin-bottom: 6.25rem;
      margin-top: 1.875rem; }
    .flo-block-slideshow-2__logo-image {
      max-width: calc(100vw - 8.125rem); }
    .flo-block-slideshow-2__menu-wrap {
      pointer-events: initial; }
    .flo-block-slideshow-2__menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: stretch;
          align-items: stretch;
      text-align: center; }
      .flo-block-slideshow-2__menu > li > ul {
        display: none; }
      .flo-block-slideshow-2__menu li {
        position: relative;
        padding: 0.3125rem 0; }
      .flo-block-slideshow-2__menu .children-visible > .flo-block-slideshow-2__menu-dropdown-toggle {
        transform: translateY(0%) rotate(0deg); }
      .flo-block-slideshow-2__menu .flo-block-slideshow-2__menu-dropdown-toggle {
        transform: rotate(45deg);
        font-size: 0.75rem;
        letter-spacing: 0;
        color: inherit;
        margin: 0.625rem 0;
        transition: transform 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-block-slideshow-2__menu .sub-menu {
        padding: 1.25rem 0;
        top: 100%; }
        .flo-block-slideshow-2__menu .sub-menu:before {
          content: none; }
        .flo-block-slideshow-2__menu .sub-menu:after {
          content: none; } }

.flo-block-slideshow-3 {
  position: relative; }
  .flo-block-slideshow-3__content-wrap {
    overflow: hidden;
    position: relative;
    pointer-events: none; }
    .flo-block-slideshow-3__content-wrap > * {
      pointer-events: initial; }
  .flo-block-slideshow-3__header-area {
    pointer-events: initial;
    -webkit-user-select: initial;
       -moz-user-select: initial;
        -ms-user-select: initial;
            user-select: initial;
    width: 100%; }
    .flo-block-slideshow-3__header-area header:not(.is-sticky) .flo-header {
      color: inherit !important;
      border-color: inherit !important;
      background-color: transparent !important; }
  .flo-block-slideshow-3__title-area {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
    width: 80%; }
  .flo-block-slideshow-3__title-area-title-wrap {
    position: relative; }
  .flo-block-slideshow-3__title-area-title {
    display: none;
    position: relative;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-3__title-area-title-decorative-letter {
    opacity: 0.1 !important;
    position: absolute;
    left: 50%;
    top: calc(50% + 0.1em);
    transform: translate(-50%, -50%);
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-3__title-area-subtitle {
    display: none;
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: calc(100% + 0.625rem);
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-3__title-area-button {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    top: calc(100% + 19.375vh);
    transition: all 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block-slideshow-3__title-area-button, .flo-block-slideshow-3__title-area-button.hidden {
      pointer-events: none;
      opacity: 0; }
    .flo-block-slideshow-3__title-area-button.visible {
      opacity: 1;
      pointer-events: initial; }
  .flo-block-slideshow-3__arrows {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: 100%;
    pointer-events: none; }
  .flo-block-slideshow-3__arrow {
    pointer-events: initial;
    font-size: 0.625rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0.28; }
    .flo-block-slideshow-3__arrow:hover {
      opacity: 1; }
  .flo-block-slideshow-3__scroll-down-area {
    pointer-events: initial;
    margin-bottom: 5.4375rem;
    text-align: center;
    font-size: 0.6875rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  .flo-block-slideshow-3__scroll-down-area-label {
    margin-top: 2.75rem; }
  .flo-block-slideshow-3 .flo-hero-video-embed__button {
    bottom: 2.5rem;
    top: auto;
    transform: translate(-50%, 0); }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-3__content-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center;
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      pointer-events: none; }
    .flo-block-slideshow-3--header-position-bottom .flo-block-slideshow-3__content-wrap {
      -ms-flex-pack: end;
          justify-content: flex-end; }
    .flo-block-slideshow-3--header-position-bottom .flo-block-slideshow-3__scroll-down-area {
      -ms-flex-order: 1;
          order: 1;
      margin-bottom: 1.875rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse; }
      .flo-block-slideshow-3--header-position-bottom .flo-block-slideshow-3__scroll-down-area-label {
        margin-top: 0;
        margin-bottom: 1.25rem; }
    .flo-block-slideshow-3--header-position-bottom .flo-block-slideshow-3__header-area {
      -ms-flex-order: 2;
          order: 2; }
    .flo-block-slideshow-3--header-position-bottom header:not(.is-sticky) .flo-header__menu > div > ul > li > ul {
      bottom: calc(100% + 1.5rem);
      top: auto; }
      .flo-block-slideshow-3--header-position-bottom header:not(.is-sticky) .flo-header__menu > div > ul > li > ul:before {
        top: 100%;
        bottom: auto; }
      .flo-block-slideshow-3--header-position-bottom header:not(.is-sticky) .flo-header__menu > div > ul > li > ul:after {
        top: 100%;
        bottom: auto;
        transform: translateX(-50%) rotate(180deg); }
    .flo-block-slideshow-3--header-position-bottom .flo-hero-video-embed__button {
      top: 2.5rem;
      bottom: auto;
      transform: translate(-50%, 0); }
    .flo-block-slideshow-3__header-area .flo-header {
      margin-bottom: 0; }
    .flo-block-slideshow-3__arrows {
      padding: 0 6.375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-3 {
      overflow-y: scroll; }
      .flo-block-slideshow-3__logo--is-light .flo-header-mobile {
        opacity: 1 !important; }
      .flo-block-slideshow-3__logo--is-light .flo-header-mobile__logo-image--default {
        opacity: 0; }
      .flo-block-slideshow-3__slides {
        height: 100vh;
        width: 100vw; }
      .flo-block-slideshow-3__content-wrap {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: stretch;
            align-items: stretch;
        -ms-flex-pack: justify;
            justify-content: space-between;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 1;
        overflow-y: scroll;
        padding-bottom: 0; }
      .flo-block-slideshow-3__header-area .flo-header-mobile.not-sticky {
        background-color: transparent; }
      .flo-block-slideshow-3__title-area {
        top: 40%;
        width: 100%; }
      .flo-block-slideshow-3__title-area-title {
        width: calc(100% - 10.15625rem);
        margin: 0 auto; }
      .flo-block-slideshow-3__title-area-subtitle {
        width: calc(100% - 10.15625rem); }
      .flo-block-slideshow-3__arrows {
        padding: 0 2.03125rem; } }

.flo-block-slideshow-4 {
  position: relative; }
  .flo-block-slideshow-4--layout-b .flo-block-slideshow-4__counter,
  .flo-block-slideshow-4--layout-b .flo-block-slideshow-4__arrow {
    color: white;
    text-shadow: 0px 0px 10px black; }
  .flo-block-slideshow-4__arrows {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
        justify-content: space-between;
    width: 100%;
    pointer-events: none; }
  .flo-block-slideshow-4__arrow {
    pointer-events: initial;
    font-size: 1rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: opacity 0.5s, color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    opacity: 0.28; }
    .flo-block-slideshow-4__arrow:hover {
      opacity: 1; }
  .flo-block-slideshow-4__counter {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    bottom: 3rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-block-slideshow-4__counter-index {
    position: absolute;
    bottom: 0.6em;
    right: 100%; }
  .flo-block-slideshow-4__counter-count {
    position: absolute;
    top: 0.6em;
    left: 100%; }
  @media screen and (min-width: 48em) {
    .flo-block-slideshow-4__arrows {
      padding: 0 6.375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-slideshow-4__arrows {
      padding: 0 2.03125rem; }
    .flo-block-slideshow-4 .flo-hero-video-embed__button {
      display: none; } }

.flo-block-social-links {
  text-align: center; }
  .flo-block-social-links__title {
    margin-bottom: 1.6875rem; }
  .flo-block-social-links__social-links a {
    font-size: 0.75rem;
    margin: 0 0.34375rem; }

.flo-block-testimonials-1__testimonial-image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-testimonials-1__testimonial-counter {
  position: relative; }
  .flo-block-testimonials-1__testimonial-counter:after {
    content: " / ";
    position: absolute;
    top: 0.71875rem; }

.flo-block-testimonials-1__testimonial-text p:last-child {
  margin-bottom: 0; }

.flo-block-testimonials-1__arrow {
  font-size: 0.6875rem;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  outline: none; }
  .flo-block-testimonials-1__arrow--left {
    margin-right: 4.375rem; }

@media screen and (min-width: 48em) {
  .flo-block-testimonials-1 {
    padding: 0 6.375rem; }
    .flo-block-testimonials-1__testimonial_slide {
      display: -ms-inline-flexbox !important;
      display: inline-flex !important;
      -ms-flex-align: center;
          align-items: center; }
    .flo-block-testimonials-1__testimonial-image {
      width: 39.375rem;
      height: 26.3125rem;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-block-testimonials-1__testimonial-text-area {
      padding: 3.5rem 0 3.5625rem 4.6875rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-pack: justify;
          justify-content: space-between; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-testimonials-1__testimonial_slide {
    display: -ms-inline-flexbox;
    display: inline-flex;
    -ms-flex-direction: column;
        flex-direction: column;
    width: 100%; }
  .flo-block-testimonials-1__testimonial-image {
    width: 100%;
    height: 13.125rem;
    margin-bottom: 1.25rem; }
  .flo-block-testimonials-1__testimonial-text-area {
    text-align: center; }
  .flo-block-testimonials-1__testimonial-counter {
    margin-bottom: 1.25rem; }
  .flo-block-testimonials-1__testimonial-text {
    margin-bottom: 1.25rem; } }

.flo-block-text-block-1__text-wrap {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-text-block-1__text-wrap {
    max-width: 40vw;
    margin: auto; } }

.flo-block-text-block-2 {
  display: -ms-flexbox;
  display: flex; }
  .flo-block-text-block-2__image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
    .flo-block-text-block-2__image--image-position-left {
      -ms-flex-order: 1;
          order: 1; }
    .flo-block-text-block-2__image--image-position-right {
      -ms-flex-order: 2;
          order: 2; }
  .flo-block-text-block-2__bottom-label {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  @media screen and (min-width: 48em) {
    .flo-block-text-block-2 {
      padding: 0 7.625rem; }
      .flo-block-text-block-2__image {
        height: 36.3125rem;
        width: 24.125rem; }
      .flo-block-text-block-2__text-wrap {
        width: 31.75rem;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-pack: center;
            justify-content: center;
        position: relative; }
        .flo-block-text-block-2__text-wrap--image-position-left {
          margin-left: 6.375rem;
          padding-left: 1.25rem;
          padding-right: 5rem;
          -ms-flex-order: 2;
              order: 2; }
        .flo-block-text-block-2__text-wrap--image-position-right {
          margin-right: 6.375rem;
          padding-right: 1.25rem;
          padding-left: 5rem;
          -ms-flex-order: 1;
              order: 1; }
      .flo-block-text-block-2__title {
        margin-bottom: 4.3125rem; }
      .flo-block-text-block-2__bottom-label {
        margin-top: 5.625rem; }
        .flo-block-text-block-2__bottom-label--image-position-left {
          left: 1.25rem; }
        .flo-block-text-block-2__bottom-label--image-position-right {
          left: 5rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-text-block-2 {
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-block-text-block-2__image {
        width: 100%;
        height: 21.875rem; }
        .flo-block-text-block-2__image--image-position-left {
          -ms-flex-order: 1;
              order: 1;
          margin-bottom: 1.25rem; }
        .flo-block-text-block-2__image--image-position-right {
          -ms-flex-order: 2;
              order: 2;
          margin-top: 1.875rem; }
      .flo-block-text-block-2__text-wrap--image-position-left {
        -ms-flex-order: 2;
            order: 2; }
      .flo-block-text-block-2__text-wrap--image-position-right {
        -ms-flex-order: 1;
            order: 1; }
      .flo-block-text-block-2__title {
        margin-bottom: 1.875rem; }
      .flo-block-text-block-2__text-paragraph {
        padding-bottom: 2.375rem; } }

.flo-block-text-block-3__image {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-text-block-3__post-link {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center; }
  .flo-block-text-block-3__post-link:before {
    content: " ";
    width: 0.8125rem;
    height: 1px;
    margin-right: 1.6875rem; }

.flo-block-text-block-3__link-area {
  text-align: center; }

.flo-block-text-block-3__link-delimiter {
  font-size: 0.3125rem;
  margin-bottom: 1.9375rem; }

@media screen and (min-width: 48em) {
  .flo-block-text-block-3 {
    padding: 3.125rem 13.875rem;
    display: -ms-flexbox;
    display: flex; }
    .flo-block-text-block-3__image {
      width: 14.4375rem;
      height: 19.1875rem; }
    .flo-block-text-block-3__post-text {
      width: 28.9375rem;
      padding: 2.0625rem 5.25rem 2.9375rem 5rem; }
    .flo-block-text-block-3__post-subtitle {
      padding-bottom: 1.8125rem; }
    .flo-block-text-block-3__post-paragraph > p:last-child {
      margin-bottom: 2.125rem; }
    .flo-block-text-block-3__link-area {
      padding: 2.0625rem 0 2.25rem 6.8125rem;
      width: 18.75rem;
      border-left: 1px solid; }
    .flo-block-text-block-3__link-title {
      padding-bottom: 1.25rem; }
    .flo-block-text-block-3__link-subtitle {
      padding-bottom: 2.5rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-text-block-3 {
    padding: 1.875rem 2.03125rem; }
    .flo-block-text-block-3__image {
      width: 100%;
      height: 19.1875rem;
      margin-bottom: 1.25rem; }
    .flo-block-text-block-3__post-text {
      margin-bottom: 1.875rem;
      text-align: center; }
    .flo-block-text-block-3__post-title {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__post-subtitle {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__post-paragraph {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__post-link {
      -ms-flex-pack: center;
          justify-content: center; }
    .flo-block-text-block-3__link-title {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__link-delimiter {
      margin-bottom: 0.625rem; }
    .flo-block-text-block-3__link-subtitle {
      padding-bottom: 1.25rem; } }

.flo-block-text-block-4__elements-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }

.flo-block-text-block-4__title {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-text-block-4 {
    padding: 0 15.25rem; }
    .flo-block-text-block-4__decorative-image {
      margin-bottom: 1.5625rem; }
    .flo-block-text-block-4__title {
      margin-bottom: 2.8125rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-text-block-4__decorative-image {
    margin-bottom: 1.25rem; }
  .flo-block-text-block-4__title {
    margin-bottom: 1.5625rem; } }

.flo-block-text-block-5__title {
  text-align: center; }

.flo-block-text-block-5__delimiter {
  margin: 0 auto 2.5rem auto;
  height: 1px; }

@media screen and (min-width: 48em) {
  .flo-block-text-block-5__text-wrap {
    max-width: 40vw;
    margin: auto; } }

.flo-block-title-1__elements-wrap {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-title-1__elements-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    width: 45.75rem;
    margin: auto;
    position: relative; }
  .flo-block-title-1__decorative-image {
    padding-bottom: 3.625rem; }
  .flo-block-title-1__decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -40%); }
  .flo-block-title-1__title {
    margin-bottom: 1.25rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-title-1__elements-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    position: relative; }
  .flo-block-title-1__decorative-letter {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -40%); } }

.flo-block-title-2 {
  text-align: center; }
  .flo-block-title-2__pre-title {
    padding-bottom: 1.125rem; }
  @media screen and (min-width: 48em) {
    .flo-block-title-2 {
      padding: 0 7.625rem; }
      .flo-block-title-2__title {
        padding: 0 7.625rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-title-2__pre-title {
      width: 60vw;
      margin: auto; } }

.flo-block-title-3__title {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-title-3 {
    padding: 0 14rem; } }

.flo-block-title-4 {
  text-align: center; }
  .flo-block-title-4__title {
    padding-bottom: 0.4375rem; }
  @media screen and (min-width: 48em) {
    .flo-block-title-4 {
      padding: 0 7.625rem; }
      .flo-block-title-4__quote--left {
        margin-right: 1.3125rem; }
      .flo-block-title-4__quote--right {
        margin-left: 1.3125rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block-title-4__quote {
      display: block; }
      .flo-block-title-4__quote--left {
        margin-bottom: 1.3125rem; }
      .flo-block-title-4__quote--right {
        margin-top: 1.3125rem; } }

@media screen and (min-width: 48em) {
  .flo-block-vendors {
    display: -ms-flexbox;
    display: flex;
    margin: 0 auto; }
    .flo-block-vendors__title {
      width: 11.4375rem;
      padding-right: 1.25rem;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      border-right: 1px solid;
      border-color: inherit; }
    .flo-block-vendors__list {
      padding-left: 4.5rem; }
    .flo-block-vendors__vendor {
      display: -ms-flexbox;
      display: flex;
      margin-bottom: 1rem; }
    .flo-block-vendors__vendor-title {
      width: 8.0625rem;
      padding-right: 1.25rem;
      -ms-flex-positive: 0;
          flex-grow: 0; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-vendors__title {
    margin-bottom: 1.25rem; }
  .flo-block-vendors__vendor {
    margin-bottom: 0.5rem; } }

.flo-block-video-block-1__image-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: end;
      justify-content: flex-end;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-video-block-1__text-elements-wrap {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-video-block-1 {
    padding: 0 7.625rem; }
    .flo-block-video-block-1__text-elements-wrap {
      margin-bottom: 4.5625rem;
      width: 30.5rem; }
    .flo-block-video-block-1__subtitle {
      margin-bottom: 1.9375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-video-block-1__text-elements-wrap {
    padding-bottom: 1.25rem; }
  .flo-block-video-block-1__subtitle {
    margin-bottom: 1.25rem; } }

.flo-block-video-block-1__image-wrap {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-video-block-1__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-video-block-1__image-wrap {
    background-image: var(--img-large); } }

.flo-block-video-block-2__image-wrap {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
      flex-direction: column;
  -ms-flex-align: center;
      align-items: center;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-block-video-block-2__text-elements-wrap {
  text-align: center; }

@media screen and (min-width: 48em) {
  .flo-block-video-block-2 .flo-video-embed:not(.flo-video-embed--loaded) .flo-video-embed__video-button {
    top: 19.625rem; }
  .flo-block-video-block-2__text-elements-wrap {
    margin-bottom: 7.9375rem;
    width: 30.5rem; }
    .flo-block-video-block-2__text-elements-wrap--desktop-correction {
      margin-bottom: 0; }
  .flo-block-video-block-2__subtitle {
    margin-bottom: 1.9375rem; }
  .flo-block-video-block-2__paragraph-text {
    margin-bottom: 3rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-block-video-block-2__text-elements-wrap--mobile-correction {
    padding-bottom: 1.25rem; }
  .flo-block-video-block-2__subtitle {
    margin-bottom: 1.25rem; }
  .flo-block-video-block-2__paragraph-text {
    display: none; } }

.flo-block-video-block-2__image-wrap {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-block-video-block-2__image-wrap {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-block-video-block-2__image-wrap {
    background-image: var(--img-large); } }

.flo-comments {
  /* START: TOP AREA */
  /* END: TOP AREA */
  /* START: COMMENTS WRAP */
  /* START: LIST */
  /* END: LIST */
  /* START: FORM */
  /* END: FORM */
  /* END: COMMENTS WRAP */ }
  .flo-comments__top-area {
    border-bottom: 1px solid;
    padding-bottom: 3.5625rem; }
  .flo-comments__sharing-options {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center; }
  .flo-comments__sharing-options-label {
    margin-right: 1.5625rem; }
  .flo-comments__sharing-links a:not(:last-child) {
    margin-right: 1.5625rem; }
  .flo-comments__sharing-links i:before {
    font-size: 0.6875rem; }
  .flo-comments__tags a:after {
    content: ", "; }
  @media screen and (min-width: 48em) {
    .flo-comments__top-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    .flo-comments__comments-count, .flo-comments__sharing-options, .flo-comments__tags {
      width: calc(100% / 3);
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-comments__tags {
      text-align: right; } }
  @media screen and (max-width: 47.9375em) {
    .flo-comments__top-area {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; }
    .flo-comments__comments-count {
      margin-bottom: 1.25rem; }
    .flo-comments__sharing-options {
      margin-bottom: 1.25rem; } }
  .flo-comments__list {
    padding-top: 2.3125rem; }
    .flo-comments__list > .comment:first-child > .flo-comments__comment {
      padding-top: 0; }
    .flo-comments__list .comment:last-child .flo-comments__comment:last-child {
      border-bottom: 0; }
    .flo-comments__list .comment:last-child .comment:last-child .flo-comments__comment {
      border-bottom: 0; }
  .flo-comments__comment {
    padding: 1.5625rem 0;
    border-bottom: 1px solid; }
    .flo-comments__comment #cancel-comment-reply-link i {
      font-size: 1.25rem; }
  .flo-comments__comment-top-wrap {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center; }
  .flo-comments__comment-avatar {
    width: 2.96875rem;
    height: 2.96875rem;
    border-radius: 2.96875rem;
    -ms-flex-positive: 0;
        flex-grow: 0;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    box-sizing: border-box;
    display: inline-block;
    overflow: hidden;
    margin-right: 3.1875rem; }
    .flo-comments__comment-avatar img {
      width: 100%; }
  .flo-comments__comment-author {
    padding: 0.625rem 0; }
  .flo-comments__comment-date {
    -ms-flex-positive: 1;
        flex-grow: 1;
    text-align: right; }
  .flo-comments__comment-reply {
    margin-top: 1.375rem; }
  @media screen and (min-width: 48em) {
    .flo-comments__list {
      padding-right: 6.375rem; }
    .flo-comments .comment .comment .flo-comments__comment {
      position: relative;
      padding-left: 6.375rem; }
      .flo-comments .comment .comment .flo-comments__comment:before {
        content: " ";
        display: block;
        position: absolute;
        left: 0;
        top: 0;
        height: 100%;
        width: 9.5625rem;
        z-index: -1; }
    .flo-comments__comment-content {
      padding-left: 9.5625rem; }
    .flo-comments__comment-reply {
      padding-left: 9.5625rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-comments__comment-top-wrap {
      margin-bottom: 1.25rem; } }
  .flo-comments__form-wrap {
    padding-top: 3.125rem;
    padding-bottom: 3.75rem; }
  .flo-comments__form-top-area {
    margin-bottom: 3.4375rem; }
  .flo-comments__form-subtitle {
    padding-top: 3rem; }
  .flo-comments__form-field {
    border-bottom: 1px solid !important; }
  .flo-comments__form-textarea {
    border-bottom: 1px solid !important;
    min-height: 7.875rem; }
  .flo-comments .form-submit {
    display: block;
    width: 100%;
    text-align: center;
    margin-bottom: 0; }
  .flo-comments__form .submit {
    display: inline-block;
    margin-top: 3.75rem;
    padding: 0 2.625rem; }
  @media screen and (min-width: 48em) {
    .flo-comments__form-wrap {
      padding-left: 6.375rem;
      padding-right: 6.375rem; }
      .flo-comments__form-wrap.is_stuck {
        right: 6.375rem; }
        .flo-comments__form-wrap.is_stuck[style*=absolute] {
          right: 0; }
    .flo-comments__form {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .flo-comments__form-field {
      display: block;
      margin-bottom: 2.5rem !important; }
      .flo-comments__form-field--half {
        width: calc(50% - 3.1875rem);
        margin-right: 6.375rem; }
        .flo-comments__form-field--half + .flo-comments__form-field--half {
          margin-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-comments__form-wrap {
      padding: 3.125rem 1.875rem; } }
  @media screen and (min-width: 48em) {
    .flo-comments__comments-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start; }
    .flo-comments__list, .flo-comments__form-wrap {
      width: 50%;
      -ms-flex-positive: 0;
          flex-grow: 0;
      -ms-flex-negative: 0;
          flex-shrink: 0; } }
  .flo-comments__facebook {
    text-align: center; }

@media screen and (min-width: 48em) {
  .flo-footer-sidebars {
    padding: 3.125rem 6.375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-footer-sidebars {
    padding: 3.125rem 2.03125rem; } }

@media screen and (min-width: 48em) {
  .flo-footer-sidebars .medium-4 {
    width: 33.3333%;
    padding: 0 1.25rem; } }

.flo-footer {
  /* START: IMAGE FEED */
  /* END: IMAGE FEED */
  /* START: SEARCH FIELD STYLING */
  /* END: SEARCH FIELD STYLING */
  /* START: AREA 1 */
  /* END: AREA 1 */
  /* START: AREA 2 */
  /* END: AREA 2 */
  /* START: COPYRIGHTS AREA */
  /* END: COPYRIGHTS AREA */ }
  .flo-footer-image-feed .img-block a {
    display: block; }
  @media screen and (min-width: 48em) {
    .flo-footer-image-feed,
    .flo-footer-image-feed .flo-shcode-instgm-container {
      display: -ms-flexbox;
      display: flex; }
    .flo-footer-image-feed .flo-shcode-instgm-container img {
      width: 100%; } }
  .flo-footer-image-feed__image {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-footer .widget_search .search-field {
    border-top: 0;
    border-left: 0;
    border-right: 0; }
  .flo-footer .widget_search input[type="submit"] {
    margin-top: 1.25rem; }
  .flo-footer .flo-footer-area-1-type-a__group {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center; }
  .flo-footer .flo-footer-area-1-type-a__title {
    margin-bottom: 1.3125rem; }
  .flo-footer .flo-footer-area-1-type-a__link {
    margin-bottom: 0.25rem; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-a {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
          align-items: stretch;
      -ms-flex-pack: center;
          justify-content: center;
      padding: 4.0625rem 18.625rem 1.5rem 18.625rem; }
      .flo-footer .flo-footer-area-1-type-a__group {
        text-align: center;
        padding: 0.3125rem 3.875rem 1.25rem 3.875rem;
        width: calc(100% / 3); }
        .flo-footer .flo-footer-area-1-type-a__group:not(:last-child) {
          border-right-width: 1px;
          border-right-style: solid;
          border-color: inherit;
          transition: border-color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-footer .flo-footer-area-1-type-a--groups-count-3 .flo-footer-area-1-type-a__group {
        width: 28%; }
        .flo-footer .flo-footer-area-1-type-a--groups-count-3 .flo-footer-area-1-type-a__group:nth-child(1) {
          padding-left: 0; }
        .flo-footer .flo-footer-area-1-type-a--groups-count-3 .flo-footer-area-1-type-a__group:nth-child(2) {
          width: auto;
          padding: 0.3125rem 7.9375rem 0.3125rem 7.9375rem; }
        .flo-footer .flo-footer-area-1-type-a--groups-count-3 .flo-footer-area-1-type-a__group:nth-child(3) {
          padding-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-a {
      padding: 1.875rem 2.03125rem; }
      .flo-footer .flo-footer-area-1-type-a__group:not(:last-child) {
        padding-bottom: 1.5625rem;
        margin-bottom: 1.5625rem;
        border-bottom-width: 1px;
        border-bottom-style: solid; } }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-b {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: stretch;
          align-items: stretch;
      padding: 3.6875rem 6.375rem 1.25rem 6.375rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-area {
        width: 67%;
        padding: 0 5.1875rem 0 7.5rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-area-top {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        -ms-flex-align: end;
            align-items: flex-end;
        margin-bottom: 1.6875rem; }
      .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image,
      .flo-footer .flo-footer-area-1-type-b .img-block {
        width: 9.125rem !important; }
        .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image:not(:last-child),
        .flo-footer .flo-footer-area-1-type-b .img-block:not(:last-child) {
          margin-right: 0.875rem; }
      .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image {
        height: 9.125rem; }
      .flo-footer .flo-footer-area-1-type-b__info-area {
        width: 33%;
        border-left-width: 1px;
        border-left-style: solid;
        border-color: inherit;
        padding-left: 4.3125rem;
        transition: border-color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-footer .flo-footer-area-1-type-b__info-area-title {
        margin-bottom: 1.6875rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-b {
      text-align: center;
      padding: 1.875rem 2.03125rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-area {
        margin-bottom: 2.5rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-area-top {
        margin-bottom: 1.875rem; }
      .flo-footer .flo-footer-area-1-type-b__feed-title {
        margin-bottom: 0.3125rem; }
      .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image,
      .flo-footer .flo-footer-area-1-type-b .img-block {
        width: 100%; }
        .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image:not(:last-child),
        .flo-footer .flo-footer-area-1-type-b .img-block:not(:last-child) {
          margin-bottom: 1.25rem; }
      .flo-footer .flo-footer-area-1-type-b .flo-footer-image-feed__image {
        height: 18.75rem; }
      .flo-footer .flo-footer-area-1-type-b__info-area-title {
        margin-bottom: 0.3125rem; } }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-c {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      padding: 6.1875rem 10.125rem 1.6875rem 10.125rem; }
      .flo-footer .flo-footer-area-1-type-c__form-wrap, .flo-footer .flo-footer-area-1-type-c__link-list-wrap, .flo-footer .flo-footer-area-1-type-c__link-wrap {
        padding-top: 0.875rem;
        padding-bottom: 1.375rem; }
      .flo-footer .flo-footer-area-1-type-c__form-wrap {
        width: 21%;
        padding-right: 3.8125rem; }
      .flo-footer .flo-footer-area-1-type-c__link-list-wrap {
        position: relative;
        width: 58%;
        padding-left: 6.9375rem;
        padding-right: 6.9375rem;
        text-align: center;
        border-left-width: 1px;
        border-left-style: solid;
        border-right-width: 1px;
        border-right-style: solid;
        border-color: inherit;
        transition: border-color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-footer .flo-footer-area-1-type-c__link-list-title {
        position: absolute;
        left: 50%;
        transform: translateX(-50%);
        bottom: calc(100% + 1.125rem); }
      .flo-footer .flo-footer-area-1-type-c__link-list-link {
        padding: 0 1.875rem; }
        .flo-footer .flo-footer-area-1-type-c__link-list-link:first-child {
          padding-left: 0; }
        .flo-footer .flo-footer-area-1-type-c__link-list-link:last-child {
          padding-right: 0; }
      .flo-footer .flo-footer-area-1-type-c__link-wrap {
        width: 21%;
        text-align: right; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-c {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center;
      padding: 1.875rem 2.03125rem;
      text-align: center; }
      .flo-footer .flo-footer-area-1-type-c__form-wrap {
        width: 100%;
        margin-bottom: 1.25rem; }
      .flo-footer .flo-footer-area-1-type-c__field {
        text-align: center; }
      .flo-footer .flo-footer-area-1-type-c__link-list-wrap {
        margin-bottom: 1.25rem; }
      .flo-footer .flo-footer-area-1-type-c__link-list-title {
        margin-bottom: 0.3125rem; }
      .flo-footer .flo-footer-area-1-type-c__link-list-link {
        display: block; } }
  .flo-footer .flo-footer-area-1-type-d__top-wrap {
    text-align: center; }
  .flo-footer .flo-footer-area-1-type-d__left-link-text {
    margin-bottom: 1.3125rem; }
  .flo-footer .flo-footer-area-1-type-d__left-link {
    padding: 0.375rem 1.21875rem;
    border-style: solid;
    border-width: 1px;
    border-color: inherit;
    transition: border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-footer .flo-footer-area-1-type-d__testimonials-wrap {
    z-index: 1; }
  .flo-footer .flo-footer-area-1-type-d__testimonials .slick-list {
    overflow: visible !important; }
    .flo-footer .flo-footer-area-1-type-d__testimonials .slick-list .slick-track {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row; }
  .flo-footer .flo-footer-area-1-type-d__testimonial {
    position: relative;
    margin-bottom: 3.875rem; }
    .flo-footer .flo-footer-area-1-type-d__testimonial p:last-child {
      margin-bottom: 0; }
  .flo-footer .flo-footer-area-1-type-d__testimonial-title {
    margin-bottom: 1rem;
    margin-top: 0.875rem; }
  .flo-footer .flo-footer-area-1-type-d__testimonial-title-decorative-letter {
    position: absolute;
    left: 50%;
    top: -0.05em;
    transform: translate(-50%, 0%);
    opacity: 0.05;
    line-height: 1em !important; }
  .flo-footer .flo-footer-area-1-type-d__testimonials-dots {
    transform: translateY(50%); }
    .flo-footer .flo-footer-area-1-type-d__testimonials-dots li {
      display: inline-block;
      margin: 0 0.5625rem;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-footer .flo-footer-area-1-type-d__testimonials-dots li:not(.slick-active) {
        opacity: 0.5; }
      .flo-footer .flo-footer-area-1-type-d__testimonials-dots li:hover {
        opacity: 1; }
    .flo-footer .flo-footer-area-1-type-d__testimonials-dots button {
      -webkit-appearance: none;
         -moz-appearance: none;
              appearance: none;
      color: inherit;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none; }
      .flo-footer .flo-footer-area-1-type-d__testimonials-dots button:before {
        content: ".0"; }
  .flo-footer .flo-footer-area-1-type-d__left-link-wrap, .flo-footer .flo-footer-area-1-type-d__right-link-wrap {
    z-index: 1;
    padding-top: 0.6875rem; }
  .flo-footer .flo-footer-area-1-type-d__left-link-title, .flo-footer .flo-footer-area-1-type-d__right-link-title {
    margin-bottom: 1.375rem; }
  .flo-footer .flo-footer-area-1-type-d__right-link-text {
    margin-bottom: 0.9375rem; }
  .flo-footer .flo-footer-area-1-type-d .flo-block {
    padding: 0; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-1-type-d__top-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: start;
          align-items: flex-start;
      padding: 4.9375rem 8.3125rem 3.9375rem 8.3125rem;
      width: 100%; }
    .flo-footer .flo-footer-area-1-type-d__left-link-wrap {
      width: 28%;
      padding-right: 2.75rem; }
    .flo-footer .flo-footer-area-1-type-d__testimonials-wrap {
      width: 44%;
      padding: 0 4.375rem;
      border-left-width: 1px;
      border-left-style: solid;
      border-right-width: 1px;
      border-right-style: solid;
      border-color: inherit;
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-footer .flo-footer-area-1-type-d__right-link-wrap {
      width: 28%;
      padding-left: 4.8125rem; }
    .flo-footer .flo-footer-area-1-type-d .flo-block {
      padding-bottom: 0.84375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-1-type-d {
      padding: 1.875rem 2.03125rem; }
      .flo-footer .flo-footer-area-1-type-d__top-wrap {
        margin-bottom: 2.5rem; }
      .flo-footer .flo-footer-area-1-type-d__left-link-wrap {
        margin-bottom: 3.75rem; }
      .flo-footer .flo-footer-area-1-type-d__testimonials-wrap {
        margin-bottom: 3.75rem; }
      .flo-footer .flo-footer-area-1-type-d .flo-block-delimiter-1 {
        padding-bottom: 2.5rem; } }
  .flo-footer .flo-footer-area-2-type-a__feed-label {
    padding: 0.5625rem 2.15625rem; }
  @media screen and (min-width: 48em) {
    .flo-footer .flo-footer-area-2-type-a {
      position: relative; }
      .flo-footer .flo-footer-area-2-type-a .flo-footer-image-feed__image,
      .flo-footer .flo-footer-area-2-type-a .img-block {
        width: calc(100vw / 6) !important; }
      .flo-footer .flo-footer-area-2-type-a .flo-footer-image-feed__image {
        height: calc(100vw / 6); }
      .flo-footer .flo-footer-area-2-type-a__feed-label {
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%);
        transform-origin: center;
        transition: transform 0.5s, box-shadow 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-footer .flo-footer-area-2-type-a__feed-label:hover {
          box-shadow: 0px 0px 36px 0px rgba(0, 0, 0, 0.37); } }
  @media screen and (max-width: 47.9375em) {
    .flo-footer .flo-footer-area-2-type-a {
      text-align: center;
      padding: 1.875rem 2.03125rem; }
      .flo-footer .flo-footer-area-2-type-a.hidden-on-mobile {
        display: none; }
      .flo-footer .flo-footer-area-2-type-a__feed {
        text-align: center;
        padding: 1.25rem 1.25rem; }
      .flo-footer .flo-footer-area-2-type-a .flo-footer-image-feed__image,
      .flo-footer .flo-footer-area-2-type-a .img-block {
        width: 100% !important; }
      .flo-footer .flo-footer-area-2-type-a .flo-footer-image-feed__image {
        height: 18.75rem; } }
  .flo-footer .flo-footer-area-2-type-b {
    text-align: center; }
    .flo-footer .flo-footer-area-2-type-b__social-links-wrap:before {
      content: " ";
      display: inline-block;
      width: 1.25625rem;
      margin-bottom: 1.8125rem;
      border-top-width: 1px;
      border-top-style: solid;
      border-color: inherit;
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-footer .flo-footer-area-2-type-b__social-links {
      margin-bottom: 1.1875rem; }
      .flo-footer .flo-footer-area-2-type-b__social-links a {
        margin: 0 0.375rem;
        font-size: 0.6875rem; }
    .flo-footer .flo-footer-area-2-type-b__information p:last-child {
      margin-bottom: 0; }
    @media screen and (min-width: 48em) {
      .flo-footer .flo-footer-area-2-type-b {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: stretch;
            align-items: stretch;
        padding: 0.8125rem 6.375rem; }
        .flo-footer .flo-footer-area-2-type-b__social-links-wrap, .flo-footer .flo-footer-area-2-type-b__information {
          border-right-width: 1px;
          border-right-style: solid;
          border-color: inherit;
          transition: border-color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-footer .flo-footer-area-2-type-b__social-links-wrap {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          width: 18%; }
        .flo-footer .flo-footer-area-2-type-b__information {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: center;
              justify-content: center;
          -ms-flex-align: center;
              align-items: center;
          width: 32%; }
        .flo-footer .flo-footer-area-2-type-b__feed-wrap {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: justify;
              justify-content: space-between;
          width: 50%;
          padding: 2.6875rem 0;
          padding-left: 2.4375rem;
          text-align: left; }
        .flo-footer .flo-footer-area-2-type-b .flo-footer-image-feed__image,
        .flo-footer .flo-footer-area-2-type-b .img-block {
          width: 6.25rem !important;
          margin-left: 1.3125rem; }
        .flo-footer .flo-footer-area-2-type-b .flo-footer-image-feed__image {
          height: 6.25rem; } }
    @media screen and (max-width: 47.9375em) {
      .flo-footer .flo-footer-area-2-type-b {
        padding: 1.875rem 2.03125rem; }
        .flo-footer .flo-footer-area-2-type-b__social-links-wrap, .flo-footer .flo-footer-area-2-type-b__information {
          border-bottom-width: 1px;
          border-bottom-style: solid;
          border-color: inherit;
          transition: border-color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-footer .flo-footer-area-2-type-b__social-links-wrap {
          padding-bottom: 1.875rem; }
        .flo-footer .flo-footer-area-2-type-b__information {
          padding: 1.875rem 0; }
        .flo-footer .flo-footer-area-2-type-b__feed-wrap {
          padding-top: 1.875rem; }
        .flo-footer .flo-footer-area-2-type-b__feed-text-area {
          margin-bottom: 1.875rem; }
        .flo-footer .flo-footer-area-2-type-b .flo-footer-image-feed__image,
        .flo-footer .flo-footer-area-2-type-b .img-block {
          width: 100% !important;
          margin-bottom: 1.25rem; }
        .flo-footer .flo-footer-area-2-type-b .flo-footer-image-feed__image {
          height: 18.75rem; } }
  .flo-footer .flo-footer-copyrights-area-type-a {
    position: relative; }
    .flo-footer .flo-footer-copyrights-area-type-a--has-delimiter:before {
      content: " ";
      display: block;
      position: absolute;
      left: 50%;
      transform: translateX(-50%);
      top: 0;
      width: 100%;
      border-top: 1px solid;
      border-color: inherit;
      transition: border-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-footer .flo-footer-copyrights-area-type-a .flo-footer__flothemes-logo {
      display: block; }
    @media screen and (min-width: 48em) {
      .flo-footer .flo-footer-copyrights-area-type-a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: justify;
            justify-content: space-between;
        padding: 1.4375rem 6.375rem;
        margin: 0 auto; }
        .flo-footer .flo-footer-copyrights-area-type-a--has-delimiter {
          padding-top: 2.78125rem; }
          .flo-footer .flo-footer-copyrights-area-type-a--has-delimiter:before {
            margin-top: 1.34375rem;
            width: calc(100% - 12.75rem); }
        .flo-footer .flo-footer-copyrights-area-type-a .flo-footer__flothemes-logo {
          -ms-flex-negative: 0;
              flex-shrink: 0;
          width: 1px;
          margin-right: 5.625rem; }
        .flo-footer .flo-footer-copyrights-area-type-a__menu-wrap {
          -ms-flex-positive: 1;
              flex-grow: 1; }
        .flo-footer .flo-footer-copyrights-area-type-a__menu {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: justify;
              justify-content: space-between;
          margin-right: 6.45312rem;
          /* Start: 2nd Level Dropdown */
          /* End: 2nd Level Dropdown */ }
          .flo-footer .flo-footer-copyrights-area-type-a__menu li {
            position: relative;
            text-align: center; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul {
            box-shadow: 0 20px 20px 0px rgba(0, 0, 0, 0.1); }
          .flo-footer .flo-footer-copyrights-area-type-a__menu li:hover > ul {
            opacity: 1;
            pointer-events: initial; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu li ul {
            border: 0;
            position: absolute;
            opacity: 0;
            pointer-events: none;
            width: 15.625rem;
            padding: 1.15625rem 0;
            z-index: 2;
            transition: opacity 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
            .flo-footer .flo-footer-copyrights-area-type-a__menu li ul li {
              width: 100%;
              padding: 0.40625rem 2.4375rem; }
              .flo-footer .flo-footer-copyrights-area-type-a__menu li ul li > a {
                padding: 0;
                position: relative;
                display: inline-block;
                background-color: transparent !important; }
                .flo-footer .flo-footer-copyrights-area-type-a__menu li ul li > a:hover:before {
                  opacity: 1; }
                .flo-footer .flo-footer-copyrights-area-type-a__menu li ul li > a:before {
                  content: " ";
                  width: 100%;
                  height: 1px;
                  position: absolute;
                  bottom: 0;
                  left: 0;
                  opacity: 0;
                  transition: opacity 0.5s, border-color 0.5s;
                  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul {
            bottom: calc(100% + 1.25rem) !important;
            top: auto !important;
            left: 50%;
            transform: translateX(-50%); }
            .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul:before {
              content: " ";
              display: block;
              position: absolute;
              top: 100%;
              left: 0;
              height: 2.3125rem;
              width: 100%;
              -webkit-user-select: none;
                 -moz-user-select: none;
                  -ms-user-select: none;
                      user-select: none;
              cursor: pointer;
              outline: none; }
            .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul:after {
              content: " ";
              display: block;
              position: absolute;
              top: calc(100% - 0.0625rem);
              left: 50%;
              transform: translateX(-50%) rotate(180deg);
              width: 0;
              height: 0;
              border-style: solid;
              border-width: 0 0.4375rem 0.375rem 0.4375rem;
              border-color: transparent transparent transparent transparent; }
        .flo-footer .flo-footer-copyrights-area-type-a__copyright-notice {
          -ms-flex-negative: 0;
              flex-shrink: 0;
          width: 38.6%;
          text-align: right; } }
    @media screen and (max-width: 47.9375em) {
      .flo-footer .flo-footer-copyrights-area-type-a {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-align: stretch;
            align-items: stretch;
        -ms-flex-direction: column;
            flex-direction: column;
        padding: 1.25rem 2.03125rem;
        text-align: center; }
        .flo-footer .flo-footer-copyrights-area-type-a .flo-footer__flothemes-logo {
          margin-top: 1.25rem;
          -ms-flex-order: 1;
              order: 1; }
        .flo-footer .flo-footer-copyrights-area-type-a__menu-wrap {
          margin-bottom: 1.25rem; }
        .flo-footer .flo-footer-copyrights-area-type-a__menu {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-align: stretch;
              align-items: stretch;
          text-align: center; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu > li > ul {
            display: none; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu li {
            position: relative;
            padding: 0.3125rem 0; }
          .flo-footer .flo-footer-copyrights-area-type-a__menu .children-visible > .flo-footer-copyrights-area-type-a__menu-dropdown-toggle {
            transform: translateY(0%) rotate(0deg); }
          .flo-footer .flo-footer-copyrights-area-type-a__menu .flo-footer-copyrights-area-type-a__menu-dropdown-toggle {
            transform: rotate(45deg);
            font-size: 0.75rem;
            letter-spacing: 0;
            color: inherit;
            margin: 0.625rem 0;
            transition: transform 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-footer .flo-footer-copyrights-area-type-a__menu .sub-menu {
            padding: 1.25rem 0; } }
  .flo-footer .flo-footer-copyrights-area-type-b {
    text-align: center; }
    .flo-footer .flo-footer-copyrights-area-type-b .flo-footer__flothemes-logo {
      display: block;
      margin-bottom: 2.0625rem; }
    @media screen and (min-width: 48em) {
      .flo-footer .flo-footer-copyrights-area-type-b {
        padding: 1.25rem 6.375rem; } }
    @media screen and (max-width: 47.9375em) {
      .flo-footer .flo-footer-copyrights-area-type-b {
        padding: 1.25rem 2.03125rem; } }

.flo-generic-fancybox-video {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1000; }

.flo-generic-menu-wrap {
  /* START: MENU (dropdowns, links etc.) */
  /* END: MENU (dropdowns, links etc.) */ }
  .flo-generic-menu-wrap__menu {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    z-index: 23112312;
    -ms-flex-positive: 1;
        flex-grow: 1;
    /* Start: 2nd Level Dropdown */
    /* End: 2nd Level Dropdown */ }
    .flo-generic-menu-wrap__menu li {
      display: inline-block;
      position: relative;
      text-align: center;
      transition: border 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-generic-menu-wrap__menu li a {
        display: block;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start;
        transition: color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-generic-menu-wrap__menu > div > ul > li > a {
      padding: 0; }
    .flo-generic-menu-wrap__menu li:hover > ul {
      opacity: 1;
      pointer-events: initial; }
    .flo-generic-menu-wrap__menu li ul {
      border: 0;
      position: absolute;
      opacity: 0;
      pointer-events: none;
      width: 15.625rem;
      padding: 1.15625rem 0;
      z-index: 2;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-generic-menu-wrap__menu li ul li {
        width: 100%;
        padding: 0.40625rem 2.4375rem; }
        .flo-generic-menu-wrap__menu li ul li > a {
          padding: 0;
          position: relative;
          display: inline-block;
          background-color: transparent !important; }
          .flo-generic-menu-wrap__menu li ul li > a:hover:before {
            opacity: 1; }
          .flo-generic-menu-wrap__menu li ul li > a:before {
            content: " ";
            width: 100%;
            height: 1px;
            position: absolute;
            bottom: 0;
            left: 0;
            opacity: 0;
            transition: opacity 0.5s, border-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-generic-menu-wrap__menu > li > ul {
      top: calc(100% + 2.3125rem);
      left: 50%;
      transform: translateX(-50%); }
      .flo-generic-menu-wrap__menu > li > ul:before {
        content: " ";
        display: block;
        position: absolute;
        bottom: 100%;
        left: 0;
        height: 2.3125rem;
        width: 100%; }
      .flo-generic-menu-wrap__menu > li > ul:after {
        content: " ";
        display: block;
        position: absolute;
        bottom: calc(100% - 0.0625rem);
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0.4375rem 0.375rem 0.4375rem;
        border-color: transparent transparent transparent transparent; }

.flo-generic-slides__slide {
  position: relative;
  transform: translate3d(0, 0, 0); }

.flo-generic-slides__slide-content {
  box-sizing: border-box;
  width: 100%;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-generic-slides__slide-img--bgi {
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat;
  width: 100%;
  height: 100%; }

.flo-generic-slides__slide-background-video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #000;
  overflow: hidden; }
  .flo-generic-slides__slide-background-video video {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%); }
  .flo-generic-slides__slide-background-video--cropped video {
    height: 100%; }
  .flo-generic-slides__slide-background-video--no-crop video {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    width: 100%; }

@media screen and (max-width: 47.9375em) {
  .flo-generic-slides--image-type-bgi .flo-generic-slides__slide-content {
    box-sizing: border-box;
    width: 100vw;
    height: 100vh; } }

.flo-generic-slides__slide-img {
  background-image: url(../img/no-image.jpg);
  background-image: var(--img-small); }

@media (min-width: 768px) {
  .flo-generic-slides__slide-img {
    background-image: var(--img-medium); } }

@media (min-width: 1025px) {
  .flo-generic-slides__slide-img {
    background-image: var(--img-large); } }

.flo-mobile-menu {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 9999;
  overflow-y: scroll;
  padding: 2.1875rem 2.03125rem;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* START: MENU */
  /* END: MENU */
  /* START: COPYRIGHTS AREA */
  /* END: COPYRIGHTS AREA */
  /* START: VISIBILITY */
  /* END: VISIBILITY */
  /* START: TYPES */
  /* END: TYPES */ }
  .flo-mobile-menu__menu a {
    color: inherit !important; }
  .flo-mobile-menu__text-above-copyright-notice {
    margin-bottom: 1.0625rem; }
  .flo-mobile-menu__copyright-notice {
    margin-bottom: 2.3125rem; }
  .body--flo-mobile-menu-popup-opened {
    overflow: hidden; }
    .body--flo-mobile-menu-popup-opened .flo-mobile-menu {
      opacity: 1;
      pointer-events: initial; }
  html .flo-mobile-menu,
  .body--flo-mobile-menu-popup-closed .flo-mobile-menu {
    opacity: 0;
    pointer-events: none; }
  @media screen and (min-width: 48em) {
    .flo-mobile-menu {
      display: none !important; } }
  .flo-mobile-menu--type-a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: center;
        align-items: center;
    /* START: FIRST LEVEL ITEM */
    /* END: FIRST LEVEL ITEM */
    /* START: DROPDOWN */
    /* END: DROPDOWN */
    /* START: DROPDOWN TOGGLING */
    /* END: DROPDOWN TOGGLING */ }
    .flo-mobile-menu--type-a .flo-mobile-menu__close {
      margin-bottom: 1.8125rem; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu {
      width: 100%;
      margin-bottom: 4.375rem; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu li {
        position: relative;
        text-align: center; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu a {
        width: 100%;
        text-align: center;
        position: relative; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu > li:not(:first-child) {
      padding-top: 0.8125rem; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu > li:not(:last-child) {
      padding-bottom: 0.5rem;
      border-bottom: 1px solid transparent; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu > li {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: center;
          align-items: center; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu > li > ul {
        display: none;
        margin-bottom: 3.0625rem;
        margin-top: 1.5rem; }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle {
      position: absolute;
      top: 50%;
      transform: translateY(-50%);
      right: 0;
      padding: 1.25rem 0 1.25rem 2.5rem;
      width: 0.75rem;
      height: 0.75rem; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle:before, .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle:after {
        content: " ";
        display: inline-block;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%); }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle:before {
        width: 0.75rem;
        height: 1px; }
      .flo-mobile-menu--type-a .flo-mobile-menu__menu-dropdown-toggle:after {
        width: 1px;
        height: 0.75rem;
        transition: transform 0.5s, opacity 0.5s, height 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-mobile-menu--type-a .flo-mobile-menu__menu li.children-visible .flo-mobile-menu__menu-dropdown-toggle:after {
      height: 0;
      opacity: 0; }
    .flo-mobile-menu--type-a .flo-mobile-menu__copyright-area {
      padding: 0 3.125rem;
      text-align: center; }
  .flo-mobile-menu--type-b {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: end;
        align-items: flex-end;
    text-align: right;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    /* START: DROPDOWN */
    /* END: DROPDOWN */
    /* START: DROPDOWN TOGGLES */
    /* START: MAIN TOGGLE */
    /* END: MAIN TOGGLE */
    /* START: DUPLICATE TOGGLE FOR THE DROPDOWN MENU */
    /* END: DUPLICATE TOGGLE FOR THE DROPDOWN MENU */
    /* START: VISIBILITY */
    /* END: VISIBILITY */
    /* END: DROPDOWN TOGGLES */
    /* START: DROPDOWN OPENED STYLE */
    /* END: DROPDOWN OPENED STYLE */ }
    .flo-mobile-menu--type-b:before {
      content: " ";
      pointer-events: none;
      display: block;
      position: fixed;
      width: 100%;
      height: 100%;
      top: 0;
      left: 0; }
    .flo-mobile-menu--type-b .flo-mobile-menu__close {
      position: relative;
      font-size: 1.0625rem;
      margin-bottom: 5.6875rem; }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu {
      position: relative;
      margin-bottom: 6.1875rem;
      transition: transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-mobile-menu--type-b .flo-mobile-menu__menu li {
        position: relative; }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu > li > ul {
      display: none;
      position: absolute;
      top: 0;
      left: calc(100% + 2.4375rem);
      text-align: left;
      padding-bottom: 3.125rem;
      width: 70%; }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu-dropdown-toggle {
      display: inline-block;
      transform-origin: center;
      line-height: 1em !important; }
      .flo-mobile-menu--type-b .flo-mobile-menu__menu-dropdown-toggle i {
        display: block;
        transition: transform 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-mobile-menu--type-b .flo-mobile-menu__menu-dropdown-toggle i:before {
          margin: 0; }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu > li > a .flo-mobile-menu__menu-dropdown-toggle {
      width: 1em;
      margin-left: 1.25rem;
      transition: opacity 0.5s, margin 0.5s, width 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu > li > ul > .flo-mobile-menu__menu-dropdown-toggle {
      position: absolute;
      bottom: calc(100% + 1.625rem);
      left: 0;
      padding-left: 1.25rem;
      transform: rotate(180deg); }
    .flo-mobile-menu--type-b .flo-mobile-menu__menu li.children-visible > a .flo-mobile-menu__menu-dropdown-toggle {
      opacity: 0;
      pointer-events: none;
      width: 0;
      margin-left: 0; }
    .flo-mobile-menu--type-b .flo-mobile-menu__copyright-area {
      width: 50%;
      position: relative;
      transition: transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-mobile-menu--type-b.flo-mobile-menu--dropdown-opened {
      /* START: DROPDOWN TOGGLE STUFF */
      /* END: DROPDOWN TOGGLE STUFF */ }
      .flo-mobile-menu--type-b.flo-mobile-menu--dropdown-opened .flo-mobile-menu__menu,
      .flo-mobile-menu--type-b.flo-mobile-menu--dropdown-opened .flo-mobile-menu__copyright-area {
        transform: translateX(calc(-50vw + 2.03125rem)); }

.flo-header-mobile {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: justify;
      justify-content: space-between;
  -ms-flex-align: center;
      align-items: center;
  width: 100%;
  padding: 1.5625rem 2.03125rem;
  z-index: 111;
  visibility: hidden;
  transition: background-color 0.5s, opacity 0.5s, padding 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* START: MENU TRIGGER */
  /* END: MENU TRIGGER */
  /* START: LOGO */
  /* END: LOGO */
  /* START: TYPES */
  /* END: TYPES */
  /* START: STICKY TYPE A */
  /* END: STICKY TYPE A */
  /* START: STICKY TYPE B */
  /* END: STICKY TYPE B */
  /* START: HIDE ON DESKTOP */
  /* END: HIDE ON DESKTOP */
  /* START: MOBILE LOGO */
  /* END: MOBILE LOGO */ }
  .flo-header-mobile__menu-trigger {
    font-size: 0.5rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header-mobile__logo {
    display: block;
    width: 60%;
    position: relative;
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-mobile__logo--light .flo-header-mobile__logo-image--default {
      opacity: 0; }
    .flo-header-mobile__logo--light .flo-header-mobile__logo-image--light {
      opacity: 1; }
  .flo-header-mobile__logo-image {
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-mobile__logo-image--sticky, .flo-header-mobile__logo-image--light {
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      width: 100%;
      transform: translate(-50%, -50%);
      opacity: 0; }
  .flo-header-mobile--type-a .flo-header-mobile__logo {
    text-align: right; }
  .flo-header-mobile--type-b {
    -ms-flex-direction: row-reverse;
        flex-direction: row-reverse; }
    .flo-header-mobile--type-b .flo-header-mobile__logo {
      text-align: left; }
  .flo-header-mobile--type-c {
    -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    -ms-flex-align: center;
        align-items: center;
    padding: 1.8125rem 2.03125rem; }
    .flo-header-mobile--type-c .flo-header-mobile__logo {
      text-align: center;
      margin-bottom: 0.875rem; }

/* START: STICKY BOTTOM ANIMATION */
@keyframes move_sticky_to_bottom {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }

/* END: STICKY BOTTOM ANIMATION */
  .flo-header-mobile-sticky-wrapper {
    transition: height 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-mobile-sticky-wrapper .flo-header-mobile.is-main {
      position: fixed;
      top: 0;
      left: 0;
      bottom: auto !important; }
    .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile {
      position: fixed !important;
      padding: 1.25rem 2.03125rem; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile.flo-header-mobile--sticky-style-a.flo-header-mobile--sticky-position-top {
        top: 0;
        bottom: auto !important; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile.flo-header-mobile--sticky-style-a.flo-header-mobile--sticky-position-bottom {
        animation-name: move_sticky_to_bottom;
        animation-duration: 0.5s;
        animation-fill-mode: forwards;
        top: auto !important;
        bottom: 0 !important; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile .flo-header-mobile__logo-image--default {
        opacity: 1; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile .flo-header-mobile__logo-image--light {
        opacity: 0; }
      .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile .flo-header-mobile__logo-image--sticky {
        opacity: 1; }
  .flo-header-mobile__sticky-icon {
    display: none;
    width: 3.25rem;
    height: 3.25rem;
    border-radius: 3.25rem;
    line-height: 3.25rem;
    overflow: hidden;
    text-align: center;
    font-size: 0.5rem;
    z-index: 1000;
    position: fixed; }
    .flo-header-mobile__sticky-icon--position-top-left {
      top: 1.4375rem;
      left: 1.3125rem; }
    .flo-header-mobile__sticky-icon--position-top-right {
      top: 1.4375rem;
      right: 1.3125rem; }
    .flo-header-mobile__sticky-icon--position-bottom-right {
      bottom: 1.4375rem;
      right: 1.3125rem; }
    .flo-header-mobile__sticky-icon--position-bottom-left {
      bottom: 1.4375rem;
      left: 1.3125rem; }
  @media screen and (min-width: 48em) {
    .flo-header-mobile {
      display: none; }
      .flo-header-mobile-sticky-wrapper {
        display: none; } }
  .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero > header > .flo-header-mobile .flo-header-mobile__logo-image--default,
  .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero .flo-header-mobile-sticky-wrapper:not(.is-sticky) .flo-header-mobile .flo-header-mobile__logo-image--default {
    opacity: 0; }
  .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero > header > .flo-header-mobile .flo-header-mobile__logo-image--light,
  .body--flo-page-hero-elements-color-is-light .flo-header-and-flo-page-hero .flo-header-mobile-sticky-wrapper:not(.is-sticky) .flo-header-mobile .flo-header-mobile__logo-image--light {
    opacity: 1; }
  .flo-header-mobile-sticky-wrapper.is-sticky .flo-header-mobile {
    position: fixed !important;
    bottom: auto !important; }
  @media screen and (max-width: 47.9375em) {
    .sticky-container {
      height: auto !important; } }

.flo-header {
  position: relative;
  z-index: 999;
  transition: background-color 0.5s, border-color 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
  /* START: HEADER COMMON ELEMENTS */
  /* START: MENU (dropdowns, links etc.) */
  /* END: MENU (dropdowns, links etc.) */
  /* END: HEADER COMMON ELEMENTS */
  /* START: HEADER LAYOUTS */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* START: WHEN STICKY ADJUST PADDINGS */
  /* END: WHEN STICKY ADJUST PADDINGS */
  /* START: Menu Items Gap */
  /* END: Menu Items Gap */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* START: WHEN STICKY ADJUST PADDINGS */
  /* END: WHEN STICKY ADJUST PADDINGS */
  /* START: Menu Items Gap */
  /* END: Menu Items Gap */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* START: Menu Items Gap */
  /* END: Menu Items Gap */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* START: WHEN STICKY ADJUSTS PADDINGS */
  /* END: WHEN STICKY ADJUSTS PADDINGS */
  /* START: Unique CSS for each Header Type */
  /* END: Unique CSS for each Header Type */
  /* END: HEADER LAYOUTS */ }
  .flo-header__menu {
    /* Start: 2nd Level Dropdown */
    /* End: 2nd Level Dropdown */ }
    .flo-header__menu > div > ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      z-index: 23112312;
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-header__menu li {
      display: inline-block;
      position: relative;
      text-align: center;
      transition: border 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header__menu li a {
        display: -ms-inline-flexbox;
        display: inline-flex;
        -ms-flex-direction: column;
            flex-direction: column;
        -ms-flex-align: center;
            align-items: center;
        -ms-flex-pack: start;
            justify-content: flex-start;
        transition: color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header__menu > div > ul > li > a {
      padding: 0; }
    .flo-header__menu li:hover > ul {
      opacity: 1;
      pointer-events: initial; }
    .flo-header__menu li ul {
      border: 0;
      position: absolute;
      opacity: 0;
      pointer-events: none;
      width: 15.625rem;
      padding: 1.15625rem 0;
      z-index: 2;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header__menu li ul li {
        width: 100%;
        padding: 0.40625rem 2.4375rem; }
        .flo-header__menu li ul li.current-menu-item > a:before, .flo-header__menu li ul li.current-menu-parent > a:before {
          display: none; }
        .flo-header__menu li ul li > a {
          padding: 0;
          position: relative;
          display: inline-block;
          background-color: transparent !important; }
          .flo-header__menu li ul li > a:hover:before {
            opacity: 1; }
          .flo-header__menu li ul li > a:before {
            content: " ";
            width: 100%;
            height: 1px;
            position: absolute;
            bottom: 0;
            left: 0;
            opacity: 0;
            transition: opacity 0.5s, border-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header__menu > div > ul > li > ul {
      top: calc(100% + 1.5rem);
      left: 50%;
      transform: translateX(-50%); }
      .flo-header__menu > div > ul > li > ul:before {
        content: " ";
        display: block;
        position: absolute;
        bottom: 100%;
        left: 0;
        height: 1.5rem;
        width: 100%; }
      .flo-header__menu > div > ul > li > ul:after {
        content: " ";
        display: block;
        position: absolute;
        bottom: calc(100% - 0.0625rem);
        left: 50%;
        transform: translateX(-50%);
        width: 0;
        height: 0;
        border-style: solid;
        border-width: 0 0.4375rem 0.375rem 0.4375rem;
        border-color: transparent transparent transparent transparent; }
  .flo-header__menu-trigger-wrap .flo-header__menu-trigger {
    font-size: 1.0625rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header__logo {
    display: inline-block;
    position: relative;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header__logo--is-light .flo-header__logo-image--default {
      opacity: 0; }
    .flo-header__logo--is-light .flo-header__logo-image--light {
      opacity: 1; }
    .flo-header__logo-image {
      display: block;
      width: 100%;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header__logo-image--sticky, .flo-header__logo-image--light {
        position: absolute;
        top: 50%;
        left: 50%;
        transform: translate(-50%, -50%);
        opacity: 0; }
  .flo-header__search-form {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    background-color: transparent !important;
    width: 16.5rem;
    color: inherit; }
  .flo-header__search-form-label, .flo-header__search-form-input::-webkit-input-placeholder, .flo-header__search-icon {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header__search-form-label {
    margin-right: 1.3125rem;
    color: inherit; }
  .flo-header__search-form-input {
    color: inherit;
    border: none !important; }
  .flo-header__search-form-submit {
    margin-left: 2.1875rem;
    color: inherit;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  .flo-header__search-icon {
    font-size: 0.8125rem; }
  .flo-header__social-links a:not(:last-child) {
    margin-right: 1.125rem; }
  .flo-header__social-links a:before {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .reveal-overlay {
    z-index: 9999; }
  .flo-header__menu-popup {
    top: 0 !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    width: 26.25rem;
    height: auto;
    margin-left: 0;
    outline: none;
    border: 0;
    padding: 5.3125rem 4.9375rem 4.875rem 9.6875rem;
    overflow-x: visible;
    overflow-y: visible; }
  .flo-header__menu-popup-elements-wrap {
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none; }
  .flo-header__menu-popup-logo-wrap {
    position: relative; }
    .flo-header__menu-popup-logo-wrap .flo-header__logo {
      max-width: 50% !important; }
  .flo-header__menu-popup-close {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    left: -3.3125rem;
    font-size: 1.0625rem;
    line-height: 1;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none; }
  .flo-header__menu-popup-menu-wrap {
    margin-bottom: 8.9375rem; }
    .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul > li {
        margin-bottom: 0.5625rem;
        text-align: left; }
      .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul > li > ul {
        left: calc(100% + 2.9375rem);
        top: 0;
        transform: none;
        font-size: inherit; }
        .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul > li > ul:after {
          top: 0.5em;
          bottom: auto;
          left: auto;
          right: 100%;
          transform: rotate(-90deg) translateX(-100%) translateY(75%);
          border-width: 0 0.4375rem 0.375rem 0.4375rem; }
        .flo-header__menu-popup-menu-wrap .flo-header__menu > div > ul > li > ul:before {
          width: 2.9375rem;
          height: 100%;
          right: 100%;
          left: auto;
          top: 0; }
  .flo-header__menu-popup-text-above-copyright-notice {
    margin-bottom: 1.0625rem; }
  .flo-header__menu-popup-flo-logo {
    margin-top: 3.9375rem;
    margin-bottom: 6.25rem;
    font-size: 1.0625rem; }
  .reveal-overlay {
    background-color: transparent !important; }
  .flo-header--type-a, .flo-header--type-b {
    padding: 0 6.375rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column; }
    .flo-header--type-a .flo-header__menu-wrap, .flo-header--type-b .flo-header__menu-wrap {
      transition: padding-bottom 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-a .flo-header__menu, .flo-header--type-b .flo-header__menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-header--type-a .flo-header__menu > div > ul, .flo-header--type-b .flo-header__menu > div > ul {
        width: 100%;
        -ms-flex-pack: center;
            justify-content: center; }
        .flo-header--type-a .flo-header__menu > div > ul > li, .flo-header--type-b .flo-header__menu > div > ul > li {
          border-right: 1px solid;
          border-color: inherit;
          -ms-flex-positive: 1;
              flex-grow: 1;
          -ms-flex-negative: 0;
              flex-shrink: 0;
          text-align: center;
          margin-bottom: 0.625rem; }
          .flo-header--type-a .flo-header__menu > div > ul > li:last-child, .flo-header--type-b .flo-header__menu > div > ul > li:last-child {
            border-width: 0px; }
          .flo-header--type-a .flo-header__menu > div > ul > li:nth-child(6n):last-child, .flo-header--type-a .flo-header__menu > div > ul > li:first-child:nth-last-child(6):first-child, .flo-header--type-b .flo-header__menu > div > ul > li:nth-child(6n):last-child, .flo-header--type-b .flo-header__menu > div > ul > li:first-child:nth-last-child(6):first-child {
            width: 13%;
            -ms-flex-positive: 0;
                flex-grow: 0; }
          .flo-header--type-a .flo-header__menu > div > ul > li:first-child:nth-last-child(6):first-child, .flo-header--type-b .flo-header__menu > div > ul > li:first-child:nth-last-child(6):first-child {
            text-align: left;
            border-left: 0; }
          .flo-header--type-a .flo-header__menu > div > ul > li:nth-child(6n):last-child, .flo-header--type-b .flo-header__menu > div > ul > li:nth-child(6n):last-child {
            text-align: right;
            border-width: 0; }
    .flo-header--type-a .flo-header__logo-wrap, .flo-header--type-b .flo-header__logo-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: center;
          justify-content: center;
      transition: padding-bottom 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header--type-a .flo-header__menu-wrap {
    padding-top: 2.4375rem;
    padding-bottom: 5.25rem; }
  .flo-header--type-a .flo-header__logo-wrap {
    padding-bottom: 6.25rem; }
  .flo-header--type-b .flo-header__menu-wrap {
    padding-bottom: 3.4375rem; }
  .flo-header--type-b .flo-header__logo-wrap {
    padding-top: 3.5rem;
    padding-bottom: 4.5625rem; }
  .flo-header--sticky .is-sticky .flo-header--type-a .flo-header__logo-wrap,
  .flo-header--sticky .is-sticky .flo-header--type-b .flo-header__logo-wrap {
    padding-bottom: 2rem; }
  .flo-header--sticky .is-sticky .flo-header--type-a .flo-header__menu-wrap,
  .flo-header--sticky .is-sticky .flo-header--type-b .flo-header__menu-wrap {
    padding-bottom: 2rem; }
  .flo-header--type-c, .flo-header--type-d {
    padding: 1.875rem 6.375rem 3.0625rem 6.375rem;
    transition: padding 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-c .flo-header__top-wrap, .flo-header--type-d .flo-header__top-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      padding-bottom: 1.625rem;
      transition: padding 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-c .flo-header__search-wrap, .flo-header--type-d .flo-header__search-wrap {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-header--type-c .flo-header__social-links, .flo-header--type-d .flo-header__social-links {
      -ms-flex-positive: 1;
          flex-grow: 1;
      text-align: right; }
    .flo-header--type-c .flo-header__bottom-wrap, .flo-header--type-d .flo-header__bottom-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center; }
    .flo-header--type-c .flo-header__logo-wrap, .flo-header--type-d .flo-header__logo-wrap {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-header--type-c .flo-header__menu, .flo-header--type-d .flo-header__menu {
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-header--type-c > div > ul, .flo-header--type-d > div > ul {
      width: 100%;
      display: -ms-flexbox;
      display: flex; }
  .flo-header--type-c .flo-header__menu > div > ul {
    width: 100%;
    -ms-flex-pack: end;
        justify-content: flex-end; }
    .flo-header--type-c .flo-header__menu > div > ul > li {
      margin-left: 9.0625rem; }
  .flo-header--type-d .flo-header__menu > div > ul {
    margin-right: -1.5625rem;
    width: calc(100% + 1.5625rem);
    -ms-flex-pack: start;
        justify-content: flex-start; }
    .flo-header--type-d .flo-header__menu > div > ul > li {
      margin-right: 9.0625rem; }
  .flo-header--sticky .is-sticky .flo-header--type-c,
  .flo-header--sticky .is-sticky .flo-header--type-d {
    padding-top: 1.25rem;
    padding-bottom: 1.25rem; }
    .flo-header--sticky .is-sticky .flo-header--type-c .flo-header__top-wrap,
    .flo-header--sticky .is-sticky .flo-header--type-d .flo-header__top-wrap {
      padding-bottom: 0.625rem; }
  .flo-header--type-e, .flo-header--type-f {
    padding: 0 6.375rem;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    padding-top: 2.1875rem;
    padding-bottom: 2.1875rem; }
    .flo-header--type-e .flo-header__logo-wrap, .flo-header--type-f .flo-header__logo-wrap {
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-header--type-e .flo-header__menu-wrap, .flo-header--type-f .flo-header__menu-wrap {
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-header--type-e .flo-header__menu, .flo-header--type-f .flo-header__menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      height: auto; }
      .flo-header--type-e .flo-header__menu > div > ul, .flo-header--type-f .flo-header__menu > div > ul {
        -ms-flex-pack: start;
            justify-content: flex-start;
        -ms-flex-align: center;
            align-items: center; }
        .flo-header--type-e .flo-header__menu > div > ul > li, .flo-header--type-f .flo-header__menu > div > ul > li {
          padding: 0.46875rem 0; }
  .flo-header--type-e .flo-header__menu > div > ul {
    width: 100%;
    -ms-flex-pack: end;
        justify-content: flex-end; }
    .flo-header--type-e .flo-header__menu > div > ul > li {
      margin-left: 9.0625rem; }
  .flo-header--type-f .flo-header__menu > div > ul {
    margin-right: -1.5625rem;
    width: calc(100% + 1.5625rem); }
    .flo-header--type-f .flo-header__menu > div > ul > li {
      margin-right: 9.0625rem; }
  .flo-header--type-g, .flo-header--type-h {
    padding: 0 6.375rem; }
    .flo-header--type-g .flo-header__addons-wrap, .flo-header--type-h .flo-header__addons-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: row;
          flex-direction: row;
      -ms-flex-align: center;
          align-items: center;
      transition: padding 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-g .flo-header__search-wrap, .flo-header--type-h .flo-header__search-wrap {
      width: 30%; }
    .flo-header--type-g .flo-header__logo-wrap, .flo-header--type-h .flo-header__logo-wrap {
      width: 40%;
      -ms-flex-align: center;
          align-items: center;
      text-align: center; }
    .flo-header--type-g .flo-header__social-links, .flo-header--type-h .flo-header__social-links {
      width: 30%;
      text-align: right; }
    .flo-header--type-g .flo-header__menu-wrap, .flo-header--type-h .flo-header__menu-wrap {
      transition: padding 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-g .flo-header__menu, .flo-header--type-h .flo-header__menu {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column; }
      .flo-header--type-g .flo-header__menu > div > ul, .flo-header--type-h .flo-header__menu > div > ul {
        width: 100%;
        -ms-flex-pack: center;
            justify-content: center; }
        .flo-header--type-g .flo-header__menu > div > ul > li, .flo-header--type-h .flo-header__menu > div > ul > li {
          width: 24%;
          border-right: 1px solid;
          border-color: inherit;
          -ms-flex-positive: 0;
              flex-grow: 0;
          -ms-flex-negative: 0;
              flex-shrink: 0;
          text-align: center;
          margin-bottom: 0.625rem; }
          .flo-header--type-g .flo-header__menu > div > ul > li:last-child, .flo-header--type-h .flo-header__menu > div > ul > li:last-child {
            border-width: 0px; }
          .flo-header--type-g .flo-header__menu > div > ul > li:nth-child(5n):last-child, .flo-header--type-g .flo-header__menu > div > ul > li:first-child:nth-last-child(5):first-child, .flo-header--type-h .flo-header__menu > div > ul > li:nth-child(5n):last-child, .flo-header--type-h .flo-header__menu > div > ul > li:first-child:nth-last-child(5):first-child {
            width: 14%; }
          .flo-header--type-g .flo-header__menu > div > ul > li:first-child:nth-last-child(5):first-child, .flo-header--type-h .flo-header__menu > div > ul > li:first-child:nth-last-child(5):first-child {
            text-align: left;
            border-left: 0; }
          .flo-header--type-g .flo-header__menu > div > ul > li:nth-child(5n):last-child, .flo-header--type-h .flo-header__menu > div > ul > li:nth-child(5n):last-child {
            text-align: right;
            border-width: 0; }
  .flo-header--type-g .flo-header__addons-wrap {
    padding-top: 3.5625rem;
    padding-bottom: 3rem; }
  .flo-header--type-g .flo-header__menu-wrap {
    padding-bottom: 3.5625rem; }
  .flo-header--type-h .flo-header__addons-wrap {
    padding-bottom: 4.25rem; }
  .flo-header--type-h .flo-header__menu-wrap {
    padding-top: 2.1875rem;
    padding-bottom: 3.4375rem; }
  .flo-header--sticky .is-sticky .flo-header--type-g .flo-header__addons-wrap,
  .flo-header--sticky .is-sticky .flo-header--type-h .flo-header__addons-wrap {
    padding-top: 0.9375rem;
    padding-bottom: 0.8125rem; }
  .flo-header--sticky .is-sticky .flo-header--type-g .flo-header__menu-wrap,
  .flo-header--sticky .is-sticky .flo-header--type-h .flo-header__menu-wrap {
    padding-top: 0.9375rem;
    padding-bottom: 1.5625rem; }
  .flo-header--type-i, .flo-header--type-j {
    display: -ms-flexbox;
    display: flex;
    padding: 2.1875rem 6.375rem 2.5625rem 6.375rem; }
    .flo-header--type-i .flo-header__left-side, .flo-header--type-j .flo-header__left-side {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-positive: 1;
          flex-grow: 1;
      -ms-flex-pack: start;
          justify-content: flex-start;
      -ms-flex-align: center;
          align-items: center; }
    .flo-header--type-i .flo-header__right-side, .flo-header--type-j .flo-header__right-side {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-positive: 1;
          flex-grow: 1;
      -ms-flex-pack: end;
          justify-content: flex-end;
      -ms-flex-align: center;
          align-items: center; }
    .flo-header--type-i .flo-header__search-wrap, .flo-header--type-j .flo-header__search-wrap {
      margin-right: 4.75rem; }
  .flo-header--type-i .flo-header__menu-trigger-wrap {
    margin-right: 2.25rem; }
  .flo-header--type-j .flo-header__menu-trigger-wrap {
    margin-left: 2.25rem; }
  .flo-header--type-k {
    display: -ms-flexbox;
    display: flex;
    padding: 1.375rem 6.375rem;
    border-bottom: 1px solid;
    border-color: inherit;
    /* START: Menu Items Gap */
    /* END: Menu Items Gap */ }
    .flo-header--type-k .flo-header__left-column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      width: 16.5rem; }
    .flo-header--type-k .flo-header__middle-column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-positive: 2;
          flex-grow: 2;
      -ms-flex-direction: column;
          flex-direction: column;
      padding: 0 2.3125rem;
      border-left: 1px solid;
      border-right: 1px solid;
      border-color: inherit; }
    .flo-header--type-k .flo-header__top-part {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: justify;
          justify-content: space-between;
      padding: 1rem 1.4375rem 1.3125rem 1.4375rem;
      border-bottom: 1px solid;
      border-color: inherit; }
    .flo-header--type-k .flo-header__pre-title {
      padding-right: 1.25rem; }
    .flo-header--type-k .flo-header__title {
      padding-left: 1.25rem; }
    .flo-header--type-k .flo-header__button {
      padding: 0.375rem 1.1875rem 0.1875rem 1.1875rem; }
    .flo-header--type-k .flo-header__bottom-part {
      padding: 1.5rem 1.4375rem 1.375rem 1.4375rem; }
    .flo-header--type-k .flo-header__menu {
      width: 100%; }
      .flo-header--type-k .flo-header__menu > div > ul {
        display: -ms-flexbox;
        display: flex;
        -ms-flex-pack: justify;
            justify-content: space-between;
        width: 100%;
        margin-left: -4.375rem;
        width: calc(100% + 4.375rem); }
        .flo-header--type-k .flo-header__menu > div > ul > li {
          margin-left: 4.375rem; }
    .flo-header--type-k .flo-header__right-column {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      -ms-flex-direction: column;
          flex-direction: column;
      border-color: inherit;
      width: 16.5rem; }
    .flo-header--type-k .flo-header__social-links-line {
      width: 1.25rem;
      height: 1px;
      border-top-width: 1px;
      border-top-style: solid;
      border-color: inherit;
      margin-bottom: 1.6875rem; }
    .flo-header--type-k .flo-header__social-links > a {
      font-size: 0.8125rem; }
    .flo-header--type-k .flo-header__social-links-text {
      margin-top: 1.5rem; }
    .flo-header--type-k .flo-header__pre-title,
    .flo-header--type-k .flo-header__title,
    .flo-header--type-k .flo-header__button,
    .flo-header--type-k .flo-header__social-links-line,
    .flo-header--type-k .flo-header__title-divider,
    .flo-header--type-k .flo-header__social-links-text {
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-k .flo-header__button {
      transition: background-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header--type-l {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: center;
        justify-content: center;
    padding: 2.4375rem 6.375rem;
    width: 100%;
    -ms-flex-align: center;
        align-items: center; }
    .flo-header--type-l.align-flex-start .flo-header__menu--left, .flo-header--type-l.align-flex-start .flo-header__menu--right {
      padding-top: 0.625rem; }
    .flo-header--type-l .flo-header__centered-logo-wrap {
      text-align: center;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
      .flo-header--type-l .flo-header__centered-logo-wrap .flo-header__social-links {
        margin-top: 1.5625rem; }
    .flo-header--type-l .flo-header__menu--left .flo-header__menu-items > li {
      margin-right: 3.1875rem; }
    .flo-header--type-l .flo-header__menu--left > div > ul {
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: end;
          justify-content: flex-end; }
    .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap {
      margin-left: 3.1875rem;
      margin-right: 0;
      display: -ms-inline-flexbox;
      display: inline-flex;
      position: relative; }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-icon-close,
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-icon-search {
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-icon-close {
        opacity: 0;
        position: absolute;
        left: 50%;
        top: 50%;
        transform: translate(-50%, -50%); }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .search-visible + .flo-header__search-trigger .flo-icon-search {
        opacity: 0; }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .search-visible + .flo-header__search-trigger .flo-icon-close {
        opacity: 1; }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form {
        position: absolute;
        right: -1.625rem;
        left: auto;
        padding: 0.825rem 0.625rem;
        background-color: #F8F6F5 !important;
        top: calc(100% + 1.225rem);
        opacity: 0;
        pointer-events: none;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form.search-visible {
          opacity: 1;
          pointer-events: auto; }
        .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form:before {
          content: " ";
          display: block;
          position: absolute;
          bottom: 100%;
          right: 1.5625rem;
          width: 0;
          height: 0;
          border-style: solid;
          border-width: 0 0.57812rem 0.59375rem 0.57812rem;
          border-top-color: transparent;
          border-right-color: transparent;
          border-left-color: transparent;
          border-bottom-color: #F8F6F5; }
        .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-form .flo-header__search-form-input {
          background-color: #F8F6F5 !important;
          color: #000 !important; }
      .flo-header--type-l .flo-header__menu--right .flo-header__search-wrap .flo-header__search-trigger {
        cursor: pointer;
        color: inherit;
        transition: color 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header--type-l .flo-header__menu--right .flo-header__menu-items > li {
      margin-left: 3.1875rem; }
    .flo-header--type-l .flo-header__menu--right > div > ul {
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: start;
          justify-content: flex-start; }
  @media screen and (max-width: 47.9375em) {
    .flo-header {
      display: none; } }

* {
  border-color: inherit; }

/* START: STICKY HEADER STYLES */
.flo-header--sticky .sticky-wrapper {
  transition: height 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-header--sticky .sticky-wrapper.is-sticky .flo-header {
    position: fixed !important;
    top: 0 !important;
    bottom: auto !important; }
    .flo-header--sticky .sticky-wrapper.is-sticky .flo-header__logo-image--default {
      opacity: 0; }
    .flo-header--sticky .sticky-wrapper.is-sticky .flo-header__logo-image--light {
      opacity: 0; }
    .flo-header--sticky .sticky-wrapper.is-sticky .flo-header__logo-image--sticky {
      opacity: 1; }

/* END: STICKY HEADER STYLES */
.flo-header-topbar--simple {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center;
  position: relative; }
  .flo-header-topbar--simple__button {
    position: relative; }
    .flo-header-topbar--simple__button:after, .flo-header-topbar--simple__button:before {
      content: '';
      position: absolute;
      bottom: -5px;
      height: 1px;
      left: 50%;
      transform: translateX(-50%);
      border-bottom: 1px solid; }
    .flo-header-topbar--simple__button:after {
      width: 100%; }
    .flo-header-topbar--simple__button:before {
      width: 0px;
      z-index: 2;
      transition: width 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-topbar--simple__button:hover:before {
      width: 100%; }
  .flo-header-topbar--simple__close {
    position: absolute;
    top: 50%;
    font-size: 0.75rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

.flo-header-topbar--extended {
  display: -ms-flexbox;
  display: flex;
  position: relative;
  -ms-flex-align: center;
      align-items: center;
  -ms-flex-pack: center;
      justify-content: center; }
  .flo-header-topbar--extended__text {
    margin-top: 1.25rem; }
  .flo-header-topbar--extended__button {
    padding: 0.625rem 1.875rem;
    transition: color 0.5s, box-shadow 0.5s, transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-header-topbar--extended__button:hover {
      transform: scale(1.02);
      box-shadow: 0 0 30px 5px rgba(0, 0, 0, 0.1); }
    .flo-header-topbar--extended__button:active, .flo-header-topbar--extended__button:focus {
      transform: scale(0.95); }
  .flo-header-topbar--extended__close {
    font-size: 0.75rem;
    -webkit-user-select: none;
       -moz-user-select: none;
        -ms-user-select: none;
            user-select: none;
    cursor: pointer;
    outline: none;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }

@media screen and (min-width: 48em) {
  .flo-header-topbar--simple {
    padding: 20px 100px; }
    .flo-header-topbar--simple__button {
      margin-left: 65px; }
    .flo-header-topbar--simple__close {
      right: 6.25rem;
      transform: translateY(-50%); }
  .flo-header-topbar--extended {
    -ms-flex-direction: row;
        flex-direction: row;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    padding: 25px 0; }
    .flo-header-topbar--extended__image-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-align: center;
          align-items: center;
      -ms-flex-pack: center;
          justify-content: center;
      width: 180px;
      -ms-flex-negative: 0;
          flex-shrink: 0;
      margin-left: 45px; }
      .flo-header-topbar--extended__image-wrap .flo-header-topbar__image {
        width: 100%;
        height: auto; }
    .flo-header-topbar--extended__text-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: start;
          align-items: flex-start;
      -ms-flex-pack: center;
          justify-content: center;
      margin-left: 5.625rem;
      margin-right: 5.625rem;
      -ms-flex-positive: 1;
          flex-grow: 1; }
    .flo-header-topbar--extended__actions-wrap {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-direction: column;
          flex-direction: column;
      -ms-flex-align: end;
          align-items: flex-end;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-item-align: stretch;
          align-self: stretch;
      -ms-flex-negative: 0;
          flex-shrink: 0; }
    .flo-header-topbar--extended__close {
      position: relative;
      margin-bottom: 0.625rem; } }

@media screen and (min-width: 48em) and (max-width: 64em) {
  .flo-header-topbar--extended__image-wrap {
    margin-left: 0; } }

@media screen and (max-width: 47.9375em) {
  .flo-header-topbar--simple {
    padding: 1.875rem 0;
    -ms-flex-direction: column;
        flex-direction: column;
    text-align: center; }
    .flo-header-topbar--simple__text {
      margin-bottom: 0.625rem; }
    .flo-header-topbar--simple__close {
      top: 0.4375rem; }
  .flo-header-topbar--extended {
    display: none !important; } }

.flo_page_wrap {
  display: -ms-flexbox;
  display: flex;
  overflow: hidden;
  position: relative; }
  .flo_page_wrap--padding-top-large {
    padding-top: 9.375rem; }

.flo_page {
  -ms-flex-positive: 1;
      flex-grow: 1;
  width: 100%; }

.flo-post-wrap {
  margin: 0 auto; }

.flo-post--not-found {
  padding-bottom: 3.125rem; }

.flo-post, .flo-post__styles {
  position: relative;
  /*--------------------------------------------------------------
  3.0 Alignments
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  8.0 Lists
  --------------------------------------------------------------*/
  /*--------------------------------------------------------------
  16.0 Media
  --------------------------------------------------------------*/
  /* Make sure embeds and iframes fit their containers. */
  /* Media Elements */
  /* Audio Player */
  /*--------------------------------------------------------------
  16.1 Galleries
  --------------------------------------------------------------*/
  /* spacing below image */ }
  .flo-post img, .flo-post__styles img {
    max-width: 100%; }
  .flo-post .blocks-gallery-item, .flo-post__styles .blocks-gallery-item {
    margin-bottom: 0; }
  .flo-post p, .flo-post__styles p {
    margin-bottom: 0.9375rem; }
    .flo-post p:last-of-type, .flo-post__styles p:last-of-type {
      margin-bottom: 0; }
  .flo-post blockquote, .flo-post__styles blockquote {
    padding: 0;
    border: 0;
    margin-bottom: 1.875rem; }
    .flo-post blockquote p, .flo-post__styles blockquote p {
      padding: 0;
      margin-bottom: 0.9375rem; }
      .flo-post blockquote p:last-of-type, .flo-post__styles blockquote p:last-of-type {
        margin-bottom: 0; }
  .flo-post h1, .flo-post h2, .flo-post h3, .flo-post h4, .flo-post h5, .flo-post h6, .flo-post__styles h1, .flo-post__styles h2, .flo-post__styles h3, .flo-post__styles h4, .flo-post__styles h5, .flo-post__styles h6 {
    padding-bottom: 1.5rem; }
  .flo-post .alignleft, .flo-post__styles .alignleft {
    display: inline;
    float: left;
    margin-right: 1.5em; }
  .flo-post .alignright, .flo-post__styles .alignright {
    display: inline;
    float: right;
    margin-left: 1.5em; }
  .flo-post .aligncenter, .flo-post__styles .aligncenter {
    clear: both;
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .flo-post ul,
  .flo-post ol, .flo-post__styles ul,
  .flo-post__styles ol {
    margin: 0 0 1.5em;
    padding: 0; }
  .flo-post ul, .flo-post__styles ul {
    list-style: disc; }
  .flo-post ol, .flo-post__styles ol {
    list-style: decimal; }
  .flo-post li > ul,
  .flo-post li > ol, .flo-post__styles li > ul,
  .flo-post__styles li > ol {
    margin-bottom: 0;
    margin-left: 1.5em; }
  .flo-post dt, .flo-post__styles dt {
    font-weight: 700; }
  .flo-post dd, .flo-post__styles dd {
    margin: 0 1.5em 1.5em; }
  .flo-post img,
  .flo-post video, .flo-post__styles img,
  .flo-post__styles video {
    height: auto;
    /* Make sure images are scaled correctly. */
    max-width: 100%;
    /* Adhere to container width. */
    margin: 0 auto; }
  .flo-post .comment-content .wp-smiley, .flo-post__styles .comment-content .wp-smiley {
    border: none;
    margin-bottom: 0;
    margin-top: 0;
    padding: 0; }
  .flo-post embed,
  .flo-post iframe,
  .flo-post object, .flo-post__styles embed,
  .flo-post__styles iframe,
  .flo-post__styles object {
    margin-bottom: 0.3125rem;
    max-width: 100%; }
  .flo-post .wp-caption,
  .flo-post .wp-caption a,
  .flo-post .gallery-caption, .flo-post__styles .wp-caption,
  .flo-post__styles .wp-caption a,
  .flo-post__styles .gallery-caption {
    color: #666;
    font-size: 0.6125rem;
    font-style: italic;
    margin-bottom: 1.5em;
    max-width: 100%;
    line-height: 1em; }
  .flo-post .wp-caption img[class*="wp-image-"], .flo-post__styles .wp-caption img[class*="wp-image-"] {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .flo-post .wp-caption .wp-caption-text, .flo-post .wp-caption-text a, .flo-post__styles .wp-caption .wp-caption-text, .flo-post__styles .wp-caption-text a {
    margin: 0.8075em 0; }
  .flo-post .wp-caption p, .flo-post__styles .wp-caption p {
    margin-bottom: 0; }
  .flo-post .mejs-container, .flo-post__styles .mejs-container {
    margin-bottom: 0.3125rem;
    max-width: 100%; }
  .flo-post .mejs-controls a.mejs-horizontal-volume-slider,
  .flo-post .mejs-controls a.mejs-horizontal-volume-slider:focus,
  .flo-post .mejs-controls a.mejs-horizontal-volume-slider:hover, .flo-post__styles .mejs-controls a.mejs-horizontal-volume-slider,
  .flo-post__styles .mejs-controls a.mejs-horizontal-volume-slider:focus,
  .flo-post__styles .mejs-controls a.mejs-horizontal-volume-slider:hover {
    background: transparent;
    border: 0; }
  .flo-post .gallery-item, .flo-post__styles .gallery-item {
    display: inline-block;
    text-align: left;
    vertical-align: top;
    margin: 0 0 1.5em;
    padding: 0 1em 0 0;
    width: 50%; }
  .flo-post .gallery-columns-1 .gallery-item, .flo-post__styles .gallery-columns-1 .gallery-item {
    width: 100%; }
    .flo-post .gallery-columns-1 .gallery-item a, .flo-post__styles .gallery-columns-1 .gallery-item a {
      display: block; }
  .flo-post .gallery-columns-2 .gallery-item, .flo-post__styles .gallery-columns-2 .gallery-item {
    max-width: 50%; }
  .flo-post .gallery-item a,
  .flo-post .gallery-item a:hover,
  .flo-post .gallery-item a:focus, .flo-post__styles .gallery-item a,
  .flo-post__styles .gallery-item a:hover,
  .flo-post__styles .gallery-item a:focus {
    box-shadow: none;
    background: none;
    display: inline-block;
    max-width: 100%; }
  .flo-post .gallery-item a img, .flo-post__styles .gallery-item a img {
    display: block;
    transition: filter 0.2s ease-in;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .flo-post .gallery-item a:hover img,
  .flo-post .gallery-item a:focus img, .flo-post__styles .gallery-item a:hover img,
  .flo-post__styles .gallery-item a:focus img {
    filter: opacity(60%); }
  .flo-post .gallery-caption, .flo-post__styles .gallery-caption {
    display: block;
    text-align: left;
    padding: 0 10px 0 0;
    margin-bottom: 0; }
  .flo-post a img, .flo-post img, .flo-post img.alignleft, .flo-post img.alignright, .flo-post img.aligncenter, .flo-post__styles a img, .flo-post__styles img, .flo-post__styles img.alignleft, .flo-post__styles img.alignright, .flo-post__styles img.aligncenter {
    margin-bottom: 1.25rem; }
  @media screen and (min-width: 48em) {
    .flo-post, .flo-post__styles {
      /* Gallery Columns */ }
      .flo-post div.gallery, .flo-post__styles div.gallery {
        font-size: 0px; }
      .flo-post .gallery-item, .flo-post__styles .gallery-item {
        max-width: 25%; }
      .flo-post .gallery-columns-1 .gallery-item, .flo-post__styles .gallery-columns-1 .gallery-item {
        max-width: 100%; }
      .flo-post .gallery-columns-2 .gallery-item, .flo-post__styles .gallery-columns-2 .gallery-item {
        max-width: 50%; }
      .flo-post .gallery-columns-3 .gallery-item, .flo-post__styles .gallery-columns-3 .gallery-item {
        max-width: 33.33%; }
      .flo-post .gallery-columns-4 .gallery-item, .flo-post__styles .gallery-columns-4 .gallery-item {
        max-width: 25%; }
      .flo-post .gallery-columns-5 .gallery-item, .flo-post__styles .gallery-columns-5 .gallery-item {
        max-width: 20%; }
      .flo-post .gallery-columns-6 .gallery-item, .flo-post__styles .gallery-columns-6 .gallery-item {
        max-width: 16.66%; }
      .flo-post .gallery-columns-7 .gallery-item, .flo-post__styles .gallery-columns-7 .gallery-item {
        max-width: 14.285%; }
      .flo-post .gallery-columns-8 .gallery-item, .flo-post__styles .gallery-columns-8 .gallery-item {
        max-width: 12.5%; }
      .flo-post .gallery-columns-9 .gallery-item, .flo-post__styles .gallery-columns-9 .gallery-item {
        max-width: 11.111%; } }

.post-password-form {
  max-width: 800px;
  margin: 0 auto 60px; }
  .post-password-form input[type="password"] {
    border: 1px solid #bbbbbb !important;
    margin-bottom: 30px;
    height: auto; }

.flo-related-items__title {
  text-align: center;
  border-bottom: 1px solid;
  padding-bottom: 2.0625rem;
  margin-bottom: 3.75rem; }

.flo-related-items__item {
  text-align: center;
  display: block; }

.flo-related-items__item-image {
  display: block;
  margin-bottom: 1.875rem;
  background-size: cover;
  background-position: center center;
  background-repeat: no-repeat; }

.flo-related-items__item-title {
  display: block; }

@media screen and (min-width: 48em) {
  .flo-related-items__items {
    display: -ms-flexbox;
    display: flex; }
  .flo-related-items__item {
    width: 44.625rem; }
    .flo-related-items__item:not(:last-child) {
      margin-right: 9.5625rem; }
    .flo-related-items__item:hover .flo-related-items__item-image {
      opacity: 0.5; }
  .flo-related-items__item-image {
    height: 13.84375rem;
    width: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-related-items__item-title {
    padding: 0 6.375rem; } }

@media screen and (max-width: 47.9375em) {
  .flo-related-items__item {
    margin-bottom: 2rem; }
  .flo-related-items__item-image {
    height: 12.5rem; } }

.flo-reveal {
  height: 100vh;
  pointer-events: none;
  position: fixed;
  top: 0;
  left: -100%;
  opacity: 0;
  z-index: 1000001; }
  .flo-reveal--visible {
    pointer-events: initial; }
  .flo-reveal-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100vw;
    height: 100vh; }
  .flo-reveal--ready {
    opacity: 1;
    transition: transform 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-reveal[data-initial-position="left"] {
    left: 0;
    right: auto;
    transform: translateX(-100%); }
    .flo-reveal[data-initial-position="left"].flo-reveal--visible {
      transform: translate(0); }
  .flo-reveal[data-initial-position="right"] {
    left: auto;
    right: 0;
    transform: translateX(100%); }
    .flo-reveal[data-initial-position="right"].flo-reveal--visible {
      transform: translate(0); }
  .flo-reveal-overlay {
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-reveal-overlay:not(.flo-reveal-overlay--visible) {
      opacity: 0 !important;
      pointer-events: none; }
  .flo-reveal-overlay {
    z-index: 100000; }

.flo-slideshow {
  height: 100vh;
  width: 100vw;
  /* START: ONE SLIDE MODIFICATOR */
  /* END: ONE SLIDE MODIFICATOR */
  /* START: COUNTER */
  /* END: COUNTER */
  /* START: TITLE AREA */
  /* END: TITLE AREA */
  /* START: FEATURED LINK */
  /* END: FEATURED LINK */ }
  .flo-slideshow--one-slide .slick-list {
    height: auto !important; }
  .flo-slideshow__slides {
    -ms-flex-positive: 1;
        flex-grow: 1;
    height: 100%; }
    .flo-slideshow__slides .slick-list,
    .flo-slideshow__slides .slick-track,
    .flo-slideshow__slides .slick-slide,
    .flo-slideshow__slides .flo-slideshow__slide-content {
      height: 100%; }
  .flo-slideshow .flo-slideshow__slide-img--bgi {
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  .flo-slideshow .flo-slideshow__slide {
    position: relative;
    transform: translate3d(0, 0, 0); }
  .flo-slideshow .flo-slideshow__slide-content {
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-block--merged-with-header .flo-slideshow__slide-content {
      height: 100vh; }
  .flo-slideshow .flo-slideshow__slide-img {
    display: none; }
    .flo-slideshow .flo-slideshow__slide-img--bgi {
      width: 100%;
      height: 100%; }
  .flo-slideshow .flo-slideshow__slide-background-video {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #000;
    overflow: hidden; }
    .flo-slideshow .flo-slideshow__slide-background-video video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%); }
    .flo-slideshow .flo-slideshow__slide-background-video--cropped video {
      height: 100%; }
    .flo-slideshow .flo-slideshow__slide-background-video--no-crop video {
      position: absolute;
      top: 50%;
      left: 0;
      transform: translateY(-50%);
      width: 100%; }
  @media screen and (min-width: 48em) {
    .flo-slideshow .flo-slideshow__slide.gradient-visible .flo-slideshow__slide-img:after {
      opacity: 0.666; }
    .flo-slideshow .flo-slideshow__slide-img {
      position: relative; }
      .flo-slideshow .flo-slideshow__slide-img:after {
        content: " ";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-slideshow .flo-slideshow__slide-img--bgi {
        display: block; } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow .flo-slideshow__slide-content {
      box-sizing: border-box;
      width: 100vw;
      height: 100vh; }
      .flo-block--merged-with-header .flo-slideshow__slide-content {
        height: 100vh; }
    .flo-slideshow .flo-slideshow__slide-img--bgi {
      display: block; } }
  .flo-slideshow__layout {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: stretch;
        align-items: stretch;
    width: 100%;
    height: 100%; }
  @media screen and (min-width: 48em) {
    .flo-slideshow__layout--type-a .flo-slideshow__title-area,
    .flo-slideshow__layout--type-a .flo-hero-video-embed__button {
      cursor: none; }
    .flo-slideshow__layout--type-a .flo-slideshow__slides {
      cursor: none; }
    .flo-slideshow__layout--type-a .flo-slideshow__title-area {
      left: 6.0625rem;
      bottom: 20.6875rem;
      transform: translateY(50%); }
    .flo-slideshow__layout--type-a .flo-slideshow__counter {
      bottom: 4.375rem;
      left: 4.5625rem;
      right: initial;
      pointer-events: none; }
    .flo-slideshow__layout--type-a .flo-slideshow__featured-link {
      bottom: 4.375rem;
      right: 4.5625rem; }
    .flo-slideshow__layout--type-a .flo-slideshow__featured-link-title-area {
      text-align: right; }
    .flo-slideshow__layout--type-a:hover .flo-slideshow__arrow-next {
      opacity: 1; }
    .flo-slideshow__layout--type-a .flo-slideshow__arrow-next {
      position: absolute;
      opacity: 0;
      font-size: 0.8125rem;
      pointer-events: none;
      transform-origin: center;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: color 0.5s, opacity 0.5s, transform 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-slideshow__layout--type-a .flo-slideshow__arrow-next.inverted {
        transform: rotate(-180deg); }
      .flo-slideshow__layout--type-a .flo-slideshow__arrow-next.vertical {
        transform: rotate(-90deg) !important; }
      .flo-slideshow__layout--type-a .flo-slideshow__arrow-next i {
        display: inline-block; } }
  .flo-slideshow__layout--type-b .flo-slideshow__background {
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__layout--type-b .flo-slideshow__arrows {
    font-size: 0.5rem; }
  .flo-slideshow__layout--type-b .flo-slideshow__slide-image {
    width: 100%;
    height: 100%;
    transition: opacity 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94);
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat; }
  @media screen and (min-width: 48em) {
    .flo-slideshow__layout--type-b .flo-slideshow__background {
      position: absolute;
      left: 0;
      width: calc(100vw - 6.375rem);
      height: 100%;
      pointer-events: none; }
    .flo-slideshow__layout--type-b .flo-slideshow__arrows {
      position: absolute;
      right: 19.125rem;
      transform: translateY(50%);
      top: 23.1875rem;
      z-index: 10; }
    .flo-slideshow__layout--type-b .flo-slideshow__arrow {
      opacity: 0.8;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      cursor: pointer;
      outline: none;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
      .flo-slideshow__layout--type-b .flo-slideshow__arrow:hover {
        opacity: 1; }
      .flo-slideshow__layout--type-b .flo-slideshow__arrow--next {
        margin-bottom: 2.8125rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__slides {
      z-index: 1; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide:not(.slick-current) .flo-slideshow__title-area {
      opacity: 0; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide:not(.slick-current) .flo-slideshow__slide-image-wrap {
      height: calc(100% - 5.3125rem); }
    .flo-slideshow__layout--type-b .flo-slideshow__slide.gradient-visible .flo-slideshow__slide-image:after {
      opacity: 0.5; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-main-wrap {
      position: relative;
      width: 68.125rem;
      padding-left: 6.375rem;
      padding-right: 6.375rem;
      padding-bottom: 6.375rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-image-wrap {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      transition: height 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-image {
      width: 100%;
      position: relative;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; }
      .flo-slideshow__layout--type-b .flo-slideshow__slide-image:after {
        content: " ";
        display: block;
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        opacity: 0;
        transition: opacity 0.5s;
        transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-b .flo-slideshow__title-area {
      bottom: 5.4375rem;
      left: 6.0625rem;
      width: 50%;
      transition: opacity 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-b .flo-slideshow__title-area-pretitle {
      margin-bottom: 0.875rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter {
      left: 69.0625rem;
      bottom: 6.5625rem;
      z-index: 1; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter-index {
      margin-right: 2rem; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter-separator {
      display: none !important; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter-count {
      opacity: 1; } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__layout--type-b .flo-slideshow__arrow {
      position: absolute; }
    .flo-slideshow__layout--type-b .flo-slideshow__background {
      display: none; }
    .flo-slideshow__layout--type-b .flo-slideshow__counter {
      display: none; }
    .flo-slideshow__layout--type-b .flo-slideshow__slides {
      height: 100vh; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide {
      height: 100vh;
      width: 100vw; }
    .flo-slideshow__layout--type-b .flo-slideshow__slide-image {
      width: 100%;
      height: 100%;
      background-size: cover;
      background-position: center center;
      background-repeat: no-repeat; } }
  .flo-slideshow-block--type-c.flo-block--merged-with-header .flo-header {
    display: none !important; }
  .flo-slideshow-block--type-c .flo-header-mobile__logo-image--default {
    opacity: 1 !important; }
  .flo-slideshow-block--type-c .flo-header-mobile__logo-image--light {
    opacity: 0 !important; }
  .flo-slideshow__layout--type-c {
    /* START: TOP AREA */
    /* END: TOP AREA */
    /* START: SLIDES */
    /* END: SLIDES */
    /* START: FEATURED LINK */
    /* END: FEATURED LINK */
    /* START: SLIDE SELECTOR */
    /* END: SLIDE SELECTOR */
    /* START: RIGHT BAR */
    /* END: RIGHT BAR */ }
    .flo-slideshow__layout--type-c .flo-slideshow__top-area-logo .flo-header-logo {
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-c .flo-slideshow__top-area-social-links a:before {
      transition: color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap {
      z-index: 1;
      position: relative; }
    @media screen and (min-width: 48em) {
      .flo-slideshow__layout--type-c {
        /* START: TOP AREA */
        /* END: TOP AREA */
        /* START: SLIDES */
        /* END: SLIDES */
        /* START: FEATURED LINK */
        /* END: FEATURED LINK */
        /* START: SLIDE SELECTOR */
        /* END: SLIDE SELECTOR */
        /* START: RIGHT BAR */
        /* START: HEADER POPUP STYLE */
        /* END: HEADER POPUP STYLE */
        /* END: RIGHT BAR */ }
        .flo-slideshow__layout--type-c .flo-slideshow__top-area {
          position: absolute;
          top: 0;
          left: 0;
          width: calc(100% - 6.375rem);
          z-index: 1;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-pack: justify;
              justify-content: space-between;
          -ms-flex-align: start;
              align-items: flex-start;
          padding: 1.875rem 6.375rem 0 6.375rem; }
        .flo-slideshow__layout--type-c .flo-slideshow__top-area-social-links a:not(:last-child) {
          margin-right: 1.75rem; }
        .flo-slideshow__layout--type-c .flo-slideshow__slides {
          width: calc(100vw - 6.375rem);
          height: calc(100vh - 5rem); }
        .flo-slideshow__layout--type-c .flo-slideshow__featured-link {
          bottom: 12.0625rem;
          left: 0;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors {
          width: calc(100vw - 6.375rem);
          height: 5rem; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors .slick-list {
            overflow: visible;
            transform: translateX(7.625rem); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector {
          position: relative;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none;
          transition: background-color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector.slick-current:before, .flo-slideshow__layout--type-c .flo-slideshow__slide-selector:hover:before {
            opacity: 0.9; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector.slick-current .flo-slideshow__slide-selector-pretitle {
            opacity: 1; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector:before {
            content: " ";
            display: block;
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: calc(100% + 0.625rem);
            opacity: 0;
            transition: opacity 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap {
          padding: 0.8125rem 1.625rem;
          padding-right: 7.625rem;
          height: 5rem;
          position: relative;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-pack: end;
              justify-content: flex-end;
          -ms-flex-align: start;
              align-items: flex-start; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle {
          position: absolute;
          left: 1.625rem;
          bottom: calc(100% + 2.3125rem);
          pointer-events: none;
          opacity: 0;
          transition: opacity 0.5s, color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle:before {
            content: " ";
            display: inline-block;
            vertical-align: middle;
            width: 1.46875rem;
            height: 1px;
            margin-right: 0.9375rem;
            transition: background-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-second-pretitle {
          margin-bottom: 0.3125rem;
          transition: color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar {
          position: absolute;
          right: 0;
          top: 0;
          box-sizing: border-box;
          height: 100vh;
          width: 6.375rem;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-align: center;
              align-items: center;
          -ms-flex-pack: justify;
              justify-content: space-between;
          padding-top: 3.125rem;
          padding-bottom: 1.875rem; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar-search-trigger {
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar-link {
          -ms-writing-mode: tb-rl;
              writing-mode: tb-rl; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar-menu-trigger {
          font-size: 0.6875rem;
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup:before {
          display: none; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__main-wrap {
          display: -ms-flexbox;
          display: flex;
          -ms-flex-direction: column;
              flex-direction: column;
          -ms-flex-align: flex-stretch;
              align-items: flex-stretch;
          padding-right: 1.625rem;
          padding-top: 3.125rem;
          padding-left: 6.375rem; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__top-bar {
          position: absolute;
          bottom: 1.875rem;
          right: 1.625rem;
          margin: 0;
          pointer-events: none; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__close {
          pointer-events: initial; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__search {
          margin-bottom: 5rem;
          display: -ms-flexbox;
          display: flex;
          -ms-flex-align: start;
              align-items: flex-start; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__search-input {
          padding-top: 0 !important; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__menu {
          height: 50vh; }
          .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__menu > div > ul > li {
            padding-left: 12.75rem; }
        .body--flo-header__popup--for-slideshow-type-c .flo-header-popup__social-links {
          position: absolute;
          bottom: 1.875rem;
          left: 6.375rem;
          margin: 0;
          pointer-events: none; } }
    @media screen and (max-width: 47.9375em) {
      .flo-slideshow__layout--type-c {
        /* START: TOP AREA */
        /* END: TOP AREA */
        /* START: SLIDES */
        /* END: SLIDES */
        /* START: FEATURED LINK */
        /* END: FEATURED LINK */
        /* START: SLIDE SELECTOR */
        /* END: SLIDE SELECTOR */
        /* START: RIGHT BAR */
        /* END: RIGHT BAR */ }
        .flo-slideshow__layout--type-c .flo-slideshow__top-area {
          display: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__title-area {
          display: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__featured-link {
          display: none; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors {
          height: 5rem; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selectors .slick-list {
            overflow: visible;
            transform: translateX(1.25rem); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector {
          position: relative;
          width: calc(100vw - 2.5rem);
          -webkit-user-select: none;
             -moz-user-select: none;
              -ms-user-select: none;
                  user-select: none;
          cursor: pointer;
          outline: none; }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector.slick-current .flo-slideshow__slide-selector-wrap:before {
            opacity: 0.9; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap {
          padding: 0.8125rem 1.625rem;
          position: absolute;
          bottom: 0;
          left: 0;
          width: calc(100vw - 2.5rem); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-wrap:before {
            content: " ";
            display: block;
            position: absolute;
            left: 0;
            bottom: 0;
            width: 100%;
            height: calc(100% + 0.625rem);
            opacity: 0; }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle {
          position: absolute;
          left: 1.625rem;
          bottom: calc(100% + 2.3125rem);
          pointer-events: none;
          transition: color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
          .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-pretitle:before {
            content: " ";
            display: inline-block;
            vertical-align: middle;
            width: 1.46875rem;
            height: 1px;
            margin-right: 0.9375rem;
            transition: background-color 0.5s;
            transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-second-pretitle {
          position: relative;
          z-index: 1;
          margin-bottom: 0.5rem;
          transition: color 0.5s;
          transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
        .flo-slideshow__layout--type-c .flo-slideshow__slide-selector-title {
          position: relative;
          z-index: 1; }
        .flo-slideshow__layout--type-c .flo-slideshow__right-bar {
          display: none; } }
  .flo-slideshow--one-slide .flo-slideshow__slides {
    cursor: default; }
  .flo-slideshow--one-slide .flo-slideshow__counter,
  .flo-slideshow--one-slide .flo-slideshow__arrow-next,
  .flo-slideshow--one-slide .flo-slideshow__slide-selectors {
    display: none !important; }
  .flo-slideshow__counter {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    position: absolute; }
  .flo-slideshow__counter-index {
    padding-bottom: 0 !important;
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__counter-separator, .flo-slideshow__counter-count {
    opacity: 0.5; }
  .flo-slideshow__counter-separator {
    height: 1px;
    width: 0.6875rem;
    margin: 0 0.25rem;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__counter-count {
    padding-bottom: 0 !important;
    line-height: 1em !important;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-slideshow__counter {
      bottom: 2.1875rem;
      right: 3.4375rem; } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__counter {
      bottom: 2.1875rem;
      left: 50%;
      transform: translateX(-50%); } }
  .flo-slideshow__title-area {
    position: absolute;
    width: 90%;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
        flex-direction: column;
    -ms-flex-align: start;
        align-items: flex-start;
    -ms-flex-pack: start;
        justify-content: flex-start; }
  .flo-slideshow__title-area-pretitle {
    margin-bottom: 1.4375rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__title-area-pretitle:before {
      content: " ";
      display: inline-block;
      vertical-align: middle;
      width: 1.4375rem;
      height: 1px;
      margin-right: 1.3125rem;
      transition: background-color 0.5s;
      transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__title-area-title {
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (min-width: 48em) {
    .flo-slideshow__title-area {
      width: calc(100% / 3.1); } }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__title-area {
      left: 50%;
      bottom: 30%;
      transform: translateX(-50%);
      -ms-flex-align: center;
          align-items: center;
      text-align: center; } }
  .flo-slideshow__featured-link {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    position: absolute; }
  .flo-slideshow__featured-link-title-area {
    display: block;
    padding: 1.5625rem; }
  .flo-slideshow__featured-link-pretitle {
    display: block;
    margin-bottom: 0.625rem;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__featured-link-title {
    display: block;
    transition: color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
    .flo-slideshow__featured-link-title p {
      margin-bottom: 0; }
  .flo-slideshow__featured-link-image {
    display: block;
    -ms-flex-negative: 0;
        flex-shrink: 0;
    -ms-flex-positive: 0;
        flex-grow: 0;
    width: 7.34375rem;
    height: 7.34375rem;
    border: 0.78125rem solid;
    box-sizing: border-box;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
    transition: border-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-slideshow__featured-link-divider {
    height: 5rem;
    width: 1px;
    transition: background-color 0.5s;
    transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  @media screen and (max-width: 47.9375em) {
    .flo-slideshow__featured-link {
      display: none; } }
  @media screen and (min-width: 48em) {
    .flo-block--merged-with-header.flo-slideshow-block--type-a .flo-header.is-not-sticky {
      background-color: transparent !important; } }
  @media screen and (max-width: 47.9375em) {
    .flo-block--merged-with-header {
      padding-top: 0 !important; }
      .flo-block--merged-with-header.flo-slideshow-block--type-a .flo-header-mobile.not-sticky.is-main {
        background-color: transparent !important; } }

.flo-splash {
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: #ffffff;
  display: block;
  z-index: 1000000000;
  overflow: hidden;
  transition: all 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-splash__content {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
        align-items: center;
    -ms-flex-pack: center;
        justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none; }
    .flo-splash__content .flo-header__logo,
    .flo-splash__content .flo-header-mobile__logo,
    .flo-splash__content img {
      -ms-flex-pack: center;
          justify-content: center;
      max-width: none !important; }
  .flo-splash__custom-preloader {
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    opacity: 1;
    right: 0;
    margin: 0 auto; }
  @media screen and (min-width: 48em) {
    .flo-splash__content--medium-up {
      opacity: 1; }
    .flo-splash__content--small-only {
      opacity: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo-splash__content--medium-up {
      opacity: 0; }
    .flo-splash__content--small-only {
      opacity: 1; }
      .flo-splash__content--small-only .flo-header-mobile__logo img {
        width: 100%;
        height: auto; } }
  .flo-splash__custom-preloader {
    background-image: url(../img/no-image.jpg);
    background-image: var(--img-small); }
  @media (min-width: 768px) {
    .flo-splash__custom-preloader {
      background-image: var(--img-medium); } }
  @media (min-width: 1025px) {
    .flo-splash__custom-preloader {
      background-image: var(--img-large); } }

.flo-text-content {
  max-width: none;
  padding: 2.5rem 0; }

.flo-hero-video-embed__container {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  opacity: 0;
  pointer-events: 0;
  background-color: black;
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-hero-video-embed__container iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.flo-hero-video-embed__button {
  position: absolute;
  top: 2.5rem;
  left: 50%;
  transform: translate(-50%, -50%);
  transform-origin: center;
  z-index: 100;
  width: 4.0625rem;
  height: 4.0625rem;
  border-radius: 4.0625rem;
  font-size: 0.97345rem;
  color: inherit;
  border: 1px solid;
  border-color: initial;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none;
  cursor: pointer;
  transition: color 0.5s, top 0.5s, bottom 0.5s, opacity 0.5s, border 0.5s, transform 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-hero-video-embed__button:hover {
    opacity: 0.4; }

.flo-hero-video-embed__button-icon {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: opacity 0.5s;
  transition-timing-function: cubic-bezier(0.25, 0.46, 0.45, 0.94); }
  .flo-hero-video-embed__button-icon--play {
    opacity: 0; }
  .flo-hero-video-embed__button-icon--stop {
    opacity: 0; }

.flo-hero-video-embed__button {
  top: 50%;
  opacity: 1; }

.flo-hero-video-embed__button-icon--play {
  opacity: 1; }

.flo-hero-video-embed--button-at-bottom .flo-hero-video-embed__button {
  top: 80%; }

@media screen and (max-width: 47.9375em) {
  .flo-hero-video-embed--button-mobile-bottom .flo-hero-video-embed__button {
    top: 80%; } }

/* START: BUTTON HIDDEN */
.flo-hero-video-embed--button-hidden .flo-hero-video-embed__button {
  opacity: 0;
  pointer-events: none; }

/* END: BUTTON HIDDEN */
.video-is-playing .flo-block__header,
.video-is-playing .flo-header-mobile,
.video-is-playing .flo-slideshow__centered-logo,
.video-is-playing .flo-slideshow__type-a-menu,
.video-is-playing .flo-slideshow__slide-content,
.video-is-playing .flo-slideshow__counter,
.video-is-playing .flo-slideshow__title-area,
.video-is-playing .flo-slideshow__featured-link,
.video-is-playing .flo-slideshow__top-area,
.video-is-playing .flo-slideshow__slide-image,
.video-is-playing .flo-block-slideshow-1__content-wrap,
.video-is-playing .flo-block-slideshow-2__content-wrap,
.video-is-playing .flo-block-slideshow-3__content-wrap,
.video-is-playing .flo-block-slideshow-4__arrows,
.video-is-playing .flo-block-slideshow-4__counter {
  z-index: 1;
  opacity: 0;
  pointer-events: none !important;
  visibility: hidden; }

.video-is-playing .flo-slideshow__arrow-next {
  display: none !important; }

.video-is-playing .flo-hero-video-embed__button {
  cursor: pointer; }

@media screen and (max-width: 47.9375em) {
  .video-is-playing .flo-slideshow__slide-selectors {
    z-index: 1;
    opacity: 0;
    pointer-events: none; } }

.video-is-playing .flo-hero-video-embed__container {
  opacity: 1;
  pointer-events: initial; }

.video-is-playing .flo-hero-video-embed__button {
  top: 6.25rem !important;
  color: white !important;
  border-color: white !important;
  opacity: 1;
  pointer-events: initial; }

.video-is-playing .flo-hero-video-embed__button-icon--play {
  opacity: 0;
  pointer-events: initial; }

.video-is-playing .flo-hero-video-embed__button-icon--stop {
  opacity: 1;
  pointer-events: initial; }

.video-is-playing:not(:hover) .flo-hero-video-embed__button {
  opacity: 0; }

.flo-wp-content-with-pagination__pagination {
  pointer-events: none; }

.flo-wp-content-with-pagination__link {
  pointer-events: initial; }

@media screen and (min-width: 48em) {
  .flo-wp-content-with-pagination {
    position: relative; }
    .flo-wp-content-with-pagination__content {
      padding: 0 12.75rem; }
    .flo-wp-content-with-pagination__pagination {
      position: absolute;
      top: 3.125rem;
      left: 0;
      width: 100vw !important;
      padding: 0 6.375rem;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between;
      -ms-flex-align: center;
          align-items: center; }
    .flo-wp-content-with-pagination__link {
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
      position: relative;
      padding: 2.5rem 0; }
      .flo-wp-content-with-pagination__link:before {
        content: " ";
        display: inline-block;
        position: absolute;
        right: -3.1875rem;
        top: 50%;
        transform: translate(50%, -50%);
        width: 1.46875rem;
        height: 1px; }
      .flo-wp-content-with-pagination__link--prev {
        transform-origin: center;
        transform: rotate(180deg); } }

@media screen and (max-width: 47.9375em) {
  .flo-wp-content-with-pagination {
    padding: 0 2.03125rem; }
    .flo-wp-content-with-pagination__pagination {
      display: -ms-flexbox;
      display: flex;
      -ms-flex-pack: justify;
          justify-content: space-between; }
    .flo-wp-content-with-pagination__link {
      width: 45;
      -ms-flex-positive: 0;
          flex-grow: 0; } }

.flo-wp-title {
  text-align: center; }
  .flo-wp-title__title {
    padding-bottom: 0 !important; }

.flo_sidebar {
  width: 25%;
  padding: 0 2.5rem 2.5rem;
  -ms-flex-positive: 0;
      flex-grow: 0;
  -ms-flex-negative: 0;
      flex-shrink: 0; }
  .flo_sidebar .column, .flo_sidebar .columns {
    margin-bottom: 2.5rem;
    padding: 0 2.5rem; }
    .flo_sidebar .column:last-child, .flo_sidebar .columns:last-child {
      margin-bottom: 0; }
  .flo_sidebar .figure-hide-img {
    background-image: none !important;
    height: auto; }
    .flo_sidebar .figure-hide-img img {
      display: block; }
  .flo_sidebar .widget {
    margin-bottom: 1.875rem; }
  .flo_sidebar * {
    color: inherit;
    border-color: inherit; }
  .flo_sidebar .widget_search .search-field {
    border-top: 0;
    border-left: 0;
    border-right: 0; }
  .flo_sidebar .widget_search input[type="submit"] {
    margin-top: 1.25rem; }
  @media screen and (min-width: 48em) {
    .flo_sidebar {
      padding-top: 1.09375rem; }
      .flo_sidebar--on-left {
        -ms-flex-order: -1;
            order: -1;
        padding-left: 2.5rem;
        padding-right: 0; } }
  @media screen and (max-width: 47.9375em) {
    .flo_sidebar {
      display: none; } }

/* BOF WOOCOMMERCE SUPPORT */
.flo-woocommerce-wrap {
  max-width: 62.5rem;
  margin: 0 auto; }

.woocommerce-page .flo-block {
  padding-top: 0px; }

.woocommerce-page .flo-post a {
  text-decoration: none; }

.woocommerce thead, .woocommerce tbody, .woocommerce tfoot {
  border: 0px;
  background: transparent; }

.woocommerce .flo-post a {
  text-decoration: none; }

.woocommerce .quantity .qty, .woocommerce .quantity input[type="number"] {
  width: 5em;
  height: 1.5625rem;
  padding: 0.1em;
  border-color: #e5e5e5;
  font-size: 1rem; }

.woocommerce .woocommerce-breadcrumb a {
  box-shadow: 0 1px 0;
  text-decoration: none; }
  .woocommerce .woocommerce-breadcrumb a:hover {
    box-shadow: 0 3px 0; }

.woocommerce .cart input.button:disabled {
  color: #ffffff; }

.woocommerce span.onsale {
  padding: 0; }

.woocommerce ul.products li.product .price del {
  display: inline-block; }

.woocommerce ul.products a.button {
  padding: 0.6em 1em; }

.woocommerce div.product .variations td.label {
  background-color: transparent;
  padding-top: 20px;
  vertical-align: middle; }

.woocommerce div.product .variations .value select {
  margin-bottom: 0; }

.woocommerce div.product .variations .reset_variations {
  box-shadow: 0 1px 0; }
  .woocommerce div.product .variations .reset_variations:hover {
    box-shadow: 0 3px 0; }

.woocommerce div.product .product_meta a {
  box-shadow: 0 1px 0; }
  .woocommerce div.product .product_meta a:hover {
    box-shadow: 0 3px 0; }

.woocommerce div.product .product_meta .tagged_as {
  clear: both;
  display: block; }

.woocommerce div.product .related h2 {
  margin-bottom: 0.9375rem; }

.woocommerce div.product .woocommerce-tabs li.active a, .woocommerce div.product .woocommerce-tabs a:hover {
  box-shadow: 0 3px 0; }

.woocommerce div.product .woocommerce-tabs a {
  box-shadow: 0 1px 0; }

.woocommerce div.product .woocommerce-tabs .panel {
  margin-bottom: 4em; }

.woocommerce div.product .woocommerce-tabs ul.tabs {
  border: 0px;
  overflow: visible;
  padding-left: 5px;
  background-color: transparent; }
  .woocommerce div.product .woocommerce-tabs ul.tabs:before {
    border: 0px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li {
    border: 0px;
    background-color: transparent; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li.active {
      background-color: transparent; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li:before, .woocommerce div.product .woocommerce-tabs ul.tabs li:after {
      border: 0px;
      box-shadow: none; }
    .woocommerce div.product .woocommerce-tabs ul.tabs li:first-child {
      padding-left: 0; }

.woocommerce .checkout #customer_details {
  margin-bottom: 1.875rem; }

.woocommerce .checkout .wc_payment_method .input-radio {
  position: relative;
  top: -10px; }

.woocommerce p.woocommerce-thankyou-order-received {
  margin-bottom: 1.25rem !important; }

.woocommerce .woocommerce-thankyou-order-details {
  padding-left: 0;
  margin-bottom: 2.5rem; }
  .woocommerce .woocommerce-thankyou-order-details li {
    list-style: disc;
    border-right: 0px;
    clear: both; }
    .woocommerce .woocommerce-thankyou-order-details li strong {
      display: inline-block; }

.woocommerce .woocommerce-MyAccount-content .addresses {
  margin-top: 1.875rem; }

.woocommerce .woocommerce-MyAccount-content .woocommerce-Message br {
  display: none; }

.woocommerce .woocommerce-MyAccount-navigation .is-active a {
  box-shadow: 0 3px 0; }
  .woocommerce .woocommerce-MyAccount-navigation .is-active a:hover {
    box-shadow: 0 3px 0; }

.woocommerce .woocommerce-MyAccount-navigation a:hover {
  box-shadow: 0 1px 0; }

.woocommerce .woocommerce-Address-title .edit {
  clear: both;
  margin-top: 1.875rem;
  float: left !important;
  box-shadow: 0 1px 0; }
  .woocommerce .woocommerce-Address-title .edit:hover {
    box-shadow: 0 3px 0; }

.woocommerce .order_details .product-name a {
  box-shadow: 0 1px 0; }
  .woocommerce .order_details .product-name a:hover {
    box-shadow: 0 3px 0; }

.woocommerce .order_details li {
  border-right: 0px !important;
  margin-bottom: 10px; }

.woocommerce .actions .coupon input[type="submit"] {
  height: 2.625rem;
  text-decoration: none !important; }

.woocommerce .actions p {
  margin-bottom: 0px; }

.woocommerce .actions input.button[type="submit"] {
  height: 2.625rem;
  text-decoration: none !important;
  color: #515151; }

.woocommerce form p, .woocommerce table p {
  margin-bottom: 0px !important; }

.woocommerce .order-number a br {
  display: none; }

.woocommerce #coupon_code {
  min-width: 15em;
  height: 2.55rem; }

.woocommerce .button br {
  display: none; }

.woocommerce .single_add_to_cart_button.button, .woocommerce .single_add_to_cart_button.button.disabled {
  padding: 0.35em 0.5em; }

.woocommerce .wc-proceed-to-checkout p {
  margin-bottom: 0 !important; }

.woocommerce .wc-proceed-to-checkout .checkout-button {
  margin-bottom: 0 !important; }

.woocommerce input[type='submit'] {
  text-decoration: none !important; }

.woocommerce input[type]:not([type="submit"]), .woocommerce textarea {
  border: 1px solid;
  padding: 0.5rem; }

.woocommerce textarea {
  background-image: none !important;
  margin-bottom: 1.25rem;
  line-height: 1rem !important; }

/* EOF WOOCOMMERCE SUPPORT */
.body_has_sidebar .flo-icon-sidebar {
  display: block; }

.flo_sidebar--active {
  overflow: hidden; }

/* END: COMPONENTS (KEEP THIS ONE AT THE BOTTOM ALL THE TIME) */

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCJhcHAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCJnbG9iYWwvbGV0dGVyLWljb25zLWZvbnRlbGxvLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplL192YXJpYWJsZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUvX3ZlcnRpY2FsLXJoeXRobS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWl4aW5zLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2d1dHRlci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3Bvc2l0aW9uLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19iYXNlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX3ByaW50LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19jaGVja2JveC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9faW5wdXQtZ3JvdXAuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2Vycm9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYmFkZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2NhbGxvdXQuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2FyZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19tZW51LWljb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLW1lbnUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19tYXRoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2xhYmVsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vZmYtY2FudmFzLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29yYml0LnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcHJvZ3Jlc3MtYmFyLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19wcm9ncmVzcy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX3JhbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3N0aWNreS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYmxlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGh1bWJuYWlsLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RvcC1iYXIuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fdHJhbnNpdGlvbi5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvX2NsYXNzZXMuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdXRpbC9fa2V5ZnJhbWUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zbGlkZS5zY3NzIiwiLi4vLi4vLi4vbm9kZV9tb2R1bGVzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL2VmZmVjdHMvX2hpbmdlLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9faGluZ2Uuc2NzcyIsIi4uLy4uLy4uL25vZGVfbW9kdWxlcy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ub2RlX21vZHVsZXMvbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc3Bpbi5zY3NzIiwiZ2xvYmFsL2dsb2JhbC5zY3NzIiwiZ2xvYmFsL3otaW5kZXgtbWFwLnNjc3MiLCIuLi9jb21wb25lbnRzLzAvY29tbWVudHMtYmxvY2svY29tbWVudHMtYmxvY2subWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby1ibG9jay9mbG8tYmxvY2subWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby1mb3JtL2Zsby1mb3JtLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMC9mbG8tbHFpcC9mbG8tbHFpcC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzAvZmxvLXBhZ2Utd3JhcC9mbG8tcGFnZS13cmFwLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMC9mbG8tc2hhcmUtcm9sbG92ZXIvZmxvLXNoYXJlLXJvbGxvdmVyLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMC9mbG8tc2xpZGVyL2Zsby1zbGlkZXIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby12aWRlby1lbWJlZC9mbG8tdmlkZW8tZW1iZWQtZHVtbXkubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL2Zsby12aWRlby1lbWJlZC9mbG8tdmlkZW8tZW1iZWQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8wL3NvY2lhbC1saW5rcy9zb2NpYWwtbGlua3MubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1idXR0b24vZmxvLWJsb2NrLWJ1dHRvbi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyL2Zsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbW1lbnRzL2Zsby1ibG9jay1jb21tZW50cy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMS9mbG8tYmxvY2stY29udGFjdC1ibG9jay0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stY29udGFjdC1ibG9jay0yL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTMvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zL2Zsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWRlbGltaXRlci0xL2Zsby1ibG9jay1kZWxpbWl0ZXItMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZhcS1ibG9jay0xL2Zsby1ibG9jay1mYXEtYmxvY2stMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZhcS1ibG9jay0yL2Zsby1ibG9jay1mYXEtYmxvY2stMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMi9mbG8tYmxvY2stZmVhdHVyZWQtbGluay0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zL2Zsby1ibG9jay1mZWF0dXJlZC1saW5rLTMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zL2Zsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNC9mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xL2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yL2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03L2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctNy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1ibG9jay0yL2Zsby1ibG9jay1pbWFnZS1ibG9jay0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtYmxvY2stMy9mbG8tYmxvY2staW1hZ2UtYmxvY2stMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1saW5rcy00L2Zsby1ibG9jay1pbWFnZS1saW5rcy00Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtbGlua3MtNS9mbG8tYmxvY2staW1hZ2UtbGlua3MtNS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1saW5rcy03L2Zsby1ibG9jay1pbWFnZS1saW5rcy03Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW50cm8tYmxvY2svZmxvLWJsb2NrLWludHJvLWJsb2NrLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS1jb250ZW50L2Zsby1ibG9jay1pdGVtLWNvbnRlbnQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXBhZ2luYXRpb24vZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMi9mbG8tYmxvY2staXRlbS10aXRsZS0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS10aXRsZS9mbG8tYmxvY2staXRlbS10aXRsZS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctMS9mbG8tYmxvY2stbGlzdGluZy0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy0yL2Zsby1ibG9jay1saXN0aW5nLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTMvZmxvLWJsb2NrLWxpc3RpbmctMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctNC9mbG8tYmxvY2stbGlzdGluZy00Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy01L2Zsby1ibG9jay1saXN0aW5nLTUubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTYvZmxvLWJsb2NrLWxpc3RpbmctNi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi0yL2Zsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi9mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzL2Zsby1ibG9jay1udW1lcmljLWRldGFpbHMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1wcmVzcy9mbG8tYmxvY2stcHJlc3MubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMS9mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTIvZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXMvZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1zaGFyZS1hbmQtdGFncy9mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3MubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1zbGlkZXNob3ctMS9mbG8tYmxvY2stc2xpZGVzaG93LTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay1zbGlkZXNob3ctMS9mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1hcmVhLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy0yL2Zsby1ibG9jay1zbGlkZXNob3ctMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy0zL2Zsby1ibG9jay1zbGlkZXNob3ctMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNsaWRlc2hvdy00L2Zsby1ibG9jay1zbGlkZXNob3ctNC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXNvY2lhbC1saW5rcy9mbG8tYmxvY2stc29jaWFsLWxpbmtzLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGVzdGltb25pYWxzLTEvZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay0xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTIvZmxvLWJsb2NrLXRleHQtYmxvY2stMi5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stMy9mbG8tYmxvY2stdGV4dC1ibG9jay0zLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay00L2Zsby1ibG9jay10ZXh0LWJsb2NrLTQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTUvZmxvLWJsb2NrLXRleHQtYmxvY2stNS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRpdGxlLTEvZmxvLWJsb2NrLXRpdGxlLTEubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay10aXRsZS0yL2Zsby1ibG9jay10aXRsZS0yLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGl0bGUtMy9mbG8tYmxvY2stdGl0bGUtMy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRpdGxlLTQvZmxvLWJsb2NrLXRpdGxlLTQubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1ibG9jay12ZW5kb3JzL2Zsby1ibG9jay12ZW5kb3JzLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIvZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1jb21tZW50cy9mbG8tY29tbWVudHMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXItc2lkZWJhcnMvZmxvLWZvb3Rlci1zaWRlYmFycy5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWUubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXIvZmxvLWZvb3Rlci5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXItYXJlYS0xLXR5cGUtYi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXIvZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXItYXJlYS0yLXR5cGUtYS5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1mb290ZXIvZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWZvb3Rlci9mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWEuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZ2VuZXJpYy1tZW51LXdyYXAvZmxvLWdlbmVyaWMtbWVudS13cmFwLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tZ2VuZXJpYy1zbGlkZXMvZmxvLWdlbmVyaWMtc2xpZGVzLXRlbXBsYXRlLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS1tZW51L2Zsby1oZWFkZXItbW9iaWxlLW1lbnUubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXItbW9iaWxlLW1lbnUvZmxvLWhlYWRlci1tb2JpbGUtbWVudS0tdHlwZS1hLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci1tb2JpbGUtbWVudS9mbG8taGVhZGVyLW1vYmlsZS1tZW51LS10eXBlLWIuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS9mbG8taGVhZGVyLW1vYmlsZS5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci1tb2JpbGUvZmxvLWhlYWRlci1tb2JpbGUtLXR5cGUtYS5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXItbW9iaWxlL2Zsby1oZWFkZXItbW9iaWxlLS10eXBlLWIuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS9mbG8taGVhZGVyLW1vYmlsZS0tdHlwZS1jLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXJfX21lbnUuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXItLXR5cGUtYS1hbmQtYi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlci0tdHlwZS1jLWFuZC1kLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyLS10eXBlLWUtYW5kLWYuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXItLXR5cGUtZy1hbmQtaC5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlci0tdHlwZS1pLWFuZC1qLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyX19tZW51LXRyaWdnZXIuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXJfX2xvZ28uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXJfX3NlYXJjaC5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyX19tZW51LXBvcHVwLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLWhlYWRlci9mbG8taGVhZGVyLS10eXBlLWsuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXItLXR5cGUtbC5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1oZWFkZXIvZmxvLWhlYWRlcl9fdG9wYmFyLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXBhZ2Utd3JhcC9mbG8tcGFnZS13cmFwLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tcG9zdC9mbG8tcG9zdC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXJlbGF0ZWQtaXRlbXMvZmxvLXJlbGF0ZWQtaXRlbXMubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1yZXZlYWwvZmxvLXJldmVhbC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXNsaWRlc2hvdy9mbG8tc2xpZGVzaG93Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tc2xpZGVzaG93L2Zsby1zbGlkZXNob3dfX3NsaWRlcy5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1zbGlkZXNob3cvZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEuc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tc2xpZGVzaG93L2Zsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXNsaWRlc2hvdy9mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYy5zY3NzIiwiLi4vY29tcG9uZW50cy8xL2Zsby1zcGxhc2gvZmxvLXNwbGFzaC5tYWluLnNjc3MiLCIuLi9jb21wb25lbnRzLzEvZmxvLXRleHQtY29udGVudC9mbG8tdGV4dC1jb250ZW50Lm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8tdmlkZW8tYnV0dG9uL2Zsby1oZXJvLXZpZGVvLWVtYmVkLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24vZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9mbG8td3AtdGl0bGUvZmxvLXdwLXRpdGxlLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMS9zaWRlYmFyL3NpZGViYXIubWFpbi5zY3NzIiwiLi4vY29tcG9uZW50cy8xL3dvb2NvbW1lcmNlL3dvb2NvbW1lcmNlLm1haW4uc2NzcyIsIi4uL2NvbXBvbmVudHMvMi9ib2R5LWhhcy1zaWRlYmFyL2JvZHktaGFzLXNpZGViYXIubWFpbi5zY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGlCQUFpQjtBQ0FqQixtQkFBbUI7QUNBbkI7Ozs7O0dBS0c7QUN3Q0QsaUVBQWlFO0FBRy9EO29GQUNnRjtBQUVoRjs7Ozs7T0FLRztBQ3hEUCxtREFBWTtBRDBEUjtFQUNFLHdCRTFDdUI7RUYwQ1MsT0FBTztFQVFyQyxrQkFBaUI7RUFBRSxPQUFPO0VBRTVCLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7T0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFjLEVBQ2Y7O0FBRUQ7OztPQUdHO0FBRUg7RUc5RUYsZUFYdUM7RUhvR2pDLGlCQUFnQixFQUVuQjs7QUFv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RkosZ0JDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZUFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLGdCRGhCZ0MsRUxnRzNCOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLHNCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLFdDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsVUFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixXQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosaUJDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVOaUc5Qzs7QUFFRDtFTWpHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSixpQkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLHVCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLFdDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsVUFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixXQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosaUJDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVOaUc5Qzs7QUFFRDtFTWpHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSixpQkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLHVCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLFdDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsVUFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixXQUhtRCxFTnFHOUM7O0FBTUg7RU05RUosdUJEYnFELEVMNkZoRDs7QUFwQkQ7RUl4RkosaUJDZXFELEVMMkVoRDs7QUFJQztFTTdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVOaUc5Qzs7QUFFRDtFTWpHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVOcUc5Qzs7QUFNSDtFTTlFSixpQkRicUQsRUw2RmhEOztBQXBCRDtFSXhGSixpQkNlcUQsRUwyRWhEOztBQUlDO0VNN0ZKLG1CQUFrQjtFQUNsQixnQkFIbUQsRU5pRzlDOztBQUVEO0VNakdKLG1CQUFrQjtFQUNsQixpQkFIbUQsRU5xRzlDOztBQU1IO0VNOUVKLHVCRGJxRCxFTDZGaEQ7O0FBcEJEO0VJeEZKLFlDZXFELEVMMkVoRDs7QUFnQkQ7RU05RUosdUJEYnFELEVMNkZoRDs7QUFLRDtFT3pHRixZVitFdUQ7RVU5RXZELFlBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsV0FBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVYrQ3FELEVVOUN0RDs7QVB3RUM7RU96R0YsWVYrRXVEO0VVOUV2RCxpQkFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVYrQ3FELEVVOUN0RDs7QVB3RUM7RU96R0YsWVYrRXVEO0VVOUV2RCxXQUF1QixFQWlDeEI7RVB1RUc7SU9qRkEsWUFBVyxFQUNaO0VQZ0ZDO0lPN0VBLFlBQVcsRUFDWjtFUDRFQztJT3pFQSxZVitDcUQsRVU5Q3REOztBUHdFQztFT3pHRixZVitFdUQ7RVU5RXZELFdBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsaUJBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsaUJBQXVCLEVBaUN4QjtFUHVFRztJT2pGQSxZQUFXLEVBQ1o7RVBnRkM7SU83RUEsWUFBVyxFQUNaO0VQNEVDO0lPekVBLFlWK0NxRCxFVTlDdEQ7O0FQd0VDO0VPekdGLFlWK0V1RDtFVTlFdkQsYUFBdUIsRUFpQ3hCO0VQdUVHO0lPakZBLFlBQVcsRUFDWjtFUGdGQztJTzdFQSxZQUFXLEVBQ1o7RVA0RUM7SU96RUEsWVYrQ3FELEVVOUN0RDs7QVA4RUQ7RUUvR0EsaUJKdUVTO0VJdEVULGdCSnNFUyxFRXlDdUM7O0FBRGhEO0VBSUksZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBR0g7RUFDRSxnQkFBZTtFQUNmLGVBQWMsRUFDZjs7QUFFRDtFRTdIQSx3QkFGcUM7RUFHckMsdUJBSHFDLEVGZ0lvQjs7QUFJekQ7RU1qSUEsbUJBQWtCO0VBQ2xCLGtCQUFpQixFTmtJaEI7RU12SUQ7SUFDRSxZQUFXO0lBQ1gsWUFBVyxFQUNaOztBTnVJRDs7O0VNNUhGLGlCQUFnQjtFQUNoQixZQUFXO0VBQ1gsZ0JBQWU7RUFDZixlQUFjLEVONkhYOztBR05DO0VIckRBO0lJeEZKLGdCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZUFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixnQkRoQmdDLEVMZ0czQjtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHNCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosV0NlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLFVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixXQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLGlCQ2VxRCxFTDJFaEQ7RUFJQztJTTdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosaUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosWUNlcUQsRUwyRWhEO0VBZ0JEO0lNOUVKLHVCRGJxRCxFTDZGaEQ7RUFLRDtJT3pHRixZVitFdUQ7SVU5RXZELFlBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxXQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0RDtFUHdFQztJT3pHRixZVitFdUQ7SVU5RXZELGlCQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsaUJBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVBLFlWK0NxRCxFVTlDdEQ7RVB3RUM7SU96R0YsWVYrRXVEO0lVOUV2RCxhQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQOEVEO0lFL0dBLGlCSnVFUztJSXRFVCxnQkpzRVMsRUV5Q3VDO0VBRGhEO0lBSUksZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFHSDtJQUNFLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBRUQ7SUU3SEEseUJBRnFDO0lBR3JDLHdCQUhxQyxFRmdJb0I7RUFJekQ7SU1qSUEsbUJBQWtCO0lBQ2xCLGtCQUFpQixFTmtJaEI7SU12SUQ7TUFDRSxZQUFXO01BQ1gsWUFBVyxFQUNaO0VOdUlEOzs7SU01SEYsaUJBQWdCO0lBQ2hCLFlBQVc7SUFDWCxnQkFBZTtJQUNmLGVBQWMsRU42SFgsRUFBQTs7QUdOQztFSHJEQTtJSXhGSixnQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGVBSG1ELEVOaUc5QztFQUVEO0lNakdKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5xRzlDO0VBTUg7SU05RUosZ0JEaEJnQyxFTGdHM0I7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSixzQkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLFdDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsV0FIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGlCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLFdDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsV0FIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGlCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLFdDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsV0FIbUQsRU5xRzlDO0VBTUg7SU05RUosdUJEYnFELEVMNkZoRDtFQXBCRDtJSXhGSixpQkNlcUQsRUwyRWhEO0VBSUM7SU03RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFTmlHOUM7RUFFRDtJTWpHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVOcUc5QztFQU1IO0lNOUVKLGlCRGJxRCxFTDZGaEQ7RUFwQkQ7SUl4RkosaUJDZXFELEVMMkVoRDtFQUlDO0lNN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRU5pRzlDO0VBRUQ7SU1qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFTnFHOUM7RUFNSDtJTTlFSix1QkRicUQsRUw2RmhEO0VBcEJEO0lJeEZKLFlDZXFELEVMMkVoRDtFQWdCRDtJTTlFSix1QkRicUQsRUw2RmhEO0VBS0Q7SU96R0YsWVYrRXVEO0lVOUV2RCxZQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0RDtFUHdFQztJT3pHRixZVitFdUQ7SVU5RXZELGlCQUF1QixFQWlDeEI7SVB1RUc7TU9qRkEsWUFBVyxFQUNaO0lQZ0ZDO01PN0VBLFlBQVcsRUFDWjtJUDRFQztNT3pFQSxZVitDcUQsRVU5Q3REO0VQd0VDO0lPekdGLFlWK0V1RDtJVTlFdkQsV0FBdUIsRUFpQ3hCO0lQdUVHO01PakZBLFlBQVcsRUFDWjtJUGdGQztNTzdFQSxZQUFXLEVBQ1o7SVA0RUM7TU96RUEsWVYrQ3FELEVVOUN0RDtFUHdFQztJT3pHRixZVitFdUQ7SVU5RXZELFdBQXVCLEVBaUN4QjtJUHVFRztNT2pGQSxZQUFXLEVBQ1o7SVBnRkM7TU83RUEsWUFBVyxFQUNaO0lQNEVDO01PekVB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LEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHlCQUZ5QjtFQ3ZCdkIsd0NBQXVDO0VBR3pDLG9DQUEyQjtVQUEzQiw0QkFBMkIsRUpSMUI7O0FBVUQ7RUdvQkEsNkJBRnlCLEVIaEJ4Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLFdGaENrQztFSUFsQyw2QkFBNEIsRUxFM0I7O0FBVUQ7RUdvQkEsV0ZoQ3FDLEVEY3BDOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsV0YvQmtDO0VJRGxDLDZCQUE0QixFTEUzQjs7QUFVRDtFR29CQSxXRi9CcUMsRURhcEM7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dyQ21DO0VIcUNuQyxzQkY1Qm1EO0VNR2pELHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dwQ3FDO0VIb0NyQyx3QkYzQnFEO0VNRW5ELHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw4Q0duQ2lDO0VIbUNqQyx5QkYxQnNEO0VNQ3BELHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw4Q0dsQytCO0VIa0MvQix1QkZ6Qm9EO0VNQWxELHdDQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiwrQ0dyQ21DO0VIcUNuQyx5QkdDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsK0NHcENxQztFSG9DckMseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5QyxzQkZ0Qm1EO0VNSGpELHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSwrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyx3QkZyQnFEO0VNSm5ELHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSwrQ0dwQ3FDO0VDc0JuQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyx5QkZwQnNEO0VNTHBELHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSw4Q0duQ2lDO0VDcUIvQixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyx1QkZuQm9EO0VNTmxELHdDQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSw4Q0dsQytCO0VDb0I3QixXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDRDR1I4QztFSFE5Qyx5QkdDZTtFQzFCYix3Q0FBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYiw0Q0dSOEM7RUhROUMseUJHQ2U7RUMxQmIsd0NBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsc0JBRnlCO0VLM0J2Qix3Q0FBdUM7RUFDdkMsV0FBMkIsRVJGNUI7O0FBVUQ7RUdvQkEsb0JBRnlCO0VLaEJ2QixXQUEyQixFUkE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNCQUZ5QjtFSzNCdkIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVSRjVCOztBQVVEO0VHb0JBLG9CQUZ5QjtFS2hCdkIsV0FBMkIsRVJBNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvQkFGeUI7RUszQnZCLHdDQUF1QztFQUN2QyxXQUE4QixFUkYvQjs7QUFVRDtFR29CQSxzQkFGeUI7RUtoQnZCLFdBQThCLEVSQS9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsb0JBRnlCO0VLM0J2Qix3Q0FBdUM7RUFDdkMsV0FBOEIsRVJGL0I7O0FBVUQ7RUdvQkEsc0JBRnlCO0VLaEJ2QixXQUE4QixFUkEvQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLDZCQUZ5QjtFTTNCdkIsd0NBQXVDO0VBQ3ZDLFdBQTJCLEVURjVCOztBQVVEO0VHb0JBLHFCQUZ5QjtFTWhCdkIsV0FBMkIsRVRBNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixxQkFGeUI7RU0zQnZCLHdDQUF1QztFQUN2QyxXQUE4QixFVEYvQjs7QUFVRDtFR29CQSw0QkFGeUI7RU1oQnZCLFdBQThCLEVUQS9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsNEJBRnlCO0VNM0J2Qix3Q0FBdUM7RUFDdkMsV0FBMkIsRVRGNUI7O0FBVUQ7RUdvQkEscUJBRnlCO0VNaEJ2QixXQUEyQixFVEE1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHFCQUZ5QjtFTTNCdkIs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TUYzSUQ7UUVvR00sc0J4SlptRCxFd0phcEQ7TUZyR0w7UUV1R1Esd0J4SmZpRCxFd0pnQmxEO01GeEdQO1FFMEdVLHlCeEpsQitDLEV3Sm1CaEQ7TUYzR1Q7O1FFeUhZLFlBSHFCLEVBT3RCO1FGN0hYOztVRTJIYyx1QnhKbkMyQyxFd0pvQzVDO01GNUhiO1FFK0hjLGlCeEp2QzJDLEV3SndDNUM7TUZoSWI7UUVxSVEseUJ4SjdDaUQsRXdKOENsRCxFQUFBO0VuSjBCRDtJaUpoS047TUdrQ0kscUJBQWE7TUFBYixjQUFhO01BQ2IsdUJBQW1CO1VBQW5CLG9CQUFtQjtNQUVuQixpRHpKbURxRCxFeUpnRHhEO01IeElEO1FHMENNLHNCeko4Q21EO1F5SjdDbkQseUJ6SjZDbUQsRXlKNUNwRDtNSDVDTDtRRytDTSxXQUFVO1FBQ1YseUJ6SndDbUQsRXlKdkNwRDtNSGpETDtRR3dETSxtQkFBa0I7UUFDbEIsV0FBVTtRQUNWLHdCeko4Qm1EO1F5SjdCbkQseUJ6SjZCbUQ7UXlKM0JuRCxtQkFBa0I7UUFDbEIsdUJBQXNCO1FBQ3RCLHlCQUF3QjtRQUN4Qix3QkFBdUI7UUFDdkIsMEJBQXlCO1FBQ3pCLHNCQUFxQjtRcEZkekIsOEJBRjJFO1FBRzNFLGlFQWZrRCxFb0Y4Qi9DO01IcEVMO1FHc0VRLG1CQUFrQjtRQUNsQixVQUFTO1FBQ1QsNEJBQTJCO1FBQzNCLDhCQUFvQyxFQUNyQztNSDFFUDtRRytFVSxvQnpKUytDLEV5SkZoRDtRSHRGVDtVR2lGWSxnQkFBZSxFQUNoQjtRSGxGWDtVR29GWSxpQkFBZ0IsRUFDakI7TUhyRlg7UUd5Rk0sV0FBVTtRQUNWLGtCQUFpQixFQUNsQixFQUFBO0VwSnFFQztJaUpoS047TUdrR0kscUJBQWE7TUFBYixjQUFhO01BQ2IsMkJBQXNCO1VBQXRCLHVCQUFzQjtNQUN0Qix1QkFBbUI7VUFBbkIsb0JBQW1CO01BQ25CLDZCekpicUQ7TXlKZXJELG1CQUFrQixFQWlDckI7TUh4SUQ7UUcwR00sWUFBVztRQUNYLHVCekpuQm1ELEV5Sm9CcEQ7TUg1R0w7UUdpSFUsbUJBQWtCLEVBQ25CO01IbEhUO1FHcUhNLHVCeko3Qm1ELEV5SjhCcEQ7TUh0SEw7UUd3SFEseUJ6SmhDaUQsRXlKaUNsRDtNSHpIUDtRRzhIVSxlQUFjLEVBQ2YsRUFBQTtFSC9IVDtJSUlJLG1CQUFrQixFQUNuQjtFSkxIO0lJYVEseUIxSjJFaUQsRTBKMUVsRDtFSmRQO0lJZ0JRLDZCMUp3RWlEO0kwSnZFakQsb0JBQW1CO0lBQ25CLGtCQUFpQjtJQUNqQixzQkFBcUI7SXJGaUMzQiw4QkFGMkU7SUFHM0UsaUVBZmtELEVxRmpCN0M7RUpyQlA7SUl3Qk0sV0FBVSxFQUNYO0VKekJMO0lJNEJVLDZCQUEyQixFQUs1QjtJSmpDVDtNSThCWSxxQkFBYTtNQUFiLGNBQWE7TUFDYix3QkFBbUI7VUFBbkIsb0JBQW1CLEVBQ3BCO0VKaENYO0lJb0NVLG1CQUFrQjtJQUNsQix3QjFKbUQrQyxFMEo5Q2hEO0lKMUNUO01Jd0NZLGlCQUFnQixFQUNqQjtFSnpDWDtJSTRDWSxvQjFKNEM2QztJMEozQzdDLHFCMUoyQzZDLEUwSjFDOUM7RUo5Q1g7SUlnRFksbUJBQWtCO0lBQ2xCLFVBQVM7SUFDVCxhQUFZO0lBQ1osK0JBQThCO0lBQzlCLGNBQWE7SUFDYiw0QkFBMEIsRUFDM0I7RUp0RFg7SUkyRFUsMkJBQTBCLEVBdUIzQjtJSmxGVDtNSThEWSxzQkFBcUI7TUFDckIsb0IxSnlCNkM7TXFFcEN2RCx5QkFGMkU7TUFHM0UsaUVBZmtELEVxRm1DekM7TUp6RVg7UUltRWMsYUFBWSxFQUNiO01KcEViO1FJdUVjLFdBQVUsRUFDWDtJSnhFYjtNSTJFYyx5QkFBZ0I7U0FBaEIsc0JBQWdCO2NBQWhCLGlCQUFnQjtNQUNoQixlQUFjO01yRnVCMUIsMEJBQWlCO1NBQWpCLHVCQUFpQjtVQUFqQixzQkFBaUI7Y0FBakIsa0JBQWlCO01BQ2pCLGdCQUFlO01BQ2YsY0FBYSxFcUZwQkY7TUpqRmI7UUkrRWdCLGNBQWEsRUFDZDtFSmhGZjtJSXNGTSxXQUFVO0lBQ1YsdUIxSkNtRCxFMEpBcEQ7RUp4Rkw7SUkyRlEsd0IxSkhpRCxFMEpJbEQ7RUo1RlA7SUk4RlEseUIxSk5pRCxFMEpPbEQ7RUovRlA7SUlxR0ksV0FBVSxFQUNYO0VySjBERztJaUpoS047TUk4R00scUJBQWE7TUFBYixjQUFhO01BQ2Isc0JBQXVCO1VBQXZCLHdCQUF1QjtNQUN2QixpRDFKeEJtRDtNMEp5Qm5ELFlBQVcsRUFDWjtJSmxITDtNSW9IUSxXQUFVO01BQ1YsdUIxSjdCaUQsRTBKOEJsRDtJSnRIUDtNSWtJUSxXQUFVO01BQ1Ysb0IxSjNDaUQ7TTBKNkNqRCx1QkFBc0I7TUFDdEIseUJBQXdCO01BQ3hCLHdCQUF1QjtNQUN2QiwwQkFBeUI7TUFDekIsc0JBQXFCO01yRnJGM0IsOEJBRjJFO01BRzNFLGlFQWZrRCxFcUZxRzdDO0lKM0lQO01JK0pRLFdBQVU7TUFDVix3QjFKeEVpRCxFMEp5RWxEO0lKaktQO01JNktNLDJCMUpyRm1ELEUwSnNGcEQsRUFBQTtFckpkQztJaUpoS047TUlvTEksNkIxSjVGcUQsRTBKb0p4RDtNSjVPRDtRSXNMTSxzQjFKOUZtRCxFMEorRnBEO01KdkxMO1FJeUxRLHVCMUpqR2lELEUwSmtHbEQ7TUoxTFA7UUlzTVEsdUIxSjlHaUQsRTBKK0dsRDtNSnZNUDtRSXlPTSx1QjFKakptRCxFMEprSnBELEVBQUE7RUoxT0w7SUtRSSw4QjNKZ0ZxRCxFMkovRXREO0V0SnVKRztJaUpoS047TUtZSSxtQkFBa0IsRUFnRHJCO01MNUREOztRS29CUSxrQ0FBa0MsRUFDbkM7TUxyQlA7UUt1QlUsd0JBTjhCLEVBTy9CO01MeEJUO1FLMkJNLG1CQUFrQjtRQUNsQixVQUFTO1FBQ1QsU0FBUTtRQUNSLGlDQUFnQztRQUNoQyx5QkFBd0I7UXRGcUI1Qiw0Q0FGMkU7UUFHM0UsaUVBZmtELEVzRkYvQztRTHBDTDtVS2tDUSxpREFBNkMsRUFDOUMsRUFBQTtFdEo2SEQ7SWlKaEtOO01Ld0NJLG1CQUFrQjtNQUNsQiw2QjNKK0NxRCxFMko1QnhEO01MNUREO1FLNENNLGNBQWEsRUFDZDtNTDdDTDtRS2dETSxtQkFBa0I7UUFDbEIseUIzSnVD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IiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKiBTVEFSVDogVkVORE9SICovXG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4zLjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuQGltcG9ydCB1cmwoXCIuLi9mb250cy9mb250ZWxsby9jc3MvZmxvLWljb25zLmNzc1wiKTtcbmh0bWwge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMiAqL1xuICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqL1xuICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDMgKi8gfVxuXG4vKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cbmJvZHkge1xuICBtYXJnaW46IDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5mb290ZXIsXG5oZWFkZXIsXG5uYXYsXG5zZWN0aW9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5oMSB7XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBtYXJnaW46IDAuNjdlbSAwOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5maWdjYXB0aW9uLFxuZmlndXJlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuZmlndXJlIHtcbiAgbWFyZ2luOiAxZW0gNDBweDsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBGaXJlZm94LlxuICAgICAqIDIuIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UgYW5kIElFLlxuICAgICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMSAqL1xuICBoZWlnaHQ6IDA7XG4gIC8qIDEgKi9cbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbm1haW4ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnByZSB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5hIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIC8qIDEgKi9cbiAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0cztcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZS13aWR0aDogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGJvdHRvbSBib3JkZXIgaW4gRmlyZWZveCAzOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHRleHQgZGVjb3JhdGlvbiBpbiBDaHJvbWUsIEVkZ2UsIElFLCBPcGVyYSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogbm9uZTtcbiAgLyogMSAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgLyogMiAqL1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZSBkb3R0ZWQ7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBQcmV2ZW50IHRoZSBkdXBsaWNhdGUgYXBwbGljYXRpb24gb2YgYGJvbGRlcmAgYnkgdGhlIG5leHQgcnVsZSBpbiBTYWZhcmkgNi5cbiAgICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkZXI7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5jb2RlLFxua2JkLFxuc2FtcCB7XG4gIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDFlbTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgYmFja2dyb3VuZCBhbmQgY29sb3IgaW4gSUUgOS0uXG4gICAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGVsZW1lbnRzIGZyb20gYWZmZWN0aW5nIHRoZSBsaW5lIGhlaWdodCBpblxuICAgICAqIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNzUlO1xuICBsaW5lLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cblxuc3ViIHtcbiAgYm90dG9tOiAtMC4yNWVtOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbi8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5hdWRpbyxcbnZpZGVvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBib3JkZXIgb24gaW1hZ2VzIGluc2lkZSBsaW5rcyBpbiBJRSAxMC0uXG4gICAgICovXG5pbWcge1xuICBib3JkZXItc3R5bGU6IG5vbmU7IH1cblxuLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogRm9ybXNcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBmb250IHN0eWxlcyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBGaXJlZm94IGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBmb250LWZhbWlseTogc2Fucy1zZXJpZjtcbiAgLyogMSAqL1xuICBmb250LXNpemU6IDEwMCU7XG4gIC8qIDEgKi9cbiAgbGluZS1oZWlnaHQ6IDEuMTU7XG4gIC8qIDEgKi9cbiAgbWFyZ2luOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5idXR0b24sXG5zZWxlY3Qge1xuICAvKiAxICovXG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgICAqIDEuIFByZXZlbnQgYSBXZWJLaXQgYnVnIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYCBhbmQgYHZpZGVvYFxuICAgICAqICAgIGNvbnRyb2xzIGluIEFuZHJvaWQgNC5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqL1xuYnV0dG9uLFxuaHRtbCBbdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovIH1cblxuYnV0dG9uLFxuW3R5cGU9XCJidXR0b25cIl0sXG5bdHlwZT1cInJlc2V0XCJdLFxuW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgYm9yZGVyIGFuZCBwYWRkaW5nIGluIEZpcmVmb3guXG4gICAgICAgKi9cbiAgLyoqXG4gICAgICAgKiBSZXN0b3JlIHRoZSBmb2N1cyBzdHlsZXMgdW5zZXQgYnkgdGhlIHByZXZpb3VzIHJ1bGUuXG4gICAgICAgKi8gfVxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInJlc2V0XCJdOjotbW96LWZvY3VzLWlubmVyLFxuICBbdHlwZT1cInN1Ym1pdFwiXTo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgYnV0dG9uOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cImJ1dHRvblwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJyZXNldFwiXTotbW96LWZvY3VzcmluZyxcbiAgW3R5cGU9XCJzdWJtaXRcIl06LW1vei1mb2N1c3Jpbmcge1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgQnV0dG9uVGV4dDsgfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlLlxuICAgICAqL1xuaW5wdXQge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblt0eXBlPVwiY2hlY2tib3hcIl0sXG5bdHlwZT1cInJhZGlvXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBvZGQgYXBwZWFyYW5jZSBpbiBDaHJvbWUgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvdXRsaW5lIHN0eWxlIGluIFNhZmFyaS5cbiAgICAgKi9cblt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG4gIC8qIDIgKi9cbiAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovIH1cbiAgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sIFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKiAyLiBDaGFuZ2UgZm9udCBwcm9wZXJ0aWVzIHRvIGBpbmhlcml0YCBpbiBTYWZhcmkuXG4gICAgICovXG46Oi13ZWJraXQtZmlsZS11cGxvYWQtYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuZmllbGRzZXQge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICBtYXJnaW46IDAgMnB4O1xuICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07IH1cblxuLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xubGVnZW5kIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgLyogMSAqL1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgLyogMSAqL1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMyAqL1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMiAqL1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICAvKiAxICovIH1cblxuLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cbnByb2dyZXNzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAvKiAxICovXG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qIEludGVyYWN0aXZlXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gRWRnZSwgSUUsIGFuZCBGaXJlZm94LlxuICAgICAqL1xuZGV0YWlscyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3VtbWFyeSB7XG4gIGRpc3BsYXk6IGxpc3QtaXRlbTsgfVxuXG4vKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xubWVudSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qIFNjcmlwdGluZ1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmNhbnZhcyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuW2hpZGRlbl0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00OGVtJmxhcmdlPTY0LjA2MjVlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA3NXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMC42MjVyZW07XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtOyB9IH1cbiAgICAucm93IC5yb3cuY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLnJvdy5leHBhbmRlZCAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1uLCAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLmNvbHVtbi5lbmQ6bGFzdC1jaGlsZDpsYXN0LWNoaWxkLCAuZW5kLmNvbHVtbnM6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTsgfVxuXG4ucm93IC5jb2x1bW4ucm93LnJvdywgLnJvdyAucm93LnJvdy5jb2x1bW5zIHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIHdpZHRoOiAyNSU7IH1cblxuLnNtYWxsLXB1c2gtMyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMjUlOyB9XG5cbi5zbWFsbC1wdWxsLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0yNSU7IH1cblxuLnNtYWxsLW9mZnNldC0yIHtcbiAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtNCB7XG4gIHdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC0zMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIHdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtNSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC00MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXB1c2gtNiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTAlOyB9XG5cbi5zbWFsbC1wdWxsLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01MCU7IH1cblxuLnNtYWxsLW9mZnNldC01IHtcbiAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtNyB7XG4gIHdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLXB1c2gtNyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC01OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIHdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLXB1c2gtOCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC02Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIHdpZHRoOiA3NSU7IH1cblxuLnNtYWxsLXB1c2gtOSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogNzUlOyB9XG5cbi5zbWFsbC1wdWxsLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC03NSU7IH1cblxuLnNtYWxsLW9mZnNldC04IHtcbiAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtMTAge1xuICB3aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLXB1bGwtMTAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC04My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICB3aWR0aDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IC05MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNtYWxsLW9mZnNldC0xMSB7XG4gIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTEgPiAuY29sdW1uLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5zbWFsbC11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMm4rMSksIC5zbWFsbC11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC0zID4gLmNvbHVtbiwgLnNtYWxsLXVwLTMgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5zbWFsbC11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjUlOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5zbWFsbC11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMjAlOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNW4rMSksIC5zbWFsbC11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC02ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTYgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5zbWFsbC11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTQuMjg1NzElOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5zbWFsbC11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTIuNSU7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgIGNsZWFyOiBub25lOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg4bisxKSwgLnNtYWxsLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnNtYWxsLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLXJpZ2h0OiAwO1xuICBwYWRkaW5nLWxlZnQ6IDA7IH1cblxuLnNtYWxsLWNvbGxhcHNlIC5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5leHBhbmRlZC5yb3cgLnNtYWxsLWNvbGxhcHNlLnJvdyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cblxuLnNtYWxsLWNlbnRlcmVkIHtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAuc21hbGwtY2VudGVyZWQsIC5zbWFsbC1jZW50ZXJlZDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc21hbGwtdW5jZW50ZXJlZCxcbi5zbWFsbC1wdXNoLTAsXG4uc21hbGwtcHVsbC0wIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS0xIHtcbiAgICB3aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLm1lZGl1bS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tcHVzaC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tcHVzaC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tcHVzaC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIHdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubWVkaXVtLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubWVkaXVtLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAubWVkaXVtLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubWVkaXVtLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSg0bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubWVkaXVtLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAubWVkaXVtLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubWVkaXVtLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSg3bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5tZWRpdW0tY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLm1lZGl1bS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5tZWRpdW0tY2VudGVyZWQsIC5tZWRpdW0tY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZWRpdW0tdW5jZW50ZXJlZCxcbiAgLm1lZGl1bS1wdXNoLTAsXG4gIC5tZWRpdW0tcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLTEge1xuICAgIHdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0yIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS0zIHtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5sYXJnZS1wdXNoLTMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0zMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC00MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS02IHtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5sYXJnZS1wdXNoLTYge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICB3aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1bGwtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTgge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC02Ni42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS05IHtcbiAgICB3aWR0aDogNzUlOyB9XG4gIC5sYXJnZS1wdXNoLTkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC04My4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5sYXJnZS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVzaC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC0xMSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC05MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTEge1xuICAgIG1hcmdpbi1sZWZ0OiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5sYXJnZS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLmxhcmdlLXVwLTIgPiAuY29sdW1uczpudGgtb2YtdHlwZSgybisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTMgPiAuY29sdW1uLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgLmxhcmdlLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoM24rMSksIC5sYXJnZS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLmxhcmdlLXVwLTUgPiAuY29sdW1uczpudGgtb2YtdHlwZSg1bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTYgPiAuY29sdW1uLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gICAgLmxhcmdlLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNm4rMSksIC5sYXJnZS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubGFyZ2UtdXAtOCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDhuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmxhcmdlLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5sYXJnZS1jb2xsYXBzZS5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubGFyZ2UtY2VudGVyZWQge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAgIC5sYXJnZS1jZW50ZXJlZCwgLmxhcmdlLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubGFyZ2UtdW5jZW50ZXJlZCxcbiAgLmxhcmdlLXB1c2gtMCxcbiAgLmxhcmdlLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG4uY29sdW1uLWJsb2NrIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29sdW1uLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuY29sdW1uLWJsb2NrID4gOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuZGl2LFxuZGwsXG5kdCxcbmRkLFxudWwsXG5vbCxcbmxpLFxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2LFxucHJlLFxuZm9ybSxcbnAsXG5ibG9ja3F1b3RlLFxudGgsXG50ZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG5wIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMS42O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5OyB9XG5cbmVtLFxuaSB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc3Ryb25nLFxuYiB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgY29sb3I6ICNjYWNhY2E7IH1cblxuaDEge1xuICBmb250LXNpemU6IDEuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDMge1xuICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDNyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi41cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9IH1cblxuYSB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogIzE3NzliYTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgYTpob3ZlciwgYTpmb2N1cyB7XG4gICAgY29sb3I6ICMxNDY4YTA7IH1cbiAgYSBpbWcge1xuICAgIGJvcmRlcjogMDsgfVxuXG5ociB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXgtd2lkdGg6IDc1cmVtO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItcmlnaHQ6IDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItbGVmdDogMDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKAlCBcIjsgfVxuXG5hYmJyIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZCAjMGEwYTBhO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5jb2RlIHtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMGEwYTBhOyB9XG5cbmtiZCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG4uaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cblxuZmllbGRzZXQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDsgfVxuXG5sZWdlbmQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uZmllbGRzZXQge1xuICBtYXJnaW46IDEuMTI1cmVtIDA7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7IH1cbiAgLmZpZWxkc2V0IGxlZ2VuZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cblxuc2VsZWN0IHtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogOXB4IDZweDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT1cIik7IH0gfVxuICBzZWxlY3Q6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuICBzZWxlY3Q6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBib3JkZXItY29sb3I6ICNjYzRiMzc7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWVjZWE7IH1cbiAgLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cyk6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogI2NjNGIzNzsgfVxuXG4uaXMtaW52YWxpZC1sYWJlbCB7XG4gIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5mb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNjYzRiMzc7IH1cbiAgLmZvcm0tZXJyb3IuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnRpbnkge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5idXR0b24ucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxMjYxOTU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNWU1ZTVlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTUzYjJhO1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdywgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMTc3OWJhO1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwYzNkNWQ7XG4gICAgICAgIGNvbG9yOiAjMGMzZDVkOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM3Njc2NzY7XG4gICAgICBjb2xvcjogIzc2NzY3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMzYjNiM2I7XG4gICAgICAgIGNvbG9yOiAjM2IzYjNiOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjNGIzNztcbiAgICAgIGNvbG9yOiAjY2M0YjM3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NzI1MWE7XG4gICAgICAgIGNvbG9yOiAjNjcyNTFhOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXSwgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeSwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeSB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnksIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeTpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzIHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b24uZGlzYWJsZWQuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmcsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0LCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLmFsZXJ0OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNGIzNztcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmVmZWZlIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDFlbTsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMTc3OWJhOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5icmVhZGNydW1icyBsaSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuYnJlYWRjcnVtYnMgbGk6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAxcHg7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBjb250ZW50OiBcIi9cIjtcbiAgICAgIGNvbG9yOiAjY2FjYWNhOyB9XG4gIC5icmVhZGNydW1icyBhIHtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5icmVhZGNydW1icyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5icmVhZGNydW1icyAuZGlzYWJsZWQge1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMDsgfVxuICAuYnV0dG9uLWdyb3VwOjpiZWZvcmUsIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDFweDtcbiAgICBmb250LXNpemU6IDAuOXJlbTsgfVxuICAgIC5idXR0b24tZ3JvdXAgLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRpbnkgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5zbWFsbCAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5sYXJnZSAuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAtMXB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMykgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDMzLjMzMzMzJSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyNSUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMjAlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNikgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDE2LjY2NjY3JSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEwLCAxMCwgMTAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDdlY2ZhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VhZWFlYTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTFmYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0Lndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmYzZDk7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2U0ZTE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jYXJkIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhcmQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2FyZC1kaXZpZGVyIHtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLmNhcmQtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNsb3NlLWJ1dHRvbi5zbWFsbCB7XG4gICAgcmlnaHQ6IDAuNjZyZW07XG4gICAgdG9wOiAwLjMzZW07XG4gICAgZm9udC1zaXplOiAxLjVlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2xvc2UtYnV0dG9uLCAuY2xvc2UtYnV0dG9uLm1lZGl1bSB7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgPiBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudSBpbnB1dCxcbiAgLm1lbnUgc2VsZWN0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAubWVudSA+IGxpID4gYSBpbWcgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIGkgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyArIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSBpbWcsXG4gIC5tZW51ID4gbGkgPiBhIGksXG4gIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSA+IGxpLCAubWVudS5ob3Jpem9udGFsID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLm1lbnUuZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUudmVydGljYWwgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5tZWRpdW0tZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAgIC5tZW51LmxhcmdlLWV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5tZW51LnNpbXBsZSBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLm1lbnUuc2ltcGxlLmFsaWduLXJpZ2h0IGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDFyZW07IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQ6OmJlZm9yZSwgLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubWVudS5hbGlnbi1yaWdodCA+IGxpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAuMjVyZW07IH1cbiAgLm1lbnUuaWNvbi10b3AudmVydGljYWwgYSA+IHNwYW4ge1xuICAgIG1hcmdpbjogYXV0bzsgfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5tZW51Lm1lbnUtYm9yZGVyZWQgbGkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgICAubWVudS5tZW51LWJvcmRlcmVkIGxpOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGJvcmRlci10b3A6IDA7IH1cbiAgLm1lbnUubWVudS1ob3ZlciBsaTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuXG4ubWVudS10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDsgfVxuXG4ubWVudS1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuXG4ubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1lbnUtaWNvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2ZlZmVmZSwgMCAxNHB4IDAgI2ZlZmVmZTtcbiAgICBjb250ZW50OiAnJzsgfVxuICAubWVudS1pY29uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2NhY2FjYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNjYWNhY2EsIDAgMTRweCAwICNjYWNhY2E7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzBhMGEwYTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwYTBhMGEsIDAgMTRweCAwICMwYTBhMGE7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmlzLWRyaWxsZG93biB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuaXMtZHJpbGxkb3duIGxpIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaXMtZHJpbGxkb3duLmFuaW1hdGUtaGVpZ2h0IHtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41czsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMzAwcHg7XG4gIHBhZGRpbmc6IDFyZW07XG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAxMDAlO1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIHJpZ2h0OiA1cHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiAxMDAlO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfSB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMTAwJTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTZweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBub25lO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbWFyZ2luLXRvcDogLTFweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSA+IGxpIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUsXG4gIC5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4gIC5yZXNwb25zaXZlLWVtYmVkIHZpZGVvLFxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5sYWJlbC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5tZWRpYS1vYmplY3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0IGltZyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDFyZW07XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgdmVydGljYWwtYWxpZ246IHRvcDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDFyZW07IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLm1pZGRsZSB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24uYm90dG9tIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tOyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDE7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcC5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTsgfVxuICAub2ZmLWNhbnZhcy5pcy1vcGVuIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAwKTsgfVxuXG4ub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAge1xuICAgIHotaW5kZXg6IDEwOyB9XG4gICAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApOyB9XG5cbi5wb3NpdGlvbi1sZWZ0IHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0yNTBweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1wdXNoOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgd2lkdGg6IDFweDtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnBvc2l0aW9uLWxlZnQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLnBvc2l0aW9uLXJpZ2h0IHtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDI1MHB4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1wdXNoOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLnBvc2l0aW9uLXRvcCB7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMjUwcHgpO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi10b3AuaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLnBvc2l0aW9uLWJvdHRvbSB7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMjUwcHg7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyNTBweCk7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi1ib3R0b20uaXMtdHJhbnNpdGlvbi1vdmVybGFwLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCB7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzIGVhc2U7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLXRvcC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAyNTBweDsgfVxuICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNTBweDsgfSB9XG5cbi5vcmJpdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ub3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMCwgMTAsIDEwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMDYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFnaW5hdGlvbiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5wYWdpbmF0aW9uIGEsXG4gIC5wYWdpbmF0aW9uIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAucGFnaW5hdGlvbiBhOmhvdmVyLFxuICAgIC5wYWdpbmF0aW9uIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLnBhZ2luYXRpb24gLmRpc2FibGVkIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5wYWdpbmF0aW9uIC5kaXNhYmxlZDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAucGFnaW5hdGlvbiAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cblxuLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYWInOyB9XG5cbi5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4ucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgY29udGVudDogJ1xcMDBiYic7IH1cblxuLnByb2dyZXNzIHtcbiAgaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTsgfVxuICAucHJvZ3Jlc3Muc2Vjb25kYXJ5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjsgfVxuICAucHJvZ3Jlc3Muc3VjY2VzcyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7IH1cbiAgLnByb2dyZXNzLndhcm5pbmcgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5wcm9ncmVzcy5hbGVydCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7IH1cblxuLnByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cblxuLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cblxuLnNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTsgfVxuXG4uc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMC41cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDsgfVxuICAuc2xpZGVyLWZpbGwuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci1oYW5kbGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMS40cmVtO1xuICBoZWlnaHQ6IDEuNHJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuc2xpZGVyLWhhbmRsZSB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuc2xpZGVyLWhhbmRsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE0Njc5ZTsgfVxuICAuc2xpZGVyLWhhbmRsZS5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLmRpc2FibGVkLFxuLnNsaWRlcltkaXNhYmxlZF0ge1xuICBvcGFjaXR5OiAwLjI1O1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5zbGlkZXIudmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAwLjVyZW07XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDAuNXJlbTtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5zbGlkZXIudmVydGljYWwgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAxLjRyZW07XG4gICAgaGVpZ2h0OiAxLjRyZW07XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG5cbi5zdGlja3ktY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdGlja3kge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDA7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnN0aWNreS5pcy1zdHVjayB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogNTsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LXRvcCB7XG4gICAgdG9wOiAwOyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IGF1dG87IH1cbiAgLnN0aWNreS5pcy1hbmNob3JlZC5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG5odG1sLmlzLXJldmVhbC1vcGVuLFxuaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMsXG4gIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdGhlYWQgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmM2YzOyB9XG5cbnRhYmxlLmhvdmVyIHRmb290IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG50YWJsZS5ob3ZlciB0Ym9keSB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmOWY5Zjk7IH1cblxudGFibGUuaG92ZXI6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VjZWNlYzsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lOyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbm9uZTtcbiAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjMTc3OWJhOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMTY3M2IxOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICMxNzc5YmE7IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgIGNvbG9yOiAjMTQ2OGEwOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLCAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gICAgICBjb2xvcjogIzE3NzliYTsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7IH1cblxuLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi50YWJzLXBhbmVsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMXJlbTsgfVxuICAudGFicy1wYW5lbFthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZWZlZmU7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDEwLCAxMCwgMTAsIDAuMik7XG4gIGxpbmUtaGVpZ2h0OiAwOyB9XG5cbmEudGh1bWJuYWlsIHtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDsgfVxuICBhLnRodW1ibmFpbDpob3ZlciwgYS50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMjMsIDEyMSwgMTg2LCAwLjUpOyB9XG4gIGEudGh1bWJuYWlsIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50aXRsZS1iYXI6OmJlZm9yZSwgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJzsgfVxuICAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwYTBhMGE7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzBhMGEwYTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzBhMGEwYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRvcC1iYXI6OmJlZm9yZSwgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7IH1cbiAgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDY0ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1tZWRpdW0gLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnRvcC1iYXItdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDsgfVxuICAudG9wLWJhci10aXRsZSAubWVudS1pY29uIHtcbiAgICBib3R0b206IDJweDsgfVxuXG4udG9wLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRvcC1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1tZWRpdW0tb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NC4wNjI1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjQuMDYyNWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkgYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjRlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi8qIEVORDogVkVORE9SICovXG4vKiBTVEFSVDogR0xPQkFMICovXG4vKiBTVEFSVDogVEVNUE9SQVJZICovXG4vKiBFTkQ6IFRFTVBPUkFSWSAqL1xuLyogU1RBUlQ6IEZMTyBJQ09OUyAqL1xuYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiB7XG4gIC8qICfvhacnICovXG4gIC8qICfvjIMnICovXG4gIC8qICfvjIYnICovXG4gIC8qICfvjIknICovXG4gIC8qICfvjIwnICovXG4gIC8qICfvjI8nICovXG4gIC8qICfvjJInICovXG4gIC8qICfvjJUnICovXG4gIC8qICfvjJgnICovXG4gIC8qICfvjJsnICovXG4gIC8qICfvjK0nICovXG4gIC8qICfuoIQnICovXG4gIC8qICfuoIUnICovXG4gIC8qICfuoIYnICovIH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24teW91dHViZTpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdZVCc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tZmxpY2tyOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ0ZLJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi12aW1lbzpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdWSSc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tdHdpdHRlcjpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdUVyc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tZmFjZWJvb2s6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnRkInOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLWdwbHVzOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ0dQJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi1waW50ZXJlc3Q6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnUEknOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLXR1bWJscjpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdUTSc7IH1cbiAgYm9keS5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLWljb24tbGlua2VkaW46bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnTEsnOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLWRyaWJiYmxlOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ0RCJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi1pbnN0YWdyYW06bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnSUcnOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLXlhaG9vOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1lIJzsgfVxuICBib2R5LmZsby1zb2NpYWwtbGlua3MtdHlwZS1iIC5mbG8taWNvbi1kZWxpY2lvdXM6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnREUnOyB9XG4gIGJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1pY29uLW1haWw6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnTUwnOyB9XG5cbi8qIEVORDogRkxPIElDT05TICovXG4vKiBTVEFSVDogQ09MT1JTICovXG4vKiBFTkQ6IENPTE9SUyAqL1xuLyogU1RBUlQ6IFdJRFRIIFZBUklBQkxFUyAqL1xuLyogRU5EOiBXSURUSCBWQVJJQUJMRVMgKi9cbi8qIFNUQVJUOiBNSVhJTlMgKi9cbi8qIEVuZDogVHJhbnNpdGlvbnMgKi9cbi8qIEVuZDogVHJhbnNpdGlvbnMgKi9cbi8qIFN0YXJ0OiBCYWNrZ3JvdW5kIGltYWdlICovXG4vKiBFbmQ6IEJhY2tncm91bmQgaW1hZ2UgKi9cbi8qIFN0YXJ0OiBCb3ggU2l6aW5nICovXG4vKiBFbmQ6IEJveCBzaXppbmcgKi9cbi5mbG8tZ2xvYmFsLWNsaWNrYWJsZSB7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IH1cbiAgLmZsby1nbG9iYWwtY2xpY2thYmxlLXdpdGgtYW5pbWF0aW9uIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cywgY29sb3IgMC41cywgb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWdsb2JhbC1jbGlja2FibGUtd2l0aC1hbmltYXRpb246aG92ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuXG4vKiBTVEFSVDogUmVzcG9uc2l2ZSBJbWFnZXMgRm9yIEJhY2tncm91bmQgKi9cbi8qIEVORDogUmVzcG9uc2l2ZSBJbWFnZXMgRm9yIEJhY2tncm91bmQgKi9cbi8qIEVORDogTUlYSU5TICovXG4vKiBTVEFSVDogR0xPQkFMIFNUWUxFUyAqL1xuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBodG1sIHtcbiAgICBmb250LXNpemU6IDEuMTExMTF2dzsgfSB9XG5cbioge1xuICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbio6bm90KC5mbG8tcG9zdCkgYTpmb2N1cywgKjpub3QoLmZsby1wb3N0X19zdHlsZXMpIGE6Zm9jdXMge1xuICBjb2xvcjogIzMzMkYyRjsgfVxuXG4qOm5vdCguZmxvLXBvc3QpIC5ob3Zlci1ibG9jaywgKjpub3QoLmZsby1wb3N0X19zdHlsZXMpIC5ob3Zlci1ibG9jayB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gICo6bm90KC5mbG8tcG9zdCkgLmhvdmVyLWJsb2NrIGZpZ3VyZSwgKjpub3QoLmZsby1wb3N0X19zdHlsZXMpIC5ob3Zlci1ibG9jayBmaWd1cmUge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAqOm5vdCguZmxvLXBvc3QpIC5ob3Zlci1ibG9jayBmaWd1cmU6aG92ZXIsICo6bm90KC5mbG8tcG9zdF9fc3R5bGVzKSAuaG92ZXItYmxvY2sgZmlndXJlOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNjsgfVxuICAqOm5vdCguZmxvLXBvc3QpIC5ob3Zlci1ibG9jazpob3ZlciwgKjpub3QoLmZsby1wb3N0X19zdHlsZXMpIC5ob3Zlci1ibG9jazpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxuKjpub3QoLmZsby1wb3N0KSB1bCwgKjpub3QoLmZsby1wb3N0X19zdHlsZXMpIHVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbmJvZHkge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIGNvbG9yOiAjMzMyRjJGO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmZmZmOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIG1hcmdpbjogMDtcbiAgZm9udDogaW5oZXJpdDsgfVxuXG5bY2xhc3NePVwiZmxvLWljb24tXCJdOmJlZm9yZSxcbltjbGFzcyo9XCIgZmxvLWljb24tXCJdOmJlZm9yZSB7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87IH1cblxuYnV0dG9uIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG5hIHtcbiAgY29sb3I6IGluaGVyaXQ7IH1cbiAgYTpob3ZlciB7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cblxucCB7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMDsgfVxuXG5wcmUge1xuICB3aGl0ZS1zcGFjZTogaW5pdGlhbDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiBpbml0aWFsO1xuICB3aWR0aDogaW5pdGlhbDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5yb3ctZmxleCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH0gfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIHBhZGRpbmc6IDA7XG4gIGZsb2F0OiBub25lOyB9XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi8qIFNUQVJUOiBJTlBVVFMgKi9cbmlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksXG50ZXh0YXJlYSB7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6OnBsYWNlaG9sZGVyLFxuICB0ZXh0YXJlYTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG4gIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6Zm9jdXMsIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSk6aG92ZXIsXG4gIHRleHRhcmVhOmZvY3VzLFxuICB0ZXh0YXJlYTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLXdpZHRoOiAwIDAgMXB4IDA7IH1cbiAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKS5mbG8tbm8tc3R5bGluZyxcbiAgdGV4dGFyZWEuZmxvLW5vLXN0eWxpbmcge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLmZsby1uby1zdHlsaW5nLCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLmZsby1uby1zdHlsaW5nOmhvdmVyLCBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLmZsby1uby1zdHlsaW5nOmZvY3VzLFxuICAgIHRleHRhcmVhLmZsby1uby1zdHlsaW5nLFxuICAgIHRleHRhcmVhLmZsby1uby1zdHlsaW5nOmhvdmVyLFxuICAgIHRleHRhcmVhLmZsby1uby1zdHlsaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbmlucHV0W3R5cGU9XCJ0ZXh0XCJdLFxuaW5wdXRbdHlwZT1cImVtYWlsXCJdLFxuaW5wdXRbdHlwZT1cInVybFwiXSxcbmlucHV0W3R5cGU9XCJwYXNzd29yZFwiXSB7XG4gIGJvcmRlcjogMDtcbiAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50OyB9XG5cbmlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgYm9yZGVyOiAwO1xuICBiYWNrZ3JvdW5kOiAwO1xuICBvdXRsaW5lOiAwO1xuICBwYWRkaW5nOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgbGV0dGVyLXNwYWNpbmcgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH1cblxuLyogRU5EOiBJTlBVVFMgKi9cbi8qIFNUQVJUOiBCVVRUT05TICovXG4uZmxvLWJ1dHRvbiwgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbGluay0tc3R5bGUtYnV0dG9uLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBtaW4td2lkdGg6IDguNDM3NXJlbTtcbiAgcGFkZGluZzogMC4zNzVyZW0gMi41cmVtO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIGJhY2tncm91bmQtY29sb3IgMC41cywgY29sb3IgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgbWluLWhlaWdodDogMS42ODc1cmVtO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmZsby1idXR0b246bm90KC5mbG8tYnV0dG9uLS13aXRob3V0LWJvcmRlciksIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xpbmstLXN0eWxlLWJ1dHRvbjpub3QoLmZsby1idXR0b24tLXdpdGhvdXQtYm9yZGVyKSxcbiAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXTpub3QoLmZsby1idXR0b24tLXdpdGhvdXQtYm9yZGVyKSB7XG4gICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDsgfVxuXG4vKiBFTkQ6IEJVVFRPTlMgKi9cbi8qIEVORDogR0xPQkFMIFNUWUxFUyAqL1xuLyogU1RBUlQ6IEFQUEVBUiBBTklNQVRJT04gKi9cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0LjA2MjVlbSkge1xuICAvKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrLFxuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKixcbiAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcixcbiAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKTpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXI6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnZpc2libGUpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3LjVyZW0pO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2s6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICo6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpOm50aC1jaGlsZCgxbikge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjI1cywgdHJhbnNmb3JtIDAuNXMsIGNvbG9yIDAuNXM7IH1cbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXI6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS4yNXMgMC4xcywgdHJhbnNmb3JtIDAuNXMgMC4xcywgY29sb3IgMC41czsgfVxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2sudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICoudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcikudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhci52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpLnZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAvKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi8gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAvKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jayxcbiAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKixcbiAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKSxcbiAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyLFxuICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jazpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm5vdCgudmlzaWJsZSksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKTpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpub3QoLnZpc2libGUpIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg3LjVyZW0pO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICo6bnRoLWNoaWxkKDFuKSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpOm50aC1jaGlsZCgxbikge1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAxLjI1cywgdHJhbnNmb3JtIDAuNXMsIGNvbG9yIDAuNXM7IH1cbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jazpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm50aC1jaGlsZCgybiksXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpudGgtY2hpbGQoMm4pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS4yNXMgMC4xcywgdHJhbnNmb3JtIDAuNXMgMC4xcywgY29sb3IgMC41czsgfVxuICAgIGJvZHk6bm90KC5mbG8tdGFibGV0LWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmxheW91dC1zZWN0aW9ucy0tc2Nyb2xsLW5vcm1hbCAuZmxvLWJsb2NrLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvX3BhZ2UgPiAuZmxvLWJsb2NrOm5vdCg6Zmlyc3Qtb2YtdHlwZSk6bm90KC5kaXNhYmxlLWFwcGVhcikudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICoudmlzaWJsZSxcbiAgICBib2R5Om5vdCguZmxvLXRhYmxldC1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tZm9vdGVyOm5vdCguZGlzYWJsZS1hcHBlYXIpLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAudG8tYXBwZWFyLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpLnZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAvKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi8gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLyogU1RBUlQ6IEFQUEVBUiBBTklNQVRJT04gKi9cbiAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2ssXG4gIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICosXG4gIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcixcbiAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2s6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKTpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKjpub3QoLnZpc2libGUpLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcik6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXI6bm90KC52aXNpYmxlKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCk6bm90KC52aXNpYmxlKSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNy41cmVtKTtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jazpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqOm50aC1jaGlsZCgxbiksXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhcjpudGgtY2hpbGQoMW4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKTpudGgtY2hpbGQoMW4pIHtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMS4yNXMsIHRyYW5zZm9ybSAwLjVzLCBjb2xvciAwLjVzOyB9XG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2s6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5mbG9fcGFnZSA+IC5mbG8tYmxvY2s6bm90KDpmaXJzdC1vZi10eXBlKTpub3QoLmRpc2FibGUtYXBwZWFyKTpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1wb3N0LndpdGgtYXBwZWFyID4gKjpudGgtY2hpbGQoMm4pLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhcik6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC50by1hcHBlYXI6bnRoLWNoaWxkKDJuKSxcbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC53aWRnZXQ6bm90KDpmaXJzdC1jaGlsZCk6bnRoLWNoaWxkKDJuKSB7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDEuMjVzIDAuMXMsIHRyYW5zZm9ybSAwLjVzIDAuMXMsIGNvbG9yIDAuNXM7IH1cbiAgICBib2R5Om5vdCguZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQpOm5vdCguc2luZ2xlLWdhbGxlcnkpIC5sYXlvdXQtc2VjdGlvbnMtLXNjcm9sbC1ub3JtYWwgLmZsby1ibG9jay52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLXBvc3Qud2l0aC1hcHBlYXIgPiAqLnZpc2libGUsXG4gICAgYm9keTpub3QoLmZsby1tb2JpbGUtYXBwZWFyLWRpc2FibGVkKTpub3QoLnNpbmdsZS1nYWxsZXJ5KSAuZmxvLWZvb3Rlcjpub3QoLmRpc2FibGUtYXBwZWFyKS52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLnRvLWFwcGVhci52aXNpYmxlLFxuICAgIGJvZHk6bm90KC5mbG8tbW9iaWxlLWFwcGVhci1kaXNhYmxlZCk6bm90KC5zaW5nbGUtZ2FsbGVyeSkgLndpZGdldDpub3QoOmZpcnN0LWNoaWxkKS52aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLyogRU5EOiBBUFBFQVIgQU5JTUFUSU9OICovIH1cblxuLyogRU5EOiBBUFBFQVIgQU5JTUFUSU9OICovXG4vKiBTVEFSVDogWi1JTkRFWCBNQVAgKi9cbi5mbG8tcGFnZS1oYXMtc2lkZWJhcl9fc2lkZWJhciB7XG4gIHotaW5kZXg6IDk7IH1cblxuLmZsby1zbGlkZXItYXJyb3cge1xuICB6LWluZGV4OiA5OyB9XG5cbi5mbG8tcGFnZS1oZXJvX19sb2dvIHtcbiAgei1pbmRleDogMTE7IH1cblxuLmZsby1oZWFkZXIge1xuICB6LWluZGV4OiA5OTk5OTk7IH1cblxuLmZsby1wYWdlLWFib3V0LXR5cGUtYV9fZmVhdHVyZWQtaW5mbyB7XG4gIHotaW5kZXg6IDk7IH1cblxuLyogRU5EOiBaLUlOREVYIE1BUCAqL1xuYm9keSB7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4yNXMgZWFzZS1pbjsgfVxuICBib2R5LmZsby1kZWNvcmF0aW9uLXR5cGUtLXdhdmVzIC5mbG8taWNvbi1xdW90ZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgxMCc7IH1cbiAgYm9keS5mbG8tZGVjb3JhdGlvbi10eXBlLS13YXZlcyAuZmxvLWljb24tcXVvdGUtcmlnaHQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxlODAzJzsgfVxuICBib2R5LmZsby1kZWNvcmF0aW9uLXR5cGUtLXN0YXJzIC5mbG8taWNvbi1xdW90ZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgyMSc7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBib2R5LmZsby1kZWNvcmF0aW9uLXR5cGUtLXN0YXJzIC5mbG8taWNvbi1xdW90ZS1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU4MjInO1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cbiAgYm9keS5mbG8tZGVjb3JhdGlvbi10eXBlLS1yYWluZHJvcHMgLmZsby1pY29uLXF1b3RlLWxlZnQ6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFxlODIwJztcbiAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gIGJvZHkuZmxvLWRlY29yYXRpb24tdHlwZS0tcmFpbmRyb3BzIC5mbG8taWNvbi1xdW90ZS1yaWdodDpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICdcXGU4MjAnO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07IH1cbiAgYm9keS5mbG8tZGVjb3JhdGlvbi10eXBlLS13aW5kIC5mbG8taWNvbi1xdW90ZS1sZWZ0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgyMyc7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICBib2R5LmZsby1kZWNvcmF0aW9uLXR5cGUtLXdpbmQgLmZsby1pY29uLXF1b3RlLXJpZ2h0OmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcZTgyNCc7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuXG4ub3ZlcmZsb3ctaGlkZSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuXG4vKiBFTkQ6IEhUTUwgT1ZFUkZMT1cgRk9SIFNBRkFSSSBGSVggKi9cbi8qIFNUQVJUOiBGSVggUk9XUyBJTiBTQUZBUkkgKi9cbi5yb3c6YmVmb3JlIHtcbiAgd2lkdGg6IDA7IH1cblxuLyogRU5EOiBGSVggUk9XUyBJTiBTQUZBUkkgKi9cbi8qIEVORDogR0xPQkFMICovXG4vKiBTVEFSVDogQ09NUE9ORU5UUyAoS0VFUCBUSElTIE9ORSBBVCBUSEUgQk9UVE9NIEFMTCBUSEUgVElNRSkgKi9cbi5jb21tZW50cy1ibG9jayB7XG4gIHBhZGRpbmctdG9wOiA1LjMxMjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5mbG8taWNvbi1yZXBseSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLnBhcmVudCAuY29tbWVudCAuY29tbWVudC1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIuMTg3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NzVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5wYXJlbnQgLmNvbW1lbnQuZGVwdGgtMyAuY29tbWVudC1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDMuMTI1cmVtOyB9XG4gIC5jb21tZW50cy1ibG9jayAucGFyZW50IC5jb21tZW50LmRlcHRoLTQgLmNvbW1lbnQtYm9keSB7XG4gICAgcGFkZGluZy1sZWZ0OiA0LjA2MjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5wYXJlbnQgLmNvbW1lbnQuZGVwdGgtNSAuY29tbWVudC1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5wYXJlbnQgLmNvbW1lbnQuZGVwdGgtNSAuY29tbWVudC1ib2R5IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDUuOTM3NXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtYm9keSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHBhZGRpbmc6IDEuMzc1cmVtIDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LW5hbWUtYW5kLXJlcGx5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jb21tZW50cy1ibG9jayAuY29tbWVudC1hdmF0YXItYW5kLW5hbWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuY29tbWVudHMtYmxvY2sgLmZsby1wb3J0bzItY29tbWVudHMtYmxvY2tfX3JlcGx5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5jb21tZW50cy1ibG9jayAuZmxvLXBvcnRvMi1jb21tZW50cy1ibG9ja19fcmVwbHkgLmNvbW1lbnQtcmVwbHktbGluayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuY29tbWVudHMtYmxvY2sgLmZsby1wb3J0bzItY29tbWVudHMtYmxvY2tfX3JlcGx5OmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYmJiYmJiOyB9XG4gIC5jb21tZW50cy1ibG9jayAuY29tbWVudC1ibG9jay1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtbWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAxLjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LWF2YXRhciB7XG4gICAgcGFkZGluZy1yaWdodDogMC44NzVyZW07IH1cbiAgICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtYXZhdGFyIGltZyB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogMi4yNXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtcmVzcG9uZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LXJlc3BvbmQgaW5wdXQ6bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb21tZW50cy1ibG9ja19fdG9wLWJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41cmVtOyB9XG4gIC5jb21tZW50cy1ibG9ja19fc2hvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1oaWRlLWJ1dHRvbiAuZmxvLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMC41cmVtOyB9XG4gIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1zaG93LWJ1dHRvbiAuZmxvLWljb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItaGlkZS1idXR0b24sIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1zaG93LWJ1dHRvbiwgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCB2aXNpYmlsaXR5IDAuNXMsIGhlaWdodCAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTsgfVxuICAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwge1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtLWhpZGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC43ODEyNXJlbTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19jb2xsYXBzZWQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuY29tbWVudHMtYmxvY2tfX3Bvc3RzIHtcbiAgICB0cmFuc2l0aW9uOiB2aXNpYmlsaXR5IDAuNXMsIG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5jb21tZW50cy1ibG9jay0tZXhwYW5kZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXNob3ctYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBoZWlnaHQ6IDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1leHBhbmRlZCAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItaGlkZS1idXR0b24ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBoZWlnaHQ6IGluaGVyaXQ7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1leHBhbmRlZCAuY29tbWVudHMtYmxvY2tfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbC0tc2hvdyB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuY29tbWVudHMtYmxvY2stLWV4cGFuZGVkIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci10b2dnbGUtYnV0dG9uLWxhYmVsLS1oaWRlIHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb21tZW50cy1ibG9jay0tY29sbGFwc2VkIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1zaG93LWJ1dHRvbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5jb21tZW50cy1ibG9jay0tY29sbGFwc2VkIC5jb21tZW50cy1ibG9ja19fdG9wLWJhci1oaWRlLWJ1dHRvbiB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1jb2xsYXBzZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtLXNob3cge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1jb2xsYXBzZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtLWhpZGUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrLS1jb2xsYXBzZWQgLmNvbW1lbnRzLWJsb2NrX190b3AtYmFyLXRvZ2dsZS1idXR0b24taWNvbiB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19wb3N0LWZvcm0ge1xuICAgIHBhZGRpbmctdG9wOiAyLjc1cmVtO1xuICAgIC8qIFNUQVJUOiBQQVJTTEVZICovXG4gICAgLyogRU5EOiBQQVJTTEVZICovIH1cbiAgICAuY29tbWVudHMtYmxvY2tfX3Bvc3QtZm9ybSAuZm9ybS1zdWJtaXQge1xuICAgICAgcGFkZGluZy10b3A6IDNyZW07IH1cbiAgICAuY29tbWVudHMtYmxvY2tfX3Bvc3QtZm9ybSAucGFyc2xleS1lcnJvcnMtbGlzdCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5jb21tZW50cy1ibG9ja19fcG9zdC1mb3JtIC5wYXJzbGV5LXJlcXVpcmVkIHtcbiAgICAgIGNvbG9yOiByZWQ7XG4gICAgICBtYXJnaW46IDAuNjI1cmVtIDA7IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19mb3JtLXRpdGxlLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5jb21tZW50cy1ibG9ja19fZm9ybS10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDIuMjVyZW07IH1cbiAgLmNvbW1lbnRzLWJsb2NrX19mb3JtLWZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmNvbW1lbnRzLWJsb2NrX19mb3JtLWZpZWxkOmxhc3Qtb2YtdHlwZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jb21tZW50cy1ibG9jayAuZm9ybS1zdWJtaXQge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29tbWVudHMtYmxvY2sgLmNvbW1lbnQtY29udGVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC44NzVyZW07IH1cbiAgICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbW1lbnRzLWJsb2NrIC5jb21tZW50LWJsb2NrLWNvbnRlbnQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgIC5jb21tZW50cy1ibG9ja19fZm9ybS1maWVsZCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfVxuICAgICAgICAuY29tbWVudHMtYmxvY2tfX2Zvcm0tZmllbGQgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKTpsYXN0LW9mLXR5cGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY29tbWVudHMtYmxvY2tfX3Bvc3QtZm9ybSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLmNvbW1lbnQtcmVwbHktdGl0bGUge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNvbW1lbnQtcmVwbHktdGl0bGUgLmZsby1pY29uLWNsb3NlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIGgyLnNjcmVlbi1yZWFkZXItdGV4dCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbW1lbnRzLXBhZ2luYXRpb24gLm5hdi1saW5rcyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY29tbWVudHMtcGFnaW5hdGlvbiAucGFnZS1udW1iZXJzLnByZXYgLnNjcmVlbi1yZWFkZXItdGV4dCwgLmNvbW1lbnRzLXBhZ2luYXRpb24gLnBhZ2UtbnVtYmVycy5uZXh0IC5zY3JlZW4tcmVhZGVyLXRleHQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMucHJldiB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb21tZW50cy1wYWdpbmF0aW9uIC5wYWdlLW51bWJlcnMubmV4dCB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4uZmxvLWJsb2NrIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyIHtcbiAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5mbG8tYmxvY2stLW5vLXBhZGRpbmcge1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLS1ub3QtZm91bmQge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cbiAgLmZsby1ibG9jay0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mbG8tYmxvY2tfX2hlYWRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk5OTk7IH1cbiAgLmZsby1ibG9ja19fY29udGFpbmVyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvLWJsb2NrOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDMuMTI1cmVtIDYuMzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrX19jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLS1uby10b3AtcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfVxuICAgICAgLmZsby1ibG9jay0tZnVsbC13aWR0aCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLmZsby1ibG9jay0tbWVkaXVtLXdpZHRoIC5mbG8tYmxvY2tfX2NvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogNDcuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLS1oZWFkZXItaGlkZGVuLW9uLWRlc2t0b3AgLmZsby1ibG9ja19faGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmZsby1ibG9jazpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jayB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG4gICAgICAuZmxvLWJsb2NrOm5vdCguZmxvLWJsb2NrLS1mdWxsLXdpZHRoKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2suZmxvLWJsb2NrLW1vYmlsZS0tbm8tdmVydGljYWwtcGFkZGluZyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5mbG8tYmxvY2s6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5mbG8tZm9ybSBpbnB1dFt0eXBlXSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uZmxvLWZvcm1fX2ZpZWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMS40Njg3NXJlbTsgfVxuICAuZmxvLWZvcm1fX2ZpZWxkOmxhc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmxvLWZvcm0gaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuXG4uZmxvLW1vZGFsIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5O1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHRvcDogMHB4O1xuICBsZWZ0OiAwcHg7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZsby1tb2RhbCAudGh4LW1zZyB7XG4gICAgd2lkdGg6IDMwMHB4O1xuICAgIGhlaWdodDogMjAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMTgwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTE3MHB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2U1ZTVlNTsgfVxuXG4uY29udGFjdC1yZXNwb25zZSBwIHtcbiAgYm9yZGVyLXJhZGl1czogMC43ODEyNXJlbTtcbiAgYm9yZGVyOiAycHggZGFzaGVkICNmOWY5Zjk7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtO1xuICBjb2xvcjogI2RkZGNkYjsgfVxuXG4qW2RhdGEtbHFpcC1zcmNdIHtcbiAgdHJhbnNpdGlvbjogZmlsdGVyIDAuNXMsIGJhY2tncm91bmQtaW1hZ2UgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAqW2RhdGEtbHFpcC1zcmNdOm5vdCguZmxvLWxxaXAtLW9yaWdpbmFsLWxvYWRlZCkge1xuICAgIGZpbHRlcjogYmx1cig0MHB4KTsgfVxuXG4uZmxvLXBhZ2UtaGVhZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA1cmVtKTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsby1wYWdlLWhlYWQtLXdpdGgtYm9yZGVyIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2JiYmJiYjsgfVxuICAuZmxvLXBhZ2UtaGVhZF9fZHJvcGRvd24ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5mbG8tcGFnZS1oZWFkX19kcm9wZG93biAuZmxvLWRyb3Bkb3duLW1lbnUge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tcGFnZS1oZWFkLS1oYXMtZHJvcGRvd24tbWVudSAuZmxvLXBhZ2UtaGVhZF9fZHJvcGRvd24ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmZsby1wYWdlLWhlYWRfX2RlY29yYXRpb24taW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDUuNTVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLXBhZ2UtaGVhZF9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAxZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tcGFnZS1oZWFkX190aXRsZSB7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgcGFkZGluZzogMi42ODc1cmVtIDA7IH1cbiAgICAuZmxvLXBhZ2UtaGVhZF9fbGVmdC1zaWRlIHtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAuZmxvLXBhZ2UtaGVhZF9fZHJvcGRvd24ge1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgIC5mbG8tcGFnZS1oZWFkIC5mbG8tZHJvcGRvd24tbWVudV9fYnRuIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1wYWdlLWhlYWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMy43NXJlbSk7XG4gICAgICBwYWRkaW5nLXRvcDogMi42ODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAuZmxvLXBhZ2UtaGVhZCAuZmxvLWRyb3Bkb3duLW1lbnVfX2J0biB7XG4gICAgICAgIHBhZGRpbmc6IDEuNDM3NXJlbSAwIDIuNjg3NXJlbTsgfSB9XG5cbi5mbG8tc2hhcmUtcm9sbG92ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuZmxvLXNoYXJlLXJvbGxvdmVyX190cmlnZ2VyIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLXNoYXJlLXJvbGxvdmVyX19zaGFyZS13cmFwIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7IH1cbiAgICAuZmxvLXNoYXJlLXJvbGxvdmVyX19zaGFyZS13cmFwIGEge1xuICAgICAgbWFyZ2luOiAwIDAuNDM3NXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zaGFyZS1yb2xsb3Zlci52aXNpYmxlIC5mbG8tc2hhcmUtcm9sbG92ZXJfX3RyaWdnZXIge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZsby1zaGFyZS1yb2xsb3Zlci52aXNpYmxlIC5mbG8tc2hhcmUtcm9sbG92ZXJfX3NoYXJlLXdyYXAge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0LFxuLnNsaWNrLXNsaWRlciAuc2xpY2stc2xpZGUsXG4uc2xpY2stc2xpZGVyIGEge1xuICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uc2xpY2stYXJyb3cge1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLmZsby12aWRlby1lbWJlZC1kdW1teSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkLWR1bW15X192aWRlby1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDtcbiAgICB3aWR0aDogNC4zNzVyZW07XG4gICAgaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiA0LjM3NXJlbTtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmZmZmO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCB0b3AgMC41cywgb3BhY2l0eSAwLjVzLCBib3JkZXIgMC41cywgdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tdmlkZW8tZW1iZWQtZHVtbXlfX3ZpZGVvLWJ1dHRvbjpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjQ7IH1cbiAgLmZsby12aWRlby1lbWJlZC1kdW1teV9fdmlkZW8tYnV0dG9uLWljb24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXZpZGVvLWVtYmVkLWR1bW15X192aWRlby1idXR0b24taWNvbi0tcGxheSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tdmlkZW8tZW1iZWQtZHVtbXlfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICBmb250LXNpemU6IDAuNzE4ODZyZW07IH0gfVxuXG4uZmxvLXZpZGVvLWVtYmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWRfX3NjcmVlbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tdmlkZW8tZW1iZWRfX3NjcmVlbiBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdpZHRoOiA0LjM3NXJlbTtcbiAgICBoZWlnaHQ6IDQuMzc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDQuMzc1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmZmZmY7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMsIHRvcCAwLjVzLCBvcGFjaXR5IDAuNXMsIGJvcmRlciAwLjVzLCB0cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNDsgfVxuICAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24taWNvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbi1pY29uLS1wbGF5IHtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24taWNvbi0tc3RvcCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQ6bm90KC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCkgLmZsby12aWRlby1lbWJlZF9fc2NyZWVuIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQ6bm90KC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCkgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICB0b3A6IDUwJTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkOm5vdCguZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQpIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbi1pY29uLS1wbGF5IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCAuZmxvLXZpZGVvLWVtYmVkX19zY3JlZW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby12aWRlby1lbWJlZC0tbG9hZGVkIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgdG9wOiA2LjI1cmVtOyB9XG4gIC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24taWNvbi0tc3RvcCB7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQ6bm90KDpob3ZlcikgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICB3aWR0aDogM3JlbTtcbiAgICAgIGhlaWdodDogM3JlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDNyZW07XG4gICAgICBmb250LXNpemU6IDAuNTYyNXJlbTsgfSB9XG5cbi5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYSAuZmxvLXNvY2lhbC1saW5rc19fbGluayB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uZmxvLXNvY2lhbC1saW5rcy10eXBlLWIgLmZsby1zb2NpYWwtbGlua3NfX2xpbms6YmVmb3JlIHtcbiAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50OyB9XG4gIC5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYiAuZmxvLXNvY2lhbC1saW5rc19fbGluazpiZWZvcmU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWJ1dHRvbiB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXJfX2NhdGVnb3J5IHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42ODc1cmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXJfX2NhdGVnb3J5IHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyX19jYXRlZ29yeTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19mYl9jb21tZW50cyB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19mYl9jb21tZW50cyAuZmxvLWJsb2NrLWNvbW1lbnRzX190aXRsZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQge1xuICBtYXJnaW4tYm90dG9tOiAyLjMxMjVyZW07IH1cblxuLmZsby1ibG9jay1jb21tZW50c19fY29tbWVudC1hdmF0YXIge1xuICBoZWlnaHQ6IDMuMTI1cmVtO1xuICBib3JkZXItcmFkaXVzOiAzLjEyNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbWFyZ2luLWJvdHRvbTogMS4wNjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtYXZhdGFyLFxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWF2YXRhciBpbWcge1xuICAgIHdpZHRoOiAzLjEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWF2YXRhciBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWF1dGhvciB7XG4gIG1hcmdpbi1ib3R0b206IDEuMDYyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWRhdGU6YmVmb3JlIHtcbiAgY29udGVudDogXCIvXCI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtIHtcbiAgcGFkZGluZy10b3A6IDIuMzc1cmVtOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLXdyYXAtLWJpZyAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkICsgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC1sYWJlbCxcbiAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC13cmFwLS1iaWcgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZCArIHVsICsgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgdG9wOiAwOyB9XG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcC0tc21hbGwgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZCArIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtbGFiZWwsXG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcC0tc21hbGwgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZCArIHVsICsgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZDpmb2N1cyArIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtbGFiZWwsXG4gIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQ6Zm9jdXMgKyB1bCArIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtbGFiZWwsIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQ6bm90KC5lbXB0eSkgKyAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLWxhYmVsLFxuICAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkOm5vdCguZW1wdHkpICsgdWwgKyAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLWxhYmVsIHtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLWxhYmVsIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIHRyYW5zaXRpb246IHRvcCAwLjVzLCB0cmFuc2Zvcm0gMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stY29tbWVudHMge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDEzLjgxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbW1lbnRzX19saXN0LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiAyMi42MiU7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3Qge1xuICAgICAgd2lkdGg6IDc3LjM4JTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUuNDM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5jb21tZW50IC5jb21tZW50IC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQge1xuICAgICAgcGFkZGluZzogMy4yNXJlbSAyLjM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2NvbW1lbnQtbGVmdC13cmFwIHtcbiAgICAgIHdpZHRoOiAxMS4yNXJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0td3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS10aXRsZSB7XG4gICAgICB3aWR0aDogMjIuNjIlOyB9XG4gICAgLmZsby1ibG9jay1jb21tZW50cyAuY29tbWVudC1yZXNwb25kIHtcbiAgICAgIHdpZHRoOiA3Ny4zOCU7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcC0tc21hbGwge1xuICAgICAgd2lkdGg6IDI3LjglO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41NjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcC0tc21hbGw6bm90KDpudGgtY2hpbGQoMykpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzLjk2ODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC13cmFwLS1iaWcge1xuICAgICAgd2lkdGg6IGNhbGMoNTUuNiUgKyAzLjk2ODc1cmVtKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMTg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2xpc3QgLmNvbW1lbnQtcmVzcG9uZCAuZmxvLWJsb2NrLWNvbW1lbnRzX19mb3JtLWZpZWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmZsby1ibG9jay1jb21tZW50c19fbGlzdCAuY29tbWVudC1yZXNwb25kIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtLXNtYWxsLCAuZmxvLWJsb2NrLWNvbW1lbnRzX19saXN0IC5jb21tZW50LXJlc3BvbmQgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS1maWVsZC0tYmlnIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHMgLmZvcm0tc3VibWl0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stY29tbWVudHMge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbW1lbnRzX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHMgLmNvbW1lbnQgLmNvbW1lbnQgLmZsby1ibG9jay1jb21tZW50c19fY29tbWVudCB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbW1lbnRzX19jb21tZW50LWxlZnQtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb21tZW50c19fZm9ybS10aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29tbWVudHNfX2Zvcm0tZmllbGQtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjU2MjVyZW0gIWltcG9ydGFudDsgfSB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGV4dC1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGl0bGUtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGV4dC1kZXNjcmlwdGlvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gZm9ybSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24tLWN1c3RvbSBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gdGV4dGFyZWEge1xuICAgICAgYm9yZGVyLXRvcDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLmFwcC1mbG8tZm9ybXMgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLmVycm9yIHtcbiAgICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24tLWN1c3RvbSBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLWZpZWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLWZpZWxkOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQgaW5wdXQsXG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQgbGFiZWwsXG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tZmllbGQgdGV4dGFyZWEge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1maWVsZCBsYWJlbCB7XG4gICAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXN1Ym1pdCB7XG4gICAgcGFkZGluZzogMS4xMjVyZW0gMy44NzVyZW0gMC44MTI1cmVtIDMuNjI1cmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDIuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGV4dC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDAgMnJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19kZWNvcmF0aXZlLWljb24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC42ODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX3RpdGxlLXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX190ZXh0LWRlc2NyaXB0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogNi4yNXJlbSA4LjE4NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fdGV4dC1zZWN0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjE4NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX190aXRsZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMV9fc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xX19mb3JtLXNlY3Rpb24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX190aXRsZS1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX3RpdGxlLXNlY3Rpb24gLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybS1pbnB1dCB7XG4gICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19oZWFkZXItYXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLXNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIGZvcm0ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5hcHAtZmxvLWZvcm1zIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSkge1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLXNlY3Rpb24tLWN1c3RvbSBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uLS1jdXN0b20gdGV4dGFyZWEge1xuICAgICAgICBib3JkZXItdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLmVycm9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgICAgICBjb2xvcjogcmVkICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2ZpZWxkcy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1maWVsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW0gIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIGlucHV0LFxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIGxhYmVsLFxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19mb3JtLWZpZWxkIHRleHRhcmVhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc3VibWl0IHtcbiAgICBwYWRkaW5nOiAxLjEyNXJlbSAzLjg3NXJlbSAwLjgxMjVyZW0gMy42MjVyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogMi42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yLS1oZWFkZXItaXMtdmlzaWJsZSAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fdGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEzLjMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMjpub3QoLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTItLWhlYWRlci1pcy12aXNpYmxlKSAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fdGl0bGUtc2VjdGlvbiB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX190aXRsZSB7XG4gICAgICBwYWRkaW5nOiAwIDE0cmVtOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbiB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gMjhyZW0pO1xuICAgICAgbWFyZ2luOiAwIDE0cmVtO1xuICAgICAgcGFkZGluZzogNC44MTI1cmVtIDMuNzVyZW0gNS4wNjI1cmVtIDMuNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtNy4wNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uLS1jdXN0b20gLmxlZnRfY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi4wMzEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5yaWdodF9jb2x1bW4ge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMDMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICAgICAgcGFkZGluZzogMCAxMS42MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29sdW1uIHtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICA0LjA2MjVyZW0pO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19jb2x1bW4tLWxlZnQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjAzMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29sdW1uLS1yaWdodCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi4wMzEyNXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29sdW1uLS1yaWdodCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1maWVsZCB7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tc3VibWl0IHtcbiAgICAgIG1hcmdpbjogNS4wNjI1cmVtIGF1dG8gMCBhdXRvO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29udGFjdC1pbmZvIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyOHJlbSk7XG4gICAgICBtYXJnaW46IDAgMTRyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fY29udGFjdC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2NvbnRhY3QtZGV0YWlsczphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2NvbnRhY3QtZW1haWwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmctbGVmdDogMS41NjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX190aXRsZSB7XG4gICAgICBtYXJnaW46IGF1dG87IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zZWN0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19maWVsZHMtd3JhcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2Zvcm0tZmllbGQsIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yIGlucHV0LCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMiB0ZXh0YXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luOiAxLjg3NXJlbSBhdXRvIDEuODc1cmVtIGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yX19jb250YWN0LWluZm8ge1xuICAgICAgbWFyZ2luOiAyLjAzMTI1cmVtIGF1dG8gMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX2NvbnRhY3QtZGV0YWlsczphZnRlciB7XG4gICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIGF1dG87IH0gfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMl9fdGl0bGUtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX3RpdGxlLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTJfX3RpdGxlLXNlY3Rpb24ge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLXNlY3Rpb24tLWN1c3RvbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1zZWN0aW9uLS1jdXN0b20gZm9ybSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5hcHAtZmxvLWZvcm1zIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSkge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1zZWN0aW9uLS1jdXN0b20gaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSxcbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIHRleHRhcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tc2VjdGlvbi0tY3VzdG9tIC5lcnJvciB7XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIGNvbG9yOiByZWQgIWltcG9ydGFudDsgfVxuXG4uZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1maWVsZCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1maWVsZDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tZmllbGQgbGFiZWwsIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLWZpZWxkIGlucHV0LCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1maWVsZCB0ZXh0YXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLXN1Ym1pdCB7XG4gIHBhZGRpbmc6IDEuMTI1cmVtIDMuODc1cmVtIDAuODEyNXJlbSAzLjYyNXJlbSAhaW1wb3J0YW50O1xuICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gIG1pbi1oZWlnaHQ6IDIuNjI1cmVtOyB9XG5cbi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19jb250YWN0LWRldGFpbHMge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLXNlY3Rpb24ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0NS43NXJlbSk7XG4gICAgbWFyZ2luOiAwIDIyLjg3NXJlbTtcbiAgICBwYWRkaW5nOiA0cmVtIDkuNTYyNXJlbSA0cmVtIDkuNTYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1zdWJtaXQge1xuICAgIG1hcmdpbjogMi41cmVtIGF1dG8gMCBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19jb250YWN0LWluZm8ge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAyOHJlbSk7XG4gICAgbWFyZ2luOiAwIDE0cmVtO1xuICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fZm9ybS1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjAzMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zX19mb3JtLWZpZWxkLCAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMyBsYWJlbCwgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTMgaW5wdXQsIC5mbG8tYmxvY2stY29udGFjdC1ibG9jay0zIHRleHRhcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTNfX2Zvcm0tc3VibWl0IHtcbiAgICBtYXJnaW46IDEuODc1cmVtIGF1dG8gMS44NzVyZW0gYXV0bztcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM19fY29udGFjdC1pbmZvIHtcbiAgICBtYXJnaW46IDIuMDMxMjVyZW0gYXV0byAwIGF1dG87XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtMyB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fY29sdW1uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fZGVjb3JhdGl2ZS1lbGVtZW50cyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19kZWNvcmF0aXZlLWljb24tLXdpdGgtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7IH1cbiAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fZGVjb3JhdGl2ZS1pY29uLS1uby1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgIG9wYWNpdHk6IDAuMTsgfVxuICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19kZWNvcmF0aXZlLW51bWJlci0td2l0aC1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zIHtcbiAgICAgIHBhZGRpbmc6IDAgNy42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stY29udGVudC1pbi1jb2x1bW5zLTNfX2NvbHVtbiB7XG4gICAgICAgIHdpZHRoOiAxNi41cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNy43NXJlbTtcbiAgICAgICAgYm94LXNpemluZzogY29udGVudC1ib3g7IH1cbiAgICAgICAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgcGFkZGluZzogMCAzLjE4NzVyZW07XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19jb2x1bW46bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMuMTg3NXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19jb2x1bW46bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMy4xODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zX19jb2x1bW4tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stY29udGVudC1pbi1jb2x1bW5zLTMge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtM19fY29sdW1uLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stZGVsaW1pdGVyLTFfX2RlbGltaXRlci13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stZGVsaW1pdGVyLTFfX2RlbGltaXRlci1saW5lIHtcbiAgaGVpZ2h0OiAxcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mbG8tYmxvY2stZGVsaW1pdGVyLTFfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwLjY4ZW0gMC41MmVtO1xuICBtYXJnaW46IDAgMC42OGVtO1xuICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gIGxldHRlci1zcGFjaW5nOiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1kZWxpbWl0ZXItMV9fZGVjb3JhdGl2ZS1sZXR0ZXI6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIiBcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDAuMjVlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDAuNWVtKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZDsgfVxuICAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWNvcmF0aXZlLWxldHRlcjphZnRlciB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwLjIyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSAtIDAuNDRlbSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkOyB9XG5cbi5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3RpdGxlLWFyZWEge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cblxuLmZsby1ibG9jay1mYXEtYmxvY2stMV9fdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDI7IH1cblxuLmZsby1ibG9jay1mYXEtYmxvY2stMV9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxO1xuICBsZWZ0OiA1MCU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4uZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWEge1xuICAvKi1BZGQgYm90dG9tIG1hcmdpbiB0byBhbGwgY2hpbGRyZW4gZXhjZXB0IGZvciB0aGUgbGFzdCAyLSovXG4gIG1hcmdpbi1ib3R0b206IDIuNzVyZW07IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMV9fc2luZ2xlLXFhOm50aC1sYXN0LWNoaWxkKDEpLCAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWE6bnRoLWxhc3QtY2hpbGQoMikge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmZsby1ibG9jay1mYXEtYmxvY2stMV9fcXVlc3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX2Fuc3dlciBwOmxhc3QtY2hpbGQge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMV9fZmFxLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAyLjVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWEge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19zaW5nbGUtcWE6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAzLjE4NzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2LjM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3NpbmdsZS1xYTpudGgtY2hpbGQoZXZlbikge1xuICAgICAgcGFkZGluZy1sZWZ0OiA2LjM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDMuMTg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0xX19kaXZpZGVyIHtcbiAgICB3aWR0aDogMXB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX3NpbmdsZS1xYTpudGgtbGFzdC1jaGlsZCgxKSwgLmZsby1ibG9jay1mYXEtYmxvY2stMV9fc2luZ2xlLXFhOm50aC1sYXN0LWNoaWxkKDIpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTFfX2RpdmlkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uZmxvLWJsb2NrLWZhcS1ibG9jay0yIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMiB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2stZmFxLWJsb2NrLTIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9faW1hZ2Utb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX190aXRsZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19mYXEtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fZmFxLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19mYXEtc2xpZGUtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fYW5zd2VyIHA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19uYXZpZ2F0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1jb3VudGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19jdXJyZW50LWl0ZW0tbnVtYmVyIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX251bWJlci1kaXZpZGVyIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIG1hcmdpbjogMC4xODc1cmVtIDA7IH1cbiAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fdG90YWwtaXRlbS1udW1iZXIge1xuICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogNS40Mzc1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiA2LjM3NXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDYuMzc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNy4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fcXVlc3Rpb25zLXdyYXAge1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDM0LjMxMjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogOC42ODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19zaW5nbGUtcWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19xdWVzdGlvbiB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMS41OTM3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fYW5zd2VyIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZzogMCAxLjU5Mzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19uYXZpZ2F0aW9uIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIGJvdHRvbTogMy4xODc1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX25hdmlnYXRpb24tLWhpZGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1jb3VudGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDguNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX251bWJlci1kaXZpZGVyIHtcbiAgICAgICAgd2lkdGg6IDExLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19hcnJvdyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19hcnJvdzpob3ZlciB7XG4gICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ltYWdlLW92ZXJsYXktLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19mYXEtc2xpZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1zbGlkZS1jb250ZW50IHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fcXVlc3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZhcS1ibG9jay0yX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIC5mbG8tYmxvY2stZmFxLWJsb2NrLTJfX2ZhcS1jb3VudGVyIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fbnVtYmVyLWRpdmlkZXIge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1ibG9jay1mYXEtYmxvY2stMl9fYXJyb3cge1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX3ByZXRpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMl9fdGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX3RleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2ltYWdlLWxpbmstYXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMl9faW1hZ2Uge1xuICB3aWR0aDogMTEuMjVyZW07IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2xpbmstZGVzY3JpcHRpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMl9fbGluay1kZXNjcmlwdGlvbjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2J1dHRvbiB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogMC40Mzc1cmVtIDEuMTI1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTIge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDYuMzc1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMl9fdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2ltYWdlLWxpbmstYXJlYSB7XG4gICAgICBtYXJnaW4tbGVmdDogNS42MjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2ltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTYuODc1cmVtO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTIge1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX3RleHQtYXJlYTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJfX2ltYWdlIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEuMjVyZW0gYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0yX19saW5rLXdyYXAge1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstM19faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTNfX3RleHQtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX190aXRsZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMi41NjI1cmVtIDAgMy4xMjVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstM19fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogLTEuMzEyNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgbWF4LXdpZHRoOiAycmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zIHtcbiAgICAgIHBhZGRpbmc6IDAgNy42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX19pbWFnZS13cmFwIHtcbiAgICAgICAgd2lkdGg6IDM5LjM3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzOS42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX190ZXh0LXdyYXAge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiA0LjYyNXJlbSAwO1xuICAgICAgICBwYWRkaW5nOiAwIDlyZW0gMCA5cmVtO1xuICAgICAgICB3aWR0aDogMjcuNXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00LjU2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX19zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNDM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX19pbWFnZS13cmFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTkuNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zX190ZXh0LXdyYXAge1xuICAgICAgICBtYXJnaW46IC0zLjc1cmVtIDEuMjVyZW0gMCAxLjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstM19fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgdG9wOiAtMC43NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTNfX3N1YnRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX2xpbmsge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fdGV4dC13cmFwIHtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fdGV4dC13cmFwIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay1wcmV0aXRsZSxcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX190ZXh0LXdyYXAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX19saW5rLXRpdGxlLFxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX3RleHQtd3JhcCAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX2xpbmstdGV4dCB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTMgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX19saW5rLWJ1dHRvbiB7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAxMy44NzVyZW07XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluayB7XG4gICAgICBwYWRkaW5nOiAzLjgxMjVyZW0gMy43NXJlbTtcbiAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuNjU2MjVyZW0pO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX19saW5rLS1sZWZ0IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMS42NTYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay0tcmlnaHQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuNjU2MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX3RleHQtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogNy4xMjVyZW0gMCA0LjkzNzVyZW0gMDsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay1wcmV0aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX2xpbmstdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4wNjI1cmVtO1xuICAgICAgcGFkZGluZzogMCAzLjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgNC44MTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtMyB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluayB7XG4gICAgICBwYWRkaW5nOiAxLjkzNzVyZW0gMS44NzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX2xpbmstLWxlZnQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTNfX3RleHQtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcGFkZGluZzogMy43NXJlbSAwIDIuNTYyNXJlbSAwOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy0zX19saW5rLXByZXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNDM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM19fbGluay10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTRfX3RleHQtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19jb2x1bW4tLW5hdmlnYXRpb24tY29sdW1uIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fYXJyb3ctbGVmdCB7XG4gIG1hcmdpbi1yaWdodDogMi41NjI1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19jb2x1bW4tLW5hdmlnYXRpb24tY29sdW1uIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fYXJyb3ctcmlnaHQge1xuICBtYXJnaW4tbGVmdDogMi41NjI1cmVtO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19zbGlkZS1saW5rLWltYWdlIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTRfX3NsaWRlLWxpbmstdGl0bGUge1xuICBtaW4td2lkdGg6IDkuMzc1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00IHtcbiAgICBwYWRkaW5nOiAwIDcuNjI1cmVtO1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMTIuNzVyZW0pOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X190ZXh0LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKyA0LjM3NXJlbSk7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS10aXRsZS1jb2x1bW4ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDIuMTg3NXJlbTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1taWRkbGUtY29sdW1uIHtcbiAgICAgICAgbWFyZ2luOiAwIDIuMTg3NXJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uX19taWRkbGUtbGFiZWwge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyLjE4NzVyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbltkYXRhLXNsaWRlcy1jb3VudD1cIjFcIl0sIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbltkYXRhLXNsaWRlcy1jb3VudD1cIjJcIl0sIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbltkYXRhLXNsaWRlcy1jb3VudD1cIjNcIl0ge1xuICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19zbGlkZS1saW5rIHtcbiAgICAgIHBhZGRpbmc6IDEuMTI1cmVtIDEuMTI1cmVtIDIuNjI1cmVtIDEuMTI1cmVtO1xuICAgICAgd2lkdGg6IDE5LjE4NzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDIuMTg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGUtbGluay1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDIyLjYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGUtbGluay10aXRsZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC0xLjE4NzVyZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X190ZXh0LXdyYXAge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTRfX2NvbHVtbi0tdGl0bGUtY29sdW1uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTRfX2NvbHVtbi0tbWlkZGxlLWNvbHVtbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19jb2x1bW4tLW5hdmlnYXRpb24tY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fY29sdW1uLS1uYXZpZ2F0aW9uLWNvbHVtbltkYXRhLXNsaWRlcy1jb3VudD1cIjFcIl0ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGVyIHtcbiAgICB3aWR0aDogY2FsYygxMDB2dyAtIDQuMDYyNXJlbSk7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGUtbGluayB7XG4gICAgd2lkdGg6IGNhbGMoMTAwdncgLSAxLjI1cmVtKTtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC45Mzc1cmVtIDEuODc1cmVtIDAuOTM3NXJlbTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtNF9fc2xpZGUtbGluazpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19zbGlkZS1saW5rLWltYWdlIHtcbiAgICBoZWlnaHQ6IDIyLjYyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00X19zbGlkZS1saW5rLXRpdGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMS4xODc1cmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xIHtcbiAgei1pbmRleDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMSB7XG4gICAgICBtYXJnaW46IDAgNy42MjVyZW07XG4gICAgICBwYWRkaW5nOiA0LjA5Mzc1cmVtIDMuMTg3NXJlbSA1LjAzMTI1cmVtIDMuMTg3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fZmVhdHVyZWQtc2xpZGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgIGhlaWdodDogMzcuMDYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fbGVmdC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDI3LjMxMjVyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19yaWdodC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB3aWR0aDogMzEuNzVyZW07XG4gICAgICAgIGhlaWdodDogMTAwJTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19yaWdodC13cmFwLS1uby1kZWNvcmF0aW9uIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMTEuODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDMuNTYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDguNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX3RpdGxlcy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IC01MCU7XG4gICAgICAgIGxlZnQ6IDQwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAwLjA1OyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19wcmUtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2Fycm93cyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiA3LjY4NzVyZW07XG4gICAgICAgIHJpZ2h0OiBjYWxjKDUwJSAtIDcuNjI1cmVtKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYyg0MCUgKyA3LjYyNXJlbSkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19hcnJvdyB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19hcnJvdzpub3QoLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fYXJyb3ctLXNlcGFyYXRvcikge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19hcnJvdy0tbGVmdCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjgxMjVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fYXJyb3ctLXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMi4yNXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19hcnJvdy0tc2VwYXJhdG9yIHtcbiAgICAgICAgICBoZWlnaHQ6IDIuODc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTBkZWcpOyB9XG4gICAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2Fycm93LS1wcmV2IHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDNyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fYXJyb3ctLW5leHQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAyLjU2MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3OyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19sZWZ0LXdyYXAge1xuICAgICAgICBoZWlnaHQ6IDE4LjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fcmlnaHQtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICBwYWRkaW5nLXRvcDogMS41NjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX3RpdGxlcy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDQwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICBmb250LXNpemU6IDYuNXJlbSAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xX19wcmUtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMV9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTFfX2Fycm93cyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgb3BhY2l0eTogMC4yNDsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19zbGlkZS1pbWFnZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fYXJyb3dzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19hcnJvdyB7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2Fycm93LS1wcmV2IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuOTM3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiA3LjkzNzVyZW0gMCA5LjEyNXJlbSAwOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fdGV4dC1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxMy44NzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQuNDM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDAlO1xuICAgICAgdG9wOiAwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MCUpOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fdGV4dCB7XG4gICAgICB3aWR0aDogMTcuNDM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX3NsaWRlcyB7XG4gICAgICB3aWR0aDogNTMuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19zbGlkZS1pbWFnZSB7XG4gICAgICBoZWlnaHQ6IDM4Ljg3NXJlbTtcbiAgICAgIHdpZHRoOiAyNi4wNjI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2Fycm93cyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNi40Mzc1cmVtO1xuICAgICAgYm90dG9tOiA0LjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2Fycm93IHtcbiAgICAgIG9wYWNpdHk6IDAuMjQ7XG4gICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19hcnJvdzpob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX190ZXh0LWFyZWEge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0yX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fc2xpZGVzIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMl9fc2xpZGUtaW1hZ2Uge1xuICAgICAgaGVpZ2h0OiAyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJfX2Fycm93cyB7XG4gICAgICBtYXJnaW46IDEuODc1cmVtIDA7IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X190aXRsZS1hcmVhLXdyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fZGVjb3JhdGlvbi13cmFwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX2RlY29yYXRpb24taWNvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbGVmdDogNTAlO1xuICB0b3A6IDQwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBvcGFjaXR5OiAwLjI7IH1cblxuLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fc2xpZGUtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLXRpdGxlLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX2Fycm93IHtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgb3V0bGluZTogbm9uZTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19hcnJvdy0tbGVmdCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAyLjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X190aXRsZS1hcmVhLXdyYXAge1xuICAgIHBhZGRpbmc6IDAgMTRyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fZGVjb3JhdGlvbi13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogOC4xODc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjQzNzVyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgNy42MjVyZW0gMTIuNjI1cmVtIDcuNjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlci13cmFwIHtcbiAgICBwYWRkaW5nOiAwIDE0cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX2ZlYXR1cmVkLXNsaWRlciB7XG4gICAgcGFkZGluZzogMy43NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMy44MTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDM2LjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLXRpdGxlLXdyYXAge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luLXRvcDogMi41OTM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19zbGlkZS10aXRsZSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19hcnJvd3Mge1xuICAgIHdpZHRoOiA1MCU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fdGl0bGUtYXJlYS13cmFwIHtcbiAgICBwYWRkaW5nOiAwIDIuMDMxMjVyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fZGVjb3JhdGlvbi13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogNC4wNjI1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3RpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDYuMjVyZW07IH1cbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fc2xpZGVyLXdyYXAge1xuICAgIHBhZGRpbmc6IDAgMi4wMzEyNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19mZWF0dXJlZC1zbGlkZXIge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgbWFyZ2luLXRvcDogLTMuMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE4LjEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19zbGlkZS10aXRsZS13cmFwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX3NsaWRlLXRpdGxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdfX2Fycm93cyB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19zbGlkZS1pbWFnZSB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctN19fc2xpZGUtaW1hZ2Uge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy03X19zbGlkZS1pbWFnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMTpob3ZlciAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX190aXRsZS1hcmVhLCAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xLS1pcy1mb2N1c2VkIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX3RpdGxlLWFyZWEge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMTpob3ZlciAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24ge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9faW1hZ2Utd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9faW1hZ2Utd3JhcC5zbGljay1jdXJyZW50IC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xLS10aXRsZS1hcmVhLXZpc2libGUgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEtLXRpdGxlLWFyZWEtaW52aXNpYmxlIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX3RpdGxlLWFyZWEge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHotaW5kZXg6IDE7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fdGl0bGUtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuOTM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjMzOyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjE4NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93IHtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAzLjEyNXJlbTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDMuMTI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAgICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3ctLXByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3ctLW5leHQge1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTFfX2Fycm93IHtcbiAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDJweCB3aGl0ZTsgfVxuICAgICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMV9fYXJyb3ctLXByZXYge1xuICAgICAgICBsZWZ0OiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xX19hcnJvdy0tbmV4dCB7XG4gICAgICAgIHJpZ2h0OiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctMl9faW1hZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yX19pbWFnZS5sYXp5IHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTJfX2ltYWdlLXRodW1iIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yX19pbWFnZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTJfX2ltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX2ltYWdlLXdyYXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19faW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fYXJyb3cge1xuICBmb250LXNpemU6IDEuMjVyZW07IH1cblxuLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19faW1hZ2VzLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogNjIuNXJlbTtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19pbWFnZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19hcnJvdyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX2Fycm93LS1wcmV2IHtcbiAgICAgIGxlZnQ6IC02LjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fYXJyb3ctLW5leHQge1xuICAgICAgcmlnaHQ6IC02LjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX3RodW1icyB7XG4gICAgd2lkdGg6IDYyLjVyZW07XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWItd3JhcCB7XG4gICAgb3BhY2l0eTogMC4yO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWItd3JhcC5zbGljay1jdXJyZW50LCAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX190aHVtYi13cmFwOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWIge1xuICAgIHdpZHRoOiA4LjkwNjI1cmVtO1xuICAgIGhlaWdodDogNS44NTkzOHJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19pbWFnZXMtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTNfX2ltYWdlcyB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19faW1hZ2Uge1xuICAgIGhlaWdodDogMTguNzVyZW07IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fYXJyb3cge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IGNhbGMoMTAwJSArIDEuNTYyNXJlbSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7IH1cbiAgICAuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zX19hcnJvdy0tcHJldiB7XG4gICAgICBsZWZ0OiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fYXJyb3ctLW5leHQge1xuICAgICAgcmlnaHQ6IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1nYWxsZXJ5LXZpZXctM19fdGh1bWJzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX19pbWFnZS13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX19pbWFnZS1vdmVybGF5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlOyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faGVhZGVyLWFyZWEge1xuICB3aWR0aDogMTAwJTtcbiAgZmxleC1ncm93OiAwOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgei1pbmRleDogMTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0xX190aXRsZS1jZW50ZXIge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDIxLjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX3RpdGxlLWxlZnQge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDQzLjI1cmVtIDMuMTI1cmVtIDJyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX3RpdGxlLXJpZ2h0IHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAycmVtIDMuMTI1cmVtIDQzLjI1cmVtO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9fdGl0bGUge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWJsb2NrLTFfX2ltYWdlLXdyYXAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL25vLWltYWdlLmpwZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMiB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLXNtYWxsKTsgfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbWVkaXVtKTsgfSB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9faW1hZ2Utb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RleHQtYXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RpdGxlcy13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RpdGxlcy13cmFwOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX2RlY29yYXRpdmUtaW1hZ2U6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fdGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC40Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fdGV4dC1wYXJhZ3JhcGg6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fYnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDEuODc1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX190ZXh0LWFyZWEge1xuICAgICAgICB3aWR0aDogMzMuNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fYnV0dG9uLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjkzNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fYnV0dG9uOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIge1xuICAgICAgbWluLWhlaWdodDogMjVyZW07XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS10ZXh0LXRvcCwgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC1ib3R0b20ge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtdG9wIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWltZy13cmFwLCAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS10ZXh0LWJvdHRvbSAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS1pbWctd3JhcCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS10ZXh0LXRvcCAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RleHQtYXJlYSB7XG4gICAgICAgIG9yZGVyOiAtMTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC10b3AgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtaW1nLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjU2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtYm90dG9tIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWltZy13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX21vYmlsZS1iZy13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fdGV4dC1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fdGl0bGVzLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3ZlcnRpY2FsLWxpbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19idXR0b24td3JhcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSAobWF4LXdpZHRoOiA3NjdweCkgYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC10b3AsIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtYm90dG9tIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtdGV4dC10b3AgLmZsby1ibG9jay1pbWFnZS1ibG9jay0yX19tb2JpbGUtaW1nLXdyYXAsIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLXRleHQtYm90dG9tIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stMl9fbW9iaWxlLWltZy13cmFwIHtcbiAgICAgICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1ibG9jay0zIHtcbiAgLyogU1RBUlQ6IEJ1dHRvbiBUeXBlIEEgKi9cbiAgLyogRU5EOiBCdXR0b24gVHlwZSBBICovXG4gIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBCICovXG4gIC8qIEVORDogQnV0dG9uIFR5cGUgQiAqLyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fdGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zX19zdWJ0aXRsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zX19idXR0b25zLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fYnV0dG9uIHtcbiAgICBwYWRkaW5nOiAwLjY4NzVyZW0gMS44NzVyZW07XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zX19idXR0b24tbGlua3Mtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fYnV0dG9uLWxpbmsge1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW0gMS41NjI1cmVtIDEuODc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX2J1dHRvbi1saW5rOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IGdyb292ZTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBncm9vdmU7IH1cbiAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX2J1dHRvbi1saW5rOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDAuNDM3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcmlnaHQ6IDIuMTg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgLyogU1RBUlQ6IEJ1dHRvbiBUeXBlIEEgKi9cbiAgICAgIC8qIEVORDogQnV0dG9uIFR5cGUgQSAqL1xuICAgICAgLyogU1RBUlQ6IEJ1dHRvbiBUeXBlIEIgKi9cbiAgICAgIC8qIEVORDogQnV0dG9uIFR5cGUgQiAqLyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX2ltYWdlIHtcbiAgICAgICAgd2lkdGg6IDM0LjM3NXJlbTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fdGV4dC1hcmVhIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gOC40Mzc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zX190ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMi44MTI1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fdGV4dDpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjE4NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fYnV0dG9uLS1wcmltYXJ5IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zIHtcbiAgICAgIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBBICovXG4gICAgICAvKiBFTkQ6IEJ1dHRvbiBUeXBlIEEgKi9cbiAgICAgIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBCICovXG4gICAgICAvKiBFTkQ6IEJ1dHRvbiBUeXBlIEIgKi8gfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1ibG9jay0zID4gKjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMS41NjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX3RleHQ6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTNfX2J1dHRvbnMtd3JhcCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtYmxvY2stM19fYnV0dG9uLS1wcmltYXJ5Om5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pbWFnZS1saW5rcy0yIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmsge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmstaW1hZ2Uge1xuICAgIGhlaWdodDogMjFyZW07XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMiB7XG4gICAgICBwYWRkaW5nOiAwIDcuNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmsge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAgIHBhZGRpbmc6IDMuMTI1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9fbGluay0taGFzLXVybCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLS1oYXMtdXJsOmhvdmVyIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9fbGluay1pbWFnZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbms6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyArIDMuMTI1cmVtKTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbms6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMHB4OyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9fbGluazpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLWltYWdlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNTYyNXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJfX2xpbmstaW1hZ2UtLWhhcy11cmwge1xuICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtMl9fbGluay1wcmV0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLS1oYXMtdXJsIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICB3aWR0aDogMjAlO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLWltYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy0yX19saW5rLXByZXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTRfX2NvbHVtbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGhlaWdodDogMTguNTYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTRfX2xpbmstdGl0bGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgYm90dG9tOiAxLjc1cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy00X19jb2x1bW4ge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAzLjEyNXJlbSk7XG4gICAgICBoZWlnaHQ6IDE4LjU2MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNF9fY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1hcmdpbjogMCAzLjEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy00X19jb2x1bW46aG92ZXIgLmZsby1ibG9jay1pbWFnZS1saW5rcy00X19saW5rLXRpdGxlIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNF9fbGluay10aXRsZSB7XG4gICAgICBvcGFjaXR5OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy00IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNF9fY29sdW1uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTVfX2ltYWdlLWxpbmsge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01IHtcbiAgICBwYWRkaW5nOiAwIDYuMzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19saW5rcy13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTVfX2ltYWdlLWxpbmsge1xuICAgICAgaGVpZ2h0OiAxOS42ODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19pbWFnZS1saW5rOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tbGVmdDogMy4xMjVyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtIDEuNTYyNXJlbSAtIDAuMXJlbSk7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNV9faW1hZ2UtbGluazpub3QoOm50aC1jaGlsZCgybikpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gMS41NjI1cmVtIC0gMC4xcmVtKTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19pbWFnZS1saW5rOmhvdmVyIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNV9fYmFja2dyb3VuZC13cmFwIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNV9fYmFja2dyb3VuZC13cmFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNV9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi44MTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19ib3R0b20tbGFiZWwge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAyLjE4NzVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19saW5rcy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19pbWFnZS1saW5rIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDE5LjY4NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19iYWNrZ3JvdW5kLXdyYXAge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1pbWFnZS1saW5rcy01X19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTVfX2JvdHRvbS1sYWJlbCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBib3R0b206IDMuMzEyNXJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNl9fbGluay1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxOC41NjI1cmVtO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYge1xuICAgICAgcGFkZGluZzogMCA2LjM3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19pbWFnZS1saW5rIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpOyB9XG4gICAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNl9faW1hZ2UtbGluazpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMi44MTI1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTZfX3RleHQtd3JhcCB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDIuNXJlbSAxLjg3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19saW5rLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC40Mzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTZfX2xpbmstc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTYge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19pbWFnZS1saW5rIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19pbWFnZS1saW5rOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X190ZXh0LXdyYXAge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDEuMjVyZW0gMS44NzVyZW0gMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy02X19saW5rLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtNl9fbGluay1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWltYWdlLWxpbmtzLTdfX2ltYWdlLWxpbmstLXRleHQtYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1pbi1oZWlnaHQ6IDI1cmVtOyB9XG5cbi5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19fYnV0dG9uIHtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgcGFkZGluZzogMC42ODc1cmVtIDEuODc1cmVtO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy03X19pbWFnZS1saW5rIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19faW1hZ2UtbGluay0tdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMy43NXJlbSA3LjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19fcHJldGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzLjc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pbWFnZS1saW5rcy03X190aXRsZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19fYnV0dG9uLXdyYXAge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAzLjc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19faW1hZ2UtbGluay0tdGV4dC1hcmVhIHtcbiAgICBwYWRkaW5nOiAyLjE4NzVyZW0gMy43NXJlbTsgfVxuICAuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTdfX3ByZXRpdGxlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5mbG8tYmxvY2staW1hZ2UtbGlua3MtN19fc3VidGl0bGU6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrX19pbWFnZS13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2ltYWdlLXdyYXAge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoLi4vaW1nL25vLWltYWdlLmpwZyk7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2sgLmZsby1ibG9jay1pbnRyby1ibG9ja19faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2sgLmZsby1ibG9jay1pbnRyby1ibG9ja19faW1hZ2Utd3JhcCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tYmxvY2staW50cm8tYmxvY2tfX2ltYWdlLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuLmZsby1ibG9jay1pbnRyby1ibG9ja19faGVhZGVyLWFyZWEge1xuICB3aWR0aDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19oZWFkZXItYXJlYSBoZWFkZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cblxuLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0ID4gKjpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrX19hY3Rpb25zLXdyYXAge1xuICBmbGV4LXNocmluazogMDsgfVxuXG4uZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIHBhZGRpbmc6IDEwcHg7XG4gIG1pbi13aWR0aDogMTEuMjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8tYmxvY2staW50cm8tYmxvY2tfX2ljb24ge1xuICBmb250LXNpemU6IDdweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2hlYWRlci1hcmVhIGhlYWRlciAuZmxvLWhlYWRlciB7XG4gICAgcGFkZGluZzogMy43NXJlbSA1cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX3RleHQtYXJlYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmc6IDAgNi4yNXJlbSA2LjI1cmVtIDYuMjVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGl0bGUge1xuICAgIG1heC13aWR0aDogMzAuOTM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0IHtcbiAgICBtYXgtd2lkdGg6IDI4LjEyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjQzNzVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9jay5mbG8tYmxvY2staW50cm8tYmxvY2stLXR5cGUtYSAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1hIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX3RleHQtYXJlYS5mbG8tYmxvY2staW50cm8tYmxvY2tfX2J1dHRvbnMtcG9zaXRpb24tLWJlbG93IHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgICAgIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWEgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGV4dC1hcmVhLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9ucy1wb3NpdGlvbi0tYmVsb3cgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYWN0aW9ucy13cmFwOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWEgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tbGVmdDogMS44NzVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9jay5mbG8tYmxvY2staW50cm8tYmxvY2stLXR5cGUtYiAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1iIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9jay5mbG8tYmxvY2staW50cm8tYmxvY2stLXR5cGUtYyAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDYuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDIuODEyNXJlbSAyLjgxMjVyZW0gMy4xMjVyZW0gMi44MTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b24gLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2FjdGlvbnMtd3JhcCAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19idXR0b24gLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uLXRpdGxlOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWMgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYWN0aW9ucy13cmFwIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2J1dHRvbiAuZmxvLWJsb2NrLWludHJvLWJsb2NrX19pY29uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2hlYWRlci1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2hlYWRlci1hcmVhIGhlYWRlcjpub3QoLmlzLXN0aWNreSkgLmZsby1oZWFkZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYWN0aW9ucy13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2J1dHRvbjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWMgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uLXByZXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2J1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2staW50cm8tYmxvY2suZmxvLWJsb2NrLWludHJvLWJsb2NrLS10eXBlLWMgLmZsby1ibG9jay1pbnRyby1ibG9ja19fYnV0dG9uLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrLmZsby1ibG9jay1pbnRyby1ibG9jay0tdHlwZS1jIC5mbG8tYmxvY2staW50cm8tYmxvY2tfX2ljb24ge1xuICAgIHBhZGRpbmctbGVmdDogMS44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjRlbSkge1xuICAuZmxvLWJsb2NrLWludHJvLWJsb2NrX190ZXh0LWFyZWEge1xuICAgIHBhZGRpbmc6IDMuMzEyNXJlbSA2LjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2NvbnRlbnQtYXJlYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwIGF1dG87IH1cblxuLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwJTtcbiAgdG9wOiAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTMwJSwgLTM1JSk7IH1cblxuLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2JhY2stbGluayB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uZmxvLWJsb2NrLWl0ZW0tY29udGVudF9fc2hhcmUtbGlua3Mge1xuICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19jb250ZW50LWFyZWEge1xuICAgIG1heC13aWR0aDogOTIlOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgb3BhY2l0eTogMC4yOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19zaWRlLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogMjguNDM3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19iYWNrLWxpbmsge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX3NoYXJlLWxpbmtzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19zaGFyZS1saW5rcyBhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX3NoYXJlLWxpbmtzIGE6bm90KDpsYXN0LWNoaWxkKTphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMi41NjI1cmVtO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICBtYXJnaW46IDAuNjg3NXJlbSAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19jb250ZW50LWFyZWEge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19zaWRlLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1pdGVtLWNvbnRlbnRfX2JhY2stbGluayB7XG4gICAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9XG4gIC5mbG8tYmxvY2staXRlbS1jb250ZW50X19zaGFyZS1saW5rcyBhLFxuICAuZmxvLWJsb2NrLWl0ZW0tY29udGVudF9fc2hhcmUtbGlua3Mgc3BhbiB7XG4gICAgbWFyZ2luOiAwIDAuNjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX2xpbmsge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX19saW5rLS1wcmV2IGkge1xuICAgIG1hcmdpbi1yaWdodDogMS42ODc1cmVtOyB9XG4gIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX19saW5rLS1uZXh0IHtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX2xpbmstLW5leHQgaSB7XG4gICAgICBtYXJnaW4tbGVmdDogMS42ODc1cmVtOyB9XG5cbi5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX190aHVtYiB7XG4gIHdpZHRoOiAxMnJlbTtcbiAgaGVpZ2h0OiAxMnJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbl9fdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuMjVyZW0gNC42ODc1cmVtOyB9XG5cbi5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMjVyZW07IH1cblxuLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX2JvdHRvbS1sYWJlbCB7XG4gIG1hcmdpbi10b3A6IDEuNzVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX2JvdHRvbS1sYWJlbCBpIHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX19saW5rIHtcbiAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgIC5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uX19saW5rLS1wcmV2IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbl9fdGh1bWIge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25fX3RleHQtYXJlYSB7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tcGFnaW5hdGlvbl9fYm90dG9tLWxhYmVsIGkge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5mbG8tYmxvY2staXRlbS10aXRsZS0yX190aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9XG5cbi5mbG8tYmxvY2staXRlbS10aXRsZS0yX19zaGFyZS1saW5rcyBhIHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlLTJfX3NoYXJlLWxpbmtzIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjM3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZS0yIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0yX19sZWZ0LXNpZGUge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZS0yX19yaWdodC1zaWRlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZS0yIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMl9fbGVmdC1zaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9IH1cblxuLmZsby1ibG9jay1pdGVtLXRpdGxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZV9faGVhZGVyLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19oZWFkZXItYXJlYSAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSxcbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2hlYWRlci1hcmVhIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlLS1pbWctbGFuZHNjYXBlIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMTguNjI1cmVtKTsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZV9fZmVhdHVyZWQtaW1hZ2UtLWltZy1wb3J0cmFpdCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDgwdmg7IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlLS1iZ2kge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19mZWF0dXJlZC1pbWFnZS0tYmVsb3cge1xuICAgICAgb3JkZXI6IDE7IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xODc1cmVtOyB9XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZV9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2staXRlbS10aXRsZV9fZGVjb3JhdGl2ZS1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsZXgtZ3JvdzogMDtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIG9wYWNpdHk6IDAuMDY7XG4gICAgbWluLXdpZHRoOiAxLjFlbTsgfVxuICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDkuMTg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlLS1mZWF0dXJlZC1pbWFnZS1wb3NpdGlvbi1iZyAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX3RleHQtYXJlYS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxMC4yNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA4LjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19mZWF0dXJlZC1pbWFnZS0tYWJvdmUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19mZWF0dXJlZC1pbWFnZS0tYmVsb3cge1xuICAgICAgbWFyZ2luLXRvcDogNi41cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogOS4zMTI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogOS4zMTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX190ZXh0LWFyZWEge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZSBoZWFkZXIge1xuICAgICAgei1pbmRleDogMztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZSAuZmxvLWhlYWRlcl9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXItbW9iaWxlLm5vdC1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlIC5mbG8taGVhZGVyX19sb2dvLS1pcy1saWdodCAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZV9fZmVhdHVyZWQtaW1hZ2UtLWJlbG93IHtcbiAgICAgIHBhZGRpbmctdG9wOiAyLjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlLS1pbWctbGFuZHNjYXBlLCAuZmxvLWJsb2NrLWl0ZW0tdGl0bGVfX2ZlYXR1cmVkLWltYWdlLS1pbWctcG9ydHJhaXQge1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgcGFkZGluZzogMy43NXJlbSAyLjAzMTI1cmVtIDAgMi4wMzEyNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2staXRlbS10aXRsZV9fdGV4dC1hcmVhIHtcbiAgICAgIG1hcmdpbi10b3A6IDIuNXJlbTtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmZsby1ibG9jay1pdGVtLXRpdGxlX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgIHdpZHRoOiAzLjEyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19mZWF0dXJlZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDIuNDM3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fbGVmdC1zaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAzLjMxMjVyZW07XG4gIGZsZXgtc2hyaW5rOiAwOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xX19sZWZ0LXNpZGUtLWRlY29yYXRpb24tb24ge1xuICAgIG1hcmdpbi1yaWdodDogMy4xMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTFfX2xlZnQtc2lkZS0tZGVjb3JhdGlvbi1vZmYge1xuICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50OyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTFfX3JpZ2h0LXNpZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctMV9fdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTFfX2V4Y2VycHQge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLWJvdHRvbTogMy42ODc1cmVtOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy0xX19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNDM3NXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0xX19ncmlkLXNpemVyIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyKTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0xX19pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gNS42ODc1cmVtKTtcbiAgICAgIG1hcmdpbjogMCAyLjg0Mzc1cmVtIDkuMjVyZW0gMi44NDM3NXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1saXN0aW5nLTFfX2l0ZW06bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMV9fbGVmdC1zaWRlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMy4xMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMV9fcmlnaHQtc2lkZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA0cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0xX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDMuMTI1cmVtOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX2l0ZW0tLWlzLW1hc29ucnkgaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDE2LjkzNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2UtLTItY29sdW1ucyB7XG4gICAgICBoZWlnaHQ6IDIzLjc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2ZlYXR1cmVkLWltYWdlLS00LWNvbHVtbnMge1xuICAgICAgaGVpZ2h0OiAxMy4xMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2UtLWJnaSB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX292ZXJsYXkge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTJfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIG1heC13aWR0aDogNi4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMi0tY29sdW1ucy00IC5mbG8tYmxvY2stbGlzdGluZy0yX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDIuNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctMi0taXMtbWFzb25yeSAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yLS1pcy1tYXNvbnJ5IC5mbG8tYmxvY2stbGlzdGluZy0yX19mZWF0dXJlZC1pbWFnZS0tMi1jb2x1bW5zIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yLS1pcy1tYXNvbnJ5IC5mbG8tYmxvY2stbGlzdGluZy0yX19mZWF0dXJlZC1pbWFnZS0tNC1jb2x1bW5zIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9faXRlbTpob3ZlciAuZmxvLWJsb2NrLWxpc3RpbmctMl9fb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fb3ZlcmxheSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi4xODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yX19pdGVtIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX292ZXJsYXkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy0yX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctMl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTJfX2xpbmsge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctM19fZmVhdHVyZWQtaW1hZ2Uge1xuICB3aWR0aDogMTAwJTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2ZlYXR1cmVkLWltYWdlLS1uby1tYXNvbnJ5LTMtY29sdW1ucyB7XG4gICAgaGVpZ2h0OiAxMi41cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zX19mZWF0dXJlZC1pbWFnZS0tbm8tbWFzb25yeS0yLWNvbHVtbnMge1xuICAgIGhlaWdodDogMTlyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2ZlYXR1cmVkLWltYWdlLS1uby1tYXNvbnJ5LTQtY29sdW1ucyB7XG4gICAgaGVpZ2h0OiA4LjEyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctM19fZmVhdHVyZWQtaW1hZ2UtLWJnaSB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTNfX3RpdGxlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTNfX2V4Y2VycHQge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctM19fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zIHtcbiAgICBtYXJnaW46IDAgNy42MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctM19fdGV4dC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctM19fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTNfX2V4Y2VycHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4wNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTNfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctM19fdGV4dC1hcmVhIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctM19fZXhjZXJwdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy0zX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTNfX2xpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0tLWJpZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19mZWF0dXJlZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS1vdmVybGF5IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTRfX2JpZy1pdGVtLXRpdGxlLWFyZWEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC03MCUsIC00MCUpOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS10YWdzIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2UgIWltcG9ydGFudDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tbGluayB7XG4gIHBhZGRpbmc6IDAuNTkzNzVyZW0gMS41cmVtIDAuNTkzNzVyZW0gMS41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTRfX2JvdHRvbS13cmFwIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy00X19zbWFsbC1pdGVtLW92ZXJsYXkge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tYmlnOmhvdmVyIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS1vdmVybGF5IHtcbiAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAzLjE4NzVyZW07XG4gICAgbGVmdDogMy4xODc1cmVtO1xuICAgIHJpZ2h0OiAzLjE4NzVyZW07XG4gICAgYm90dG9tOiAzLjE4NzVyZW07XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNS4zMTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS10aXRsZS1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1LjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tdGl0bGUge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwLXJpZ2h0LXNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwLXJpZ2h0LXNpZGUgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fdG9wLXdyYXAtcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6bnRoLWNoaWxkKDMpLCAuZmxvLWJsb2NrLWxpc3RpbmctNF9fdG9wLXdyYXAtcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fdG9wLXdyYXAtcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6bnRoLWNoaWxkKDIpLCAuZmxvLWJsb2NrLWxpc3RpbmctNF9fdG9wLXdyYXAtcmlnaHQtc2lkZSAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0tLXNtYWxsIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNF9faXRlbS0tc21hbGw6aG92ZXIgLmZsby1ibG9jay1saXN0aW5nLTRfX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0tLXNtYWxsOm50aC1jaGlsZCg0bikge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMS41cmVtO1xuICAgIGxlZnQ6IDEuNXJlbTtcbiAgICByaWdodDogMS41cmVtO1xuICAgIGJvdHRvbTogMS41cmVtO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X190b3Atd3JhcC1sZWZ0LXNpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS1vdmVybGF5IHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtO1xuICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNF9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19iaWctaXRlbS10aXRsZS1hcmVhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX2JpZy1pdGVtLXRpdGxlIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX2JpZy1pdGVtLXRhZ3Mge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwLXJpZ2h0LXNpZGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTRfX3RvcC13cmFwLXJpZ2h0LXNpZGUgLmZsby1ibG9jay1saXN0aW5nLTRfX2l0ZW0tLXNtYWxsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy00X19pdGVtLS1zbWFsbCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTRfX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMS4yNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTVfX3RleHQtYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS1kZWNvcmF0aXZlLWltYWdlIHtcbiAgbWF4LWhlaWdodDogNC4zNzVyZW07XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtLWxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiAwLjc1cmVtIDEuNTYyNXJlbSAwLjU2MjVyZW0gMS41NjI1cmVtO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tbGluay0tdW5kZXItZmVhdHVyZWQtaW1hZ2Uge1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS1mZWF0dXJlZC1pbWFnZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNV9fYnV0dG9uLXdyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTVfX3NoYXJlLWxpbmtzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDMuNzVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTVfX3NoYXJlLWxpbmtzLS1kZWxpbWl0ZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMi41NjI1cmVtO1xuICAgIGhlaWdodDogMXB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTVfX3NoYXJlLWxpbmtzIC5mbG8tc2hhcmUtbGluayB7XG4gICAgcGFkZGluZzogMCAxLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1saXN0aW5nLTUge1xuICAgIHBhZGRpbmc6IDAgMTRyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbSB7XG4gICAgICBwYWRkaW5nOiAzLjc1cmVtIDQuNjg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy01X190ZXh0LWFyZWEge1xuICAgICAgcGFkZGluZzogMCA2LjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tZGF0ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tbGluayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy01X19pdGVtLWZlYXR1cmVkLWltYWdlIGltZyB7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy01IHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAwOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4xODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTVfX2l0ZW0tdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS1kYXRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNV9faXRlbS1saW5rIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMTg3NXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy02X19pdGVtIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctNl9fdGl0bGUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLmZsby1ibG9jay1saXN0aW5nLTZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy02X19leGNlcnB0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy02X19saW5rIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXI6IDFweCBzb2xpZDtcbiAgcGFkZGluZzogMC43NXJlbSAxLjU2MjVyZW0gMC41NjI1cmVtIDEuNTYyNXJlbTtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8tYmxvY2stbGlzdGluZy02X19mZWF0dXJlZC1pbWFnZSB7XG4gIGZsZXgtZ3JvdzogMTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbGlzdGluZy02IHtcbiAgICBwYWRkaW5nOiAwIDQuNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy02X19pdGVtIHtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1ibG9jay1saXN0aW5nLTZfX2l0ZW06aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTZfX3RleHQtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgZmxleC1iYXNpczogNTAlO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDYuMjVyZW0gNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy02X19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLTZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy02X19leGNlcnB0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctNl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLWxpc3RpbmctNl9faXRlbSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNl9fdGV4dC1hcmVhIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAxLjU2MjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy02X19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLWxpc3RpbmctNl9fdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy02X19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2stbGlzdGluZy02X19leGNlcnB0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLTZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9IH1cblxuLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMl9fYnV0dG9uLXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIGNvbG9yOiB2YXIoLS10ZXh0LWNvbG9yKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLWJhY2tncm91bmQtY29sb3IpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMl9fYnV0dG9uLXdyYXA6aG92ZXIge1xuICAgICAgY29sb3I6IHZhcigtLWhvdmVyLXRleHQtY29sb3IpO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0taG92ZXItYmFja2dyb3VuZC1jb2xvcik7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMl9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAuNzVyZW0gNHJlbTsgfVxuXG4uZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX3BhZ2UtbnVtYmVyIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuODc1cmVtO1xuICAgIGhlaWdodDogMS40Mzc1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX3BhZ2UtbnVtYmVyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fcGFnZS1udW1iZXI6aG92ZXI6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19wYWdlLW51bWJlci0tYWN0aXZlOmFmdGVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fcGFnZS1udW1iZXI6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX3BhZ2UtZG90cyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24ge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fbmF2aWdhdGlvbi0tcHJldmlvdXMgaSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMS4zNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19uYXZpZ2F0aW9uLS1uZXh0IGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogMS4zNzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19zcGFjZXIge1xuICAgICAgICBmbGV4OiAwIDEgMTAlOyB9XG4gICAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fcGFnZS1saW5rcyB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uX19uYXZpZ2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgICAuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbl9fbmF2aWdhdGlvbi0tcHJldmlvdXMge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX25hdmlnYXRpb24tLXByZXZpb3VzIGkge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjY4NzVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX25hdmlnYXRpb24tLW5leHQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gICAgICAgICAgLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb25fX25hdmlnYXRpb24tLW5leHQgaSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42ODc1cmVtOyB9IH1cblxuLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNfX251bWVyaWMtZGV0YWlsIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG5cbi5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19udW1lcmljLWRldGFpbC1udW1iZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNfX251bWVyaWMtZGV0YWlsLW51bWJlcjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLW51bWVyaWMtZGV0YWlsc19fbnVtZXJpYy1kZXRhaWwtbnVtYmVyLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNfX3BsdXMtd2lsbC1zaG93OmJlZm9yZSB7XG4gICAgY29udGVudDogXCIrXCI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNfX251bWVyaWMtZGV0YWlsLW51bWJlci5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19wbHVzLXdpbGwtc2hvdy5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19wbHVzLXNob3duOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMDsgfVxuICAgIC5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19udW1lcmljLWRldGFpbCB7XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS41NjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLW51bWVyaWMtZGV0YWlsc19fbnVtZXJpYy1kZXRhaWw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzX19udW1lcmljLWRldGFpbCB7XG4gICAgcGFkZGluZzogMy4xMjVyZW0gMDtcbiAgICBtYXJnaW46IDAgMy4xMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLW51bWVyaWMtZGV0YWlsc19fbnVtZXJpYy1kZXRhaWw6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH0gfVxuXG4uZmxvLWJsb2NrLXByZXNzX190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19zbGlkZXIgLmZsby1ibG9jay1wcmVzc19fcHJlc3MtaW1hZ2Uge1xuICBtYXJnaW46IDAuOTM3NXJlbSBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5zbGljay1zbGlkZSB7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGZsb2F0OiBub25lO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5zbGljay1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mbG8tYmxvY2stcHJlc3NfX3NsaWRlciAuZmxvLWJsb2NrLXByZXNzX19hcnJvdyB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDA7IH1cblxuLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5mbG8tYmxvY2stcHJlc3NfX2Fycm93LS1wcmV2IHtcbiAgbGVmdDogMnJlbTsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19zbGlkZXIgLmZsby1ibG9jay1wcmVzc19fYXJyb3ctLW5leHQge1xuICByaWdodDogMnJlbTsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZXMtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZXMtd3JhcCxcbi5mbG8tYmxvY2stcHJlc3NfX3NsaWRlcyA+IGRpdiB7XG4gIHBhZGRpbmctdG9wOiAzLjMxMjVyZW07XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5mbG8tYmxvY2stcHJlc3NfX2Fycm93IHtcbiAgICB0b3A6IDUwJTsgfVxuICAuZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZXMtd3JhcCB7XG4gICAgcGFkZGluZy1sZWZ0OiAxLjg3NXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjg3NXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTsgfVxuICAuZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZSB7XG4gICAgbWF4LXdpZHRoOiA4LjQzNzVyZW07XG4gICAgbWFyZ2luOiAwLjkzNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZTpudGgtY2hpbGQoNW4pIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5mbG8tYmxvY2stcHJlc3NfX3NsaWRlciAuZmxvLWJsb2NrLXByZXNzX19hcnJvdy0tcHJldiB7XG4gICAgbGVmdDogLTIuNzVyZW07IH1cbiAgLmZsby1ibG9jay1wcmVzc19fc2xpZGVyIC5mbG8tYmxvY2stcHJlc3NfX2Fycm93LS1uZXh0IHtcbiAgICByaWdodDogLTIuNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1wcmVzc19fc2xpZGVyX19hcnJvdyB7XG4gICAgYm90dG9tOiAwOyB9XG4gIC5mbG8tYmxvY2stcHJlc3NfX3ByZXNzLWltYWdlcy13cmFwIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5mbG8tYmxvY2stcHJlc3NfX3ByZXNzLWltYWdlIHtcbiAgICBtYXgtd2lkdGg6IDgwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAuNjI1cmVtIGF1dG87IH1cbiAgICAuZmxvLWJsb2NrLXByZXNzX19wcmVzcy1pbWFnZTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTEge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2ltYWdlLXdyYXAge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIHdpZHRoOiA1OC40Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xX19wYWNrYWdlLW51bWJlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RleHQtYXJlYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44MTI1cmVtOyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjg3NXJlbTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xX19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2ltYWdlLXdyYXAtLXRleHQtYXJlYS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgIG9yZGVyOiAyOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9faW1hZ2Utd3JhcC0tdGV4dC1hcmVhLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9fcGFja2FnZS1udW1iZXIge1xuICAgICAgYm90dG9tOiA0LjMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3BhY2thZ2UtbnVtYmVyLS10ZXh0LWFyZWEtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgIHJpZ2h0OiA0LjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3BhY2thZ2UtbnVtYmVyLS10ZXh0LWFyZWEtcG9zaXRpb24tcmlnaHQge1xuICAgICAgICBsZWZ0OiA0LjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xX190ZXh0LWFyZWEge1xuICAgICAgbWFyZ2luOiA0LjVyZW0gMDtcbiAgICAgIHBhZGRpbmc6IDRyZW0gNS42MjVyZW0gNC44NzVyZW0gNS42MjVyZW07XG4gICAgICB3aWR0aDogMjguODEyNXJlbTtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RleHQtYXJlYS0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMTQuMzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xX190ZXh0LWFyZWEtLXRleHQtYXJlYS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTE0LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTEge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9faW1hZ2Utd3JhcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2ltYWdlLXdyYXAtLXRleHQtYXJlYS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX2ltYWdlLXdyYXAtLXRleHQtYXJlYS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9fcGFja2FnZS1udW1iZXIge1xuICAgICAgICBib3R0b206IDEuODc1cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAgICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMV9fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAxLjg3NXJlbTtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkOyB9XG4gICAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RleHQtYXJlYS0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFfX3RleHQtYXJlYS0tdGV4dC1hcmVhLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgICBvcmRlcjogMjsgfSB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX190aXRsZS1hcmVhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlcy1hcmVhIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZSB7XG4gIGhlaWdodDogMjkuNjg3NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMiAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZSB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuXG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctbGFyZ2UpOyB9IH1cblxuLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtY29udGVudCB7XG4gIG1hcmdpbjogMS4xODc1cmVtO1xuICBwYWRkaW5nOiAyLjVyZW0gMi40Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtbnVtYmVyLWFuZC1kZWNvcmF0aXZlLWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogNS43NXJlbTtcbiAgcGFkZGluZzogMS44NzVyZW07XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtbnVtYmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19kZWNvcmF0aXZlLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdG9wOiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgei1pbmRleDogMTsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDEuNjg3NXJlbTsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGhlaWdodDogMTEuNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlLWxpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1ibG9jay1idXR0b24td3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1ibG9jay1idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuNzVyZW0gMy4xMjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBiYWNrZ3JvdW5kLWNvbG9yIDAuNXMsIGJvcmRlci1jb2xvciAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3RpdGxlLWFyZWEge1xuICAgIG1hcmdpbjogMy44NzVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZXMtYXJlYSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cbiAgICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZXMtYXJlYS0tMy1wYWNrYWdlcyB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2Uge1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzIC0gMS4zNzVyZW0pOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2U6bm90KDpob3ZlcikgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtY29udGVudCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlOm5vdCg6aG92ZXIpIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgIGhlaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2U6bm90KDpob3ZlcikgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtbnVtYmVyLWFuZC1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgaGVpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2U6bm90KDpob3ZlcikgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtdGl0bGUge1xuICAgICAgY29sb3I6IHZhcigtLWVsZW1lbnRzLW9uLWltYWdlLWNvbG9yKTsgfVxuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlOm5vdCg6aG92ZXIpIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlLXByaWNlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1lbGVtZW50cy1vbi1pbWFnZS1jb2xvcik7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgY29sb3I6IHZhcigtLWVsZW1lbnRzLW9uLWhvdmVyLWNvbG9yKTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1udW1iZXItYW5kLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlLWJsb2NrLWJ1dHRvbi13cmFwIHtcbiAgICBtYXJnaW4tdG9wOiAzLjkzNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3RpdGxlLWFyZWEge1xuICAgIG1hcmdpbjogMS44NzVyZW0gMDsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZXMtYXJlYSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZSB7XG4gICAgaGVpZ2h0OiAzMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yX19wYWNrYWdlOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTJfX3BhY2thZ2UtYmxvY2stYnV0dG9uLXdyYXAge1xuICAgIG1hcmdpbi10b3A6IDIuNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtYXJlYSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX3RpdGxlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtZGVjb3JhdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgZm9udC1zaXplOiAwLjU2MjVyZW07IH1cblxuLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX19pdGVtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX19pdGVtLWZlYXR1cmVkLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogMTguNTYyNXJlbTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuXG4uZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW0tdGV4dC1hcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmc6IDIuMzEyNXJlbSAzLjEyNXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19faXRlbS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuXG4uZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW0tY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtYXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNC45Mzc1cmVtOyB9XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtZGVjb3JhdGlvbi0tbGVmdCB7XG4gICAgcmlnaHQ6IGNhbGMoMTAwJSArIDEuOTM3NXJlbSk7IH1cbiAgLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX190aXRsZS1kZWNvcmF0aW9uLS1yaWdodCB7XG4gICAgbGVmdDogY2FsYygxMDAlICsgMS45Mzc1cmVtKTsgfVxuICAuZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW1zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19faXRlbSB7XG4gICAgd2lkdGg6IDE4LjU2MjVyZW07XG4gICAgbWFyZ2luOiAwIDEuNTkzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19faXRlbTpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtYXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLmZsby1ibG9jay1yZWxhdGVkLWl0ZW1zX190aXRsZS1kZWNvcmF0aW9uLS1sZWZ0IHtcbiAgICByaWdodDogY2FsYygxMDAlICsgMC42MjVyZW0pOyB9XG4gIC5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc19fdGl0bGUtZGVjb3JhdGlvbi0tcmlnaHQge1xuICAgIGxlZnQ6IGNhbGMoMTAwJSArIDAuNjI1cmVtKTsgfVxuICAuZmxvLWJsb2NrLXJlbGF0ZWQtaXRlbXNfX2l0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX19zaGFyZS1saW5rcyBhIHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSAxMy44MTI1cmVtO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX19zaGFyZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX19zaGFyZS1sYWJlbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDQuNjg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3NfX3NoYXJlLWxpbmtzIGEge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyLjE4NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX190YWdzIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgIC5mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3NfX3RhZ3MgYSB7XG4gICAgICBtYXJnaW4tbGVmdDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1ibG9jay1zaGFyZS1hbmQtdGFncyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX19zaGFyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3NfX3NoYXJlLWxhYmVsIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLmZsby1ibG9jay1zaGFyZS1hbmQtdGFnc19fc2hhcmUtbGlua3Mge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzX190YWdzIGEge1xuICAgICAgbWFyZ2luOiAwLjkzNzVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXNsaWRlc2hvdy0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvKiBTVEFSVDogTElOSyBTVFlMRSAqL1xuICAvKiBFTkQ6IExJTksgU1RZTEUgKi8gfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19zbGlkZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIHVzZXItc2VsZWN0OiBpbml0aWFsOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19taWRkbGUtYXJlYSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1pbi1oZWlnaHQ6IDVyZW07IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgei1pbmRleDogMTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nbyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28tLWlzLWxpZ2h0IC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28tLWlzLWxpZ2h0IC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nby1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSB7XG4gICAgLyogU1RBUlQ6IEFQUExZIFNIQURPVyBUTyBJTlNUQUdSQU0gSU1BR0VTICovXG4gICAgLyogRU5EOiBBUFBMWSBTSEFET1cgVE8gSU5TVEFHUkFNIElNQUdFUyAqLyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWFyZWEgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYSxcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iLFxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1hcmVhIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWMsXG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWFyZWEgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCxcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hLFxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1hcmVhIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIsXG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWFyZWEgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYSxcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1iIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSAuaW1nLWJsb2NrIHtcbiAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggNDJweCA1cHggcmdiYSgwLCAwLCAwLCAwLjQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTEgLmZsby1ibG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMSAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWxpbWl0ZXItbGluZSB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMSAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMSAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWNvcmF0aXZlLWxldHRlcjpiZWZvcmUsIC5mbG8tYmxvY2stc2xpZGVzaG93LTEgLmZsby1ibG9jay1kZWxpbWl0ZXItMV9fZGVjb3JhdGl2ZS1sZXR0ZXI6YWZ0ZXIge1xuICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xpbmstLXN0eWxlLWJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xpbmstLXN0eWxlLWxpbmsge1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlLCAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWEsIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1yaWdodC1zaWRlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWxlZnQtc2lkZS10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1sZWZ0LXNpZGUtbGluayB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjY4NzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC44NzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS10aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgb3BhY2l0eTogMC4xICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCUpO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLXN1YnRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLWxpbmsge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1saW5rLCAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtbGluay5oaWRkZW4ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLWxpbmsudmlzaWJsZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNjcm9sbGRvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogLTIuMDkzNzVyZW07XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLXJpZ2h0LXNpZGUtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItcmlnaHQtc2lkZS10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjQzNzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1yaWdodC1zaWRlLWxpbmsge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXIge1xuICAgICAgcGFkZGluZzogMCA2LjM3NXJlbTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA0LjkzNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItZGVsaW1pdGVyIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1sZWZ0LXNpZGUsIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYSwgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLXJpZ2h0LXNpZGUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSA0LjEyNXJlbSAwLjkzNzVyZW0gMi4yNXJlbTtcbiAgICAgIHdpZHRoOiAyOSU7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlLWxpbmsge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMsIGNvbG9yIDAuNXMsIG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1sZWZ0LXNpZGUtbGluazpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDQyJTtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSA0LjEyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhOmJlZm9yZSwgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogMTEuMTI1cmVtO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYTpiZWZvcmUge1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWE6YWZ0ZXIge1xuICAgICAgICByaWdodDogMDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTEtLW1pZGRsZS1hcmVhLWhhcy1uby1ib3JkZXJzIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1sZWZ0LXNpZGUsXG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMS0tbWlkZGxlLWFyZWEtaGFzLW5vLWJvcmRlcnMgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLXJpZ2h0LXNpZGUge1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTEtLW1pZGRsZS1hcmVhLWhhcy1uby1ib3JkZXJzIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYSB7XG4gICAgICB3aWR0aDogNjAlOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xLS1taWRkbGUtYXJlYS1oYXMtbm8tYm9yZGVycyAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWE6YmVmb3JlLCAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xLS1taWRkbGUtYXJlYS1oYXMtbm8tYm9yZGVycyAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWE6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLWxpbmsge1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMsIGNvbG9yIDAuNXMsIG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1saW5rOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1yaWdodC1zaWRlIHtcbiAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAyLjI1cmVtIDAuOTM3NXJlbSA0LjEyNXJlbTtcbiAgICAgIHdpZHRoOiAyOSU7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItcmlnaHQtc2lkZS1saW5rIHtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCBjb2xvciAwLjVzLCBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItcmlnaHQtc2lkZS1saW5rOmhvdmVyIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1kZWxpbWl0ZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbGVmdC1zaWRlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItbWlkZGxlLWFyZWEge1xuICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLW1pZGRsZS1hcmVhLXNjcm9sbGRvd24ge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICBib3R0b206IGNhbGMoMTAwJSArIDIuMTg3NXJlbSk7IH0gfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19oZWFkZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19oZWFkZXIge1xuICAgICAgcGFkZGluZzogMS44MTI1cmVtIDYuMzc1cmVtO1xuICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19oZWFkZXItbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2hlYWRlci1tZW51ID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogNS41NjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYXJyb3ctLW5leHQge1xuICAgICAgcmlnaHQ6IDYuMzc1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYXJyb3ctLXByZXYge1xuICAgICAgbGVmdDogNi4zNzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19sb2dvIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgZmxleC1zaHJpbms6IDE7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19mb290ZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xLS1tb2JpbGUtZnJlZXplIHtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fc2xpZGVzIHtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMTAwdnc7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0xX19jb250ZW50LXdyYXAgLm5vdC1zdGlja3kgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fY29udGVudC13cmFwIC5ub3Qtc3RpY2t5IC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEgLmZsby1oZWFkZXItbW9iaWxlLm5vdC1zdGlja3kge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2hlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbWlkZGxlLWFyZWEge1xuICAgICAgbWluLWhlaWdodDogNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Fycm93LS1uZXh0IHtcbiAgICAgIHJpZ2h0OiAyLjAzMTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fYXJyb3ctLXByZXYge1xuICAgICAgbGVmdDogMi4wMzEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28ge1xuICAgICAgcGFkZGluZzogMCAyLjAzMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2xvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gOC4xMjVyZW0pOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9faGVhZGVyLWFyZWEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2Zvb3Rlci1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDAgMi4wMzEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXNsaWRlc2hvdy0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX3NsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2NvbnRlbnQtd3JhcCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2NvbnRlbnQtd3JhcCA+ICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fYXJyb3cge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2hlYWRlci1hcmVhIHtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB1c2VyLXNlbGVjdDogaW5pdGlhbDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2hlYWRlci1hcmVhIGhlYWRlcjpub3QoLmlzLXN0aWNreSkgLmZsby1oZWFkZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19sb2dvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby0taXMtbGlnaHQgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby0taXMtbGlnaHQgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19sb2dvLWltYWdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX3Njcm9sbC1kb3duLWFyZWEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIG1hcmdpbi1ib3R0b206IDUuNDM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fc2Nyb2xsLWRvd24tYXJlYS1sYWJlbCB7XG4gICAgbWFyZ2luLXRvcDogMi43NXJlbTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICBib3R0b206IDIuNXJlbTtcbiAgICB0b3A6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2NvbnRlbnQtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2Fycm93LS1uZXh0IHtcbiAgICAgIHJpZ2h0OiA2LjM3NXJlbTtcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19hcnJvdy0tcHJldiB7XG4gICAgICBsZWZ0OiA2LjM3NXJlbTtcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19oZWFkZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yLS1oZWFkZXItbWVudS1pdGVtcy1oaWRkZW4gLmZsby1oZWFkZXIgLm1lbnUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMi0taGVhZGVyLWxvZ28taGlkZGVuIC5mbG8taGVhZGVyX19sb2dvIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2xvZ28ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUtd3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbWVudSA+IGxpIHtcbiAgICAgIG1pbi13aWR0aDogMTAuNjg3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19tZW51ID4gbGk6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMi0tbW9iaWxlLWZyZWV6ZSB7XG4gICAgICBvdmVyZmxvdzogc2Nyb2xsOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXItbW9iaWxlIHtcbiAgICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fc2xpZGVzIHtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMTAwdnc7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19hcnJvdy0tbmV4dCB7XG4gICAgICByaWdodDogMC45Mzc1cmVtO1xuICAgICAgei1pbmRleDogMTAwMDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2Fycm93LS1wcmV2IHtcbiAgICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb2ludGVyLWV2ZW50czogYWxsOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9faGVhZGVyLWFyZWEge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19oZWFkZXItYXJlYSAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbW9iaWxlLWhlYWRlci1tZW51LWhpZGRlbiAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19tZW51LXRyaWdnZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21vYmlsZS1oZWFkZXItbG9nby1oaWRkZW4gLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nbyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbG9nbyB7XG4gICAgICBwYWRkaW5nOiAwIDIuMDMxMjVyZW07XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19sb2dvLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtIDguMTI1cmVtKTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUtd3JhcCB7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbWVudSA+IGxpID4gdWwge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19tZW51IGxpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbWVudSAuY2hpbGRyZW4tdmlzaWJsZSA+IC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDAlKSByb3RhdGUoMGRlZyk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19tZW51IC5zdWItbWVudSB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDtcbiAgICAgICAgdG9wOiAxMDAlOyB9XG4gICAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX21lbnUgLnN1Yi1tZW51OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0yX19tZW51IC5zdWItbWVudTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfSB9XG5cbi5mbG8tYmxvY2stc2xpZGVzaG93LTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fY29udGVudC13cmFwIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2NvbnRlbnQtd3JhcCA+ICoge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19faGVhZGVyLWFyZWEge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIHVzZXItc2VsZWN0OiBpbml0aWFsO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19faGVhZGVyLWFyZWEgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlciB7XG4gICAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fdGl0bGUtYXJlYS10aXRsZS13cmFwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fdGl0bGUtYXJlYS10aXRsZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgIG9wYWNpdHk6IDAuMSAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiBjYWxjKDUwJSArIDAuMWVtKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtc3VidGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgdG9wOiBjYWxjKDEwMCUgKyAwLjYyNXJlbSk7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtYnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB0b3A6IGNhbGMoMTAwJSArIDE5LjM3NXZoKTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fdGl0bGUtYXJlYS1idXR0b24sIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtYnV0dG9uLmhpZGRlbiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX190aXRsZS1hcmVhLWJ1dHRvbi52aXNpYmxlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19hcnJvd3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fYXJyb3cge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gICAgb3BhY2l0eTogMC4yODsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2Fycm93OmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fc2Nyb2xsLWRvd24tYXJlYSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgbWFyZ2luLWJvdHRvbTogNS40Mzc1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19zY3JvbGwtZG93bi1hcmVhLWxhYmVsIHtcbiAgICBtYXJnaW4tdG9wOiAyLjc1cmVtOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTMgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgIGJvdHRvbTogMi41cmVtO1xuICAgIHRvcDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fY29udGVudC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMy0taGVhZGVyLXBvc2l0aW9uLWJvdHRvbSAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19jb250ZW50LXdyYXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMtLWhlYWRlci1wb3NpdGlvbi1ib3R0b20gLmZsby1ibG9jay1zbGlkZXNob3ctM19fc2Nyb2xsLWRvd24tYXJlYSB7XG4gICAgICBvcmRlcjogMTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zLS1oZWFkZXItcG9zaXRpb24tYm90dG9tIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3Njcm9sbC1kb3duLWFyZWEtbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctMy0taGVhZGVyLXBvc2l0aW9uLWJvdHRvbSAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19oZWFkZXItYXJlYSB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMtLWhlYWRlci1wb3NpdGlvbi1ib3R0b20gaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkgPiB1bCB7XG4gICAgICBib3R0b206IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gICAgICB0b3A6IGF1dG87IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMtLWhlYWRlci1wb3NpdGlvbi1ib3R0b20gaGVhZGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkgPiB1bDpiZWZvcmUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGJvdHRvbTogYXV0bzsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMy0taGVhZGVyLXBvc2l0aW9uLWJvdHRvbSBoZWFkZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IHVsOmFmdGVyIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMtLWhlYWRlci1wb3NpdGlvbi1ib3R0b20gLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgICAgdG9wOiAyLjVyZW07XG4gICAgICBib3R0b206IGF1dG87XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTsgfVxuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2hlYWRlci1hcmVhIC5mbG8taGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19hcnJvd3Mge1xuICAgICAgcGFkZGluZzogMCA2LjM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTMge1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19sb2dvLS1pcy1saWdodCAuZmxvLWhlYWRlci1tb2JpbGUge1xuICAgICAgICBvcGFjaXR5OiAxICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3NsaWRlcyB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIHdpZHRoOiAxMDB2dzsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fY29udGVudC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2hlYWRlci1hcmVhIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5IHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEge1xuICAgICAgICB0b3A6IDQwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX3RpdGxlLWFyZWEtdGl0bGUge1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gMTAuMTU2MjVyZW0pO1xuICAgICAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctM19fdGl0bGUtYXJlYS1zdWJ0aXRsZSB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAxMC4xNTYyNXJlbSk7IH1cbiAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2Fycm93cyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMi4wMzEyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stc2xpZGVzaG93LTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctNC0tbGF5b3V0LWIgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fY291bnRlcixcbiAgLmZsby1ibG9jay1zbGlkZXNob3ctNC0tbGF5b3V0LWIgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fYXJyb3cge1xuICAgIGNvbG9yOiB3aGl0ZTtcbiAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAxMHB4IGJsYWNrOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2Fycm93cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZmxvLWJsb2NrLXNsaWRlc2hvdy00X19hcnJvdyB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIG9wYWNpdHk6IDAuMjg7IH1cbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy00X19hcnJvdzpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2NvdW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogM3JlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fY291bnRlci1pbmRleCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMC42ZW07XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fY291bnRlci1jb3VudCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMC42ZW07XG4gICAgbGVmdDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fYXJyb3dzIHtcbiAgICAgIHBhZGRpbmc6IDAgNi4zNzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy00X19hcnJvd3Mge1xuICAgICAgcGFkZGluZzogMCAyLjAzMTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay1zbGlkZXNob3ctNCAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZsby1ibG9jay1zb2NpYWwtbGlua3Mge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay1zb2NpYWwtbGlua3NfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjY4NzVyZW07IH1cbiAgLmZsby1ibG9jay1zb2NpYWwtbGlua3NfX3NvY2lhbC1saW5rcyBhIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luOiAwIDAuMzQzNzVyZW07IH1cblxuLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtaW1hZ2Uge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLWNvdW50ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtY291bnRlcjphZnRlciB7XG4gICAgY29udGVudDogXCIgLyBcIjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjcxODc1cmVtOyB9XG5cbi5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLXRleHQgcDpsYXN0LWNoaWxkIHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX19hcnJvdyB7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lOyB9XG4gIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX2Fycm93LS1sZWZ0IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDQuMzc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMSB7XG4gICAgcGFkZGluZzogMCA2LjM3NXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsX3NsaWRlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtaW1hZ2Uge1xuICAgICAgd2lkdGg6IDM5LjM3NXJlbTtcbiAgICAgIGhlaWdodDogMjYuMzEyNXJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMV9fdGVzdGltb25pYWwtdGV4dC1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDMuNXJlbSAwIDMuNTYyNXJlbSA0LjY4NzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbF9zbGlkZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbC1pbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMy4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbC10ZXh0LWFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xX190ZXN0aW1vbmlhbC1jb3VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5mbG8tYmxvY2stdGVzdGltb25pYWxzLTFfX3Rlc3RpbW9uaWFsLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stMV9fdGV4dC13cmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTFfX3RleHQtd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA0MHZ3O1xuICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5mbG8tYmxvY2stdGV4dC1ibG9jay0yIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2ltYWdlLS1pbWFnZS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2ltYWdlLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICBvcmRlcjogMjsgfVxuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9fYm90dG9tLWxhYmVsIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTIge1xuICAgICAgcGFkZGluZzogMCA3LjYyNXJlbTsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiAzNi4zMTI1cmVtO1xuICAgICAgICB3aWR0aDogMjQuMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9fdGV4dC13cmFwIHtcbiAgICAgICAgd2lkdGg6IDMxLjc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX190ZXh0LXdyYXAtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2LjM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogNXJlbTtcbiAgICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9fdGV4dC13cmFwLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiA2LjM3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNXJlbTtcbiAgICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNC4zMTI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9fYm90dG9tLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNS42MjVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2JvdHRvbS1sYWJlbC0taW1hZ2UtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgICAgbGVmdDogMS4yNXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9fYm90dG9tLWxhYmVsLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgICAgbGVmdDogNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX19pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDIxLjg3NXJlbTsgfVxuICAgICAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stMl9faW1hZ2UtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX2ltYWdlLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX190ZXh0LXdyYXAtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogMjsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX3RleHQtd3JhcC0taW1hZ2UtcG9zaXRpb24tcmlnaHQge1xuICAgICAgICBvcmRlcjogMTsgfVxuICAgICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTJfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0yX190ZXh0LXBhcmFncmFwaCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjM3NXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19pbWFnZSB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX3Bvc3QtbGluayB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX3Bvc3QtbGluazpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIHdpZHRoOiAwLjgxMjVyZW07XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjY4NzVyZW07IH1cblxuLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX2xpbmstYXJlYSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stM19fbGluay1kZWxpbWl0ZXIge1xuICBmb250LXNpemU6IDAuMzEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMS45Mzc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTMge1xuICAgIHBhZGRpbmc6IDMuMTI1cmVtIDEzLjg3NXJlbTtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAxNC40Mzc1cmVtO1xuICAgICAgaGVpZ2h0OiAxOS4xODc1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX3Bvc3QtdGV4dCB7XG4gICAgICB3aWR0aDogMjguOTM3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDIuMDYyNXJlbSA1LjI1cmVtIDIuOTM3NXJlbSA1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX3Bvc3Qtc3VidGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19wb3N0LXBhcmFncmFwaCA+IHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjEyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19saW5rLWFyZWEge1xuICAgICAgcGFkZGluZzogMi4wNjI1cmVtIDAgMi4yNXJlbSA2LjgxMjVyZW07XG4gICAgICB3aWR0aDogMTguNzVyZW07XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX2xpbmstdGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fbGluay1zdWJ0aXRsZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjAzMTI1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxOS4xODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19wb3N0LXRleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWJsb2NrLXRleHQtYmxvY2stM19fcG9zdC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19wb3N0LXN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX3Bvc3QtcGFyYWdyYXBoIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX3Bvc3QtbGluayB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5mbG8tYmxvY2stdGV4dC1ibG9jay0zX19saW5rLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX2xpbmstZGVsaW1pdGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTNfX2xpbmstc3VidGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stNF9fZWxlbWVudHMtd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5mbG8tYmxvY2stdGV4dC1ibG9jay00X190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdGV4dC1ibG9jay00IHtcbiAgICBwYWRkaW5nOiAwIDE1LjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTRfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTRfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stNF9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLXRleHQtYmxvY2stNF9fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stdGV4dC1ibG9jay01X190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uZmxvLWJsb2NrLXRleHQtYmxvY2stNV9fZGVsaW1pdGVyIHtcbiAgbWFyZ2luOiAwIGF1dG8gMi41cmVtIGF1dG87XG4gIGhlaWdodDogMXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay10ZXh0LWJsb2NrLTVfX3RleHQtd3JhcCB7XG4gICAgbWF4LXdpZHRoOiA0MHZ3O1xuICAgIG1hcmdpbjogYXV0bzsgfSB9XG5cbi5mbG8tYmxvY2stdGl0bGUtMV9fZWxlbWVudHMtd3JhcCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tYmxvY2stdGl0bGUtMV9fZWxlbWVudHMtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgd2lkdGg6IDQ1Ljc1cmVtO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1ibG9jay10aXRsZS0xX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy42MjVyZW07IH1cbiAgLmZsby1ibG9jay10aXRsZS0xX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNDAlKTsgfVxuICAuZmxvLWJsb2NrLXRpdGxlLTFfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stdGl0bGUtMV9fZWxlbWVudHMtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5mbG8tYmxvY2stdGl0bGUtMV9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTQwJSk7IH0gfVxuXG4uZmxvLWJsb2NrLXRpdGxlLTIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1ibG9jay10aXRsZS0yX19wcmUtdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay10aXRsZS0yIHtcbiAgICAgIHBhZGRpbmc6IDAgNy42MjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdGl0bGUtMl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiAwIDcuNjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1ibG9jay10aXRsZS0yX19wcmUtdGl0bGUge1xuICAgICAgd2lkdGg6IDYwdnc7XG4gICAgICBtYXJnaW46IGF1dG87IH0gfVxuXG4uZmxvLWJsb2NrLXRpdGxlLTNfX3RpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay10aXRsZS0zIHtcbiAgICBwYWRkaW5nOiAwIDE0cmVtOyB9IH1cblxuLmZsby1ibG9jay10aXRsZS00IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8tYmxvY2stdGl0bGUtNF9fdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjQzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tYmxvY2stdGl0bGUtNCB7XG4gICAgICBwYWRkaW5nOiAwIDcuNjI1cmVtOyB9XG4gICAgICAuZmxvLWJsb2NrLXRpdGxlLTRfX3F1b3RlLS1sZWZ0IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdGl0bGUtNF9fcXVvdGUtLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEuMzEyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tYmxvY2stdGl0bGUtNF9fcXVvdGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5mbG8tYmxvY2stdGl0bGUtNF9fcXVvdGUtLWxlZnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjMxMjVyZW07IH1cbiAgICAgIC5mbG8tYmxvY2stdGl0bGUtNF9fcXVvdGUtLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4zMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLXZlbmRvcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAuZmxvLWJsb2NrLXZlbmRvcnNfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiAxMS40Mzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuZmxvLWJsb2NrLXZlbmRvcnNfX2xpc3Qge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0LjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXZlbmRvcnNfX3ZlbmRvciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdmVuZG9yc19fdmVuZG9yLXRpdGxlIHtcbiAgICAgIHdpZHRoOiA4LjA2MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtO1xuICAgICAgZmxleC1ncm93OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stdmVuZG9yc19fdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay12ZW5kb3JzX192ZW5kb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfSB9XG5cbi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9faW1hZ2Utd3JhcCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cblxuLmZsby1ibG9jay12aWRlby1ibG9jay0xX190ZXh0LWVsZW1lbnRzLXdyYXAge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTEge1xuICAgIHBhZGRpbmc6IDAgNy42MjVyZW07IH1cbiAgICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjU2MjVyZW07XG4gICAgICB3aWR0aDogMzAuNXJlbTsgfVxuICAgIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS45Mzc1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMV9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX3N1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmZsby1ibG9jay12aWRlby1ibG9jay0xX19pbWFnZS13cmFwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX2ltYWdlLXdyYXAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTFfX2ltYWdlLXdyYXAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7IH0gfVxuXG4uZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX2ltYWdlLXdyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0yIC5mbG8tdmlkZW8tZW1iZWQ6bm90KC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCkgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICB0b3A6IDE5LjYyNXJlbTsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNy45Mzc1cmVtO1xuICAgIHdpZHRoOiAzMC41cmVtOyB9XG4gICAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX190ZXh0LWVsZW1lbnRzLXdyYXAtLWRlc2t0b3AtY29ycmVjdGlvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuOTM3NXJlbTsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX3BhcmFncmFwaC10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8tYmxvY2stdmlkZW8tYmxvY2stMl9fdGV4dC1lbGVtZW50cy13cmFwLS1tb2JpbGUtY29ycmVjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgLmZsby1ibG9jay12aWRlby1ibG9jay0yX19zdWJ0aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX3BhcmFncmFwaC10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLmZsby1ibG9jay12aWRlby1ibG9jay0yX19pbWFnZS13cmFwIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX2ltYWdlLXdyYXAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJfX2ltYWdlLXdyYXAge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7IH0gfVxuXG4uZmxvLWNvbW1lbnRzIHtcbiAgLyogU1RBUlQ6IFRPUCBBUkVBICovXG4gIC8qIEVORDogVE9QIEFSRUEgKi9cbiAgLyogU1RBUlQ6IENPTU1FTlRTIFdSQVAgKi9cbiAgLyogU1RBUlQ6IExJU1QgKi9cbiAgLyogRU5EOiBMSVNUICovXG4gIC8qIFNUQVJUOiBGT1JNICovXG4gIC8qIEVORDogRk9STSAqL1xuICAvKiBFTkQ6IENPTU1FTlRTIFdSQVAgKi8gfVxuICAuZmxvLWNvbW1lbnRzX190b3AtYXJlYSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjU2MjVyZW07IH1cbiAgLmZsby1jb21tZW50c19fc2hhcmluZy1vcHRpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgLmZsby1jb21tZW50c19fc2hhcmluZy1vcHRpb25zLWxhYmVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNTYyNXJlbTsgfVxuICAuZmxvLWNvbW1lbnRzX19zaGFyaW5nLWxpbmtzIGE6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjU2MjVyZW07IH1cbiAgLmZsby1jb21tZW50c19fc2hhcmluZy1saW5rcyBpOmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgLmZsby1jb21tZW50c19fdGFncyBhOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiwgXCI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tY29tbWVudHNfX3RvcC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudHMtY291bnQsIC5mbG8tY29tbWVudHNfX3NoYXJpbmctb3B0aW9ucywgLmZsby1jb21tZW50c19fdGFncyB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8tY29tbWVudHNfX3RhZ3Mge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWNvbW1lbnRzX190b3AtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50cy1jb3VudCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmZsby1jb21tZW50c19fc2hhcmluZy1vcHRpb25zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAuZmxvLWNvbW1lbnRzX19saXN0IHtcbiAgICBwYWRkaW5nLXRvcDogMi4zMTI1cmVtOyB9XG4gICAgLmZsby1jb21tZW50c19fbGlzdCA+IC5jb21tZW50OmZpcnN0LWNoaWxkID4gLmZsby1jb21tZW50c19fY29tbWVudCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIC5mbG8tY29tbWVudHNfX2xpc3QgLmNvbW1lbnQ6bGFzdC1jaGlsZCAuZmxvLWNvbW1lbnRzX19jb21tZW50Omxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAgIC5mbG8tY29tbWVudHNfX2xpc3QgLmNvbW1lbnQ6bGFzdC1jaGlsZCAuY29tbWVudDpsYXN0LWNoaWxkIC5mbG8tY29tbWVudHNfX2NvbW1lbnQge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDsgfVxuICAuZmxvLWNvbW1lbnRzX19jb21tZW50IHtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50ICNjYW5jZWwtY29tbWVudC1yZXBseS1saW5rIGkge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX2NvbW1lbnQtdG9wLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuZmxvLWNvbW1lbnRzX19jb21tZW50LWF2YXRhciB7XG4gICAgd2lkdGg6IDIuOTY4NzVyZW07XG4gICAgaGVpZ2h0OiAyLjk2ODc1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDIuOTY4NzVyZW07XG4gICAgZmxleC1ncm93OiAwO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWFyZ2luLXJpZ2h0OiAzLjE4NzVyZW07IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50LWF2YXRhciBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1jb21tZW50c19fY29tbWVudC1hdXRob3Ige1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDA7IH1cbiAgLmZsby1jb21tZW50c19fY29tbWVudC1kYXRlIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmZsby1jb21tZW50c19fY29tbWVudC1yZXBseSB7XG4gICAgbWFyZ2luLXRvcDogMS4zNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tY29tbWVudHNfX2xpc3Qge1xuICAgICAgcGFkZGluZy1yaWdodDogNi4zNzVyZW07IH1cbiAgICAuZmxvLWNvbW1lbnRzIC5jb21tZW50IC5jb21tZW50IC5mbG8tY29tbWVudHNfX2NvbW1lbnQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZy1sZWZ0OiA2LjM3NXJlbTsgfVxuICAgICAgLmZsby1jb21tZW50cyAuY29tbWVudCAuY29tbWVudCAuZmxvLWNvbW1lbnRzX19jb21tZW50OmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDkuNTYyNXJlbTtcbiAgICAgICAgei1pbmRleDogLTE7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50LWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1sZWZ0OiA5LjU2MjVyZW07IH1cbiAgICAuZmxvLWNvbW1lbnRzX19jb21tZW50LXJlcGx5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogOS41NjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudC10b3Atd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLmZsby1jb21tZW50c19fZm9ybS13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07IH1cbiAgLmZsby1jb21tZW50c19fZm9ybS10b3AtYXJlYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMy40Mzc1cmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX2Zvcm0tc3VidGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9XG4gIC5mbG8tY29tbWVudHNfX2Zvcm0tZmllbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tY29tbWVudHNfX2Zvcm0tdGV4dGFyZWEge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDcuODc1cmVtOyB9XG4gIC5mbG8tY29tbWVudHMgLmZvcm0tc3VibWl0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLWNvbW1lbnRzX19mb3JtIC5zdWJtaXQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tdG9wOiAzLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMi42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tY29tbWVudHNfX2Zvcm0td3JhcCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDYuMzc1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogNi4zNzVyZW07IH1cbiAgICAgIC5mbG8tY29tbWVudHNfX2Zvcm0td3JhcC5pc19zdHVjayB7XG4gICAgICAgIHJpZ2h0OiA2LjM3NXJlbTsgfVxuICAgICAgICAuZmxvLWNvbW1lbnRzX19mb3JtLXdyYXAuaXNfc3R1Y2tbc3R5bGUqPWFic29sdXRlXSB7XG4gICAgICAgICAgcmlnaHQ6IDA7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19mb3JtIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19mb3JtLWZpZWxkIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tY29tbWVudHNfX2Zvcm0tZmllbGQtLWhhbGYge1xuICAgICAgICB3aWR0aDogY2FsYyg1MCUgLSAzLjE4NzVyZW0pO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDYuMzc1cmVtOyB9XG4gICAgICAgIC5mbG8tY29tbWVudHNfX2Zvcm0tZmllbGQtLWhhbGYgKyAuZmxvLWNvbW1lbnRzX19mb3JtLWZpZWxkLS1oYWxmIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWNvbW1lbnRzX19mb3JtLXdyYXAge1xuICAgICAgcGFkZGluZzogMy4xMjVyZW0gMS44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1jb21tZW50c19fY29tbWVudHMtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAuZmxvLWNvbW1lbnRzX19saXN0LCAuZmxvLWNvbW1lbnRzX19mb3JtLXdyYXAge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyB9IH1cbiAgLmZsby1jb21tZW50c19fZmFjZWJvb2sge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8tZm9vdGVyLXNpZGViYXJzIHtcbiAgICBwYWRkaW5nOiAzLjEyNXJlbSA2LjM3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWZvb3Rlci1zaWRlYmFycyB7XG4gICAgcGFkZGluZzogMy4xMjVyZW0gMi4wMzEyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1mb290ZXItc2lkZWJhcnMgLm1lZGl1bS00IHtcbiAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgcGFkZGluZzogMCAxLjI1cmVtOyB9IH1cblxuLmZsby1mb290ZXIge1xuICAvKiBTVEFSVDogSU1BR0UgRkVFRCAqL1xuICAvKiBFTkQ6IElNQUdFIEZFRUQgKi9cbiAgLyogU1RBUlQ6IFNFQVJDSCBGSUVMRCBTVFlMSU5HICovXG4gIC8qIEVORDogU0VBUkNIIEZJRUxEIFNUWUxJTkcgKi9cbiAgLyogU1RBUlQ6IEFSRUEgMSAqL1xuICAvKiBFTkQ6IEFSRUEgMSAqL1xuICAvKiBTVEFSVDogQVJFQSAyICovXG4gIC8qIEVORDogQVJFQSAyICovXG4gIC8qIFNUQVJUOiBDT1BZUklHSFRTIEFSRUEgKi9cbiAgLyogRU5EOiBDT1BZUklHSFRTIEFSRUEgKi8gfVxuICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkIC5pbWctYmxvY2sgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWQsXG4gICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZCAuZmxvLXNoY29kZS1pbnN0Z20tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkIC5mbG8tc2hjb2RlLWluc3RnbS1jb250YWluZXIgaW1nIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5mbG8tZm9vdGVyIC53aWRnZXRfc2VhcmNoIC5zZWFyY2gtZmllbGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5mbG8tZm9vdGVyIC53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9fZ3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjMxMjVyZW07IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9fbGluayB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDQuMDYyNXJlbSAxOC42MjVyZW0gMS41cmVtIDE4LjYyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9fZ3JvdXAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAzLjg3NXJlbSAxLjI1cmVtIDMuODc1cmVtO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9fZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYS0tZ3JvdXBzLWNvdW50LTMgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9fZ3JvdXAge1xuICAgICAgICB3aWR0aDogMjglOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEtLWdyb3Vwcy1jb3VudC0zIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2dyb3VwOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEtLWdyb3Vwcy1jb3VudC0zIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2dyb3VwOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDcuOTM3NXJlbSAwLjMxMjVyZW0gNy45Mzc1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEtLWdyb3Vwcy1jb3VudC0zIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFfX2dyb3VwOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWEge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMi4wMzEyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYV9fZ3JvdXA6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjU2MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIHBhZGRpbmc6IDMuNjg3NXJlbSA2LjM3NXJlbSAxLjI1cmVtIDYuMzc1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19mZWVkLWFyZWEge1xuICAgICAgICB3aWR0aDogNjclO1xuICAgICAgICBwYWRkaW5nOiAwIDUuMTg3NXJlbSAwIDcuNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9fZmVlZC1hcmVhLXRvcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjY4NzVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5pbWctYmxvY2sge1xuICAgICAgICB3aWR0aDogOS4xMjVyZW0gIWltcG9ydGFudDsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlOm5vdCg6bGFzdC1jaGlsZCksXG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmltZy1ibG9jazpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuODc1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiA5LjEyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9faW5mby1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNC4zMTI1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9faW5mby1hcmVhLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS42ODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYiB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjAzMTI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19mZWVkLWFyZWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWJfX2ZlZWQtYXJlYS10b3Age1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYl9fZmVlZC10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYiAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmltZy1ibG9jayB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2U6bm90KDpsYXN0LWNoaWxkKSxcbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYiAuaW1nLWJsb2NrOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWIgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iX19pbmZvLWFyZWEtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDYuMTg3NXJlbSAxMC4xMjVyZW0gMS42ODc1cmVtIDEwLjEyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fZm9ybS13cmFwLCAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19saW5rLWxpc3Qtd3JhcCwgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fbGluay13cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuODc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4zNzVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2Zvcm0td3JhcCB7XG4gICAgICAgIHdpZHRoOiAyMSU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDMuODEyNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fbGluay1saXN0LXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiA1OCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNi45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2LjkzNzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fbGluay1saXN0LXRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyAxLjEyNXJlbSk7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2xpbmstbGlzdC1saW5rIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjg3NXJlbTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19saW5rLWxpc3QtbGluazpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2xpbmstbGlzdC1saW5rOmxhc3QtY2hpbGQge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2xpbmstd3JhcCB7XG4gICAgICAgIHdpZHRoOiAyMSU7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjAzMTI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19mb3JtLXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fZmllbGQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNfX2xpbmstbGlzdC13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtY19fbGluay1saXN0LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jX19saW5rLWxpc3QtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdG9wLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19sZWZ0LWxpbmstdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX2xlZnQtbGluayB7XG4gICAgcGFkZGluZzogMC4zNzVyZW0gMS4yMTg3NXJlbTtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFscy13cmFwIHtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFscyAuc2xpY2stbGlzdCB7XG4gICAgb3ZlcmZsb3c6IHZpc2libGUgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFscyAuc2xpY2stbGlzdCAuc2xpY2stdHJhY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdGVzdGltb25pYWwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjg3NXJlbTsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFsIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFsLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIG1hcmdpbi10b3A6IDAuODc1cmVtOyB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFsLXRpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogLTAuMDVlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgb3BhY2l0eTogMC4wNTtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdGVzdGltb25pYWxzLWRvdHMge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdGVzdGltb25pYWxzLWRvdHMgbGkge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luOiAwIDAuNTYyNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3Rlc3RpbW9uaWFscy1kb3RzIGxpOm5vdCguc2xpY2stYWN0aXZlKSB7XG4gICAgICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdGVzdGltb25pYWxzLWRvdHMgbGk6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdGVzdGltb25pYWxzLWRvdHMgYnV0dG9uIHtcbiAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fdGVzdGltb25pYWxzLWRvdHMgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiLjBcIjsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19sZWZ0LWxpbmstd3JhcCwgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fcmlnaHQtbGluay13cmFwIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIHBhZGRpbmctdG9wOiAwLjY4NzVyZW07IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fbGVmdC1saW5rLXRpdGxlLCAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19yaWdodC1saW5rLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19yaWdodC1saW5rLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kIC5mbG8tYmxvY2sge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRfX3RvcC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIHBhZGRpbmc6IDQuOTM3NXJlbSA4LjMxMjVyZW0gMy45Mzc1cmVtIDguMzEyNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fbGVmdC1saW5rLXdyYXAge1xuICAgICAgd2lkdGg6IDI4JTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNzVyZW07IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190ZXN0aW1vbmlhbHMtd3JhcCB7XG4gICAgICB3aWR0aDogNDQlO1xuICAgICAgcGFkZGluZzogMCA0LjM3NXJlbTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX19yaWdodC1saW5rLXdyYXAge1xuICAgICAgd2lkdGg6IDI4JTtcbiAgICAgIHBhZGRpbmctbGVmdDogNC44MTI1cmVtOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCAuZmxvLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjg0Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjAzMTI1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190b3Atd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZF9fbGVmdC1saW5rLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9XG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kX190ZXN0aW1vbmlhbHMtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWQgLmZsby1ibG9jay1kZWxpbWl0ZXItMSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hX19mZWVkLWxhYmVsIHtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMi4xNTYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hIC5pbWctYmxvY2sge1xuICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAvIDYpICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwdncgLyA2KTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYV9fZmVlZC1sYWJlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMsIGJveC1zaGFkb3cgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hX19mZWVkLWxhYmVsOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwcHggMHB4IDM2cHggMHB4IHJnYmEoMCwgMCwgMCwgMC4zNyk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEuaGlkZGVuLW9uLW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWFfX2ZlZWQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMS4yNXJlbTsgfVxuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYSAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEgLmltZy1ibG9jayB7XG4gICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDE4Ljc1cmVtOyB9IH1cbiAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYl9fc29jaWFsLWxpbmtzLXdyYXA6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IDEuMjU2MjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjgxMjVyZW07XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX3NvY2lhbC1saW5rcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07IH1cbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX3NvY2lhbC1saW5rcyBhIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuMzc1cmVtO1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX2luZm9ybWF0aW9uIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICBwYWRkaW5nOiAwLjgxMjVyZW0gNi4zNzVyZW07IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYl9fc29jaWFsLWxpbmtzLXdyYXAsIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX2luZm9ybWF0aW9uIHtcbiAgICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX3NvY2lhbC1saW5rcy13cmFwIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTglOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX2luZm9ybWF0aW9uIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMzIlOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX2ZlZWQtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIHBhZGRpbmc6IDIuNjg3NXJlbSAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi40Mzc1cmVtO1xuICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYiAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYiAuaW1nLWJsb2NrIHtcbiAgICAgICAgICB3aWR0aDogNi4yNXJlbSAhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxLjMxMjVyZW07IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYiAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiA2LjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIge1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAyLjAzMTI1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX3NvY2lhbC1saW5rcy13cmFwLCAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iX19pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJfX3NvY2lhbC1saW5rcy13cmFwIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYl9faW5mb3JtYXRpb24ge1xuICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDA7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYl9fZmVlZC13cmFwIHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMS44NzVyZW07IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYl9fZmVlZC10ZXh0LWFyZWEge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIgLmltZy1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogMTguNzVyZW07IH0gfVxuICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hLS1oYXMtZGVsaW1pdGVyOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDEuNDM3NXJlbSA2LjM3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYS0taGFzLWRlbGltaXRlciB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIuNzgxMjVyZW07IH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hLS1oYXMtZGVsaW1pdGVyOmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjM0Mzc1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDEyLjc1cmVtKTsgfVxuICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDUuNjI1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUtd3JhcCB7XG4gICAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogNi40NTMxMnJlbTtcbiAgICAgICAgICAvKiBTdGFydDogMm5kIExldmVsIERyb3Bkb3duICovXG4gICAgICAgICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi8gfVxuICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudSA+IGxpID4gdWwge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAyMHB4IDIwcHggMHB4IHJnYmEoMCwgMCwgMCwgMC4xKTsgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgbGk6aG92ZXIgPiB1bCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IGxpIHVsIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiAxNS42MjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjE1NjI1cmVtIDA7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudSBsaSB1bCBsaSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwLjQwNjI1cmVtIDIuNDM3NXJlbTsgfVxuICAgICAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IGxpIHVsIGxpID4gYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51IGxpIHVsIGxpID4gYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgbGkgdWwgbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudSA+IGxpID4gdWwge1xuICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyAxLjI1cmVtKSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgdG9wOiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgPiBsaSA+IHVsOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgIGhlaWdodDogMi4zMTI1cmVtO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudSA+IGxpID4gdWw6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAwLjA2MjVyZW0pO1xuICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAuNDM3NXJlbSAwLjM3NXJlbSAwLjQzNzVyZW07XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fY29weXJpZ2h0LW5vdGljZSB7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgd2lkdGg6IDM4LjYlO1xuICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAyLjAzMTI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYSAuZmxvLWZvb3Rlcl9fZmxvdGhlbWVzLWxvZ28ge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudS13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgICAuZmxvLWZvb3RlciAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51ID4gbGkgPiB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudSBsaSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDsgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgLmNoaWxkcmVuLXZpc2libGUgPiAuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hX19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZSgwZGVnKTsgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYV9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFfX21lbnUgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDsgfSB9XG4gIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5mbG8tZm9vdGVyIC5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWIgLmZsby1mb290ZXJfX2Zsb3RoZW1lcy1sb2dvIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi4wNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYiB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gNi4zNzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZsby1mb290ZXIgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYiB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMi4wMzEyNXJlbTsgfSB9XG5cbi5mbG8tZ2VuZXJpYy1mYW5jeWJveC12aWRlbyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogMTAwMDsgfVxuXG4uZmxvLWdlbmVyaWMtbWVudS13cmFwIHtcbiAgLyogU1RBUlQ6IE1FTlUgKGRyb3Bkb3ducywgbGlua3MgZXRjLikgKi9cbiAgLyogRU5EOiBNRU5VIChkcm9wZG93bnMsIGxpbmtzIGV0Yy4pICovIH1cbiAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgei1pbmRleDogMjMxMTIzMTI7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIC8qIFN0YXJ0OiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAvKiBFbmQ6IDJuZCBMZXZlbCBEcm9wZG93biAqLyB9XG4gICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0cmFuc2l0aW9uOiBib3JkZXIgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgbGk6aG92ZXIgPiB1bCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51IGxpIHVsIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdpZHRoOiAxNS42MjVyZW07XG4gICAgICBwYWRkaW5nOiAxLjE1NjI1cmVtIDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSBsaSB1bCBsaSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwLjQwNjI1cmVtIDIuNDM3NXJlbTsgfVxuICAgICAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51IGxpIHVsIGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51IGxpIHVsIGxpID4gYTpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgbGkgdWwgbGkgPiBhOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cywgYm9yZGVyLWNvbG9yIDAuNXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1nZW5lcmljLW1lbnUtd3JhcF9fbWVudSA+IGxpID4gdWwge1xuICAgICAgdG9wOiBjYWxjKDEwMCUgKyAyLjMxMjVyZW0pO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgICAuZmxvLWdlbmVyaWMtbWVudS13cmFwX19tZW51ID4gbGkgPiB1bDpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBoZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5mbG8tZ2VuZXJpYy1tZW51LXdyYXBfX21lbnUgPiBsaSA+IHVsOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlIC0gMC4wNjI1cmVtKTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwLjQzNzVyZW0gMC4zNzVyZW0gMC40Mzc1cmVtO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50OyB9XG5cbi5mbG8tZ2VuZXJpYy1zbGlkZXNfX3NsaWRlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5mbG8tZ2VuZXJpYy1zbGlkZXNfX3NsaWRlLWNvbnRlbnQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG5cbi5mbG8tZ2VuZXJpYy1zbGlkZXNfX3NsaWRlLWltZy0tYmdpIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4uZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtYmFja2dyb3VuZC12aWRlbyB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAuZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvLS1jcm9wcGVkIHZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtYmFja2dyb3VuZC12aWRlby0tbm8tY3JvcCB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZmxvLWdlbmVyaWMtc2xpZGVzLS1pbWFnZS10eXBlLWJnaSAuZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoOyB9IH1cblxuLmZsby1nZW5lcmljLXNsaWRlc19fc2xpZGUtaW1nIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICBiYWNrZ3JvdW5kLWltYWdlOiB2YXIoLS1pbWctc21hbGwpOyB9XG5cbkBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAuZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1pbWcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1tZWRpdW0pOyB9IH1cblxuQG1lZGlhIChtaW4td2lkdGg6IDEwMjVweCkge1xuICAuZmxvLWdlbmVyaWMtc2xpZGVzX19zbGlkZS1pbWcge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7IH0gfVxuXG4uZmxvLW1vYmlsZS1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHotaW5kZXg6IDk5OTk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgcGFkZGluZzogMi4xODc1cmVtIDIuMDMxMjVyZW07XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgLyogU1RBUlQ6IE1FTlUgKi9cbiAgLyogRU5EOiBNRU5VICovXG4gIC8qIFNUQVJUOiBDT1BZUklHSFRTIEFSRUEgKi9cbiAgLyogRU5EOiBDT1BZUklHSFRTIEFSRUEgKi9cbiAgLyogU1RBUlQ6IFZJU0lCSUxJVFkgKi9cbiAgLyogRU5EOiBWSVNJQklMSVRZICovXG4gIC8qIFNUQVJUOiBUWVBFUyAqL1xuICAvKiBFTkQ6IFRZUEVTICovIH1cbiAgLmZsby1tb2JpbGUtbWVudV9fbWVudSBhIHtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50OyB9XG4gIC5mbG8tbW9iaWxlLW1lbnVfX3RleHQtYWJvdmUtY29weXJpZ2h0LW5vdGljZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4wNjI1cmVtOyB9XG4gIC5mbG8tbW9iaWxlLW1lbnVfX2NvcHlyaWdodC1ub3RpY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDIuMzEyNXJlbTsgfVxuICAuYm9keS0tZmxvLW1vYmlsZS1tZW51LXBvcHVwLW9wZW5lZCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgIC5ib2R5LS1mbG8tbW9iaWxlLW1lbnUtcG9wdXAtb3BlbmVkIC5mbG8tbW9iaWxlLW1lbnUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG4gIGh0bWwgLmZsby1tb2JpbGUtbWVudSxcbiAgLmJvZHktLWZsby1tb2JpbGUtbWVudS1wb3B1cC1jbG9zZWQgLmZsby1tb2JpbGUtbWVudSB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1tb2JpbGUtbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIC8qIFNUQVJUOiBGSVJTVCBMRVZFTCBJVEVNICovXG4gICAgLyogRU5EOiBGSVJTVCBMRVZFTCBJVEVNICovXG4gICAgLyogU1RBUlQ6IERST1BET1dOICovXG4gICAgLyogRU5EOiBEUk9QRE9XTiAqL1xuICAgIC8qIFNUQVJUOiBEUk9QRE9XTiBUT0dHTElORyAqL1xuICAgIC8qIEVORDogRFJPUERPV04gVE9HR0xJTkcgKi8gfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYSAuZmxvLW1vYmlsZS1tZW51X19jbG9zZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjgxMjVyZW07IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fbWVudSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQuMzc1cmVtOyB9XG4gICAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fbWVudSBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fbWVudSBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgPiBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBwYWRkaW5nLXRvcDogMC44MTI1cmVtOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgPiBsaTpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fbWVudSA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4wNjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjVyZW07IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICByaWdodDogMDtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMCAxLjI1cmVtIDIuNXJlbTtcbiAgICAgIHdpZHRoOiAwLjc1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjc1cmVtOyB9XG4gICAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGU6YmVmb3JlLCAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGU6YmVmb3JlIHtcbiAgICAgICAgd2lkdGg6IDAuNzVyZW07XG4gICAgICAgIGhlaWdodDogMXB4OyB9XG4gICAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWEgLmZsby1tb2JpbGUtbWVudV9fbWVudS1kcm9wZG93bi10b2dnbGU6YWZ0ZXIge1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBoZWlnaHQ6IDAuNzVyZW07XG4gICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzLCBvcGFjaXR5IDAuNXMsIGhlaWdodCAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUgbGkuY2hpbGRyZW4tdmlzaWJsZSAuZmxvLW1vYmlsZS1tZW51X19tZW51LWRyb3Bkb3duLXRvZ2dsZTphZnRlciB7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1hIC5mbG8tbW9iaWxlLW1lbnVfX2NvcHlyaWdodC1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IDAgMy4xMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIC8qIFNUQVJUOiBEUk9QRE9XTiAqL1xuICAgIC8qIEVORDogRFJPUERPV04gKi9cbiAgICAvKiBTVEFSVDogRFJPUERPV04gVE9HR0xFUyAqL1xuICAgIC8qIFNUQVJUOiBNQUlOIFRPR0dMRSAqL1xuICAgIC8qIEVORDogTUFJTiBUT0dHTEUgKi9cbiAgICAvKiBTVEFSVDogRFVQTElDQVRFIFRPR0dMRSBGT1IgVEhFIERST1BET1dOIE1FTlUgKi9cbiAgICAvKiBFTkQ6IERVUExJQ0FURSBUT0dHTEUgRk9SIFRIRSBEUk9QRE9XTiBNRU5VICovXG4gICAgLyogU1RBUlQ6IFZJU0lCSUxJVFkgKi9cbiAgICAvKiBFTkQ6IFZJU0lCSUxJVFkgKi9cbiAgICAvKiBFTkQ6IERST1BET1dOIFRPR0dMRVMgKi9cbiAgICAvKiBTVEFSVDogRFJPUERPV04gT1BFTkVEIFNUWUxFICovXG4gICAgLyogRU5EOiBEUk9QRE9XTiBPUEVORUQgU1RZTEUgKi8gfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIC5mbG8tbW9iaWxlLW1lbnVfX2Nsb3NlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNS42ODc1cmVtOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNi4xODc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWIgLmZsby1tb2JpbGUtbWVudV9fbWVudSBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYiAuZmxvLW1vYmlsZS1tZW51X19tZW51ID4gbGkgPiB1bCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogY2FsYygxMDAlICsgMi40Mzc1cmVtKTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICB3aWR0aDogNzAlOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDsgfVxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUtZHJvcGRvd24tdG9nZ2xlIGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUtZHJvcGRvd24tdG9nZ2xlIGk6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWIgLmZsby1tb2JpbGUtbWVudV9fbWVudSA+IGxpID4gYSAuZmxvLW1vYmlsZS1tZW51X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICB3aWR0aDogMWVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIG1hcmdpbiAwLjVzLCB3aWR0aCAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tbW9iaWxlLW1lbnUtLXR5cGUtYiAuZmxvLW1vYmlsZS1tZW51X19tZW51ID4gbGkgPiB1bCA+IC5mbG8tbW9iaWxlLW1lbnVfX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgMS42MjVyZW0pO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWIgLmZsby1tb2JpbGUtbWVudV9fbWVudSBsaS5jaGlsZHJlbi12aXNpYmxlID4gYSAuZmxvLW1vYmlsZS1tZW51X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iIC5mbG8tbW9iaWxlLW1lbnVfX2NvcHlyaWdodC1hcmVhIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWIuZmxvLW1vYmlsZS1tZW51LS1kcm9wZG93bi1vcGVuZWQge1xuICAgICAgLyogU1RBUlQ6IERST1BET1dOIFRPR0dMRSBTVFVGRiAqL1xuICAgICAgLyogRU5EOiBEUk9QRE9XTiBUT0dHTEUgU1RVRkYgKi8gfVxuICAgICAgLmZsby1tb2JpbGUtbWVudS0tdHlwZS1iLmZsby1tb2JpbGUtbWVudS0tZHJvcGRvd24tb3BlbmVkIC5mbG8tbW9iaWxlLW1lbnVfX21lbnUsXG4gICAgICAuZmxvLW1vYmlsZS1tZW51LS10eXBlLWIuZmxvLW1vYmlsZS1tZW51LS1kcm9wZG93bi1vcGVuZWQgLmZsby1tb2JpbGUtbWVudV9fY29weXJpZ2h0LWFyZWEge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoY2FsYygtNTB2dyArIDIuMDMxMjVyZW0pKTsgfVxuXG4uZmxvLWhlYWRlci1tb2JpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxLjU2MjVyZW0gMi4wMzEyNXJlbTtcbiAgei1pbmRleDogMTExO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cywgb3BhY2l0eSAwLjVzLCBwYWRkaW5nIDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG4gIC8qIFNUQVJUOiBNRU5VIFRSSUdHRVIgKi9cbiAgLyogRU5EOiBNRU5VIFRSSUdHRVIgKi9cbiAgLyogU1RBUlQ6IExPR08gKi9cbiAgLyogRU5EOiBMT0dPICovXG4gIC8qIFNUQVJUOiBUWVBFUyAqL1xuICAvKiBFTkQ6IFRZUEVTICovXG4gIC8qIFNUQVJUOiBTVElDS1kgVFlQRSBBICovXG4gIC8qIEVORDogU1RJQ0tZIFRZUEUgQSAqL1xuICAvKiBTVEFSVDogU1RJQ0tZIFRZUEUgQiAqL1xuICAvKiBFTkQ6IFNUSUNLWSBUWVBFIEIgKi9cbiAgLyogU1RBUlQ6IEhJREUgT04gREVTS1RPUCAqL1xuICAvKiBFTkQ6IEhJREUgT04gREVTS1RPUCAqL1xuICAvKiBTVEFSVDogTU9CSUxFIExPR08gKi9cbiAgLyogRU5EOiBNT0JJTEUgTE9HTyAqLyB9XG4gIC5mbG8taGVhZGVyLW1vYmlsZV9fbWVudS10cmlnZ2VyIHtcbiAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogNjAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsaW5lLWhlaWdodDogMWVtICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLS1saWdodCAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby0tbGlnaHQgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLXN0aWNreSwgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIG9wYWNpdHk6IDA7IH1cbiAgLmZsby1oZWFkZXItbW9iaWxlLS10eXBlLWEgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAuZmxvLWhlYWRlci1tb2JpbGUtLXR5cGUtYiB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlLS10eXBlLWIgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmZsby1oZWFkZXItbW9iaWxlLS10eXBlLWMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEuODEyNXJlbSAyLjAzMTI1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlLS10eXBlLWMgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuODc1cmVtOyB9XG5cbi8qIFNUQVJUOiBTVElDS1kgQk9UVE9NIEFOSU1BVElPTiAqL1xuQGtleWZyYW1lcyBtb3ZlX3N0aWNreV90b19ib3R0b20ge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLyogRU5EOiBTVElDS1kgQk9UVE9NIEFOSU1BVElPTiAqL1xuICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIge1xuICAgIHRyYW5zaXRpb246IGhlaWdodCAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIgLmZsby1oZWFkZXItbW9iaWxlLmlzLW1haW4ge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuZmxvLWhlYWRlci1tb2JpbGUge1xuICAgICAgcG9zaXRpb246IGZpeGVkICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAxLjI1cmVtIDIuMDMxMjVyZW07IH1cbiAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlLmZsby1oZWFkZXItbW9iaWxlLS1zdGlja3ktc3R5bGUtYS5mbG8taGVhZGVyLW1vYmlsZS0tc3RpY2t5LXBvc2l0aW9uLXRvcCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgYm90dG9tOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlLmZsby1oZWFkZXItbW9iaWxlLS1zdGlja3ktc3R5bGUtYS5mbG8taGVhZGVyLW1vYmlsZS0tc3RpY2t5LXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICAgIGFuaW1hdGlvbi1uYW1lOiBtb3ZlX3N0aWNreV90b19ib3R0b207XG4gICAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMC41cztcbiAgICAgICAgYW5pbWF0aW9uLWZpbGwtbW9kZTogZm9yd2FyZHM7XG4gICAgICAgIHRvcDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBib3R0b206IDAgIWltcG9ydGFudDsgfVxuICAgICAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlci5pcy1zdGlja3kgLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tc3RpY2t5IHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAuZmxvLWhlYWRlci1tb2JpbGVfX3N0aWNreS1pY29uIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHdpZHRoOiAzLjI1cmVtO1xuICAgIGhlaWdodDogMy4yNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAzLjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzLjI1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgIHotaW5kZXg6IDEwMDA7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlX19zdGlja3ktaWNvbi0tcG9zaXRpb24tdG9wLWxlZnQge1xuICAgICAgdG9wOiAxLjQzNzVyZW07XG4gICAgICBsZWZ0OiAxLjMxMjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci1tb2JpbGVfX3N0aWNreS1pY29uLS1wb3NpdGlvbi10b3AtcmlnaHQge1xuICAgICAgdG9wOiAxLjQzNzVyZW07XG4gICAgICByaWdodDogMS4zMTI1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlX19zdGlja3ktaWNvbi0tcG9zaXRpb24tYm90dG9tLXJpZ2h0IHtcbiAgICAgIGJvdHRvbTogMS40Mzc1cmVtO1xuICAgICAgcmlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fc3RpY2t5LWljb24tLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgICAgIGJvdHRvbTogMS40Mzc1cmVtO1xuICAgICAgbGVmdDogMS4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLWhlYWRlci1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5ib2R5LS1mbG8tcGFnZS1oZXJvLWVsZW1lbnRzLWNvbG9yLWlzLWxpZ2h0IC5mbG8taGVhZGVyLWFuZC1mbG8tcGFnZS1oZXJvID4gaGVhZGVyID4gLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCxcbiAgLmJvZHktLWZsby1wYWdlLWhlcm8tZWxlbWVudHMtY29sb3ItaXMtbGlnaHQgLmZsby1oZWFkZXItYW5kLWZsby1wYWdlLWhlcm8gLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0IHtcbiAgICBvcGFjaXR5OiAwOyB9XG4gIC5ib2R5LS1mbG8tcGFnZS1oZXJvLWVsZW1lbnRzLWNvbG9yLWlzLWxpZ2h0IC5mbG8taGVhZGVyLWFuZC1mbG8tcGFnZS1oZXJvID4gaGVhZGVyID4gLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQsXG4gIC5ib2R5LS1mbG8tcGFnZS1oZXJvLWVsZW1lbnRzLWNvbG9yLWlzLWxpZ2h0IC5mbG8taGVhZGVyLWFuZC1mbG8tcGFnZS1oZXJvIC5mbG8taGVhZGVyLW1vYmlsZS1zdGlja3ktd3JhcHBlcjpub3QoLmlzLXN0aWNreSkgLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuZmxvLWhlYWRlci1tb2JpbGUge1xuICAgIHBvc2l0aW9uOiBmaXhlZCAhaW1wb3J0YW50O1xuICAgIGJvdHRvbTogYXV0byAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuLmZsby1oZWFkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgLyogU1RBUlQ6IEhFQURFUiBDT01NT04gRUxFTUVOVFMgKi9cbiAgLyogU1RBUlQ6IE1FTlUgKGRyb3Bkb3ducywgbGlua3MgZXRjLikgKi9cbiAgLyogRU5EOiBNRU5VIChkcm9wZG93bnMsIGxpbmtzIGV0Yy4pICovXG4gIC8qIEVORDogSEVBREVSIENPTU1PTiBFTEVNRU5UUyAqL1xuICAvKiBTVEFSVDogSEVBREVSIExBWU9VVFMgKi9cbiAgLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgLyogRU5EOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gIC8qIFNUQVJUOiBXSEVOIFNUSUNLWSBBREpVU1QgUEFERElOR1MgKi9cbiAgLyogRU5EOiBXSEVOIFNUSUNLWSBBREpVU1QgUEFERElOR1MgKi9cbiAgLyogU1RBUlQ6IE1lbnUgSXRlbXMgR2FwICovXG4gIC8qIEVORDogTWVudSBJdGVtcyBHYXAgKi9cbiAgLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgLyogRU5EOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gIC8qIFNUQVJUOiBXSEVOIFNUSUNLWSBBREpVU1QgUEFERElOR1MgKi9cbiAgLyogRU5EOiBXSEVOIFNUSUNLWSBBREpVU1QgUEFERElOR1MgKi9cbiAgLyogU1RBUlQ6IE1lbnUgSXRlbXMgR2FwICovXG4gIC8qIEVORDogTWVudSBJdGVtcyBHYXAgKi9cbiAgLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgLyogRU5EOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gIC8qIFNUQVJUOiBNZW51IEl0ZW1zIEdhcCAqL1xuICAvKiBFTkQ6IE1lbnUgSXRlbXMgR2FwICovXG4gIC8qIFNUQVJUOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gIC8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuICAvKiBTVEFSVDogV0hFTiBTVElDS1kgQURKVVNUUyBQQURESU5HUyAqL1xuICAvKiBFTkQ6IFdIRU4gU1RJQ0tZIEFESlVTVFMgUEFERElOR1MgKi9cbiAgLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgLyogRU5EOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gIC8qIEVORDogSEVBREVSIExBWU9VVFMgKi8gfVxuICAuZmxvLWhlYWRlcl9fbWVudSB7XG4gICAgLyogU3RhcnQ6IDJuZCBMZXZlbCBEcm9wZG93biAqL1xuICAgIC8qIEVuZDogMm5kIExldmVsIERyb3Bkb3duICovIH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB6LWluZGV4OiAyMzExMjMxMjtcbiAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgIC5mbG8taGVhZGVyX19tZW51IGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IGJvcmRlciAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1oZWFkZXJfX21lbnUgbGkgYSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudSBsaTpob3ZlciA+IHVsIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAgIC5mbG8taGVhZGVyX19tZW51IGxpIHVsIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHdpZHRoOiAxNS42MjVyZW07XG4gICAgICBwYWRkaW5nOiAxLjE1NjI1cmVtIDA7XG4gICAgICB6LWluZGV4OiAyO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1oZWFkZXJfX21lbnUgbGkgdWwgbGkge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMC40MDYyNXJlbSAyLjQzNzVyZW07IH1cbiAgICAgICAgLmZsby1oZWFkZXJfX21lbnUgbGkgdWwgbGkuY3VycmVudC1tZW51LWl0ZW0gPiBhOmJlZm9yZSwgLmZsby1oZWFkZXJfX21lbnUgbGkgdWwgbGkuY3VycmVudC1tZW51LXBhcmVudCA+IGE6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5mbG8taGVhZGVyX19tZW51IGxpIHVsIGxpID4gYSB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgICAuZmxvLWhlYWRlcl9fbWVudSBsaSB1bCBsaSA+IGE6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAuZmxvLWhlYWRlcl9fbWVudSBsaSB1bCBsaSA+IGE6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzLCBib3JkZXItY29sb3IgMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkgPiB1bCB7XG4gICAgICB0b3A6IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IHVsOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGhlaWdodDogMS41cmVtO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpID4gdWw6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAwLjA2MjVyZW0pO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAuNDM3NXJlbSAwLjM3NXJlbSAwLjQzNzVyZW07XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cbiAgLmZsby1oZWFkZXJfX21lbnUtdHJpZ2dlci13cmFwIC5mbG8taGVhZGVyX19tZW51LXRyaWdnZXIge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlYWRlcl9fbG9nbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlcl9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXJfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgIC5mbG8taGVhZGVyX19sb2dvLS1pcy1saWdodCAuZmxvLWhlYWRlcl9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8taGVhZGVyX19sb2dvLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWhlYWRlcl9fbG9nby1pbWFnZS0tc3RpY2t5LCAuZmxvLWhlYWRlcl9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICBvcGFjaXR5OiAwOyB9XG4gIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgd2lkdGg6IDE2LjVyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLWxhYmVsLCAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0taW5wdXQ6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIsIC5mbG8taGVhZGVyX19zZWFyY2gtaWNvbiB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybS1sYWJlbCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxLjMxMjVyZW07XG4gICAgY29sb3I6IGluaGVyaXQ7IH1cbiAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLWlucHV0IHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0tc3VibWl0IHtcbiAgICBtYXJnaW4tbGVmdDogMi4xODc1cmVtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5mbG8taGVhZGVyX19zZWFyY2gtaWNvbiB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcyBhOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgIG1hcmdpbi1yaWdodDogMS4xMjVyZW07IH1cbiAgLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcyBhOmJlZm9yZSB7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgei1pbmRleDogOTk5OTsgfVxuICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cCB7XG4gICAgdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIHdpZHRoOiAyNi4yNXJlbTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogNS4zMTI1cmVtIDQuOTM3NXJlbSA0Ljg3NXJlbSA5LjY4NzVyZW07XG4gICAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgICBvdmVyZmxvdy15OiB2aXNpYmxlOyB9XG4gIC5mbG8taGVhZGVyX19tZW51LXBvcHVwLWVsZW1lbnRzLXdyYXAge1xuICAgIHVzZXItc2VsZWN0OiBub25lOyB9XG4gIC5mbG8taGVhZGVyX19tZW51LXBvcHVwLWxvZ28td3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsby1oZWFkZXJfX21lbnUtcG9wdXAtbG9nby13cmFwIC5mbG8taGVhZGVyX19sb2dvIHtcbiAgICAgIG1heC13aWR0aDogNTAlICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1oZWFkZXJfX21lbnUtcG9wdXAtY2xvc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgbGVmdDogLTMuMzEyNXJlbTtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC1tZW51LXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDguOTM3NXJlbTsgfVxuICAgIC5mbG8taGVhZGVyX19tZW51LXBvcHVwLW1lbnUtd3JhcCAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC1tZW51LXdyYXAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41NjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC1tZW51LXdyYXAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpID4gdWwge1xuICAgICAgICBsZWZ0OiBjYWxjKDEwMCUgKyAyLjkzNzVyZW0pO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiBpbmhlcml0OyB9XG4gICAgICAgIC5mbG8taGVhZGVyX19tZW51LXBvcHVwLW1lbnUtd3JhcCAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkgPiB1bDphZnRlciB7XG4gICAgICAgICAgdG9wOiAwLjVlbTtcbiAgICAgICAgICBib3R0b206IGF1dG87XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoNzUlKTtcbiAgICAgICAgICBib3JkZXItd2lkdGg6IDAgMC40Mzc1cmVtIDAuMzc1cmVtIDAuNDM3NXJlbTsgfVxuICAgICAgICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC1tZW51LXdyYXAgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpID4gdWw6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMi45Mzc1cmVtO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHRvcDogMDsgfVxuICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC10ZXh0LWFib3ZlLWNvcHlyaWdodC1ub3RpY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMDYyNXJlbTsgfVxuICAuZmxvLWhlYWRlcl9fbWVudS1wb3B1cC1mbG8tbG9nbyB7XG4gICAgbWFyZ2luLXRvcDogMy45Mzc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50OyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWEsIC5mbG8taGVhZGVyLS10eXBlLWIge1xuICAgIHBhZGRpbmc6IDAgNi4zNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudS13cmFwLCAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51LXdyYXAge1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZy1ib3R0b20gMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19tZW51LCAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwsIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSwgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6bGFzdC1jaGlsZCwgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDBweDsgfVxuICAgICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOm50aC1jaGlsZCg2bik6bGFzdC1jaGlsZCwgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQsIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOm50aC1jaGlsZCg2bik6bGFzdC1jaGlsZCwgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6IDEzJTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDsgfVxuICAgICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkLCAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpudGgtY2hpbGQoNm4pOmxhc3QtY2hpbGQsIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOm50aC1jaGlsZCg2bik6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX2xvZ28td3JhcCwgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbG9nby13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRyYW5zaXRpb246IHBhZGRpbmctYm90dG9tIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWEgLmZsby1oZWFkZXJfX21lbnUtd3JhcCB7XG4gICAgcGFkZGluZy10b3A6IDIuNDM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogNS4yNXJlbTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19sb2dvLXdyYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiA2LjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX21lbnUtd3JhcCB7XG4gICAgcGFkZGluZy1ib3R0b206IDMuNDM3NXJlbTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19sb2dvLXdyYXAge1xuICAgIHBhZGRpbmctdG9wOiAzLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDQuNTYyNXJlbTsgfVxuICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbG9nby13cmFwLFxuICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbG9nby13cmFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudS13cmFwLFxuICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtYiAuZmxvLWhlYWRlcl9fbWVudS13cmFwIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMnJlbTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1jLCAuZmxvLWhlYWRlci0tdHlwZS1kIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSA2LjM3NXJlbSAzLjA2MjVyZW0gNi4zNzVyZW07XG4gICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX190b3Atd3JhcCwgLmZsby1oZWFkZXItLXR5cGUtZCAuZmxvLWhlYWRlcl9fdG9wLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMS42MjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAsIC5mbG8taGVhZGVyLS10eXBlLWQgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYyAuZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzLCAuZmxvLWhlYWRlci0tdHlwZS1kIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3Mge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX19ib3R0b20td3JhcCwgLmZsby1oZWFkZXItLXR5cGUtZCAuZmxvLWhlYWRlcl9fYm90dG9tLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX19sb2dvLXdyYXAsIC5mbG8taGVhZGVyLS10eXBlLWQgLmZsby1oZWFkZXJfX2xvZ28td3JhcCB7XG4gICAgICBmbGV4LXNocmluazogMDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWMgLmZsby1oZWFkZXJfX21lbnUsIC5mbG8taGVhZGVyLS10eXBlLWQgLmZsby1oZWFkZXJfX21lbnUge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtYyA+IGRpdiA+IHVsLCAuZmxvLWhlYWRlci0tdHlwZS1kID4gZGl2ID4gdWwge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWMgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWMgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiA5LjA2MjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtZCAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsIHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0xLjU2MjVyZW07XG4gICAgd2lkdGg6IGNhbGMoMTAwJSArIDEuNTYyNXJlbSk7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZCAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA5LjA2MjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWMsXG4gIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1kIHtcbiAgICBwYWRkaW5nLXRvcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1jIC5mbG8taGVhZGVyX190b3Atd3JhcCxcbiAgICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtZCAuZmxvLWhlYWRlcl9fdG9wLXdyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuNjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWUsIC5mbG8taGVhZGVyLS10eXBlLWYge1xuICAgIHBhZGRpbmc6IDAgNi4zNzVyZW07XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmctdG9wOiAyLjE4NzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDIuMTg3NXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWUgLmZsby1oZWFkZXJfX2xvZ28td3JhcCwgLmZsby1oZWFkZXItLXR5cGUtZiAuZmxvLWhlYWRlcl9fbG9nby13cmFwIHtcbiAgICAgIGZsZXgtc2hyaW5rOiAwOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZSAuZmxvLWhlYWRlcl9fbWVudS13cmFwLCAuZmxvLWhlYWRlci0tdHlwZS1mIC5mbG8taGVhZGVyX19tZW51LXdyYXAge1xuICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZSAuZmxvLWhlYWRlcl9fbWVudSwgLmZsby1oZWFkZXItLXR5cGUtZiAuZmxvLWhlYWRlcl9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGhlaWdodDogYXV0bzsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtZSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsLCAuZmxvLWhlYWRlci0tdHlwZS1mIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtZSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGksIC5mbG8taGVhZGVyLS10eXBlLWYgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjQ2ODc1cmVtIDA7IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtZSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZSAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDkuMDYyNXJlbTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1mIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwge1xuICAgIG1hcmdpbi1yaWdodDogLTEuNTYyNXJlbTtcbiAgICB3aWR0aDogY2FsYygxMDAlICsgMS41NjI1cmVtKTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWYgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogOS4wNjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWcsIC5mbG8taGVhZGVyLS10eXBlLWgge1xuICAgIHBhZGRpbmc6IDAgNi4zNzVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19hZGRvbnMtd3JhcCwgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fYWRkb25zLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdHJhbnNpdGlvbjogcGFkZGluZyAwLjVzO1xuICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwLCAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCB7XG4gICAgICB3aWR0aDogMzAlOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fbG9nby13cmFwLCAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19sb2dvLXdyYXAge1xuICAgICAgd2lkdGg6IDQwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3MsIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcyB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19tZW51LXdyYXAsIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX21lbnUtd3JhcCB7XG4gICAgICB0cmFuc2l0aW9uOiBwYWRkaW5nIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fbWVudSwgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsLCAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGksIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICAgICAgICB3aWR0aDogMjQlO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG4gICAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6bGFzdC1jaGlsZCwgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDBweDsgfVxuICAgICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOm50aC1jaGlsZCg1bik6bGFzdC1jaGlsZCwgLmZsby1oZWFkZXItLXR5cGUtZyAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQsIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOm50aC1jaGlsZCg1bik6bGFzdC1jaGlsZCwgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsID4gbGk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgd2lkdGg6IDE0JTsgfVxuICAgICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkLCAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7IH1cbiAgICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaTpudGgtY2hpbGQoNW4pOmxhc3QtY2hpbGQsIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX21lbnUgPiBkaXYgPiB1bCA+IGxpOm50aC1jaGlsZCg1bik6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMDsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19hZGRvbnMtd3JhcCB7XG4gICAgcGFkZGluZy10b3A6IDMuNTYyNXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTsgfVxuICAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19tZW51LXdyYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjU2MjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fYWRkb25zLXdyYXAge1xuICAgIHBhZGRpbmctYm90dG9tOiA0LjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX21lbnUtd3JhcCB7XG4gICAgcGFkZGluZy10b3A6IDIuMTg3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy40Mzc1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1nIC5mbG8taGVhZGVyX19hZGRvbnMtd3JhcCxcbiAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX2FkZG9ucy13cmFwIHtcbiAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjgxMjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX21lbnUtd3JhcCxcbiAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWggLmZsby1oZWFkZXJfX21lbnUtd3JhcCB7XG4gICAgcGFkZGluZy10b3A6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWksIC5mbG8taGVhZGVyLS10eXBlLWoge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMi4xODc1cmVtIDYuMzc1cmVtIDIuNTYyNXJlbSA2LjM3NXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWkgLmZsby1oZWFkZXJfX2xlZnQtc2lkZSwgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fbGVmdC1zaWRlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtaSAuZmxvLWhlYWRlcl9fcmlnaHQtc2lkZSwgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fcmlnaHQtc2lkZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1pIC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCwgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAge1xuICAgICAgbWFyZ2luLXJpZ2h0OiA0Ljc1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWkgLmZsby1oZWFkZXJfX21lbnUtdHJpZ2dlci13cmFwIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDIuMjVyZW07IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtaiAuZmxvLWhlYWRlcl9fbWVudS10cmlnZ2VyLXdyYXAge1xuICAgIG1hcmdpbi1sZWZ0OiAyLjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLS10eXBlLWsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMS4zNzVyZW0gNi4zNzVyZW07XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAvKiBTVEFSVDogTWVudSBJdGVtcyBHYXAgKi9cbiAgICAvKiBFTkQ6IE1lbnUgSXRlbXMgR2FwICovIH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19sZWZ0LWNvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgd2lkdGg6IDE2LjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19taWRkbGUtY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgcGFkZGluZzogMCAyLjMxMjVyZW07XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX190b3AtcGFydCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IDFyZW0gMS40Mzc1cmVtIDEuMzEyNXJlbSAxLjQzNzVyZW07XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19wcmUtdGl0bGUge1xuICAgICAgcGFkZGluZy1yaWdodDogMS4yNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMS4yNXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX2J1dHRvbiB7XG4gICAgICBwYWRkaW5nOiAwLjM3NXJlbSAxLjE4NzVyZW0gMC4xODc1cmVtIDEuMTg3NXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX2JvdHRvbS1wYXJ0IHtcbiAgICAgIHBhZGRpbmc6IDEuNXJlbSAxLjQzNzVyZW0gMS4zNzVyZW0gMS40Mzc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fbWVudSB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fbWVudSA+IGRpdiA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC00LjM3NXJlbTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDQuMzc1cmVtKTsgfVxuICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDQuMzc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fcmlnaHQtY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgd2lkdGg6IDE2LjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3MtbGluZSB7XG4gICAgICB3aWR0aDogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgYm9yZGVyLXRvcC13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjY4NzVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3MgPiBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzLXRleHQge1xuICAgICAgbWFyZ2luLXRvcDogMS41cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fcHJlLXRpdGxlLFxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX3RpdGxlLFxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX2J1dHRvbixcbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX19zb2NpYWwtbGlua3MtbGluZSxcbiAgICAuZmxvLWhlYWRlci0tdHlwZS1rIC5mbG8taGVhZGVyX190aXRsZS1kaXZpZGVyLFxuICAgIC5mbG8taGVhZGVyLS10eXBlLWsgLmZsby1oZWFkZXJfX3NvY2lhbC1saW5rcy10ZXh0IHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtayAuZmxvLWhlYWRlcl9fYnV0dG9uIHtcbiAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1oZWFkZXItLXR5cGUtbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAyLjQzNzVyZW0gNi4zNzVyZW07XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWwuYWxpZ24tZmxleC1zdGFydCAuZmxvLWhlYWRlcl9fbWVudS0tbGVmdCwgLmZsby1oZWFkZXItLXR5cGUtbC5hbGlnbi1mbGV4LXN0YXJ0IC5mbG8taGVhZGVyX19tZW51LS1yaWdodCB7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19jZW50ZXJlZC1sb2dvLXdyYXAge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX2NlbnRlcmVkLWxvZ28td3JhcCAuZmxvLWhlYWRlcl9fc29jaWFsLWxpbmtzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tbGVmdCAuZmxvLWhlYWRlcl9fbWVudS1pdGVtcyA+IGxpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMy4xODc1cmVtOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tbGVmdCA+IGRpdiA+IHVsIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAzLjE4NzVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIC5mbG8taWNvbi1jbG9zZSxcbiAgICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX21lbnUtLXJpZ2h0IC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCAuZmxvLWljb24tc2VhcmNoIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLmZsby1pY29uLWNsb3NlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIC5zZWFyY2gtdmlzaWJsZSArIC5mbG8taGVhZGVyX19zZWFyY2gtdHJpZ2dlciAuZmxvLWljb24tc2VhcmNoIHtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIC5zZWFyY2gtdmlzaWJsZSArIC5mbG8taGVhZGVyX19zZWFyY2gtdHJpZ2dlciAuZmxvLWljb24tY2xvc2Uge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTEuNjI1cmVtO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwLjgyNXJlbSAwLjYyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjZGNSAhaW1wb3J0YW50O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArIDEuMjI1cmVtKTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLnNlYXJjaC12aXNpYmxlIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAgICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX21lbnUtLXJpZ2h0IC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm06YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgIHJpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIGJvcmRlci1zdHlsZTogc29saWQ7XG4gICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIDAuNTc4MTJyZW0gMC41OTM3NXJlbSAwLjU3ODEycmVtO1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyLWxlZnQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNGOEY2RjU7IH1cbiAgICAgICAgLmZsby1oZWFkZXItLXR5cGUtbCAuZmxvLWhlYWRlcl9fbWVudS0tcmlnaHQgLmZsby1oZWFkZXJfX3NlYXJjaC13cmFwIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybSAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0taW5wdXQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY2RjUgIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLWhlYWRlci0tdHlwZS1sIC5mbG8taGVhZGVyX19tZW51LS1yaWdodCAuZmxvLWhlYWRlcl9fc2VhcmNoLXdyYXAgLmZsby1oZWFkZXJfX3NlYXJjaC10cmlnZ2VyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX21lbnUtLXJpZ2h0IC5mbG8taGVhZGVyX19tZW51LWl0ZW1zID4gbGkge1xuICAgICAgbWFyZ2luLWxlZnQ6IDMuMTg3NXJlbTsgfVxuICAgIC5mbG8taGVhZGVyLS10eXBlLWwgLmZsby1oZWFkZXJfX21lbnUtLXJpZ2h0ID4gZGl2ID4gdWwge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuKiB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDsgfVxuXG4vKiBTVEFSVDogU1RJQ0tZIEhFQURFUiBTVFlMRVMgKi9cbi5mbG8taGVhZGVyLS1zdGlja3kgLnN0aWNreS13cmFwcGVyIHtcbiAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1oZWFkZXItLXN0aWNreSAuc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyIHtcbiAgICBwb3NpdGlvbjogZml4ZWQgIWltcG9ydGFudDtcbiAgICB0b3A6IDAgIWltcG9ydGFudDtcbiAgICBib3R0b206IGF1dG8gIWltcG9ydGFudDsgfVxuICAgIC5mbG8taGVhZGVyLS1zdGlja3kgLnN0aWNreS13cmFwcGVyLmlzLXN0aWNreSAuZmxvLWhlYWRlcl9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IC5mbG8taGVhZGVyX19sb2dvLWltYWdlLS1zdGlja3kge1xuICAgICAgb3BhY2l0eTogMTsgfVxuXG4vKiBFTkQ6IFNUSUNLWSBIRUFERVIgU1RZTEVTICovXG4uZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsby1oZWFkZXItdG9wYmFyLS1zaW1wbGVfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmZsby1oZWFkZXItdG9wYmFyLS1zaW1wbGVfX2J1dHRvbjphZnRlciwgLmZsby1oZWFkZXItdG9wYmFyLS1zaW1wbGVfX2J1dHRvbjpiZWZvcmUge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBib3R0b206IC01cHg7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDsgfVxuICAgIC5mbG8taGVhZGVyLXRvcGJhci0tc2ltcGxlX19idXR0b246YWZ0ZXIge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZV9fYnV0dG9uOmJlZm9yZSB7XG4gICAgICB3aWR0aDogMHB4O1xuICAgICAgei1pbmRleDogMjtcbiAgICAgIHRyYW5zaXRpb246IHdpZHRoIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItdG9wYmFyLS1zaW1wbGVfX2J1dHRvbjpob3ZlcjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1oZWFkZXItdG9wYmFyLS1zaW1wbGVfX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuXG4uZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX190ZXh0IHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5mbG8taGVhZGVyLXRvcGJhci0tZXh0ZW5kZWRfX2J1dHRvbiB7XG4gICAgcGFkZGluZzogMC42MjVyZW0gMS44NzVyZW07XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgYm94LXNoYWRvdyAwLjVzLCB0cmFuc2Zvcm0gMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1oZWFkZXItdG9wYmFyLS1leHRlbmRlZF9fYnV0dG9uOmhvdmVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wMik7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMzBweCA1cHggcmdiYSgwLCAwLCAwLCAwLjEpOyB9XG4gICAgLmZsby1oZWFkZXItdG9wYmFyLS1leHRlbmRlZF9fYnV0dG9uOmFjdGl2ZSwgLmZsby1oZWFkZXItdG9wYmFyLS1leHRlbmRlZF9fYnV0dG9uOmZvY3VzIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC45NSk7IH1cbiAgLmZsby1oZWFkZXItdG9wYmFyLS1leHRlbmRlZF9fY2xvc2Uge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZSB7XG4gICAgcGFkZGluZzogMjBweCAxMDBweDsgfVxuICAgIC5mbG8taGVhZGVyLXRvcGJhci0tc2ltcGxlX19idXR0b24ge1xuICAgICAgbWFyZ2luLWxlZnQ6IDY1cHg7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZV9fY2xvc2Uge1xuICAgICAgcmlnaHQ6IDYuMjVyZW07XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLmZsby1oZWFkZXItdG9wYmFyLS1leHRlbmRlZCB7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBwYWRkaW5nOiAyNXB4IDA7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX19pbWFnZS13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB3aWR0aDogMTgwcHg7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA0NXB4OyB9XG4gICAgICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX19pbWFnZS13cmFwIC5mbG8taGVhZGVyLXRvcGJhcl9faW1hZ2Uge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmZsby1oZWFkZXItdG9wYmFyLS1leHRlbmRlZF9fdGV4dC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1LjYyNXJlbTtcbiAgICAgIG1hcmdpbi1yaWdodDogNS42MjVyZW07XG4gICAgICBmbGV4LWdyb3c6IDE7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX19hY3Rpb25zLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgZmxleC1zaHJpbms6IDA7IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLWV4dGVuZGVkX19jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2NGVtKSB7XG4gIC5mbG8taGVhZGVyLXRvcGJhci0tZXh0ZW5kZWRfX2ltYWdlLXdyYXAge1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8taGVhZGVyLXRvcGJhci0tc2ltcGxlIHtcbiAgICBwYWRkaW5nOiAxLjg3NXJlbSAwO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmZsby1oZWFkZXItdG9wYmFyLS1zaW1wbGVfX3RleHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuZmxvLWhlYWRlci10b3BiYXItLXNpbXBsZV9fY2xvc2Uge1xuICAgICAgdG9wOiAwLjQzNzVyZW07IH1cbiAgLmZsby1oZWFkZXItdG9wYmFyLS1leHRlbmRlZCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLmZsb19wYWdlX3dyYXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZsb19wYWdlX3dyYXAtLXBhZGRpbmctdG9wLWxhcmdlIHtcbiAgICBwYWRkaW5nLXRvcDogOS4zNzVyZW07IH1cblxuLmZsb19wYWdlIHtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZmxvLXBvc3Qtd3JhcCB7XG4gIG1hcmdpbjogMCBhdXRvOyB9XG5cbi5mbG8tcG9zdC0tbm90LWZvdW5kIHtcbiAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9XG5cbi5mbG8tcG9zdCwgLmZsby1wb3N0X19zdHlsZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgMy4wIEFsaWdubWVudHNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIDguMCBMaXN0c1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgMTYuMCBNZWRpYVxuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG4gIC8qIE1ha2Ugc3VyZSBlbWJlZHMgYW5kIGlmcmFtZXMgZml0IHRoZWlyIGNvbnRhaW5lcnMuICovXG4gIC8qIE1lZGlhIEVsZW1lbnRzICovXG4gIC8qIEF1ZGlvIFBsYXllciAqL1xuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIDE2LjEgR2FsbGVyaWVzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cbiAgLyogc3BhY2luZyBiZWxvdyBpbWFnZSAqLyB9XG4gIC5mbG8tcG9zdCBpbWcsIC5mbG8tcG9zdF9fc3R5bGVzIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tcG9zdCAuYmxvY2tzLWdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmJsb2Nrcy1nYWxsZXJ5LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZsby1wb3N0IHAsIC5mbG8tcG9zdF9fc3R5bGVzIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIC5mbG8tcG9zdCBwOmxhc3Qtb2YtdHlwZSwgLmZsby1wb3N0X19zdHlsZXMgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLXBvc3QgYmxvY2txdW90ZSwgLmZsby1wb3N0X19zdHlsZXMgYmxvY2txdW90ZSB7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuZmxvLXBvc3QgYmxvY2txdW90ZSBwLCAuZmxvLXBvc3RfX3N0eWxlcyBibG9ja3F1b3RlIHAge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgICAgLmZsby1wb3N0IGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUsIC5mbG8tcG9zdF9fc3R5bGVzIGJsb2NrcXVvdGUgcDpsYXN0LW9mLXR5cGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG8tcG9zdCBoMSwgLmZsby1wb3N0IGgyLCAuZmxvLXBvc3QgaDMsIC5mbG8tcG9zdCBoNCwgLmZsby1wb3N0IGg1LCAuZmxvLXBvc3QgaDYsIC5mbG8tcG9zdF9fc3R5bGVzIGgxLCAuZmxvLXBvc3RfX3N0eWxlcyBoMiwgLmZsby1wb3N0X19zdHlsZXMgaDMsIC5mbG8tcG9zdF9fc3R5bGVzIGg0LCAuZmxvLXBvc3RfX3N0eWxlcyBoNSwgLmZsby1wb3N0X19zdHlsZXMgaDYge1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjVyZW07IH1cbiAgLmZsby1wb3N0IC5hbGlnbmxlZnQsIC5mbG8tcG9zdF9fc3R5bGVzIC5hbGlnbmxlZnQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtOyB9XG4gIC5mbG8tcG9zdCAuYWxpZ25yaWdodCwgLmZsby1wb3N0X19zdHlsZXMgLmFsaWducmlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtOyB9XG4gIC5mbG8tcG9zdCAuYWxpZ25jZW50ZXIsIC5mbG8tcG9zdF9fc3R5bGVzIC5hbGlnbmNlbnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5mbG8tcG9zdCB1bCxcbiAgLmZsby1wb3N0IG9sLCAuZmxvLXBvc3RfX3N0eWxlcyB1bCxcbiAgLmZsby1wb3N0X19zdHlsZXMgb2wge1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmZsby1wb3N0IHVsLCAuZmxvLXBvc3RfX3N0eWxlcyB1bCB7XG4gICAgbGlzdC1zdHlsZTogZGlzYzsgfVxuICAuZmxvLXBvc3Qgb2wsIC5mbG8tcG9zdF9fc3R5bGVzIG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsOyB9XG4gIC5mbG8tcG9zdCBsaSA+IHVsLFxuICAuZmxvLXBvc3QgbGkgPiBvbCwgLmZsby1wb3N0X19zdHlsZXMgbGkgPiB1bCxcbiAgLmZsby1wb3N0X19zdHlsZXMgbGkgPiBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBtYXJnaW4tbGVmdDogMS41ZW07IH1cbiAgLmZsby1wb3N0IGR0LCAuZmxvLXBvc3RfX3N0eWxlcyBkdCB7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuZmxvLXBvc3QgZGQsIC5mbG8tcG9zdF9fc3R5bGVzIGRkIHtcbiAgICBtYXJnaW46IDAgMS41ZW0gMS41ZW07IH1cbiAgLmZsby1wb3N0IGltZyxcbiAgLmZsby1wb3N0IHZpZGVvLCAuZmxvLXBvc3RfX3N0eWxlcyBpbWcsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIHZpZGVvIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgLyogTWFrZSBzdXJlIGltYWdlcyBhcmUgc2NhbGVkIGNvcnJlY3RseS4gKi9cbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgLyogQWRoZXJlIHRvIGNvbnRhaW5lciB3aWR0aC4gKi9cbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZmxvLXBvc3QgLmNvbW1lbnQtY29udGVudCAud3Atc21pbGV5LCAuZmxvLXBvc3RfX3N0eWxlcyAuY29tbWVudC1jb250ZW50IC53cC1zbWlsZXkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuZmxvLXBvc3QgZW1iZWQsXG4gIC5mbG8tcG9zdCBpZnJhbWUsXG4gIC5mbG8tcG9zdCBvYmplY3QsIC5mbG8tcG9zdF9fc3R5bGVzIGVtYmVkLFxuICAuZmxvLXBvc3RfX3N0eWxlcyBpZnJhbWUsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIG9iamVjdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAuZmxvLXBvc3QgLndwLWNhcHRpb24sXG4gIC5mbG8tcG9zdCAud3AtY2FwdGlvbiBhLFxuICAuZmxvLXBvc3QgLmdhbGxlcnktY2FwdGlvbiwgLmZsby1wb3N0X19zdHlsZXMgLndwLWNhcHRpb24sXG4gIC5mbG8tcG9zdF9fc3R5bGVzIC53cC1jYXB0aW9uIGEsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNhcHRpb24ge1xuICAgIGNvbG9yOiAjNjY2O1xuICAgIGZvbnQtc2l6ZTogMC42MTI1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTsgfVxuICAuZmxvLXBvc3QgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSwgLmZsby1wb3N0X19zdHlsZXMgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5mbG8tcG9zdCAud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0LCAuZmxvLXBvc3QgLndwLWNhcHRpb24tdGV4dCBhLCAuZmxvLXBvc3RfX3N0eWxlcyAud3AtY2FwdGlvbiAud3AtY2FwdGlvbi10ZXh0LCAuZmxvLXBvc3RfX3N0eWxlcyAud3AtY2FwdGlvbi10ZXh0IGEge1xuICAgIG1hcmdpbjogMC44MDc1ZW0gMDsgfVxuICAuZmxvLXBvc3QgLndwLWNhcHRpb24gcCwgLmZsby1wb3N0X19zdHlsZXMgLndwLWNhcHRpb24gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLXBvc3QgLm1lanMtY29udGFpbmVyLCAuZmxvLXBvc3RfX3N0eWxlcyAubWVqcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmZsby1wb3N0IC5tZWpzLWNvbnRyb2xzIGEubWVqcy1ob3Jpem9udGFsLXZvbHVtZS1zbGlkZXIsXG4gIC5mbG8tcG9zdCAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyOmZvY3VzLFxuICAuZmxvLXBvc3QgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcjpob3ZlciwgLmZsby1wb3N0X19zdHlsZXMgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcixcbiAgLmZsby1wb3N0X19zdHlsZXMgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcjpmb2N1cyxcbiAgLmZsby1wb3N0X19zdHlsZXMgLm1lanMtY29udHJvbHMgYS5tZWpzLWhvcml6b250YWwtdm9sdW1lLXNsaWRlcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xuICAgIHBhZGRpbmc6IDAgMWVtIDAgMDtcbiAgICB3aWR0aDogNTAlOyB9XG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTEgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtIGEsIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtMSAuZ2FsbGVyeS1pdGVtIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0gYSxcbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0gYTpob3ZlcixcbiAgLmZsby1wb3N0IC5nYWxsZXJ5LWl0ZW0gYTpmb2N1cywgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktaXRlbSBhLFxuICAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIGE6aG92ZXIsXG4gIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWl0ZW0gYTpmb2N1cyB7XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1pdGVtIGEgaW1nLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIGEgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LWZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlLWluLCAtd2Via2l0LWZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gIC5mbG8tcG9zdCAuZ2FsbGVyeS1pdGVtIGE6aG92ZXIgaW1nLFxuICAuZmxvLXBvc3QgLmdhbGxlcnktaXRlbSBhOmZvY3VzIGltZywgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktaXRlbSBhOmhvdmVyIGltZyxcbiAgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktaXRlbSBhOmZvY3VzIGltZyB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHkoNjAlKTtcbiAgICBmaWx0ZXI6IG9wYWNpdHkoNjAlKTsgfVxuICAuZmxvLXBvc3QgLmdhbGxlcnktY2FwdGlvbiwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY2FwdGlvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmZsby1wb3N0IGEgaW1nLCAuZmxvLXBvc3QgaW1nLCAuZmxvLXBvc3QgaW1nLmFsaWdubGVmdCwgLmZsby1wb3N0IGltZy5hbGlnbnJpZ2h0LCAuZmxvLXBvc3QgaW1nLmFsaWduY2VudGVyLCAuZmxvLXBvc3RfX3N0eWxlcyBhIGltZywgLmZsby1wb3N0X19zdHlsZXMgaW1nLCAuZmxvLXBvc3RfX3N0eWxlcyBpbWcuYWxpZ25sZWZ0LCAuZmxvLXBvc3RfX3N0eWxlcyBpbWcuYWxpZ25yaWdodCwgLmZsby1wb3N0X19zdHlsZXMgaW1nLmFsaWduY2VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLXBvc3QsIC5mbG8tcG9zdF9fc3R5bGVzIHtcbiAgICAgIC8qIEdhbGxlcnkgQ29sdW1ucyAqLyB9XG4gICAgICAuZmxvLXBvc3QgZGl2LmdhbGxlcnksIC5mbG8tcG9zdF9fc3R5bGVzIGRpdi5nYWxsZXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAwcHg7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTEgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy0yIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTMgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMzMuMzMlOyB9XG4gICAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy00IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgICAgIC5mbG8tcG9zdCAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSwgLmZsby1wb3N0X19zdHlsZXMgLmdhbGxlcnktY29sdW1ucy01IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDIwJTsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtNiAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTYgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMTYuNjYlOyB9XG4gICAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy03IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNC4yODUlOyB9XG4gICAgICAuZmxvLXBvc3QgLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0sIC5mbG8tcG9zdF9fc3R5bGVzIC5nYWxsZXJ5LWNvbHVtbnMtOCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfVxuICAgICAgLmZsby1wb3N0IC5nYWxsZXJ5LWNvbHVtbnMtOSAuZ2FsbGVyeS1pdGVtLCAuZmxvLXBvc3RfX3N0eWxlcyAuZ2FsbGVyeS1jb2x1bW5zLTkgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMTEuMTExJTsgfSB9XG5cbi5wb3N0LXBhc3N3b3JkLWZvcm0ge1xuICBtYXgtd2lkdGg6IDgwMHB4O1xuICBtYXJnaW46IDAgYXV0byA2MHB4OyB9XG4gIC5wb3N0LXBhc3N3b3JkLWZvcm0gaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJdIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYmJiYmJiICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuLmZsby1yZWxhdGVkLWl0ZW1zX190aXRsZSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBwYWRkaW5nLWJvdHRvbTogMi4wNjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9XG5cbi5mbG8tcmVsYXRlZC1pdGVtc19faXRlbSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtLWltYWdlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG5cbi5mbG8tcmVsYXRlZC1pdGVtc19faXRlbS10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtcyB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW0ge1xuICAgIHdpZHRoOiA0NC42MjVyZW07IH1cbiAgICAuZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW06bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDkuNTYyNXJlbTsgfVxuICAgIC5mbG8tcmVsYXRlZC1pdGVtc19faXRlbTpob3ZlciAuZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW0taW1hZ2Uge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIC5mbG8tcmVsYXRlZC1pdGVtc19faXRlbS1pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMy44NDM3NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLXJlbGF0ZWQtaXRlbXNfX2l0ZW0tdGl0bGUge1xuICAgIHBhZGRpbmc6IDAgNi4zNzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby1yZWxhdGVkLWl0ZW1zX19pdGVtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG4gIC5mbG8tcmVsYXRlZC1pdGVtc19faXRlbS1pbWFnZSB7XG4gICAgaGVpZ2h0OiAxMi41cmVtOyB9IH1cblxuLmZsby1yZXZlYWwge1xuICBoZWlnaHQ6IDEwMHZoO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IC0xMDAlO1xuICBvcGFjaXR5OiAwO1xuICB6LWluZGV4OiAxMDAwMDAxOyB9XG4gIC5mbG8tcmV2ZWFsLS12aXNpYmxlIHtcbiAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuICAuZmxvLXJldmVhbC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7IH1cbiAgLmZsby1yZXZlYWwtLXJlYWR5IHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1yZXZlYWxbZGF0YS1pbml0aWFsLXBvc2l0aW9uPVwibGVmdFwiXSB7XG4gICAgbGVmdDogMDtcbiAgICByaWdodDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gICAgLmZsby1yZXZlYWxbZGF0YS1pbml0aWFsLXBvc2l0aW9uPVwibGVmdFwiXS5mbG8tcmV2ZWFsLS12aXNpYmxlIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApOyB9XG4gIC5mbG8tcmV2ZWFsW2RhdGEtaW5pdGlhbC1wb3NpdGlvbj1cInJpZ2h0XCJdIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuICAgIC5mbG8tcmV2ZWFsW2RhdGEtaW5pdGlhbC1wb3NpdGlvbj1cInJpZ2h0XCJdLmZsby1yZXZlYWwtLXZpc2libGUge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7IH1cbiAgLmZsby1yZXZlYWwtb3ZlcmxheSB7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXJldmVhbC1vdmVybGF5Om5vdCguZmxvLXJldmVhbC1vdmVybGF5LS12aXNpYmxlKSB7XG4gICAgICBvcGFjaXR5OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuZmxvLXJldmVhbC1vdmVybGF5IHtcbiAgICB6LWluZGV4OiAxMDAwMDA7IH1cblxuLmZsby1zbGlkZXNob3cge1xuICBoZWlnaHQ6IDEwMHZoO1xuICB3aWR0aDogMTAwdnc7XG4gIC8qIFNUQVJUOiBPTkUgU0xJREUgTU9ESUZJQ0FUT1IgKi9cbiAgLyogRU5EOiBPTkUgU0xJREUgTU9ESUZJQ0FUT1IgKi9cbiAgLyogU1RBUlQ6IENPVU5URVIgKi9cbiAgLyogRU5EOiBDT1VOVEVSICovXG4gIC8qIFNUQVJUOiBUSVRMRSBBUkVBICovXG4gIC8qIEVORDogVElUTEUgQVJFQSAqL1xuICAvKiBTVEFSVDogRkVBVFVSRUQgTElOSyAqL1xuICAvKiBFTkQ6IEZFQVRVUkVEIExJTksgKi8gfVxuICAuZmxvLXNsaWRlc2hvdy0tb25lLXNsaWRlIC5zbGljay1saXN0IHtcbiAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuICAuZmxvLXNsaWRlc2hvd19fc2xpZGVzIHtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX3NsaWRlcyAuc2xpY2stbGlzdCxcbiAgICAuZmxvLXNsaWRlc2hvd19fc2xpZGVzIC5zbGljay10cmFjayxcbiAgICAuZmxvLXNsaWRlc2hvd19fc2xpZGVzIC5zbGljay1zbGlkZSxcbiAgICAuZmxvLXNsaWRlc2hvd19fc2xpZGVzIC5mbG8tc2xpZGVzaG93X19zbGlkZS1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1nLS1iZ2kge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cbiAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWNvbnRlbnQge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyIC5mbG8tc2xpZGVzaG93X19zbGlkZS1jb250ZW50IHtcbiAgICAgIGhlaWdodDogMTAwdmg7IH1cbiAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWctLWJnaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtYmFja2dyb3VuZC12aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtYmFja2dyb3VuZC12aWRlbyB2aWRlbyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWJhY2tncm91bmQtdmlkZW8tLWNyb3BwZWQgdmlkZW8ge1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9XG4gICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWJhY2tncm91bmQtdmlkZW8tLW5vLWNyb3AgdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS5ncmFkaWVudC12aXNpYmxlIC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWc6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMC42NjY7IH1cbiAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1nIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltZzphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgLmZsby1zbGlkZXNob3cgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltZy0tYmdpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLXNsaWRlc2hvdyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtY29udGVudCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfVxuICAgICAgLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyIC5mbG8tc2xpZGVzaG93X19zbGlkZS1jb250ZW50IHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDsgfVxuICAgIC5mbG8tc2xpZGVzaG93IC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWctLWJnaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5mbG8tc2xpZGVzaG93X19sYXlvdXQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSxcbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgICAgY3Vyc29yOiBub25lOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X19zbGlkZXMge1xuICAgICAgY3Vyc29yOiBub25lOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhIHtcbiAgICAgIGxlZnQ6IDYuMDYyNXJlbTtcbiAgICAgIGJvdHRvbTogMjAuNjg3NXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X19jb3VudGVyIHtcbiAgICAgIGJvdHRvbTogNC4zNzVyZW07XG4gICAgICBsZWZ0OiA0LjU2MjVyZW07XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rIHtcbiAgICAgIGJvdHRvbTogNC4zNzVyZW07XG4gICAgICByaWdodDogNC41NjI1cmVtOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rLXRpdGxlLWFyZWEge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWE6aG92ZXIgLmZsby1zbGlkZXNob3dfX2Fycm93LW5leHQge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYSAuZmxvLXNsaWRlc2hvd19fYXJyb3ctbmV4dCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXMsIG9wYWNpdHkgMC41cywgdHJhbnNmb3JtIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX2Fycm93LW5leHQuaW52ZXJ0ZWQge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMTgwZGVnKTsgfVxuICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hIC5mbG8tc2xpZGVzaG93X19hcnJvdy1uZXh0LnZlcnRpY2FsIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSAhaW1wb3J0YW50OyB9XG4gICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWEgLmZsby1zbGlkZXNob3dfX2Fycm93LW5leHQgaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fYmFja2dyb3VuZCB7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19hcnJvd3Mge1xuICAgIGZvbnQtc2l6ZTogMC41cmVtOyB9XG4gIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2Uge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19iYWNrZ3JvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDYuMzc1cmVtKTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19hcnJvd3Mge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE5LjEyNXJlbTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgdG9wOiAyMy4xODc1cmVtO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2Fycm93IHtcbiAgICAgIG9wYWNpdHk6IDAuODtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fYXJyb3c6aG92ZXIge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2Fycm93LS1uZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZXMge1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGU6bm90KC5zbGljay1jdXJyZW50KSAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZTpub3QoLnNsaWNrLWN1cnJlbnQpIC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWFnZS13cmFwIHtcbiAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gNS4zMTI1cmVtKTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUuZ3JhZGllbnQtdmlzaWJsZSAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2U6YWZ0ZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZS1tYWluLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDY4LjEyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogNi4zNzVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA2LjM3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2LjM3NXJlbTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2Utd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3NsaWRlLWltYWdlOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhIHtcbiAgICAgIGJvdHRvbTogNS40Mzc1cmVtO1xuICAgICAgbGVmdDogNi4wNjI1cmVtO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEtcHJldGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC44NzVyZW07IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIge1xuICAgICAgbGVmdDogNjkuMDYyNXJlbTtcbiAgICAgIGJvdHRvbTogNi41NjI1cmVtO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fY291bnRlci1pbmRleCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDJyZW07IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2NvdW50ZXItc2VwYXJhdG9yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fY291bnRlci1jb3VudCB7XG4gICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWIgLmZsby1zbGlkZXNob3dfX2JhY2tncm91bmQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fY291bnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1iIC5mbG8tc2xpZGVzaG93X19zbGlkZXMge1xuICAgICAgaGVpZ2h0OiAxMDB2aDsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHdpZHRoOiAxMDB2dzsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYiAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2Uge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH0gfVxuICAuZmxvLXNsaWRlc2hvdy1ibG9jay0tdHlwZS1jLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyIC5mbG8taGVhZGVyIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1zbGlkZXNob3ctYmxvY2stLXR5cGUtYyAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgIG9wYWNpdHk6IDEgIWltcG9ydGFudDsgfVxuICAuZmxvLXNsaWRlc2hvdy1ibG9jay0tdHlwZS1jIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgIG9wYWNpdHk6IDAgIWltcG9ydGFudDsgfVxuICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMge1xuICAgIC8qIFNUQVJUOiBUT1AgQVJFQSAqL1xuICAgIC8qIEVORDogVE9QIEFSRUEgKi9cbiAgICAvKiBTVEFSVDogU0xJREVTICovXG4gICAgLyogRU5EOiBTTElERVMgKi9cbiAgICAvKiBTVEFSVDogRkVBVFVSRUQgTElOSyAqL1xuICAgIC8qIEVORDogRkVBVFVSRUQgTElOSyAqL1xuICAgIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgIC8qIEVORDogU0xJREUgU0VMRUNUT1IgKi9cbiAgICAvKiBTVEFSVDogUklHSFQgQkFSICovXG4gICAgLyogRU5EOiBSSUdIVCBCQVIgKi8gfVxuICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fdG9wLWFyZWEtbG9nbyAuZmxvLWhlYWRlci1sb2dvIHtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X190b3AtYXJlYS1zb2NpYWwtbGlua3MgYTpiZWZvcmUge1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXdyYXAge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyB7XG4gICAgICAgIC8qIFNUQVJUOiBUT1AgQVJFQSAqL1xuICAgICAgICAvKiBFTkQ6IFRPUCBBUkVBICovXG4gICAgICAgIC8qIFNUQVJUOiBTTElERVMgKi9cbiAgICAgICAgLyogRU5EOiBTTElERVMgKi9cbiAgICAgICAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICAgLyogRU5EOiBGRUFUVVJFRCBMSU5LICovXG4gICAgICAgIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICAgICAvKiBFTkQ6IFNMSURFIFNFTEVDVE9SICovXG4gICAgICAgIC8qIFNUQVJUOiBSSUdIVCBCQVIgKi9cbiAgICAgICAgLyogU1RBUlQ6IEhFQURFUiBQT1BVUCBTVFlMRSAqL1xuICAgICAgICAvKiBFTkQ6IEhFQURFUiBQT1BVUCBTVFlMRSAqL1xuICAgICAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqLyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fdG9wLWFyZWEge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNi4zNzVyZW0pO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gNi4zNzVyZW0gMCA2LjM3NXJlbTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3RvcC1hcmVhLXNvY2lhbC1saW5rcyBhOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMS43NXJlbTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlcyB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSA2LjM3NXJlbSk7XG4gICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNXJlbSk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgICBib3R0b206IDEyLjA2MjVyZW07XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnMge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gNi4zNzVyZW0pO1xuICAgICAgICAgIGhlaWdodDogNXJlbTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3JzIC5zbGljay1saXN0IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDcuNjI1cmVtKTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLnNsaWNrLWN1cnJlbnQ6YmVmb3JlLCAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjk7IH1cbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLnNsaWNrLWN1cnJlbnQgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXByZXRpdGxlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAwLjYyNXJlbSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzO1xuICAgICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXdyYXAge1xuICAgICAgICAgIHBhZGRpbmc6IDAuODEyNXJlbSAxLjYyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA3LjYyNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDVyZW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiAxLjYyNXJlbTtcbiAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArIDIuMzEyNXJlbSk7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXMsIGNvbG9yIDAuNXM7XG4gICAgICAgICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIHdpZHRoOiAxLjQ2ODc1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci1zZWNvbmQtcHJldGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19yaWdodC1iYXIge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgIHdpZHRoOiA2LjM3NXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3JpZ2h0LWJhci1zZWFyY2gtdHJpZ2dlciB7XG4gICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19yaWdodC1iYXItbGluayB7XG4gICAgICAgICAgd3JpdGluZy1tb2RlOiB0Yi1ybDsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3JpZ2h0LWJhci1tZW51LXRyaWdnZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5ib2R5LS1mbG8taGVhZGVyX19wb3B1cC0tZm9yLXNsaWRlc2hvdy10eXBlLWMgLmZsby1oZWFkZXItcG9wdXA6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5ib2R5LS1mbG8taGVhZGVyX19wb3B1cC0tZm9yLXNsaWRlc2hvdy10eXBlLWMgLmZsby1oZWFkZXItcG9wdXBfX21haW4td3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0cmV0Y2g7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMS42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDMuMTI1cmVtO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNi4zNzVyZW07IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fdG9wLWJhciB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTogMS44NzVyZW07XG4gICAgICAgICAgcmlnaHQ6IDEuNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgICAuYm9keS0tZmxvLWhlYWRlcl9fcG9wdXAtLWZvci1zbGlkZXNob3ctdHlwZS1jIC5mbG8taGVhZGVyLXBvcHVwX19jbG9zZSB7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fc2VhcmNoIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fc2VhcmNoLWlucHV0IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMCAhaW1wb3J0YW50OyB9XG4gICAgICAgIC5ib2R5LS1mbG8taGVhZGVyX19wb3B1cC0tZm9yLXNsaWRlc2hvdy10eXBlLWMgLmZsby1oZWFkZXItcG9wdXBfX21lbnUge1xuICAgICAgICAgIGhlaWdodDogNTB2aDsgfVxuICAgICAgICAgIC5ib2R5LS1mbG8taGVhZGVyX19wb3B1cC0tZm9yLXNsaWRlc2hvdy10eXBlLWMgLmZsby1oZWFkZXItcG9wdXBfX21lbnUgPiBkaXYgPiB1bCA+IGxpIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTIuNzVyZW07IH1cbiAgICAgICAgLmJvZHktLWZsby1oZWFkZXJfX3BvcHVwLS1mb3Itc2xpZGVzaG93LXR5cGUtYyAuZmxvLWhlYWRlci1wb3B1cF9fc29jaWFsLWxpbmtzIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAxLjg3NXJlbTtcbiAgICAgICAgICBsZWZ0OiA2LjM3NXJlbTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIHtcbiAgICAgICAgLyogU1RBUlQ6IFRPUCBBUkVBICovXG4gICAgICAgIC8qIEVORDogVE9QIEFSRUEgKi9cbiAgICAgICAgLyogU1RBUlQ6IFNMSURFUyAqL1xuICAgICAgICAvKiBFTkQ6IFNMSURFUyAqL1xuICAgICAgICAvKiBTVEFSVDogRkVBVFVSRUQgTElOSyAqL1xuICAgICAgICAvKiBFTkQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICAgLyogU1RBUlQ6IFNMSURFIFNFTEVDVE9SICovXG4gICAgICAgIC8qIEVORDogU0xJREUgU0VMRUNUT1IgKi9cbiAgICAgICAgLyogU1RBUlQ6IFJJR0hUIEJBUiAqL1xuICAgICAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqLyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fdG9wLWFyZWEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluayB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9ycyB7XG4gICAgICAgICAgaGVpZ2h0OiA1cmVtOyB9XG4gICAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnMgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMS4yNXJlbSk7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gMi41cmVtKTtcbiAgICAgICAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Iuc2xpY2stY3VycmVudCAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Itd3JhcDpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eTogMC45OyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Itd3JhcCB7XG4gICAgICAgICAgcGFkZGluZzogMC44MTI1cmVtIDEuNjI1cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtIDIuNXJlbSk7IH1cbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXdyYXA6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDAuNjI1cmVtKTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1jIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3Rvci1wcmV0aXRsZSB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDEuNjI1cmVtO1xuICAgICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgMi4zMTI1cmVtKTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgICAgICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAgICAgICAuZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWMgLmZsby1zbGlkZXNob3dfX3NsaWRlLXNlbGVjdG9yLXByZXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICB3aWR0aDogMS40Njg3NXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3Itc2Vjb25kLXByZXRpdGxlIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC41cztcbiAgICAgICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3ItdGl0bGUge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAgIC5mbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYyAuZmxvLXNsaWRlc2hvd19fcmlnaHQtYmFyIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmZsby1zbGlkZXNob3ctLW9uZS1zbGlkZSAuZmxvLXNsaWRlc2hvd19fc2xpZGVzIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgLmZsby1zbGlkZXNob3ctLW9uZS1zbGlkZSAuZmxvLXNsaWRlc2hvd19fY291bnRlcixcbiAgLmZsby1zbGlkZXNob3ctLW9uZS1zbGlkZSAuZmxvLXNsaWRlc2hvd19fYXJyb3ctbmV4dCxcbiAgLmZsby1zbGlkZXNob3ctLW9uZS1zbGlkZSAuZmxvLXNsaWRlc2hvd19fc2xpZGUtc2VsZWN0b3JzIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXItaW5kZXgge1xuICAgIHBhZGRpbmctYm90dG9tOiAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDFlbSAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLXNsaWRlc2hvd19fY291bnRlci1zZXBhcmF0b3IsIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLWNvdW50IHtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXItc2VwYXJhdG9yIHtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMC42ODc1cmVtO1xuICAgIG1hcmdpbjogMCAwLjI1cmVtO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLWNvdW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW0gIWltcG9ydGFudDtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tc2xpZGVzaG93X19jb3VudGVyIHtcbiAgICAgIGJvdHRvbTogMi4xODc1cmVtO1xuICAgICAgcmlnaHQ6IDMuNDM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tc2xpZGVzaG93X19jb3VudGVyIHtcbiAgICAgIGJvdHRvbTogMi4xODc1cmVtO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9IH1cbiAgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogOTAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEtcHJldGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgICAuZmxvLXNsaWRlc2hvd19fdGl0bGUtYXJlYS1wcmV0aXRsZTpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgd2lkdGg6IDEuNDM3NXJlbTtcbiAgICAgIGhlaWdodDogMXB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxLjMxMjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuNXM7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhLXRpdGxlIHtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAzLjEpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEge1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiAzMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmstdGl0bGUtYXJlYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS41NjI1cmVtOyB9XG4gIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rLXByZXRpdGxlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICB0cmFuc2l0aW9uOiBjb2xvciAwLjVzO1xuICAgIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1zbGlkZXNob3dfX2ZlYXR1cmVkLWxpbmstdGl0bGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuNXM7XG4gICAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAgIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rLXRpdGxlIHAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluay1pbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgZmxleC1ncm93OiAwO1xuICAgIHdpZHRoOiA3LjM0Mzc1cmVtO1xuICAgIGhlaWdodDogNy4zNDM3NXJlbTtcbiAgICBib3JkZXI6IDAuNzgxMjVyZW0gc29saWQ7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rLWRpdmlkZXIge1xuICAgIGhlaWdodDogNXJlbTtcbiAgICB3aWR0aDogMXB4O1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC41cztcbiAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mbG8tc2xpZGVzaG93X19mZWF0dXJlZC1saW5rIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyLmZsby1zbGlkZXNob3ctYmxvY2stLXR5cGUtYSAuZmxvLWhlYWRlci5pcy1ub3Qtc3RpY2t5IHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIge1xuICAgICAgcGFkZGluZy10b3A6IDAgIWltcG9ydGFudDsgfVxuICAgICAgLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyLmZsby1zbGlkZXNob3ctYmxvY2stLXR5cGUtYSAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreS5pcy1tYWluIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDsgfSB9XG5cbi5mbG8tc3BsYXNoIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDB2dztcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEwMDAwMDAwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpOyB9XG4gIC5mbG8tc3BsYXNoX19jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIC5mbG8tc3BsYXNoX19jb250ZW50IC5mbG8taGVhZGVyX19sb2dvLFxuICAgIC5mbG8tc3BsYXNoX19jb250ZW50IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nbyxcbiAgICAuZmxvLXNwbGFzaF9fY29udGVudCBpbWcge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuZmxvLXNwbGFzaF9fY3VzdG9tLXByZWxvYWRlciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHJpZ2h0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmxvLXNwbGFzaF9fY29udGVudC0tbWVkaXVtLXVwIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZmxvLXNwbGFzaF9fY29udGVudC0tc21hbGwtb25seSB7XG4gICAgICBvcGFjaXR5OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsby1zcGxhc2hfX2NvbnRlbnQtLW1lZGl1bS11cCB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgLmZsby1zcGxhc2hfX2NvbnRlbnQtLXNtYWxsLW9ubHkge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLmZsby1zcGxhc2hfX2NvbnRlbnQtLXNtYWxsLW9ubHkgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvIGltZyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAuZmxvLXNwbGFzaF9fY3VzdG9tLXByZWxvYWRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKC4uL2ltZy9uby1pbWFnZS5qcGcpO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7IH1cbiAgQG1lZGlhIChtaW4td2lkdGg6IDc2OHB4KSB7XG4gICAgLmZsby1zcGxhc2hfX2N1c3RvbS1wcmVsb2FkZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7IH0gfVxuICBAbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gICAgLmZsby1zcGxhc2hfX2N1c3RvbS1wcmVsb2FkZXIge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLWxhcmdlKTsgfSB9XG5cbi5mbG8tdGV4dC1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiBub25lO1xuICBwYWRkaW5nOiAyLjVyZW0gMDsgfVxuXG4uZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2NvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2NvbnRhaW5lciBpZnJhbWUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMi41cmVtO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwMDtcbiAgd2lkdGg6IDQuMDYyNXJlbTtcbiAgaGVpZ2h0OiA0LjA2MjVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDQuMDYyNXJlbTtcbiAgZm9udC1zaXplOiAwLjk3MzQ1cmVtO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgYm9yZGVyOiAxcHggc29saWQ7XG4gIGJvcmRlci1jb2xvcjogaW5pdGlhbDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogY29sb3IgMC41cywgdG9wIDAuNXMsIGJvdHRvbSAwLjVzLCBvcGFjaXR5IDAuNXMsIGJvcmRlciAwLjVzLCB0cmFuc2Zvcm0gMC41cztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTsgfVxuICAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbjpob3ZlciB7XG4gICAgb3BhY2l0eTogMC40OyB9XG5cbi5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uLWljb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuNXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7IH1cbiAgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24taWNvbi0tcGxheSB7XG4gICAgb3BhY2l0eTogMDsgfVxuICAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbi1pY29uLS1zdG9wIHtcbiAgICBvcGFjaXR5OiAwOyB9XG5cbi5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgdG9wOiA1MCU7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24taWNvbi0tcGxheSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZsby1oZXJvLXZpZGVvLWVtYmVkLS1idXR0b24tYXQtYm90dG9tIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgdG9wOiA4MCU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5mbG8taGVyby12aWRlby1lbWJlZC0tYnV0dG9uLW1vYmlsZS1ib3R0b20gLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgIHRvcDogODAlOyB9IH1cblxuLyogU1RBUlQ6IEJVVFRPTiBISURERU4gKi9cbi5mbG8taGVyby12aWRlby1lbWJlZC0tYnV0dG9uLWhpZGRlbiAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi8qIEVORDogQlVUVE9OIEhJRERFTiAqL1xuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1ibG9ja19faGVhZGVyLFxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1oZWFkZXItbW9iaWxlLFxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1zbGlkZXNob3dfX2NlbnRlcmVkLWxvZ28sXG4udmlkZW8taXMtcGxheWluZyAuZmxvLXNsaWRlc2hvd19fdHlwZS1hLW1lbnUsXG4udmlkZW8taXMtcGxheWluZyAuZmxvLXNsaWRlc2hvd19fc2xpZGUtY29udGVudCxcbi52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19jb3VudGVyLFxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1zbGlkZXNob3dfX3RpdGxlLWFyZWEsXG4udmlkZW8taXMtcGxheWluZyAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluayxcbi52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X190b3AtYXJlYSxcbi52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19zbGlkZS1pbWFnZSxcbi52aWRlby1pcy1wbGF5aW5nIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2NvbnRlbnQtd3JhcCxcbi52aWRlby1pcy1wbGF5aW5nIC5mbG8tYmxvY2stc2xpZGVzaG93LTJfX2NvbnRlbnQtd3JhcCxcbi52aWRlby1pcy1wbGF5aW5nIC5mbG8tYmxvY2stc2xpZGVzaG93LTNfX2NvbnRlbnQtd3JhcCxcbi52aWRlby1pcy1wbGF5aW5nIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2Fycm93cyxcbi52aWRlby1pcy1wbGF5aW5nIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2NvdW50ZXIge1xuICB6LWluZGV4OiAxO1xuICBvcGFjaXR5OiAwO1xuICBwb2ludGVyLWV2ZW50czogbm9uZSAhaW1wb3J0YW50O1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1zbGlkZXNob3dfX2Fycm93LW5leHQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC52aWRlby1pcy1wbGF5aW5nIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnMge1xuICAgIHotaW5kZXg6IDE7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG5cbi52aWRlby1pcy1wbGF5aW5nIC5mbG8taGVyby12aWRlby1lbWJlZF9fY29udGFpbmVyIHtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cblxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICB0b3A6IDYuMjVyZW0gIWltcG9ydGFudDtcbiAgY29sb3I6IHdoaXRlICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1jb2xvcjogd2hpdGUgIWltcG9ydGFudDtcbiAgb3BhY2l0eTogMTtcbiAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7IH1cblxuLnZpZGVvLWlzLXBsYXlpbmcgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24taWNvbi0tcGxheSB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsOyB9XG5cbi52aWRlby1pcy1wbGF5aW5nIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uLWljb24tLXN0b3Age1xuICBvcGFjaXR5OiAxO1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuXG4udmlkZW8taXMtcGxheWluZzpub3QoOmhvdmVyKSAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbl9fcGFnaW5hdGlvbiB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX2xpbmsge1xuICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX2NvbnRlbnQge1xuICAgICAgcGFkZGluZzogMCAxMi43NXJlbTsgfVxuICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX3BhZ2luYXRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAzLjEyNXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwdncgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmc6IDAgNi4zNzVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX2xpbmsge1xuICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAwOyB9XG4gICAgICAuZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uX19saW5rOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IC0zLjE4NzVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSg1MCUsIC01MCUpO1xuICAgICAgICB3aWR0aDogMS40Njg3NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAxcHg7IH1cbiAgICAgIC5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb25fX2xpbmstLXByZXYge1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbiB7XG4gICAgcGFkZGluZzogMCAyLjAzMTI1cmVtOyB9XG4gICAgLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbl9fcGFnaW5hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmZsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbl9fbGluayB7XG4gICAgICB3aWR0aDogNDU7XG4gICAgICBmbGV4LWdyb3c6IDA7IH0gfVxuXG4uZmxvLXdwLXRpdGxlIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5mbG8td3AtdGl0bGVfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG5cbi5mbG9fc2lkZWJhciB7XG4gIHdpZHRoOiAyNSU7XG4gIHBhZGRpbmc6IDAgMi41cmVtIDIuNXJlbTtcbiAgZmxleC1ncm93OiAwO1xuICBmbGV4LXNocmluazogMDsgfVxuICAuZmxvX3NpZGViYXIgLmNvbHVtbiwgLmZsb19zaWRlYmFyIC5jb2x1bW5zIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgcGFkZGluZzogMCAyLjVyZW07IH1cbiAgICAuZmxvX3NpZGViYXIgLmNvbHVtbjpsYXN0LWNoaWxkLCAuZmxvX3NpZGViYXIgLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5mbG9fc2lkZWJhciAuZmlndXJlLWhpZGUtaW1nIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG4gICAgLmZsb19zaWRlYmFyIC5maWd1cmUtaGlkZS1pbWcgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5mbG9fc2lkZWJhciAud2lkZ2V0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuZmxvX3NpZGViYXIgKiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0OyB9XG4gIC5mbG9fc2lkZWJhciAud2lkZ2V0X3NlYXJjaCAuc2VhcmNoLWZpZWxkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuZmxvX3NpZGViYXIgLndpZGdldF9zZWFyY2ggaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZsb19zaWRlYmFyIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjA5Mzc1cmVtOyB9XG4gICAgICAuZmxvX3NpZGViYXItLW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMi41cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZsb19zaWRlYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4vKiBCT0YgV09PQ09NTUVSQ0UgU1VQUE9SVCAqL1xuLmZsby13b29jb21tZXJjZS13cmFwIHtcbiAgbWF4LXdpZHRoOiA2Mi41cmVtO1xuICBtYXJnaW46IDAgYXV0bzsgfVxuXG4ud29vY29tbWVyY2UtcGFnZSAuZmxvLWJsb2NrIHtcbiAgcGFkZGluZy10b3A6IDBweDsgfVxuXG4ud29vY29tbWVyY2UtcGFnZSAuZmxvLXBvc3QgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgdGhlYWQsIC53b29jb21tZXJjZSB0Ym9keSwgLndvb2NvbW1lcmNlIHRmb290IHtcbiAgYm9yZGVyOiAwcHg7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi53b29jb21tZXJjZSAuZmxvLXBvc3QgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgLnF1YW50aXR5IC5xdHksIC53b29jb21tZXJjZSAucXVhbnRpdHkgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gIHdpZHRoOiA1ZW07XG4gIGhlaWdodDogMS41NjI1cmVtO1xuICBwYWRkaW5nOiAwLjFlbTtcbiAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1icmVhZGNydW1iIGEge1xuICBib3gtc2hhZG93OiAwIDFweCAwO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgLndvb2NvbW1lcmNlIC53b29jb21tZXJjZS1icmVhZGNydW1iIGE6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDA7IH1cblxuLndvb2NvbW1lcmNlIC5jYXJ0IGlucHV0LmJ1dHRvbjpkaXNhYmxlZCB7XG4gIGNvbG9yOiAjZmZmZmZmOyB9XG5cbi53b29jb21tZXJjZSBzcGFuLm9uc2FsZSB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLndvb2NvbW1lcmNlIHVsLnByb2R1Y3RzIGxpLnByb2R1Y3QgLnByaWNlIGRlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ud29vY29tbWVyY2UgdWwucHJvZHVjdHMgYS5idXR0b24ge1xuICBwYWRkaW5nOiAwLjZlbSAxZW07IH1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC52YXJpYXRpb25zIHRkLmxhYmVsIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmctdG9wOiAyMHB4O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAudmFyaWF0aW9ucyAudmFsdWUgc2VsZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnZhcmlhdGlvbnMgLnJlc2V0X3ZhcmlhdGlvbnMge1xuICBib3gtc2hhZG93OiAwIDFweCAwOyB9XG4gIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAudmFyaWF0aW9ucyAucmVzZXRfdmFyaWF0aW9uczpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnByb2R1Y3RfbWV0YSBhIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMDsgfVxuICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLnByb2R1Y3RfbWV0YSBhOmhvdmVyIHtcbiAgICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAucHJvZHVjdF9tZXRhIC50YWdnZWRfYXMge1xuICBjbGVhcjogYm90aDtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC5yZWxhdGVkIGgyIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyBsaS5hY3RpdmUgYSwgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIGE6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDNweCAwOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyBhIHtcbiAgYm94LXNoYWRvdzogMCAxcHggMDsgfVxuXG4ud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgLnBhbmVsIHtcbiAgbWFyZ2luLWJvdHRvbTogNGVtOyB9XG5cbi53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIHtcbiAgYm9yZGVyOiAwcHg7XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBwYWRkaW5nLWxlZnQ6IDVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgLndvb2NvbW1lcmNlIGRpdi5wcm9kdWN0IC53b29jb21tZXJjZS10YWJzIHVsLnRhYnM6YmVmb3JlIHtcbiAgICBib3JkZXI6IDBweDsgfVxuICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaSB7XG4gICAgYm9yZGVyOiAwcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaS5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAud29vY29tbWVyY2UgZGl2LnByb2R1Y3QgLndvb2NvbW1lcmNlLXRhYnMgdWwudGFicyBsaTpiZWZvcmUsIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgYm94LXNoYWRvdzogbm9uZTsgfVxuICAgIC53b29jb21tZXJjZSBkaXYucHJvZHVjdCAud29vY29tbWVyY2UtdGFicyB1bC50YWJzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuXG4ud29vY29tbWVyY2UgLmNoZWNrb3V0ICNjdXN0b21lcl9kZXRhaWxzIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLndvb2NvbW1lcmNlIC5jaGVja291dCAud2NfcGF5bWVudF9tZXRob2QgLmlucHV0LXJhZGlvIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IC0xMHB4OyB9XG5cbi53b29jb21tZXJjZSBwLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLXJlY2VpdmVkIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbSAhaW1wb3J0YW50OyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItZGV0YWlscyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItZGV0YWlscyBsaSB7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBib3JkZXItcmlnaHQ6IDBweDtcbiAgICBjbGVhcjogYm90aDsgfVxuICAgIC53b29jb21tZXJjZSAud29vY29tbWVyY2UtdGhhbmt5b3Utb3JkZXItZGV0YWlscyBsaSBzdHJvbmcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLmFkZHJlc3NlcyB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LWNvbnRlbnQgLndvb2NvbW1lcmNlLU1lc3NhZ2UgYnIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtTXlBY2NvdW50LW5hdmlnYXRpb24gLmlzLWFjdGl2ZSBhIHtcbiAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIC5pcy1hY3RpdmUgYTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuXG4ud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLU15QWNjb3VudC1uYXZpZ2F0aW9uIGE6aG92ZXIge1xuICBib3gtc2hhZG93OiAwIDFweCAwOyB9XG5cbi53b29jb21tZXJjZSAud29vY29tbWVyY2UtQWRkcmVzcy10aXRsZSAuZWRpdCB7XG4gIGNsZWFyOiBib3RoO1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgYm94LXNoYWRvdzogMCAxcHggMDsgfVxuICAud29vY29tbWVyY2UgLndvb2NvbW1lcmNlLUFkZHJlc3MtdGl0bGUgLmVkaXQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IDAgM3B4IDA7IH1cblxuLndvb2NvbW1lcmNlIC5vcmRlcl9kZXRhaWxzIC5wcm9kdWN0LW5hbWUgYSB7XG4gIGJveC1zaGFkb3c6IDAgMXB4IDA7IH1cbiAgLndvb2NvbW1lcmNlIC5vcmRlcl9kZXRhaWxzIC5wcm9kdWN0LW5hbWUgYTpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogMCAzcHggMDsgfVxuXG4ud29vY29tbWVyY2UgLm9yZGVyX2RldGFpbHMgbGkge1xuICBib3JkZXItcmlnaHQ6IDBweCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi53b29jb21tZXJjZSAuYWN0aW9ucyAuY291cG9uIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICBoZWlnaHQ6IDIuNjI1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLmFjdGlvbnMgcCB7XG4gIG1hcmdpbi1ib3R0b206IDBweDsgfVxuXG4ud29vY29tbWVyY2UgLmFjdGlvbnMgaW5wdXQuYnV0dG9uW3R5cGU9XCJzdWJtaXRcIl0ge1xuICBoZWlnaHQ6IDIuNjI1cmVtO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgY29sb3I6ICM1MTUxNTE7IH1cblxuLndvb2NvbW1lcmNlIGZvcm0gcCwgLndvb2NvbW1lcmNlIHRhYmxlIHAge1xuICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDsgfVxuXG4ud29vY29tbWVyY2UgLm9yZGVyLW51bWJlciBhIGJyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ud29vY29tbWVyY2UgI2NvdXBvbl9jb2RlIHtcbiAgbWluLXdpZHRoOiAxNWVtO1xuICBoZWlnaHQ6IDIuNTVyZW07IH1cblxuLndvb2NvbW1lcmNlIC5idXR0b24gYnIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi53b29jb21tZXJjZSAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5idXR0b24sIC53b29jb21tZXJjZSAuc2luZ2xlX2FkZF90b19jYXJ0X2J1dHRvbi5idXR0b24uZGlzYWJsZWQge1xuICBwYWRkaW5nOiAwLjM1ZW0gMC41ZW07IH1cblxuLndvb2NvbW1lcmNlIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IHAge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIC53Yy1wcm9jZWVkLXRvLWNoZWNrb3V0IC5jaGVja291dC1idXR0b24ge1xuICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIGlucHV0W3R5cGU9J3N1Ym1pdCddIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7IH1cblxuLndvb2NvbW1lcmNlIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksIC53b29jb21tZXJjZSB0ZXh0YXJlYSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkO1xuICBwYWRkaW5nOiAwLjVyZW07IH1cblxuLndvb2NvbW1lcmNlIHRleHRhcmVhIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZSAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMXJlbSAhaW1wb3J0YW50OyB9XG5cbi8qIEVPRiBXT09DT01NRVJDRSBTVVBQT1JUICovXG4uYm9keV9oYXNfc2lkZWJhciAuZmxvLWljb24tc2lkZWJhciB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5mbG9fc2lkZWJhci0tYWN0aXZlIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBFTkQ6IENPTVBPTkVOVFMgKEtFRVAgVEhJUyBPTkUgQVQgVEhFIEJPVFRPTSBBTEwgVEhFIFRJTUUpICovXG4iLCIvKiBTVEFSVDogVkVORE9SICovXG4gIEBpbXBvcnQgXCJ2ZW5kb3IvZm91bmRhdGlvbi9fc2V0dGluZ3Muc2Nzc1wiO1xuICBAaW1wb3J0IFwiZm91bmRhdGlvbi5zY3NzXCI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZXZlcnl0aGluZygpO1xuICBAaW1wb3J0IFwibW90aW9uLXVpXCI7XG4gIEBpbmNsdWRlIG1vdGlvbi11aS10cmFuc2l0aW9ucztcbi8qIEVORDogVkVORE9SICovXG5cbi8qIFNUQVJUOiBHTE9CQUwgKi9cbiAgQGltcG9ydCBcImdsb2JhbC9nbG9iYWwuc2Nzc1wiO1xuLyogRU5EOiBHTE9CQUwgKi9cblxuLyogU1RBUlQ6IENPTVBPTkVOVFMgKEtFRVAgVEhJUyBPTkUgQVQgVEhFIEJPVFRPTSBBTEwgVEhFIFRJTUUpICovXG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8wL2NvbW1lbnRzLWJsb2NrL2NvbW1lbnRzLWJsb2NrLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tYmxvY2svZmxvLWJsb2NrLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tZm9ybS9mbG8tZm9ybS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzAvZmxvLWxxaXAvZmxvLWxxaXAubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8wL2Zsby1wYWdlLXdyYXAvZmxvLXBhZ2Utd3JhcC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzAvZmxvLXNoYXJlLXJvbGxvdmVyL2Zsby1zaGFyZS1yb2xsb3Zlci5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzAvZmxvLXNsaWRlci9mbG8tc2xpZGVyLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tdmlkZW8tZW1iZWQvZmxvLXZpZGVvLWVtYmVkLWR1bW15Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9mbG8tdmlkZW8tZW1iZWQvZmxvLXZpZGVvLWVtYmVkLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMC9zb2NpYWwtbGlua3Mvc29jaWFsLWxpbmtzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stYnV0dG9uL2Zsby1ibG9jay1idXR0b24ubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1jYXRlZ29yeS1zd2l0Y2hlci9mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb21tZW50cy9mbG8tYmxvY2stY29tbWVudHMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTEvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMi9mbG8tYmxvY2stY29udGFjdC1ibG9jay0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stY29udGFjdC1ibG9jay0zL2Zsby1ibG9jay1jb250YWN0LWJsb2NrLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1jb250ZW50LWluLWNvbHVtbnMtMy9mbG8tYmxvY2stY29udGVudC1pbi1jb2x1bW5zLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1kZWxpbWl0ZXItMS9mbG8tYmxvY2stZGVsaW1pdGVyLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1mYXEtYmxvY2stMS9mbG8tYmxvY2stZmFxLWJsb2NrLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1mYXEtYmxvY2stMi9mbG8tYmxvY2stZmFxLWJsb2NrLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1mZWF0dXJlZC1saW5rLTIvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmstMy9mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtMy9mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtMy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTQvZmxvLWJsb2NrLWZlYXR1cmVkLWxpbmtzLTQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMS9mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMi9mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctNy9mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTcubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMS9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMi9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1nYWxsZXJ5LXZpZXctMy9mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1ibG9jay0xL2Zsby1ibG9jay1pbWFnZS1ibG9jay0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtYmxvY2stMi9mbG8tYmxvY2staW1hZ2UtYmxvY2stMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTMvZmxvLWJsb2NrLWltYWdlLWJsb2NrLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1saW5rcy0yL2Zsby1ibG9jay1pbWFnZS1saW5rcy0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtbGlua3MtNC9mbG8tYmxvY2staW1hZ2UtbGlua3MtNC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTUvZmxvLWJsb2NrLWltYWdlLWxpbmtzLTUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pbWFnZS1saW5rcy02L2Zsby1ibG9jay1pbWFnZS1saW5rcy02Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staW1hZ2UtbGlua3MtNy9mbG8tYmxvY2staW1hZ2UtbGlua3MtNy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWludHJvLWJsb2NrL2Zsby1ibG9jay1pbnRyby1ibG9jay5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWl0ZW0tY29udGVudC9mbG8tYmxvY2staXRlbS1jb250ZW50Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uL2Zsby1ibG9jay1pdGVtLXBhZ2luYXRpb24ubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1pdGVtLXRpdGxlLTIvZmxvLWJsb2NrLWl0ZW0tdGl0bGUtMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWl0ZW0tdGl0bGUvZmxvLWJsb2NrLWl0ZW0tdGl0bGUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTEvZmxvLWJsb2NrLWxpc3RpbmctMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctMi9mbG8tYmxvY2stbGlzdGluZy0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy0zL2Zsby1ibG9jay1saXN0aW5nLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLTQvZmxvLWJsb2NrLWxpc3RpbmctNC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLWxpc3RpbmctNS9mbG8tYmxvY2stbGlzdGluZy01Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stbGlzdGluZy02L2Zsby1ibG9jay1saXN0aW5nLTYubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMi9mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24vZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLW51bWVyaWMtZGV0YWlscy9mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stcHJlc3MvZmxvLWJsb2NrLXByZXNzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTEvZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZS0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlcy0yL2Zsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay1yZWxhdGVkLWl0ZW1zL2Zsby1ibG9jay1yZWxhdGVkLWl0ZW1zLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3MvZmxvLWJsb2NrLXNoYXJlLWFuZC10YWdzLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stc2xpZGVzaG93LTEvZmxvLWJsb2NrLXNsaWRlc2hvdy0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stc2xpZGVzaG93LTIvZmxvLWJsb2NrLXNsaWRlc2hvdy0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stc2xpZGVzaG93LTMvZmxvLWJsb2NrLXNsaWRlc2hvdy0zLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stc2xpZGVzaG93LTQvZmxvLWJsb2NrLXNsaWRlc2hvdy00Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stc29jaWFsLWxpbmtzL2Zsby1ibG9jay1zb2NpYWwtbGlua3MubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXN0aW1vbmlhbHMtMS9mbG8tYmxvY2stdGVzdGltb25pYWxzLTEubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTEvZmxvLWJsb2NrLXRleHQtYmxvY2stMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stMi9mbG8tYmxvY2stdGV4dC1ibG9jay0yLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGV4dC1ibG9jay0zL2Zsby1ibG9jay10ZXh0LWJsb2NrLTMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay10ZXh0LWJsb2NrLTQvZmxvLWJsb2NrLXRleHQtYmxvY2stNC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRleHQtYmxvY2stNS9mbG8tYmxvY2stdGV4dC1ibG9jay01Lm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGl0bGUtMS9mbG8tYmxvY2stdGl0bGUtMS5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXRpdGxlLTIvZmxvLWJsb2NrLXRpdGxlLTIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay10aXRsZS0zL2Zsby1ibG9jay10aXRsZS0zLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdGl0bGUtNC9mbG8tYmxvY2stdGl0bGUtNC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWJsb2NrLXZlbmRvcnMvZmxvLWJsb2NrLXZlbmRvcnMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1ibG9jay12aWRlby1ibG9jay0xL2Zsby1ibG9jay12aWRlby1ibG9jay0xLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tYmxvY2stdmlkZW8tYmxvY2stMi9mbG8tYmxvY2stdmlkZW8tYmxvY2stMi5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWNvbW1lbnRzL2Zsby1jb21tZW50cy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLWN1c3RvbS1ibG9jay9mbG8tY3VzdG9tLWJsb2NrLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyLXNpZGViYXJzL2Zsby1mb290ZXItc2lkZWJhcnMubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1mb290ZXIvZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1lLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tZm9vdGVyL2Zsby1mb290ZXIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvL2Zsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tZ2VuZXJpYy1tZW51LXdyYXAvZmxvLWdlbmVyaWMtbWVudS13cmFwLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tZ2VuZXJpYy1zbGlkZXMvZmxvLWdlbmVyaWMtc2xpZGVzLXRlbXBsYXRlLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8taGVhZGVyLW1vYmlsZS1tZW51L2Zsby1oZWFkZXItbW9iaWxlLW1lbnUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1oZWFkZXItbW9iaWxlL2Zsby1oZWFkZXItbW9iaWxlLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8taGVhZGVyL2Zsby1oZWFkZXIubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1wYWdlLXdyYXAvZmxvLXBhZ2Utd3JhcC5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLXBvc3QvZmxvLXBvc3QubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1yZWxhdGVkLWl0ZW1zL2Zsby1yZWxhdGVkLWl0ZW1zLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tcmV2ZWFsL2Zsby1yZXZlYWwubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby1zbGlkZXNob3cvZmxvLXNsaWRlc2hvdy5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvZmxvLXNwbGFzaC9mbG8tc3BsYXNoLm1haW4uc2Nzc1wiO1xuQGltcG9ydCBcIi9BcHBsaWNhdGlvbnMvTUFNUC9odGRvY3MvZmxvL3dwLWNvbnRlbnQvdGhlbWVzL3BvcnRvLTIvdGhlbWUtZmlsZXMvZGV2L2NvbXBvbmVudHMvMS9mbG8tdGV4dC1jb250ZW50L2Zsby10ZXh0LWNvbnRlbnQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby12aWRlby1idXR0b24vZmxvLWhlcm8tdmlkZW8tZW1iZWQubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby13cC1jb250ZW50LXdpdGgtcGFnaW5hdGlvbi9mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24ubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL2Zsby13cC10aXRsZS9mbG8td3AtdGl0bGUubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8xL3NpZGViYXIvc2lkZWJhci5tYWluLnNjc3NcIjtcbkBpbXBvcnQgXCIvQXBwbGljYXRpb25zL01BTVAvaHRkb2NzL2Zsby93cC1jb250ZW50L3RoZW1lcy9wb3J0by0yL3RoZW1lLWZpbGVzL2Rldi9jb21wb25lbnRzLzEvd29vY29tbWVyY2Uvd29vY29tbWVyY2UubWFpbi5zY3NzXCI7XG5AaW1wb3J0IFwiL0FwcGxpY2F0aW9ucy9NQU1QL2h0ZG9jcy9mbG8vd3AtY29udGVudC90aGVtZXMvcG9ydG8tMi90aGVtZS1maWxlcy9kZXYvY29tcG9uZW50cy8yL2JvZHktaGFzLXNpZGViYXIvYm9keS1oYXMtc2lkZWJhci5tYWluLnNjc3NcIjtcbi8qIEVORDogQ09NUE9ORU5UUyAoS0VFUCBUSElTIE9ORSBBVCBUSEUgQk9UVE9NIEFMTCBUSEUgVElNRSkgKi9cbiIsIi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjMuMVxuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cblxuLy8gRGVwZW5kZW5jaWVzXG5AaW1wb3J0ICcuLi9fdmVuZG9yL25vcm1hbGl6ZS1zY3NzL3Nhc3Mvbm9ybWFsaXplJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy9taXNzaW5nLWRlcGVuZGVuY2llcyc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2hlbHBlcnMvdHJ1ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9wdXJnZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZW1vdmUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9mdW5jdGlvbnMvcmVwbGFjZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy90by1saXN0JztcblxuLy8gU2V0dGluZ3Ncbi8vIGltcG9ydCB5b3VyIG93biBgc2V0dGluZ3NgIGhlcmUgb3Jcbi8vIGltcG9ydCBhbmQgbW9kaWZ5IHRoZSBkZWZhdWx0IHNldHRpbmdzIHRocm91Z2hcbi8vIEBpbXBvcnQgJ3NldHRpbmdzL3NldHRpbmdzJztcblxuLy8gU2FzcyB1dGlsaXRpZXNcbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIEdsb2JhbCB2YXJpYWJsZXMgYW5kIHN0eWxlc1xuQGltcG9ydCAnZ2xvYmFsJztcblxuLy8gQ29tcG9uZW50c1xuQGltcG9ydCAnZ3JpZC9ncmlkJztcbkBpbXBvcnQgJ3R5cG9ncmFwaHkvdHlwb2dyYXBoeSc7XG5AaW1wb3J0ICdmb3Jtcy9mb3Jtcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Zpc2liaWxpdHknO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbG9hdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2J1dHRvbi1ncm91cCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYmFkZ2UnO1xuQGltcG9ydCAnY29tcG9uZW50cy9icmVhZGNydW1icyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhbGxvdXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYXJkJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Jlc3BvbnNpdmUtZW1iZWQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhcmQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudS1pY29uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWRyb3Bkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1sYWJlbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZWRpYS1vYmplY3Q7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb2ZmLWNhbnZhcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vcmJpdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wYWdpbmF0aW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXByb2dyZXNzLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zbGlkZXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3RpY2t5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJldmVhbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zd2l0Y2g7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFibGU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGFicztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aHVtYm5haWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGl0bGUtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvb2x0aXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9wLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi12aXNpYmlsaXR5LWNsYXNzZXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcztcblxuICBAaWYgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1jbGFzc2VzO1xuICB9XG59XG4iLCIvLyBIZWxwZXIgZnVuY3Rpb24gZm9yIHRoZSBub3JtYWxpemUoKSBtaXhpbi5cbkBmdW5jdGlvbiBfbm9ybWFsaXplLWluY2x1ZGUoJHNlY3Rpb24sICRleGNsdWRlOiBudWxsKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGdsb2JhbCB2YXJpYWJsZXMgbmVlZGVkIGJ5IHRoaXMgZnVuY3Rpb24uXG4gIEBpZiBub3QgZ2xvYmFsX3ZhcmlhYmxlX2V4aXN0cyhfbm9ybWFsaXplLWluY2x1ZGUpIHtcbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiAoKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6ICgpICFnbG9iYWw7XG4gIH1cbiAgLy8gU2luY2Ugd2UgYXJlIGdpdmVuIDIgcGFyYW1ldGVycywgc2V0IHRoZSBnbG9iYWwgdmFyaWFibGVzLlxuICBAaWYgJGV4Y2x1ZGUgIT0gbnVsbCB7XG4gICAgJGluY2x1ZGU6ICRzZWN0aW9uO1xuICAgIC8vIFNhc3MgZG9lc24ndCBoYXZlIHN0YXRpYyB2YXJpYWJsZXMsIHNvIHRoZSB3b3JrLWFyb3VuZCBpcyB0byBzdHVmZiB0aGVzZVxuICAgIC8vIHZhbHVlcyBpbnRvIGdsb2JhbCB2YXJpYWJsZXMgc28gd2UgY2FuIGFjY2VzcyB0aGVtIGluIGZ1dHVyZSBjYWxscy5cbiAgICAkX25vcm1hbGl6ZS1pbmNsdWRlOiBpZih0eXBlLW9mKCRpbmNsdWRlKSA9PSAnbGlzdCcsICRpbmNsdWRlLCAoJGluY2x1ZGUpKSAhZ2xvYmFsO1xuICAgICRfbm9ybWFsaXplLWV4Y2x1ZGU6IGlmKHR5cGUtb2YoJGV4Y2x1ZGUpID09ICdsaXN0JywgJGV4Y2x1ZGUsICgkZXhjbHVkZSkpICFnbG9iYWw7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHNlY3Rpb24gaXMgaW4gdGhlICRpbmNsdWRlIGxpc3QuXG4gIEBpZiBpbmRleCgkX25vcm1hbGl6ZS1pbmNsdWRlLCAkc2VjdGlvbikge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICAvLyBJZiAkaW5jbHVkZSBpcyBzZXQgdG8gKGFsbCksIG1ha2Ugc3VyZSAkc2VjdGlvbiBpcyBub3QgaW4gJGV4Y2x1ZGUuXG4gIEBlbHNlIGlmIG5vdCBpbmRleCgkX25vcm1hbGl6ZS1leGNsdWRlLCAkc2VjdGlvbikgYW5kIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsIGFsbCkge1xuICAgIEByZXR1cm4gdHJ1ZTtcbiAgfVxuICBAcmV0dXJuIGZhbHNlO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplKCRpbmNsdWRlOiAoYWxsKSwgJGV4Y2x1ZGU6ICgpKSB7XG4gIC8vIEluaXRpYWxpemUgdGhlIGhlbHBlciBmdW5jdGlvbiBieSBwYXNzaW5nIGl0IHRoaXMgbWl4aW4ncyBwYXJhbWV0ZXJzLlxuICAkaW5pdDogX25vcm1hbGl6ZS1pbmNsdWRlKCRpbmNsdWRlLCAkZXhjbHVkZSk7XG5cbiAgLy8gSWYgd2UndmUgY3VzdG9taXplZCBhbnkgZm9udCB2YXJpYWJsZXMsIHdlJ2xsIG5lZWQgZXh0cmEgcHJvcGVydGllcy5cbiAgQGlmICRiYXNlLWZvbnQtc2l6ZSAhPSAxNnB4XG4gICAgb3IgJGJhc2UtbGluZS1oZWlnaHQgIT0gMjRweFxuICAgIG9yICRiYXNlLXVuaXQgIT0gJ2VtJ1xuICAgIG9yICRoMS1mb250LXNpemUgIT0gMiAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMi1mb250LXNpemUgIT0gMS41ICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoMy1mb250LXNpemUgIT0gMS4xNyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNC1mb250LXNpemUgIT0gMSAgICAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNS1mb250LXNpemUgIT0gMC44MyAqICRiYXNlLWZvbnQtc2l6ZVxuICAgIG9yICRoNi1mb250LXNpemUgIT0gMC42NyAqICRiYXNlLWZvbnQtc2l6ZSB7XG4gICAgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG06IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIC8qISBub3JtYWxpemUtc2NzcyB8IE1JVC9HUEx2MiBMaWNlbnNlIHwgYml0Lmx5L25vcm1hbGl6ZS1zY3NzICovXG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShkb2N1bWVudCkge1xuICAgIC8qIERvY3VtZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZGVmYXVsdCBmb250IGZhbWlseSBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBsaW5lIGhlaWdodCBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMy4gUHJldmVudCBhZGp1c3RtZW50cyBvZiBmb250IHNpemUgYWZ0ZXIgb3JpZW50YXRpb24gY2hhbmdlcyBpblxuICAgICAqICAgIElFIG9uIFdpbmRvd3MgUGhvbmUgYW5kIGluIGlPUy5cbiAgICAgKi9cblxuICAgIGh0bWwge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvLyBDb3JyZWN0IG9sZCBicm93c2VyIGJ1ZyB0aGF0IHByZXZlbnRlZCBhY2Nlc3NpYmxlIHJlc2l6aW5nIG9mIHRleHRcbiAgICAgICAgLy8gd2hlbiByb290IGZvbnQtc2l6ZSBpcyBzZXQgd2l0aCBweCBvciBlbS5cbiAgICAgICAgZm9udC1zaXplOiAoJGJhc2UtZm9udC1zaXplIC8gMTZweCkgKiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogKCRiYXNlLWxpbmUtaGVpZ2h0IC8gJGJhc2UtZm9udC1zaXplKSAqIDFlbTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xNTsgLyogMiAqL1xuICAgICAgfVxuICAgICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDMgKi9cbiAgICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2VjdGlvbnMpIHtcbiAgICAvKiBTZWN0aW9uc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIG1hcmdpbiBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGJvZHkge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXJ0aWNsZSxcbiAgICBhc2lkZSxcbiAgICBmb290ZXIsXG4gICAgaGVhZGVyLFxuICAgIG5hdixcbiAgICBzZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENvcnJlY3QgdGhlIGZvbnQgc2l6ZSBhbmQgbWFyZ2luIG9uIGBoMWAgZWxlbWVudHMgd2l0aGluIGBzZWN0aW9uYCBhbmRcbiAgICAgKiBgYXJ0aWNsZWAgY29udGV4dHMgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgaDEge1xuICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWZvbnQtc2l6ZSgkaDEtZm9udC1zaXplKTtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLyogU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbnMuICovXG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDEtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDItZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMy1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDMtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDQge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNC1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDQtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNS1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDUtZm9udC1zaXplKTtcbiAgICAgIH1cblxuICAgICAgaDYge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoNi1mb250LXNpemUpO1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbGluZS1oZWlnaHQoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwLCAkaDYtZm9udC1zaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGdyb3VwaW5nKSB7XG4gICAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIGJsb2NrcXVvdGUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgJGluZGVudC1hbW91bnQpO1xuICAgICAgfVxuXG4gICAgICBkbCxcbiAgICAgIG9sLFxuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgKi9cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIG9sLFxuICAgICAgICB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIGRkIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAkaW5kZW50LWFtb3VudDtcbiAgICAgIH1cblxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgZmlnY2FwdGlvbixcbiAgICBmaWd1cmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IG1hcmdpbiBpbiBJRSA4LlxuICAgICAqL1xuXG4gICAgZmlndXJlIHtcbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIG1hcmdpbjogMWVtICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5cbiAgICBociB7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMSAqL1xuICAgICAgaGVpZ2h0OiAwOyAvKiAxICovXG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgbWFpbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgLyoqXG4gICAgICAgKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2luLlxuICAgICAgICovXG5cbiAgICAgIHAsXG4gICAgICBwcmUge1xuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBwcmUge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUobGlua3MpIHtcbiAgICAvKiBMaW5rc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBSZW1vdmUgdGhlIGdyYXkgYmFja2dyb3VuZCBvbiBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAgICogMi4gUmVtb3ZlIGdhcHMgaW4gbGlua3MgdW5kZXJsaW5lIGluIGlPUyA4KyBhbmQgU2FmYXJpIDgrLlxuICAgICAqL1xuXG4gICAgYSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgLyogMSAqL1xuICAgICAgLXdlYmtpdC10ZXh0LWRlY29yYXRpb24tc2tpcDogb2JqZWN0czsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgb3V0bGluZSBvbiBmb2N1c2VkIGxpbmtzIHdoZW4gdGhleSBhcmUgYWxzbyBhY3RpdmUgb3IgaG92ZXJlZFxuICAgICAqIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYTphY3RpdmUsXG4gICAgYTpob3ZlciB7XG4gICAgICBvdXRsaW5lLXdpZHRoOiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUodGV4dCkge1xuICAgIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYWJiclt0aXRsZV0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgLyogMSAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IC8qIDIgKi9cbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgd2VpZ2h0IGluIENocm9tZSwgRWRnZSwgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGIsXG4gICAgc3Ryb25nIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkZXI7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgaW5oZXJpdGFuY2UgYW5kIHNjYWxpbmcgb2YgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBvZGQgYGVtYCBmb250IHNpemluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBjb2RlLFxuICAgIGtiZCxcbiAgICBzYW1wIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBtb25vc3BhY2UsIG1vbm9zcGFjZTsgLyogMSAqL1xuICAgICAgZm9udC1zaXplOiAxZW07IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzdHlsZSBpbiBBbmRyb2lkIDQuMy0uXG4gICAgICovXG5cbiAgICBkZm4ge1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1hcmsge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc21hbGwge1xuICAgICAgZm9udC1zaXplOiA4MCU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3ViLFxuICAgIHN1cCB7XG4gICAgICBmb250LXNpemU6IDc1JTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAgIH1cblxuICAgIHN1YiB7XG4gICAgICBib3R0b206IC0wLjI1ZW07XG4gICAgfVxuXG4gICAgc3VwIHtcbiAgICAgIHRvcDogLTAuNWVtO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZW1iZWRkZWQpIHtcbiAgICAvKiBFbWJlZGRlZCBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgYXVkaW8sXG4gICAgdmlkZW8ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIGlPUyA0LTcuXG4gICAgICovXG5cbiAgICBhdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIGltZyB7XG4gICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogSGlkZSB0aGUgb3ZlcmZsb3cgaW4gSUUuXG4gICAgICovXG5cbiAgICBzdmc6bm90KDpyb290KSB7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZm9ybXMpIHtcbiAgICAvKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBpbnB1dCxcbiAgICBvcHRncm91cCxcbiAgICBzZWxlY3QsXG4gICAgdGV4dGFyZWEge1xuICAgICAgZm9udC1mYW1pbHk6ICRiYXNlLWZvbnQtZmFtaWx5OyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDEwMCU7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAxICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAxICovXG4gICAgICB9XG4gICAgICBtYXJnaW46IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbiB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEVkZ2UsIEZpcmVmb3gsIGFuZCBJRS5cbiAgICAgKiAxLiBSZW1vdmUgdGhlIGluaGVyaXRhbmNlIG9mIHRleHQgdHJhbnNmb3JtIGluIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgc2VsZWN0IHsgLyogMSAqL1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBidXR0b24sXG4gICAgaHRtbCBbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICAgIFt0eXBlPVwicmVzZXRcIl0sXG4gICAgW3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDIgKi9cbiAgICB9XG5cbiAgICBidXR0b24sXG4gICAgW3R5cGU9XCJidXR0b25cIl0sXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuXG4gICAgICAmOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuXG4gICAgICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqL1xuXG4gICAgICAmOi1tb3otZm9jdXNyaW5nIHtcbiAgICAgICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0O1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5cbiAgICBpbnB1dCB7XG4gICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgYm94IHNpemluZyBpbiBJRSAxMC0uXG4gICAgICogMi4gUmVtb3ZlIHRoZSBwYWRkaW5nIGluIElFIDEwLS5cbiAgICAgKi9cblxuICAgIFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgW3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgY3Vyc29yIHN0eWxlIG9mIGluY3JlbWVudCBhbmQgZGVjcmVtZW50IGJ1dHRvbnMgaW4gQ2hyb21lLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgW3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICAgIG91dGxpbmUtb2Zmc2V0OiAtMnB4OyAvKiAyICovXG5cbiAgICAgIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBwYWRkaW5nIGFuZCBjYW5jZWwgYnV0dG9ucyBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBtYWNPUy5cbiAgICAgICAqL1xuXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIDo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247IC8qIDEgKi9cbiAgICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDaGFuZ2UgdGhlIGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZyBpbiBhbGwgYnJvd3NlcnMgKG9waW5pb25hdGVkKS5cbiAgICAgKi9cblxuICAgIGZpZWxkc2V0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gICAgICBtYXJnaW46IDAgMnB4O1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIHRleHQgd3JhcHBpbmcgaW4gRWRnZSBhbmQgSUUuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgY29sb3IgaW5oZXJpdGFuY2UgZnJvbSBgZmllbGRzZXRgIGVsZW1lbnRzIGluIElFLlxuICAgICAqIDMuIFJlbW92ZSB0aGUgcGFkZGluZyBzbyBkZXZlbG9wZXJzIGFyZSBub3QgY2F1Z2h0IG91dCB3aGVuIHRoZXkgemVybyBvdXRcbiAgICAgKiAgICBgZmllbGRzZXRgIGVsZW1lbnRzIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGxlZ2VuZCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgICBkaXNwbGF5OiB0YWJsZTsgLyogMSAqL1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyAvKiAxICovXG4gICAgICBwYWRkaW5nOiAwOyAvKiAzICovXG4gICAgICBjb2xvcjogaW5oZXJpdDsgLyogMiAqL1xuICAgICAgd2hpdGUtc3BhY2U6IG5vcm1hbDsgLyogMSAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB2ZXJ0aWNhbCBhbGlnbm1lbnQgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAgICovXG5cbiAgICBwcm9ncmVzcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IC8qIDEgKi9cbiAgICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUuXG4gICAgICovXG5cbiAgICB0ZXh0YXJlYSB7XG4gICAgICBvdmVyZmxvdzogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGludGVyYWN0aXZlKSB7XG4gICAgLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5cbiAgICBkZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgc3VtbWFyeSB7XG4gICAgICBkaXNwbGF5OiBsaXN0LWl0ZW07XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cblxuICAgIG1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8qXG4gICAgICAgICAqIDEuIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgICAqIDIuIFNldCBjb25zaXN0ZW50IHNwYWNlIGZvciB0aGUgbGlzdCBzdHlsZSBpbWFnZS5cbiAgICAgICAgICovXG5cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDApOyAvKiAxICovXG4gICAgICAgIHBhZGRpbmc6IDAgMCAwICRpbmRlbnQtYW1vdW50OyAvKiAyICovXG5cbiAgICAgICAgLyoqXG4gICAgICAgICAqIFR1cm4gb2ZmIG1hcmdpbnMgb24gbmVzdGVkIGxpc3RzLlxuICAgICAgICAgKi9cblxuICAgICAgICBtZW51ICYsXG4gICAgICAgIG9sICYsXG4gICAgICAgIHVsICYge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoc2NyaXB0aW5nKSB7XG4gICAgLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgY2FudmFzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRlbXBsYXRlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShoaWRkZW4pIHtcbiAgICAvKiBIaWRkZW5cbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW2hpZGRlbl0ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbXBvcnQgdXJsKFwiLi4vZm9udHMvZm9udGVsbG8vY3NzL2Zsby1pY29ucy5jc3NcIik7IC8vIHJlbGF0aXZlIHRvIHB1YmxpYy9jc3MvXG5cbmJvZHkuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIge1xuICAuZmxvLWljb24teW91dHViZTpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnWVQnOyB9IC8qICfvhacnICovXG4gIC5mbG8taWNvbi1mbGlja3I6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ0ZLJzsgfSAvKiAn74yDJyAqL1xuICAuZmxvLWljb24tdmltZW86bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ1ZJJzsgfSAvKiAn74yGJyAqL1xuICAuZmxvLWljb24tdHdpdHRlcjpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnVFcnOyB9IC8qICfvjIknICovXG4gIC5mbG8taWNvbi1mYWNlYm9vazpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnRkInOyB9IC8qICfvjIwnICovXG4gIC5mbG8taWNvbi1ncGx1czpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnR1AnOyB9IC8qICfvjI8nICovXG4gIC5mbG8taWNvbi1waW50ZXJlc3Q6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ1BJJzsgfSAvKiAn74ySJyAqL1xuICAuZmxvLWljb24tdHVtYmxyOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7IGNvbnRlbnQ6ICdUTSc7IH0gLyogJ++MlScgKi9cbiAgLmZsby1pY29uLWxpbmtlZGluOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7IGNvbnRlbnQ6ICdMSyc7IH0gLyogJ++MmCcgKi9cbiAgLmZsby1pY29uLWRyaWJiYmxlOm5vdCguZmxvLWljb24tb3JpZ2luYWwpOmJlZm9yZSB7IGNvbnRlbnQ6ICdEQic7IH0gLyogJ++MmycgKi9cbiAgLmZsby1pY29uLWluc3RhZ3JhbTpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnSUcnOyB9IC8qICfvjK0nICovXG4gIC5mbG8taWNvbi15YWhvbzpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnWUgnOyB9IC8qICfuoIQnICovXG4gIC5mbG8taWNvbi1kZWxpY2lvdXM6bm90KC5mbG8taWNvbi1vcmlnaW5hbCk6YmVmb3JlIHsgY29udGVudDogJ0RFJzsgfSAvKiAn7qCFJyAqL1xuICAuZmxvLWljb24tbWFpbDpub3QoLmZsby1pY29uLW9yaWdpbmFsKTpiZWZvcmUgeyBjb250ZW50OiAnTUwnOyB9IC8qICfuoIYnICovXG59XG4iLCIvL1xuLy8gVmFyaWFibGVzXG4vL1xuLy8gWW91IGNhbiBvdmVycmlkZSB0aGUgZGVmYXVsdCB2YWx1ZXMgYnkgc2V0dGluZyB0aGUgdmFyaWFibGVzIGluIHlvdXIgU2Fzc1xuLy8gYmVmb3JlIGltcG9ydGluZyB0aGUgbm9ybWFsaXplLXNjc3MgbGlicmFyeS5cblxuLy8gVGhlIGZvbnQgc2l6ZSBzZXQgb24gdGhlIHJvb3QgaHRtbCBlbGVtZW50LlxuJGJhc2UtZm9udC1zaXplOiAxNnB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgYmFzZSBsaW5lIGhlaWdodCBkZXRlcm1pbmVzIHRoZSBiYXNpYyB1bml0IG9mIHZlcnRpY2FsIHJoeXRobS5cbiRiYXNlLWxpbmUtaGVpZ2h0OiAyNHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgbGVuZ3RoIHVuaXQgaW4gd2hpY2ggdG8gb3V0cHV0IHZlcnRpY2FsIHJoeXRobSB2YWx1ZXMuXG4vLyBTdXBwb3J0ZWQgdmFsdWVzOiBweCwgZW0sIHJlbS5cbiRiYXNlLXVuaXQ6ICdlbScgIWRlZmF1bHQ7XG5cbi8vIFRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5LlxuJGJhc2UtZm9udC1mYW1pbHk6IHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb250IHNpemVzIGZvciBoMS1oNi5cbiRoMS1mb250LXNpemU6IDIgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDItZm9udC1zaXplOiAxLjUgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgzLWZvbnQtc2l6ZTogMS4xNyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNC1mb250LXNpemU6IDEgICAgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDUtZm9udC1zaXplOiAwLjgzICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg2LWZvbnQtc2l6ZTogMC42NyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8gVGhlIGFtb3VudCBsaXN0cyBhbmQgYmxvY2txdW90ZXMgYXJlIGluZGVudGVkLlxuJGluZGVudC1hbW91bnQ6IDQwcHggIWRlZmF1bHQ7XG5cbi8vIFRoZSBmb2xsb3dpbmcgdmFyaWFibGUgY29udHJvbHMgd2hldGhlciBub3JtYWxpemUtc2NzcyB3aWxsIG91dHB1dFxuLy8gZm9udC1zaXplcywgbGluZS1oZWlnaHRzIGFuZCBibG9jay1sZXZlbCB0b3AvYm90dG9tIG1hcmdpbnMgdGhhdCBmb3JtIGEgYmFzaWNcbi8vIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgcGFnZSwgd2hpY2ggZGlmZmVycyBmcm9tIHRoZSBvcmlnaW5hbCBOb3JtYWxpemUuY3NzLlxuLy8gSG93ZXZlciwgY2hhbmdpbmcgYW55IG9mIHRoZSB2YXJpYWJsZXMgYWJvdmUgd2lsbCBjYXVzZVxuLy8gJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0gdG8gYmUgYXV0b21hdGljYWxseSBzZXQgdG8gdHJ1ZS5cbiRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtOiBmYWxzZSAhZGVmYXVsdDtcbiIsIi8vXG4vLyBWZXJ0aWNhbCBSaHl0aG1cbi8vXG4vLyBUaGlzIGlzIHRoZSBtaW5pbWFsIGFtb3VudCBvZiBjb2RlIG5lZWRlZCB0byBjcmVhdGUgdmVydGljYWwgcmh5dGhtIGluIG91clxuLy8gQ1NTLiBJZiB5b3UgYXJlIGxvb2tpbmcgZm9yIGEgcm9idXN0IHNvbHV0aW9uLCBsb29rIGF0IHRoZSBleGNlbGxlbnQgVHlwZXlcbi8vIGxpYnJhcnkuIEBzZWUgaHR0cHM6Ly9naXRodWIuY29tL2pwdGFyYW50by90eXBleVxuXG5AZnVuY3Rpb24gbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplLCAkdW5pdDogJGJhc2UtdW5pdCkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9IHB4IHtcbiAgICBAZXJyb3IgXCJUaGUgbm9ybWFsaXplIHZlcnRpY2FsLXJoeXRobSBtb2R1bGUgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBAaWYgJHVuaXQgPT0gcmVtIHtcbiAgICBAcmV0dXJuICgkdmFsdWUgLyAkYmFzZS1mb250LXNpemUpICogMXJlbTtcbiAgfVxuICBAZWxzZSBpZiAkdW5pdCA9PSBlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJHJlbGF0aXZlLXRvKSAqIDFlbTtcbiAgfVxuICBAZWxzZSB7IC8vICR1bml0ID09IHB4XG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cbn1cblxuQG1peGluIG5vcm1hbGl6ZS1mb250LXNpemUoJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaWYgdW5pdCgkdmFsdWUpICE9ICdweCcge1xuICAgIEBlcnJvciBcIm5vcm1hbGl6ZS1mb250LXNpemUoKSBvbmx5IHN1cHBvcnRzIHB4IGlucHV0cy4gVGhlIHR5cGV5IGxpYnJhcnkgaXMgYmV0dGVyLlwiO1xuICB9XG4gIGZvbnQtc2l6ZTogbm9ybWFsaXplLXJoeXRobSgkdmFsdWUsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtcmh5dGhtKCRwcm9wZXJ0eSwgJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgJHZhbHVlLWxpc3Q6ICR2YWx1ZXM7XG4gICRzZXA6IHNwYWNlO1xuICBAaWYgdHlwZS1vZigkdmFsdWVzKSA9PSAnbGlzdCcge1xuICAgICRzZXA6IGxpc3Qtc2VwYXJhdG9yKCR2YWx1ZXMpO1xuICB9XG4gIEBlbHNlIHtcbiAgICAkdmFsdWUtbGlzdDogYXBwZW5kKCgpLCAkdmFsdWVzKTtcbiAgfVxuXG4gICRub3JtYWxpemVkLXZhbHVlczogKCk7XG4gIEBlYWNoICR2YWx1ZSBpbiAkdmFsdWUtbGlzdCB7XG4gICAgQGlmIHVuaXRsZXNzKCR2YWx1ZSkgYW5kICR2YWx1ZSAhPSAwIHtcbiAgICAgICR2YWx1ZTogJHZhbHVlICogbm9ybWFsaXplLXJoeXRobSgkYmFzZS1saW5lLWhlaWdodCwgJHJlbGF0aXZlLXRvKTtcbiAgICB9XG4gICAgJG5vcm1hbGl6ZWQtdmFsdWVzOiBhcHBlbmQoJG5vcm1hbGl6ZWQtdmFsdWVzLCAkdmFsdWUsICRzZXApO1xuICB9XG4gICN7JHByb3BlcnR5fTogJG5vcm1hbGl6ZWQtdmFsdWVzO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLW1hcmdpbigkdmFsdWVzLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSkge1xuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKG1hcmdpbiwgJHZhbHVlcywgJHJlbGF0aXZlLXRvKTtcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkZm9udC1zaXplLCAkbWluLWxpbmUtcGFkZGluZzogMnB4KSB7XG4gICRsaW5lczogY2VpbCgkZm9udC1zaXplIC8gJGJhc2UtbGluZS1oZWlnaHQpO1xuICAvLyBJZiBsaW5lcyBhcmUgY3JhbXBlZCBpbmNsdWRlIHNvbWUgZXh0cmEgbGVhZGluZy5cbiAgQGlmICgkbGluZXMgKiAkYmFzZS1saW5lLWhlaWdodCAtICRmb250LXNpemUpIDwgKCRtaW4tbGluZS1wYWRkaW5nICogMikge1xuICAgICRsaW5lczogJGxpbmVzICsgMTtcbiAgfVxuICBAaW5jbHVkZSBub3JtYWxpemUtcmh5dGhtKGxpbmUtaGVpZ2h0LCAkbGluZXMsICRmb250LXNpemUpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWF0dHJpYnV0ZS1uZXN0aW5nLCBmb3JjZS1wc2V1ZG8tbmVzdGluZywgbm8tY29sb3ItbGl0ZXJhbHMsIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMxNzc5YmEsXG4gIHNlY29uZGFyeTogIzc2NzY3NixcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNjYzRiMzcsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gIEBlcnJvciAnSW4gJGZvdW5kYXRpb24tcGFsZXR0ZSwgeW91IG11c3QgaGF2ZSBhIGNvbG9yIG5hbWVkIFwicHJpbWFyeVwiLic7XG59XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciB0ZXh0IGRpcmVjdGlvblxuJGdsb2JhbC1sZWZ0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgcmlnaHQsIGxlZnQpO1xuJGdsb2JhbC1yaWdodDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIGxlZnQsIHJpZ2h0KTtcblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIGNvbG9yc1xuJHByaW1hcnktY29sb3I6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IGdldC1jb2xvcihzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IGdldC1jb2xvcihzdWNjZXNzKTtcbiR3YXJuaW5nLWNvbG9yOiBnZXQtY29sb3Iod2FybmluZyk7XG4kYWxlcnQtY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXMge1xuICBAaW5jbHVkZSAtemYtbm9ybWFsaXplO1xuXG4gIC8vIFRoZXNlIHN0eWxlcyBhcmUgYXBwbGllZCB0byBhIDxtZXRhPiB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdFxuICAuZm91bmRhdGlvbi1tcSB7XG4gICAgZm9udC1mYW1pbHk6ICcjey16Zi1icC1zZXJpYWxpemUoJGJyZWFrcG9pbnRzKX0nO1xuICB9XG5cbiAgaHRtbCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gU2V0IGJveC1zaXppbmcgZ2xvYmFsbHkgdG8gaGFuZGxlIHBhZGRpbmcgYW5kIGJvcmRlciB3aWR0aHNcbiAgKixcbiAgKjo6YmVmb3JlLFxuICAqOjphZnRlciB7XG4gICAgYm94LXNpemluZzogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIERlZmF1bHQgYm9keSBzdHlsZXNcbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuXG4gICAgZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6ICRnbG9iYWwtbGluZWhlaWdodDtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdldCByaWQgb2YgZ2FwIHVuZGVyIGltYWdlcyBieSBtYWtpbmcgdGhlbSBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IGJ5IGRlZmF1bHRcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cblxuICAvLyBTdHlsZXMgR29vZ2xlIE1hcHMgYW5kIE1hcFF1ZXN0IGVtYmVkcyBwcm9wZXJseVxuICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWlkc1xuICAubWFwX2NhbnZhcyxcbiAgLm1xYS1kaXNwbGF5IHtcbiAgICBpbWcsXG4gICAgZW1iZWQsXG4gICAgb2JqZWN0IHtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IDxidXR0b24+IHN0eWxlcyBjcmVhdGVkIGJ5IG1vc3QgYnJvd3NlcnNcbiAgYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG5cbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFByZXZlbnQgdGV4dCBvdmVyZmxvdyBvbiBwcmVcbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8vIEludGVybmFsIGNsYXNzZXMgdG8gc2hvdy9oaWRlIGVsZW1lbnRzIGluIEphdmFTY3JpcHRcbiAgLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaXMtaGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIExvYWRzIG5vcm1hbGl6ZS5jc3MuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLXpmLW5vcm1hbGl6ZSB7XG4gIEBpbmNsdWRlIG5vcm1hbGl6ZSgpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENyZWF0ZXMgYSBDU1MgdHJpYW5nbGUsIHdoaWNoIGNhbiBiZSB1c2VkIGZvciBkcm9wZG93biBhcnJvd3MsIGRyb3Bkb3duIHBpcHMsIGFuZCBtb3JlLiBVc2UgdGhpcyBtaXhpbiBpbnNpZGUgYSBgJjo6YmVmb3JlYCBvciBgJjo6YWZ0ZXJgIHNlbGVjdG9yLCB0byBhdHRhY2ggdGhlIHRyaWFuZ2xlIHRvIGFuIGV4aXN0aW5nIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRyaWFuZ2xlLXNpemUgLSBXaWR0aCBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJHRyaWFuZ2xlLWNvbG9yIC0gQ29sb3Igb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHRyaWFuZ2xlLWRpcmVjdGlvbiAtIERpcmVjdGlvbiB0aGUgdHJpYW5nbGUgcG9pbnRzLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG5AbWl4aW4gY3NzLXRyaWFuZ2xlKFxuICAkdHJpYW5nbGUtc2l6ZSxcbiAgJHRyaWFuZ2xlLWNvbG9yLFxuICAkdHJpYW5nbGUtZGlyZWN0aW9uXG4pIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG5cbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBjb250ZW50OiAnJztcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKTtcblxuICBAaWYgdW5pdCgkc3BhY2luZykgPT0gJ3B4JyB7XG4gICAgJHNwYWNpbmc6IGZsb29yKCRzcGFjaW5nKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICB9XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkd2VpZ2h0O1xuXG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG5cbiAgICBjb250ZW50OiAnJzsgICAgXG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cm91bmQocmVkKCRjb2xvcikpfSwgI3tyb3VuZChncmVlbigkY29sb3IpKX0sICN7cm91bmQoYmx1ZSgkY29sb3IpKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiBhdXRvO1xuICBoZWlnaHQ6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbGlzdDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJGxpc3Q6IHNsLXJlbW92ZSgkbGlzdCwgJC16Zi16ZXJvLWJyZWFrcG9pbnQpO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUgaW4gJGxpc3Qge1xuICAgICQtemYtc2l6ZTogJG5hbWUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJG5hbWUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgdGhlIGBAY29udGVudGAgcGFzc2VkIHRvIHRoZSBtaXhpbiB3aXRoIGEgdmFsdWUgYCQtemYtYnAtdmFsdWVgIHJlbGF0ZWQgdG8gYSBicmVha3BvaW50LCBkZXBlbmRpbmcgb24gdGhlIGAkbmFtZWAgcGFyYW1ldGVyOlxuLy8vIC0gRm9yIGEgc2luZ2xlIHZhbHVlLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhpcyB2YWx1ZS5cbi8vLyAtIEZvciBhIGJyZWFrcG9pbnQgbmFtZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgLlxuLy8vIC0gRm9yIFwiYXV0b1wiLCBgJC16Zi1icC12YWx1ZWAgaXMgdGhlIGNvcnJlc3BvbmRpbmcgYnJlYWtwb2ludCB2YWx1ZSBpbiBgJG1hcGAgYW5kIGlzIHBhc3NlZCB0byBgQGNvbnRlbnRgLCB3aGljaCBpcyBtYWRlIHJlc3BvbnNpdmUgZm9yIGVhY2ggYnJlYWtwb2ludCBvZiBgJG1hcGAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJG5hbWUgW2F1dG9dIC0gU2luZ2xlIHZhbHVlIG9yIGJyZWFrcG9pbnQgbmFtZSB0byB1c2UuIFwiYXV0b1wiIGJ5IGRlZmF1bHQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkbWFwIC0gTWFwIG9mIGJyZWFrcG9pbnRzIGFuZCB2YWx1ZXMgb3Igc2luZ2xlIHZhbHVlIHRvIHVzZS5cbkBtaXhpbiAtemYtYnJlYWtwb2ludC12YWx1ZShcbiAgJG5hbWU6IGF1dG8sXG4gICRtYXA6IG51bGxcbikge1xuICBAaWYgJG5hbWUgPT0gYXV0byBhbmQgdHlwZS1vZigkbWFwKSA9PSAnbWFwJyB7XG4gICAgLy8gXCJhdXRvXCJcbiAgICBAZWFjaCAkaywgJHYgaW4gJG1hcCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRrKSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCR2LCAkbWFwKSB7XG4gICAgICAgICAgQGNvbnRlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIGJyZWFrcG9pbnQgbmFtZVxuICAgIEBpZiB0eXBlLW9mKCRuYW1lKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbmFtZTogLXpmLWdldC1icC12YWwoJG1hcCwgJG5hbWUpO1xuICAgIH1cblxuICAgIC8vIGJyZWFrcG9pbnQgdmFsdWVcbiAgICAkLXpmLWJwLXZhbHVlOiAkbmFtZSAhZ2xvYmFsO1xuICAgIEBjb250ZW50O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBPdXRwdXRzIENTUyBjbGFzc2VzIGZvciB0aGUgZ3JpZC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiBmb3VuZGF0aW9uLWdyaWQoXG4gICRyb3c6ICdyb3cnLFxuICAkY29sdW1uOiAnY29sdW1uJyxcbiAgJGNvbHVtbi1yb3c6ICdjb2x1bW4tcm93JyxcbiAgJGd1dHRlcjogJ2d1dHRlcicsXG4gICRwdXNoOiAncHVzaCcsXG4gICRwdWxsOiAncHVsbCcsXG4gICRjZW50ZXI6ICdjZW50ZXJlZCcsXG4gICR1bmNlbnRlcjogJ3VuY2VudGVyZWQnLFxuICAkY29sbGFwc2U6ICdjb2xsYXBzZScsXG4gICR1bmNvbGxhcHNlOiAndW5jb2xsYXBzZScsXG4gICRvZmZzZXQ6ICdvZmZzZXQnLFxuICAkZW5kOiAnZW5kJyxcbiAgJGV4cGFuZGVkOiAnZXhwYW5kZWQnLFxuICAkYmxvY2s6ICdibG9jaydcbikge1xuICAvLyBSb3dcbiAgLiN7JHJvd30ge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93O1xuXG4gICAgLy8gQ29sbGFwc2luZ1xuICAgICYuI3skY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJiAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRncmlkLWNvbHVtbi1ndXR0ZXIpO1xuXG4gICAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgKGZ1bGwtd2lkdGgpIHJvd1xuICAgICYuI3skZXhwYW5kZWR9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6bm90KC4jeyRleHBhbmRlZH0pIC4jeyRyb3d9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoZXhwYW5kKTtcbiAgICB9XG5cbiAgICBAaWYgdHlwZS1vZigkZ3JpZC1jb2x1bW4tZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAvLyBTdGF0aWMgKHVucmVzcG9uc2l2ZSkgcm93IGd1dHRlcnNcbiAgICAgIC8vXG4gICAgICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRncmlkLWNvbHVtbi1ndXR0ZXIge1xuICAgICAgICAmLiN7JGd1dHRlcn0tI3skYnJlYWtwb2ludH0ge1xuICAgICAgICAgID4gLiN7JGNvbHVtbn0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZ3V0dGVyKCR2YWx1ZSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC4jeyRjb2x1bW59IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbDtcblxuICAgIEBpZiAkZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZSB7XG4gICAgICAmLiN7JGVuZH0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgLiN7JHJvd30gLiN7JGNvbHVtbn0uI3skcm93fS4jeyRyb3d9IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gIH1cblxuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRncmlkLWNvbHVtbi1jb3VudCB7XG4gICAgICAvLyBDb2x1bW4gd2lkdGhcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1zaXplKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gU291cmNlIG9yZGVyaW5nXG4gICAgICBAaWYgJGkgPCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LSN7JGl9IHtcbiAgICAgICAgICBAaW5jbHVkZSBncmlkLWNvbC1wb3MoJGkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKC0kaSk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRvZmZzZXR9LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtb2ZmKCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCbG9jayBncmlkXG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkYmxvY2stZ3JpZC1tYXgge1xuICAgICAgLiN7JC16Zi1zaXplfS11cC0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtbGF5b3V0KCRpLCAnLiN7JGNvbHVtbn0nKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cblxuICAgICAgLiN7JHJvd30ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC4jeyRleHBhbmRlZH0uI3skcm93fSAuI3skLXpmLXNpemV9LSN7JGNvbGxhcHNlfS4jeyRyb3d9IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIH1cblxuICAgIC4jeyQtemYtc2l6ZX0tI3skdW5jb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkLXpmLXNpemUpOyB9XG4gICAgfVxuXG4gICAgLy8gUG9zaXRpb25pbmdcbiAgICAuI3skLXpmLXNpemV9LSN7JGNlbnRlcn0ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKGNlbnRlcik7XG4gICAgfVxuXG4gICAgLy8gR3V0dGVyIGFkanVzdG1lbnRcbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY2VudGVyfSxcbiAgICAuI3skLXpmLXNpemV9LSN7JHB1c2h9LTAsXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdWxsfS0wIHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXVucG9zO1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrIGdyaWQgY29sdW1uc1xuICAuI3skY29sdW1ufS0jeyRibG9ja30ge1xuICAgIEBpbmNsdWRlIGdyaWQtY29sdW1uLW1hcmdpbjtcbiAgfVxuXG4gIEBpZiAkY29sdW1uID09ICdjb2x1bW4nIHtcbiAgICAuY29sdW1ucyB7XG4gICAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1ibG9jayBwbGFjZWhvbGRlci1pbi1leHRlbmRcbiAgICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENoYW5nZSB0aGUgYmVoYXZpb3Igb2YgY29sdW1ucyBkZWZpbmVkIGluc2lkZSB0aGlzIG1peGluIHRvIHVzZSBhIGRpZmZlcmVudCBjb2x1bW4gY291bnQuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRyb290IFtmYWxzZV1cbi8vLyAgIElmIGBmYWxzZWAsIHNlbGVjdG9ycyBpbnNpZGUgdGhpcyBtaXhpbiB3aWxsIG5lc3QgaW5zaWRlIHRoZSBwYXJlbnQgc2VsZWN0b3IuXG4vLy8gICBJZiBgdHJ1ZWAsIHNlbGVjdG9ycyB3aWxsIG5vdCBuZXN0LlxuQG1peGluIGdyaWQtY29udGV4dChcbiAgJGNvbHVtbnMsXG4gICRyb290OiBmYWxzZVxuKSB7XG4gIC8vIFN0b3JlIHRoZSBjdXJyZW50IGNvbHVtbiBjb3VudCBzbyBpdCBjYW4gYmUgcmUtc2V0IGxhdGVyXG4gICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ6ICRncmlkLWNvbHVtbi1jb3VudDtcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkY29sdW1ucyAhZ2xvYmFsO1xuXG4gIEBpZiAkcm9vdCB7XG4gICAgQGF0LXJvb3QgeyBAY29udGVudDsgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIFJlc3RvcmUgdGhlIG9sZCBjb2x1bW4gY291bnRcbiAgJGdyaWQtY29sdW1uLWNvdW50OiAkb2xkLWdyaWQtY29sdW1uLWNvdW50ICFnbG9iYWw7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHNpemU6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVycyk7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LXNpemUoJHNpemUpO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIEBpZiAkY2Yge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucykge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBJbnZlcnRzIHRoZSBtYXJnaW5zIG9mIGEgcm93IHRvIG5lc3QgaXQgaW5zaWRlIG9mIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucy4gUmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MgYnkgZGVmYXVsdC5cbkBtaXhpbiBncmlkLXJvdy1uZXN0KCRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKC16Zi1nZXQtYnAtdmFsKCRndXR0ZXJzLCAkLXpmLXNpemUpKSAvIDIgKiAtMTtcblxuICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0IGEgZ3JpZCByb3cgc2l6ZVxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHNpemUgWyRncmlkLXJvdy13aWR0aF0gTWF4aW11bSBzaXplIG9mIHRoZSByb3cuIFNldCB0byBgZXhwYW5kYCB0byBtYWtlIHRoZSByb3cgdGFraW5nIHRoZSBmdWxsIHdpZHRoLlxuQG1peGluIGdyaWQtcm93LXNpemUoJHNpemU6ICRncmlkLXJvdy13aWR0aCkge1xuICBAaWYgJHNpemUgPT0gZXhwYW5kIHtcbiAgICAkc2l6ZTogbm9uZTtcbiAgfVxuXG4gIG1heC13aWR0aDogJHNpemU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBmb2N1c2VkIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1mb2N1czogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBkaXNhYmxlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGZvY3VzZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1ib3JkZXItZm9jdXM6IDFweCBzb2xpZCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBpbnNpZGUgdGV4dCBpbnB1dHMgd2hlbiBub3QgZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3c6IGluc2V0IDAgMXB4IDJweCByZ2JhKCRibGFjaywgMC4xKSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgb3V0c2lkZSB0ZXh0IGlucHV0cyB3aGVuIGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEN1cnNvciB0byB1c2Ugd2hlbiBob3ZlcmluZyBvdmVyIGEgZGlzYWJsZWQgdGV4dCBpbnB1dC5cbi8vLyBAdHlwZSBDdXJzb3JcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkICFkZWZhdWx0O1xuXG4vLy8gUHJvcGVydGllcyB0byB0cmFuc2l0aW9uIG9uIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRpbnB1dC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgdGhlIHVwL2Rvd24gYnV0dG9ucyB0aGF0IENocm9tZSBhbmQgRmlyZWZveCBhZGQgdG8gYDxpbnB1dCB0eXBlPSdudW1iZXInPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFJhZGl1cyBmb3IgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGZvcm0gYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1idXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tZWxlbWVudCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAkZm9ybS1zcGFjaW5nIC8gMjtcblxuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRpbnB1dC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuXG4gIGZvbnQtZmFtaWx5OiAkaW5wdXQtZm9udC1mYW1pbHk7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRpbnB1dC1mb250LXdlaWdodDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogJGZvcm0tYnV0dG9uLXJhZGl1cztcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXZlbmRvci1wcmVmaXhcblxuICAgICAgJjo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgICY6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuICAgICAgICBtYXJnaW46IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWNoZWNrYm94IHtcbiAgW3R5cGU9J2ZpbGUnXSxcbiAgW3R5cGU9J2NoZWNrYm94J10sXG4gIFt0eXBlPSdyYWRpbyddIHtcbiAgICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICB9XG5cbiAgLy8gU3R5bGVzIGZvciBpbnB1dC9sYWJlbCBzaWJsaW5nc1xuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGZvcm0tc3BhY2luZztcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuXG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcblxuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIgKyByZW0tY2FsYygkaW5wdXQtYm9yZGVyLXdpZHRoKSkgMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1sYWJlbCB7XG4gIGxhYmVsIHtcbiAgICBAaW5jbHVkZSBmb3JtLWxhYmVsO1xuXG4gICAgJi5taWRkbGUge1xuICAgICAgQGluY2x1ZGUgZm9ybS1sYWJlbC1taWRkbGU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaGVscHRleHQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc3R5bGUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWhlbHB0ZXh0IHtcbiAgLmhlbHAtdGV4dCB7XG4gICAgJG1hcmdpbi10b3A6ICgkZm9ybS1zcGFjaW5nICogMC41KSAqIC0xO1xuXG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbi10b3A7XG4gICAgZm9udC1zaXplOiAkaGVscHRleHQtZm9udC1zaXplO1xuICAgIGZvbnQtc3R5bGU6ICRoZWxwdGV4dC1mb250LXN0eWxlO1xuICAgIGNvbG9yOiAkaGVscHRleHQtY29sb3I7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtcHJlZml4LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExlZnQvcmlnaHQgcGFkZGluZyBvZiBhbiBwcmUvcG9zdGZpeGVkIGlucHV0IGxhYmVsXG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tcHJlcG9zdGZpeCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgJGZvcm0tc3BhY2luZyAqIDEuNSk7XG5cbiAgLmlucHV0LWdyb3VwIHtcbiAgICBkaXNwbGF5OiBpZigkZ2xvYmFsLWZsZXhib3gsIGZsZXgsIHRhYmxlKTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB9XG5cbiAgICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGlucHV0LXJhZGl1cyAwIDAgJGlucHV0LXJhZGl1cywgMCAkaW5wdXQtcmFkaXVzICRpbnB1dC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgcGFkZGluZzogMCAkaW5wdXQtcHJlZml4LXBhZGRpbmc7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG5cbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IDElO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgIEBpZiBoYXMtdmFsdWUoJGlucHV0LXByZWZpeC1ib3JkZXIpIHtcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtaW4td2lkdGg6IDA7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24sXG4gICAgbGFiZWwge1xuICAgICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgICBoZWlnaHQ6ICRoZWlnaHQ7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuXG4gICAgICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgYmV0d2VlbiB0aGUgbGVnZW5kIHRleHQgYW5kIGZpZWxkc2V0IGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWdlbmQtcGFkZGluZzogcmVtLWNhbGMoMCAzKSAhZGVmYXVsdDtcblxuQG1peGluIGZpZWxkc2V0IHtcbiAgbWFyZ2luOiAkZmllbGRzZXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkZmllbGRzZXQtcGFkZGluZztcbiAgYm9yZGVyOiAkZmllbGRzZXQtYm9yZGVyO1xuXG4gIGxlZ2VuZCB7XG4gICAgLy8gQ292ZXJzIHVwIHRoZSBmaWVsZHNldCdzIGJvcmRlciB0byBjcmVhdGUgYXJ0aWZpY2lhbCBwYWRkaW5nXG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IHJlbS1jYWxjKC0zKTtcbiAgICBwYWRkaW5nOiAkbGVnZW5kLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWZpZWxkc2V0IHtcbiAgZmllbGRzZXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGJvcmRlcjogMDtcbiAgfVxuXG4gIGxlZ2VuZCB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAuZmllbGRzZXQge1xuICAgIEBpbmNsdWRlIGZpZWxkc2V0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBkcm9wZG93biB0cmlhbmdsZSBpbnNpZGUgc2VsZWN0IG1lbnVzLiBTZXQgdG8gYHRyYW5zcGFyZW50YCB0byByZW1vdmUgaXQgZW50aXJlbHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3Igc2VsZWN0IG1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLXNlbGVjdCB7XG4gICRoZWlnaHQ6ICgkaW5wdXQtZm9udC1zaXplICsgKCRmb3JtLXNwYWNpbmcgKiAxLjUpIC0gcmVtLWNhbGMoMSkpO1xuXG4gIGhlaWdodDogJGhlaWdodDtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyKTtcblxuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiAkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yICE9IHRyYW5zcGFyZW50IHtcbiAgICBAaW5jbHVkZSBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRzZWxlY3QtdHJpYW5nbGUtY29sb3IpO1xuICAgIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAkZ2xvYmFsLXJpZ2h0ICgtJGZvcm0tc3BhY2luZykgY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuXG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgJjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gSGlkZSB0aGUgZHJvcGRvd24gYXJyb3cgc2hvd24gaW4gbmV3ZXIgSUUgdmVyc2lvbnNcbiAgJjo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gICZbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXNlbGVjdCB7XG4gIHNlbGVjdCB7XG4gICAgQGluY2x1ZGUgZm9ybS1zZWxlY3Q7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGFiaWRlXG4vLy8vXG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gaW5wdXRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1pbnB1dHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGlmIGVycm9yIHN0eWxlcyBzaG91bGQgYmUgYWRkZWQgdG8gbGFiZWxzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhYmlkZS1sYWJlbHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHRvIHVzZSBmb3IgaW52YWxpZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogZ2V0LWNvbG9yKGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3R5bGVzIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIgb2YgYW4gaW5wdXQgZmllbGQgdG8gaGF2ZSBhbiBlcnJvciBzdGF0ZS5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYWxlcnQtY29sb3JdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFja2dyb3VuZC1saWdodGVuIFsxMCVdIC0gTGlnaHRuZXNzIGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1saWdodGVuOiAxMCVcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBib3JkZXItY29sb3I6ICRiYWNrZ3JvdW5kO1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1peCgkYmFja2dyb3VuZCwgJHdoaXRlLCAkYmFja2dyb3VuZC1saWdodGVuKTtcbiAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICBjb2xvcjogJGJhY2tncm91bmQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGVycm9yIHN0eWxlcyB0byBhIGZvcm0gZWxlbWVudCwgdXNpbmcgdGhlIHZhbHVlcyBpbiB0aGUgc2V0dGluZ3MgZmlsZS5cbkBtaXhpbiBmb3JtLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogJGZvcm0tc3BhY2luZyAqIC0wLjU7XG4gIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGluc2lkZSBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBhcm91bmQgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZpbGwgZm9yIGJ1dHRvbnMuIENhbiBlaXRoZXIgYmUgYHNvbGlkYCBvciBgaG9sbG93YC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kYnV0dG9uLWZpbGw6IHNvbGlkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIENvbG9yXG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGl2ZSBmb250IGNvbG9yIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIGZvciBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1zaXplczogKFxuICB0aW55OiAwLjZyZW0sXG4gIHNtYWxsOiAwLjc1cmVtLFxuICBkZWZhdWx0OiAwLjlyZW0sXG4gIGxhcmdlOiAxLjI1cmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yaW5nIGNsYXNzZXMuIEEgbWFwIG9mIGNsYXNzZXMgdG8gb3V0cHV0IGluIHlvdXIgQ1NTLCBsaWtlIGAuc2Vjb25kYXJ5YCwgYC5zdWNjZXNzYCwgYW5kIHNvIG9uLlxuLy8vIEB0eXBlIE1hcFxuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAtMjAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgbGlnaHRuZXNzIG9uIGhvdmVyIGZvciBob2xsb3cgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJSAhZGVmYXVsdDtcblxuLy8gSW50ZXJuYWw6IGZsaXAgZnJvbSBtYXJnaW4tcmlnaHQgdG8gbWFyZ2luLWxlZnQgZm9yIGRlZmF1bHRzXG5AaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG59XG5cbi8vLyB0cmFuc2l0aW9ucyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuXG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICB0cmFuc2l0aW9uOiAkYnV0dG9uLXRyYW5zaXRpb247XG5cbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi8vLyBFeHBhbmRzIGEgYnV0dG9uIHRvIG1ha2UgaXQgZnVsbC13aWR0aC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgdGhlIGV4cGFuZCBiZWhhdmlvci4gU2V0IHRvIGBmYWxzZWAgdG8gcmV2ZXJzZSB0aGlzIGJlaGF2aW9yLlxuQG1peGluIGJ1dHRvbi1leHBhbmQoJGV4cGFuZDogdHJ1ZSkge1xuICBAaWYgJGV4cGFuZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgdmlzdWFsIHN0eWxlIG9mIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbkBtaXhpbiBidXR0b24tc3R5bGUoXG4gICRiYWNrZ3JvdW5kOiAkYnV0dG9uLWJhY2tncm91bmQsXG4gICRiYWNrZ3JvdW5kLWhvdmVyOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXIsXG4gICRjb2xvcjogJGJ1dHRvbi1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGJhY2tncm91bmQsICgkYnV0dG9uLWNvbG9yLCAkYnV0dG9uLWNvbG9yLWFsdCkpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogJGJhY2tncm91bmQtaG92ZXItbGlnaHRuZXNzKTtcbiAgfVxuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3I7XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgYmFja2dyb3VuZCBmaWxsIG9uIGhvdmVyIGFuZCBmb2N1cyBmb3IgaG9sbG93IGJ1dHRvbnMuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdyB7XG4gICYsXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbkBtaXhpbiBidXR0b24taG9sbG93LXN0eWxlKFxuICAkY29sb3I6ICRwcmltYXJ5LWNvbG9yLFxuICAkaG92ZXItbGlnaHRuZXNzOiAkYnV0dG9uLWhvbGxvdy1ob3Zlci1saWdodG5lc3Ncbikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJGhvdmVyLWxpZ2h0bmVzcyk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJHByaW1hcnktY29sb3JdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgICBmb250LXNpemU6ICRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXNsYXNoIHtcbiAgICAgIC8vIE5lZWQgdG8gZXNjYXBlIHRoZSBiYWNrc2xhc2hcbiAgICAgICRzbGFzaDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAnbHRyJywgJy8nLCAnXFxcXCcpO1xuXG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcblxuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIEJvcmRlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIERldGVybWluZXMgaWYgJGJ1dHRvbi1yYWRpdXMgaXMgYXBwbGllZCB0byBlYWNoIGJ1dHRvbiBvciB0aGUgYnV0dG9uIGdyb3VwIGFzIGEgd2hvbGUuIFVzZSAkZ2xvYmFsLXJhZGl1cyBpbiBfc2V0dGluZ3Muc2NzcyB0byBjaGFuZ2UgcmFkaXVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cblxuICAgIEBpZiBub3QgJGJ1dHRvbmdyb3VwLXJhZGl1cy1vbi1lYWNoIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDA7XG5cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItdG9wLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXdpZHRoIGJ1dHRvbiBncm91cCwgbWFraW5nIGVhY2ggYnV0dG9uIGVxdWFsIHdpZHRoLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1leHBhbmQoXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kYnV0dG9uZ3JvdXAtc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRidXR0b25ncm91cC1zcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY2FyZC1mb250LWNvbG9yO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBkaXZpZGVyLlxuQG1peGluIGNhcmQtZGl2aWRlcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWRpdmlkZXItYmFja2dyb3VuZCxcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgc2VjdGlvbi5cbkBtaXhpbiBjYXJkLXNlY3Rpb24oXG4gICRwYWRkaW5nOiAkY2FyZC1wYWRkaW5nXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMSAwIGF1dG87XG4gIH1cblxuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICAmID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2FyZCB7XG4gIC5jYXJkIHtcbiAgICBAaW5jbHVkZSBjYXJkLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5jYXJkLWRpdmlkZXIge1xuICAgIEBpbmNsdWRlIGNhcmQtZGl2aWRlcjtcbiAgfVxuXG4gIC5jYXJkLXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGNhcmQtc2VjdGlvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogKFxuICBzbWFsbDogMC42NnJlbSxcbiAgbWVkaXVtOiAxcmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRvcCAob3IgYm90dG9tKSBvZmZzZXQocykgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IChcbiAgc21hbGw6IDAuMzNlbSxcbiAgbWVkaXVtOiAwLjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUocykgb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJ8TWFwXG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG5cbi8vLyBHZXQgdGhlIHNpemUgYW5kIHBvc2l0aW9uIGZvciBhIGNsb3NlIGJ1dHRvbi4gSWYgdGhlIGlucHV0IHZhbHVlIGlzIGEgbnVtYmVyLCB0aGUgbnVtYmVyIGlzIHJldHVybmVkLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBjb25maWcgbWFwIGFuZCB0aGUgbWFwIGhhcyB0aGUga2V5IGAkc2l6ZWAsIHRoZSB2YWx1ZSBpcyByZXR1cm5lZC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJHZhbHVlIC0gQSBudW1iZXIgb3IgbWFwIHRoYXQgcmVwcmVzZW50cyB0aGUgc2l6ZSBvciBwb3NpdGlvbiB2YWx1ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBUaGUgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gVGhlIGdpdmVuIG51bWJlciBvciB0aGUgdmFsdWUgZm91bmQgaW4gdGhlIG1hcC5cbkBmdW5jdGlvbiAtemYtZ2V0LXNpemUtdmFsKCR2YWx1ZSwgJHNpemUpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ251bWJlcicge1xuICAgIC8vIElmIGl0IGlzLCBqdXN0IHJldHVybiB0aGUgbnVtYmVyXG4gICAgQHJldHVybiAkdmFsdWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiB0aGUgc2l6ZSBuYW1lIGV4aXN0cyBpbiB0aGUgdmFsdWUgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCR2YWx1ZSwgJHNpemUpIHtcbiAgICAvLyBJZiBpdCBkb2VzLCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCR2YWx1ZSwgJHNpemUpO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBzaXplIGFuZCBwb3NpdGlvbiBvZiBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIFttZWRpdW1dIC0gVGhlIHNpemUgdG8gdXNlLiBTZXQgdG8gYHNtYWxsYCB0byBjcmVhdGUgYSBzbWFsbCBjbG9zZSBidXR0b24uIFRoZSAnbWVkaXVtJyB2YWx1ZXMgZGVmaW5lZCBpbiBgJGNsb3NlYnV0dG9uLSpgIHZhcmlhYmxlcyB3aWxsIGJlIHVzZWQgYXMgdGhlIGRlZmF1bHQgc2l6ZSBhbmQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbkBtaXhpbiBjbG9zZS1idXR0b24tc2l6ZSgkc2l6ZSkge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICAjeyR4fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWwsICRzaXplKTtcbiAgI3skeX06IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbCwgJHNpemUpO1xuICBmb250LXNpemU6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLXNpemUsICRzaXplKTtcbiAgbGluZS1oZWlnaHQ6IC16Zi1nZXQtc2l6ZS12YWwoJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQsICRzaXplKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNsb3NlIGJ1dHRvbiwgdXNpbmcgdGhlIHN0eWxlcyBpbiB0aGUgc2V0dGluZ3MgdmFyaWFibGVzLlxuQG1peGluIGNsb3NlLWJ1dHRvbiB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yO1xuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jbG9zZS1idXR0b24ge1xuICAuY2xvc2UtYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBjbG9zZS1idXR0b247XG5cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUoc21hbGwpIH1cbiAgICAmLCAmLm1lZGl1bSB7IEBpbmNsdWRlIGNsb3NlLWJ1dHRvbi1zaXplKG1lZGl1bSkgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhbiBpY29uIGFuZCB0ZXh0IGluIGEgbWVudSBpdGVtLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgYW4gaG92ZXJlZCBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBmb3IgYm9yZGVyZWQgbWVudVxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgTWVudS5cbkBtaXhpbiBtZW51LWJhc2Uge1xuICBtYXJnaW46ICRtZW51LW1hcmdpbjtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXMgYXJlIHRhYmxlIGNlbGwgdG8gYWxsb3cgZm9yIHZlcnRpY2FsIGFsaWdubWVudFxuICA+IGxpIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCBsaW5lIGhlaWdodCB0byBtYWtlIHRoZSBoZWlnaHQgb2YgdGhlIG92ZXJhbGwgaXRlbSBlYXNpZXIgdG8gY2FsY3VsYXRlXG4gID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBSZXNldCBzdHlsZXMgb2YgaW5uZXIgZWxlbWVudHNcbiAgaW5wdXQsXG4gIHNlbGVjdCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7XG4gIH1cblxuICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnUuIFNldCB0byBgbnVsbGAgdG8gZG8gbm90IGdlbmVyYXRlIHN0eWxlcyBmb3IgZGlyZWN0aW9uLlxuQG1peGluIG1lbnUtc2ltcGxlKCRkaXI6ICRnbG9iYWwtbGVmdCkge1xuICBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgQGlmICRkaXIgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgbWVudS1zaW1wbGUtZGlyZWN0aW9uKCRkaXIpO1xuICB9XG59XG5cbi8vLyBEaXJlY3Rpb24gbW9kaWZpZXIgZm9yIGEgc2ltcGxlIE1lbnVcbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgWyRnbG9iYWwtbGVmdF0gLSBEaXJlY3Rpb24gb2YgdGhlIG1lbnVcbkBtaXhpbiBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGRpcjogJGdsb2JhbC1sZWZ0KSB7XG4gICRuby1tYXJnaW4tZGlyOiAkZGlyO1xuICAkbWFyZ2luLWRpcjogZGlyZWN0aW9uLW9wcG9zaXRlKCRkaXIpO1xuXG4gIGxpIHtcbiAgICBtYXJnaW4tI3skbm8tbWFyZ2luLWRpcn06IDA7XG4gICAgbWFyZ2luLSN7JG1hcmdpbi1kaXJ9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRtYXJnaW4tZGlyKTtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuXG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBEZWZhdWx0IG9yaWVudGF0aW9uOiBob3Jpem9udGFsXG4gICAgJiwgJi5ob3Jpem9udGFsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggbW9kaWZpZXIgZm9yIGhvcml6b250YWwgb3JpZW50YXRpb25cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuICAgIH1cblxuICAgIC8vIFZlcnRpY2FsIG9yaWVudGF0aW9uIG1vZGlmaWVyXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IGZhbHNlKSB7XG4gICAgICAmLiN7JC16Zi1zaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LWV4cGFuZGVkIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgICB9XG5cbiAgICAgICYuI3skLXpmLXNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuXG4gICAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGdsb2JhbC1yaWdodCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQWxpZ24gcmlnaHRcbiAgICAmLmFsaWduLSN7JGdsb2JhbC1yaWdodH0ge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgID4gbGkge1xuICAgICAgICAgIGZsb2F0OiAkZ2xvYmFsLXJpZ2h0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgICAgLy8gTWFrZSB2ZXJ0aWNhbCBtZW51IHdpdGggaWNvbnMgb24gdG9wIHdvcmtcbiAgICAgICYudmVydGljYWwge1xuICAgICAgICBhID4gc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJvcmRlclxuICAgICYubWVudS1ib3JkZXJlZCB7XG4gICAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZW51LWJvcmRlcjtcbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIE1lbnUgd2l0aCBiYWNrZ3JvdW5kIGhvdmVyXG4gICAgJi5tZW51LWhvdmVyIHtcbiAgICAgIGxpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIH1cbiAgfVxuXG4gIC8vIFByZXZlbnQgRk9VQyB3aGVuIHVzaW5nIHRoZSBSZXNwb25zaXZlIE1lbnUgcGx1Z2luXG4gIC5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1tZW51LWljb24ge1xuICAubWVudS1pY29uIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXIoJGNvbG9yOiAkdGl0bGViYXItaWNvbi1jb2xvciwgJGNvbG9yLWhvdmVyOiAkdGl0bGViYXItaWNvbi1jb2xvci1ob3Zlcik7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJpbGxkb3duXG4vLy8vXG5cbi8vLyBUcmFuc2l0aW9uIHByb3BlcnR5IHRvIHVzZSBmb3IgYW5pbWF0aW5nIG1lbnVzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhciAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYXJyb3dzIHRvIGRyaWxsZG93biBpdGVtcyB3aXRoIHN1Ym1lbnVzLCBhcyB3ZWxsIGFzIHRoZSBiYWNrIGJ1dHRvbi5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJpbGxkb3duLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi5hbmltYXRlLWhlaWdodCB7XG4gICAgICB0cmFuc2l0aW9uOiBoZWlnaHQgMC41cztcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJGRyaWxsZG93bi1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRkcmlsbGRvd24tdHJhbnNpdGlvbjtcblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgLTEwMCUsIDEwMCUpKTtcbiAgICB9XG5cbiAgICAmLmlzLWNsb3Npbmcge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAxMDAlLCAtMTAwJSkpO1xuICAgIH1cbiAgfVxuXG4gIC5kcmlsbGRvd24tc3VibWVudS1jb3Zlci1wcmV2aW91cyB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIEBpZiAkZHJpbGxkb3duLWFycm93cyB7XG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtcmlnaHQpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICRkcmlsbGRvd24tYXJyb3ctc2l6ZTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcmlsbGRvd24tYXJyb3ctc2l6ZSwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG5cbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxMDtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6ICRkcm9wZG93bi13aWR0aDtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG5cbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBib3JkZXI6ICRkcm9wZG93bi1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRkcm9wZG93bi1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRkcm9wZG93bi1iYWNrZ3JvdW5kO1xuXG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWFycm93LXNpemU6IDZweCAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgfVxuXG4gICYub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBsZWZ0KTtcbiAgfVxuXG4gICYub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgcmlnaHQpO1xuICB9XG59XG5cbkBtaXhpbiBkcm9wZG93bi1tZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgID4gbGkub3BlbnMtbGVmdCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICA+IGxpLm9wZW5zLXJpZ2h0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICB9XG5cbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGRvd24pO1xuICAgICAgICAjeyRnbG9iYWwtcmlnaHR9OiA1cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSAvIDIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJvcGRvd25tZW51LWFycm93LXNpemU7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgfVxuXG4gICAgJi5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgbGVmdDogMTAwJTtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcblxuICAgIGJvcmRlcjogJGRyb3Bkb3dubWVudS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZDogJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kO1xuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyY6bm90KC5qcy1kcm9wZG93bi1ub2hvdmVyKSA+IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudDpob3ZlciA+ICYsIC8vIHdoeSBpcyB0aGlzIGxpbmUgbmVlZGVkPyBPcGVuaW5nIGlzIGhhbmRsZWQgYnkgSlMgYW5kIHRoaXMgY2F1c2VzIHNvbWUgdWdseSBmbGlja2VyaW5nIHdoZW4gdGhlIHN1YiBpcyByZS1wb3NpdGlvbmVkIGF1dG9tYXRpY2FsbHkuLi5cbiAgICAmLmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJlc3BvbnNpdmUtZW1iZWRcbi8vLy9cblxuLy8vIE1hcmdpbiBiZWxvdyBhIHJlc3BvbnNpdmUgZW1iZWQgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQXNwZWN0IHJhdGlvcyB1c2VkIHRvIGRldGVybWluZSBwYWRkaW5nLWJvdHRvbSBvZiByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lcnMuXG4vLy8gQHR5cGUgTWFwXG4kcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3M6IChcbiAgZGVmYXVsdDogNCBieSAzLFxuICB3aWRlc2NyZWVuOiAxNiBieSA5LFxuKSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ3xMaXN0fSAkcmF0aW8gW2RlZmF1bHRdIC0gUmF0aW8gb2YgdGhlIGNvbnRhaW5lci4gQ2FuIGJlIGEga2V5IGZyb20gdGhlIGAkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3NgIG1hcCBvciBhIGxpc3QgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KSB7XG4gIEBpZiB0eXBlLW9mKCRyYXRpbykgPT0gJ3N0cmluZycge1xuICAgICRyYXRpbzogbWFwLWdldCgkcmVzcG9uc2l2ZS1lbWJlZC1yYXRpb3MsICRyYXRpbyk7XG4gIH1cbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7XG4gIG1hcmdpbi1ib3R0b206ICRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b207XG4gIHBhZGRpbmctYm90dG9tOiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbyk7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQge1xuICAucmVzcG9uc2l2ZS1lbWJlZCxcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQoJHJhdGlvOiBkZWZhdWx0KTtcblxuICAgICRyYXRpb3M6IG1hcC1yZW1vdmUoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLGRlZmF1bHQpO1xuXG4gICAgQGVhY2ggJG5hbWUsICRyYXRpbyBpbiAkcmF0aW9zIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkKCkuIGZvdW5kYXRpb24tZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXJlc3BvbnNpdmUtZW1iZWQ7XG59XG5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW8pIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgcmVzcG9uc2l2ZS1lbWJlZCgpLiBmbGV4LXZpZGVvKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIHJlc3BvbnNpdmUtZW1iZWQ7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxMikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHNpemU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLXNoYWRvdyBpcyBzZXQsIGFkZCBpdCBhcyBhIHBzZXVkby1lbGVtZW50LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtc2hhZG93IHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vIHRyYW5zZm9ybSBvbiBvdmVybGFwIHRyYW5zaXRpb25cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzc1xuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAkb2ZmY2FudmFzLXNpemU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHByb2dyZXNzLWJhclxuLy8vL1xuXG4vLy8gSGVpZ2h0IG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLWhlaWdodDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBwcm9ncmVzcyBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBhIHByb2dyZXNzIGJhcidzIG1ldGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBvZiBhIHByb2dyZXNzIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1lbGVtZW50IHtcbiAgcHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICB9XG5cbiAgICAvLyBGb3IgRmlyZWZveFxuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtYmFyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRwcm9ncmVzcy1iYWNrZ3JvdW5kO1xuXG4gICAgICBAaWYgaGFzdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6Oi13ZWJraXQtcHJvZ3Jlc3MtdmFsdWUge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1vei1wcm9ncmVzcy1iYXIge1xuICAgICAgYmFja2dyb3VuZDogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXN2YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAvLyBJbnRlcm5ldCBFeHBsb3JlciBzZXRzIHRoZSBmaWxsIHdpdGggY29sb3JcbiAgICAgICAgY29sb3I6ICRjb2xvcjtcblxuICAgICAgICAmOjotd2Via2l0LXByb2dyZXNzLXZhbHVlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIH1cblxuICAgICAgICAmOjotbW96LXByb2dyZXNzLWJhciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRm9yIElFIGFuZCBFZGdlXG4gICAgJjo6LW1zLWZpbGwge1xuICAgICAgQGlmIGhhc3ZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgYWN0aXZlIGZpbGwgZm9yIHNsaWRlcnMuXG5AbWl4aW4gc2xpZGVyLWZpbGwge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gIGhlaWdodDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc2xpZGVyLXRyYW5zaXRpb247XG4gIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzbGlkZXJcbi8vLy9cblxuLy8vIERlZmF1bHQgaGVpZ2h0IG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhlaWdodDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBzbGlkZXIncyB0cmFjay5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGFjdGl2ZSBmaWxsIGNvbG9yIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRzbGlkZXItZmlsbC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGhlaWdodCBvZiB0aGUgaGFuZGxlIG9mIHRoZSBzbGlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc2xpZGVyLWhhbmRsZS1oZWlnaHQ6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgdGhlIGhhbmRsZSBvZiB0aGUgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGhhbmRsZSBmb3IgdGhlIHNsaWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZhZGUgYW1vdW50IG9mIGEgZGlzYWJsZWQgc2xpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNsaWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tcmFuZ2UtaW5wdXQge1xuICBpbnB1dFt0eXBlPVwicmFuZ2VcIl0geyAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgJG1hcmdpbjogKCRzbGlkZXItaGFuZGxlLWhlaWdodCAtICRzbGlkZXItaGVpZ2h0KSAvIDI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLXRvcDogJG1hcmdpbjtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luO1xuXG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXI6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgfVxuXG4gICAgJjpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiAwO1xuICAgIH1cblxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBzYXNzLWxpbnQ6ZGlzYWJsZSBuby12ZW5kb3ItcHJlZml4XG5cbiAgICAvLyBDaHJvbWUvU2FmYXJpXG4gICAgJjo6LXdlYmtpdC1zbGlkZXItcnVubmFibGUtdHJhY2sge1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgICB9XG5cbiAgICAmOjotd2Via2l0LXNsaWRlci1oYW5kbGUge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBGaXJlZm94XG4gICAgJjo6LW1vei1yYW5nZS10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgICY6Oi1tb3otcmFuZ2UtdGh1bWIge1xuICAgICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOiAtJG1hcmdpbjtcblxuICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcblxuICAgICAgQGlmIGhhcy12YWx1ZSgkc2xpZGVyLXJhZGl1cykge1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBJbnRlcm5ldCBFeHBsb3JlclxuICAgICY6Oi1tcy10cmFjayB7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuXG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItdG9wOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBib3JkZXItYm90dG9tOiAkbWFyZ2luIHNvbGlkICRib2R5LWJhY2tncm91bmQ7XG4gICAgICBiYWNrZ3JvdW5kOiAkc2xpZGVyLWJhY2tncm91bmQ7XG5cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgICY6Oi1tcy10aHVtYiB7XG4gICAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJhY2tncm91bmQ6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG5cbiAgICAgIEBpZiBoYXMtdmFsdWUoJHNsaWRlci1yYWRpdXMpIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtbG93ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gICAgfVxuXG4gICAgJjo6LW1zLWZpbGwtdXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogJHNsaWRlci1iYWNrZ3JvdW5kO1xuICAgIH1cblxuICAgIEBhdC1yb290IHtcbiAgICAgIG91dHB1dCB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5KCRiYWNrZ3JvdW5kOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZCkge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgcmlnaHQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXg7XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgLy8gV29ya2Fyb3VuZCBhbmRyb2lkIGJyb3dzZXIgei1pbmRleCBidWdcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRyZXZlYWwtcGFkZGluZztcblxuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmV2ZWFsLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1iYWNrZ3JvdW5kO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBoZWlnaHQ6IDEwMHZoOyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLWR1cGxpY2F0ZS1wcm9wZXJ0aWVzXG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXJnaW4tbGVmdDogMDtcblxuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cblxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuXG4gIC8vIE92ZXJsYXlcbiAgLnJldmVhbC1vdmVybGF5IHtcbiAgICBAaW5jbHVkZSByZXZlYWwtb3ZlcmxheTtcbiAgfVxuXG4gIC8vIE1vZGFsIGNvbnRhaW5lclxuICAucmV2ZWFsIHtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtYmFzZTtcbiAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoJHJldmVhbC13aWR0aCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMTAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG5cbiAgICAvLyBQbGFjZWhvbGRlciBzZWxlY3RvciBmb3IgbWVkaXVtLWFuZC11cCBtb2RhbHNcbiAgICAvLyBQcmV2ZW50cyBkdXBsaWNhdGUgQ1NTIHdoZW4gZGVmaW5pbmcgbXVsdGlwbGUgUmV2ZWFsIHNpemVzXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICVyZXZlYWwtY2VudGVyZWQge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVtb3ZlIHBhZGRpbmdcbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLy8gU2l6aW5nIGNsYXNzZXNcbiAgICAmLnRpbnkgIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDMwJSk7IH1cbiAgICAmLnNtYWxsIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDUwJSk7IH1cbiAgICAmLmxhcmdlIHsgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKDkwJSk7IH1cblxuICAgIC8vIEZ1bGwtc2NyZWVuIG1vZGVcbiAgICAmLmZ1bGwge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICAmLndpdGhvdXQtb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBzd2l0Y2hcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBhY3RpdmUgY29sb3Igb2YgYSBzd2l0Y2guXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodDogMnJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC50aW55IGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnNtYWxsIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAubGFyZ2UgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLW1hcmdpbjogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgc3dpdGNoIGNvbnRhaW5lciBhbmQgcGFkZGxlLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaCBwYWRkbGVcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBzd2l0Y2ggdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8gbWFrZSB0aGVtIHZhcmlhYmxlc1xuLy8gYXNrIGFib3V0IGFjY2Vzc2liaWxpdHkgb24gbGFiZWxcbi8vIGNoYW5nZSBjbGFzcyBuYW1lIGZvciB0ZXh0XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgY29udGFpbmVyIGNsYXNzLlxuQG1peGluIHN3aXRjaC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG5cbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkc3dpdGNoLXBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuXG4gIC8vIFJlc2V0dGluZyB0aGVzZSA8bGFiZWw+IHByZXNldHMgc28gdHlwZSBzdHlsZXMgY2FzY2FkZSBkb3duXG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcblxuICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRzd2l0Y2gtcGFkZGxlLW9mZnNldDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG4gICAgY29udGVudDogJyc7XG4gIH1cblxuICAvLyBDaGFuZ2UgdGhlIHZpc3VhbCBzdHlsZSB3aGVuIHRoZSBzd2l0Y2ggaXMgYWN0aXZlXG4gIGlucHV0OmNoZWNrZWQgfiAmIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlO1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q7XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzd2l0Y2gtaGVpZ2h0IFsycmVtXSAtIEhlaWdodCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkc3dpdGNoLWhlaWdodDogMnJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuXG4gICRzd2l0Y2gtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0ICogMjtcbiAgJHBhZGRsZS13aWR0aDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRwYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtYWN0aXZlLW9mZmVzdDogJHN3aXRjaC13aWR0aCAtICRwYWRkbGUtd2lkdGggLSAkcGFkZGxlLW9mZnNldDtcblxuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHN3aXRjaC13aWR0aDtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAkcGFkZGxlLW9mZnNldDtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtb2Zmc2V0O1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gPGlucHV0PiBlbGVtZW50XG4gIC5zd2l0Y2gtaW5wdXQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1pbnB1dDtcbiAgfVxuXG4gIC8vIDxsYWJlbD4gZWxlbWVudFxuICAuc3dpdGNoLXBhZGRsZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXBhZGRsZTtcbiAgfVxuXG4gIC8vIEJhc2UgbGFiZWwgdGV4dCBzdHlsZXNcbiAgJXN3aXRjaC10ZXh0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dDtcbiAgfVxuXG4gIC8vIEFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtYWN0aXZlO1xuICB9XG5cbiAgLy8gSW5hY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgQGV4dGVuZCAlc3dpdGNoLXRleHQ7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQtaW5hY3RpdmU7XG4gIH1cblxuICAvLyBTd2l0Y2ggc2l6ZXNcbiAgLnN3aXRjaC50aW55IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMCksICRzd2l0Y2gtaGVpZ2h0LXRpbnksICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLnNtYWxsIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxMiksICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNhc3MtbGludDpkaXNhYmxlIGZvcmNlLWVsZW1lbnQtbmVzdGluZywgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCB0YWJsZXMgYXJlIHN0cmlwZWQgYnkgZGVmYXVsdCBhbmQgYW4gLnVuc3RyaXBlZCBjbGFzcyBpcyBjcmVhdGVkLiBJZiBgZmFsc2VgLCBhIC5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHRhYmxlLWlzLXN0cmlwZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIHN0cmlwZWQgcm93cy5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBzdHJpcGUgb24gcm93cyBvZiB0aGUgdGFibGVzLCBleGNsdWRpbmcgdGhlIGhlYWRlciBhbmQgZm9vdGVyLiBJZiBldmVuLCB0aGUgZXZlbiByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIG9kZCwgdGhlIG9kZCByb3dzIHdpbGwgaGF2ZSBhIGJhY2tncm91bmQgY29sb3IuIElmIGVtcHR5LCBvciBhbnkgb3RoZXIgdmFsdWUsIHRoZSB0YWJsZSByb3dzIHdpbGwgaGF2ZSBubyBzdHJpcGluZy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kdGFibGUtc3RyaXBlOiBldmVuICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgaGVhZGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGZvb3RlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgaGVhZGVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb290ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRyIHtcbiAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gLXpmLXRhYmxlLXVuc3RyaXBlKCkge1xuICB0ciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItYm90dG9tOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsICRpcy1zdHJpcGVkOiAkdGFibGUtaXMtc3RyaXBlZCkge1xuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDYXB0aW9uXG4gIGNhcHRpb24ge1xuICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICB9XG5cbiAgLy8gVGFibGUgaGVhZFxuICB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGZvb3RcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICR0YWJsZS1mb290LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0YWJsZS1mb290LWZvbnQtY29sb3I7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIHN0cmlwZWRcbiAgQGlmICRpcy1zdHJpcGVkID09IHRydWUge1xuICAgIHRib2R5IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1zdHJpcGUoJHN0cmlwZSk7XG4gICAgfVxuXG4gICAgJi51bnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGFibGVzIGFyZSBub3Qgc3RyaXBlZFxuICBAZWxzZSBpZiAkaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXVuc3RyaXBlKCk7XG4gICAgfVxuXG4gICAgJi5zdHJpcGVkIHtcbiAgICAgIHRib2R5IHtcbiAgICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0YWJsZXMuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RyaXBlIFskdGFibGUtc3RyaXBlXSAtIFVzZXMga2V5d29yZHMgZXZlbiwgb2RkLCBvciBub25lIHRvIGRhcmtlbiByb3dzIG9mIHRoZSB0YWJsZS4gVGhlIGRlZmF1bHQgdmFsdWUgaXMgZXZlbi5cbkBtaXhpbiB0YWJsZShcbiAgJHN0cmlwZTogJHRhYmxlLXN0cmlwZSxcbiAgJG5lc3Q6IGZhbHNlXG4pIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICBAaWYgJG5lc3Qge1xuICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBhdC1yb290IHtcbiAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZSk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBhYmlsaXR5IHRvIGhvcml6b250YWxseSBzY3JvbGwgdGhlIHRhYmxlIHdoZW4gdGhlIGNvbnRlbnQgb3ZlcmZsb3dzIGhvcml6b250YWxseS5cbkBtaXhpbiB0YWJsZS1zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87XG59XG5cbi8vLyBTbGlnaHRseSBkYXJrZW5zIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuQG1peGluIHRhYmxlLWhvdmVyIHtcbiAgdGhlYWQgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgaGVhZGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtaGVhZC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGZvb3QgdHIge1xuICAgIC8vRGFya2VucyB0aGUgdGFibGUgZm9vdGVyIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtZm9vdC1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgdGJvZHkgdHIge1xuICAgIC8vRGFya2VucyB0aGUgbm9uLXN0cmlwZWQgdGFibGUgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctaG92ZXI7XG4gICAgfVxuICB9XG5cbiAgQGlmICR0YWJsZS1pcy1zdHJpcGVkID09IHRydWUge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm5vdCgudW5zdHJpcGVkKSB0cjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGVsc2UgaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gZmFsc2Uge1xuICAgIC8vIERhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICYuc3RyaXBlZCB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AaW1wb3J0ICdtYXRoJztcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkY29sb3JgLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGx1bWluYW5jZSBvZi5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG5AZnVuY3Rpb24gY29sb3ItbHVtaW5hbmNlKCRjb2xvcikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jcmVsYXRpdmVsdW1pbmFuY2VkZWZcbiAgJHJnYmE6IHJlZCgkY29sb3IpLCBncmVlbigkY29sb3IpLCBibHVlKCRjb2xvcik7XG4gICRyZ2JhMjogKCk7XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzIHtcbiAgICAkcmdiOiBudGgoJHJnYmEsICRpKTtcbiAgICAkcmdiOiAkcmdiIC8gMjU1O1xuXG4gICAgJHJnYjogaWYoJHJnYiA8IDAuMDM5MjgsICRyZ2IgLyAxMi45MiwgcG93KCgkcmdiICsgMC4wNTUpIC8gMS4wNTUsIDIuNCkpO1xuXG4gICAgJHJnYmEyOiBhcHBlbmQoJHJnYmEyLCAkcmdiKTtcbiAgfVxuXG4gIEByZXR1cm4gMC4yMTI2ICogbnRoKCRyZ2JhMiwgMSkgKyAwLjcxNTIgKiBudGgoJHJnYmEyLCAyKSArIDAuMDcyMiAqIG50aCgkcmdiYTIsIDMpO1xufVxuXG4vLy8gQ2hlY2tzIHRoZSBjb250cmFzdCByYXRpbyBvZiB0d28gY29sb3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItY29udHJhc3QoJGNvbG9yMSwgJGNvbG9yMikge1xuICAvLyBBZGFwdGVkIGZyb206IGh0dHBzOi8vZ2l0aHViLmNvbS9MZWFWZXJvdS9jb250cmFzdC1yYXRpby9ibG9iL2doLXBhZ2VzL2NvbG9yLmpzXG4gIC8vIEZvcm11bGE6IGh0dHA6Ly93d3cudzMub3JnL1RSLzIwMDgvUkVDLVdDQUcyMC0yMDA4MTIxMS8jY29udHJhc3QtcmF0aW9kZWZcbiAgJGx1bWluYW5jZTE6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IxKSArIDAuMDU7XG4gICRsdW1pbmFuY2UyOiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yMikgKyAwLjA1O1xuICAkcmF0aW86ICRsdW1pbmFuY2UxIC8gJGx1bWluYW5jZTI7XG5cbiAgQGlmICRsdW1pbmFuY2UyID4gJGx1bWluYW5jZTEge1xuICAgICRyYXRpbzogMSAvICRyYXRpbztcbiAgfVxuXG4gICRyYXRpbzogcm91bmQoJHJhdGlvICogMTApIC8gMTA7XG5cbiAgQHJldHVybiAkcmF0aW87XG59XG5cbi8vLyBDaGVja3MgdGhlIGx1bWluYW5jZSBvZiBgJGJhc2VgLCBhbmQgcmV0dXJucyB0aGUgY29sb3IgZnJvbSBgJGNvbG9yc2AgKGxpc3Qgb2YgY29sb3JzKSB0aGF0IGhhcyB0aGUgbW9zdCBjb250cmFzdC5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjEgLSBGaXJzdCBjb2xvciB0byBjb21wYXJlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvcjIgLSBTZWNvbmQgY29sb3IgdG8gY29tcGFyZS5cbi8vL1xuLy8vIEByZXR1cm5zIHtOdW1iZXJ9IFRoZSBjb250cmFzdCByYXRpbyBvZiB0aGUgY29tcGFyZWQgY29sb3JzLlxuQGZ1bmN0aW9uIGNvbG9yLXBpY2stY29udHJhc3QoJGJhc2UsICRjb2xvcnM6ICgkd2hpdGUsICRibGFjayksICR0b2xlcmFuY2U6IDApIHtcbiAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsIDEpKTtcbiAgJGJlc3Q6IG50aCgkY29sb3JzLCAxKTtcblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoIGxlbmd0aCgkY29sb3JzKSB7XG4gICAgJGN1cnJlbnQtY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICBAaWYgKCRjdXJyZW50LWNvbnRyYXN0IC0gJGNvbnRyYXN0ID4gJHRvbGVyYW5jZSkge1xuICAgICAgJGNvbnRyYXN0OiBjb2xvci1jb250cmFzdCgkYmFzZSwgbnRoKCRjb2xvcnMsICRpKSk7XG4gICAgICAkYmVzdDogbnRoKCRjb2xvcnMsICRpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgKCRjb250cmFzdCA8IDMpIHtcbiAgICBAd2FybiBcIkNvbnRyYXN0IHJhdGlvIG9mICN7JGJlc3R9IG9uICN7JGJhc2V9IGlzIHByZXR0eSBiYWQsIGp1c3QgI3skY29udHJhc3R9XCI7XG4gIH1cblxuICBAcmV0dXJuICRiZXN0O1xufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgZGFya2VyIGlmIGl0J3MgbGlnaHQsIG9yIGxpZ2h0ZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIEdldCBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHBhcmFtIHtrZXl9IGNvbG9yIGtleSBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBjb2xvciBmcm9tIGZvdW5kYXRpb24tcGFsZXR0ZVxuQGZ1bmN0aW9uIGdldC1jb2xvcigka2V5KSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCAka2V5KSB7XG4gICAgQHJldHVybiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ2dpdmVuICRrZXkgaXMgbm90IGF2YWlsYWJsZSBpbiAkZm91bmRhdGlvbi1wYWxldHRlJztcbiAgfVxufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYG1hcCBpbnRvIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEFjdGl2ZSBmb250IGNvbG9yIG9mIHRhYiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWFjdGl2ZS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciAoXG4gICRtYXJnaW46ICR0YWItbWFyZ2luLFxuICAkYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJG1hcmdpbjtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSAoXG4gICRwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZSxcbiAgJGNvbG9yOiAkdGFiLWNvbG9yLFxuICAkY29sb3ItYWN0aXZlOiAkdGFiLWFjdGl2ZS1jb2xvcixcbiAgJGJhY2tncm91bmQtaG92ZXI6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkYmFja2dyb3VuZC1hY3RpdmU6ICR0YWItYmFja2dyb3VuZC1hY3RpdmVcbikge1xuICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAkY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgY29sb3I6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4gICAgfVxuXG4gICAgJjpmb2N1cyxcbiAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgICBjb2xvcjogJGNvbG9yLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IChcbiAgJGJhY2tncm91bmQ6ICR0YWItY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICR0YWItY29udGVudC1jb2xvcixcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogJGNvbG9yO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGVudCBjb250YWluZXIgdG8gaGF2ZSBhIHZlcnRpY2FsIHN0eWxlLCBieSBzaGlmdGluZyB0aGUgYm9yZGVyIGFyb3VuZC4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250ZW50KClgLlxuQG1peGluIHRhYnMtY29udGVudC12ZXJ0aWNhbCAoXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCAoXG4gICRwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZ1xuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICZbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b207XG5cbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuXG4gIGxpbmUtaGVpZ2h0OiAwO1xufVxuXG5AbWl4aW4gdGh1bWJuYWlsLWxpbmsge1xuICB0cmFuc2l0aW9uOiAkdGh1bWJuYWlsLXRyYW5zaXRpb247XG5cbiAgJjpob3ZlcixcbiAgJjpmb2N1cyB7XG4gICAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI7XG4gIH1cblxuICBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cblxuICBhLnRodW1ibmFpbCB7XG4gICAgQGluY2x1ZGUgdGh1bWJuYWlsLWxpbms7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgcGFkZGluZzogJHRpdGxlYmFyLXBhZGRpbmc7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50aXRsZS1iYXItbGVmdCxcbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50aXRsZS1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC50aXRsZS1iYXItdGl0bGUge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIGZvbnQtd2VpZ2h0OiAkdGl0bGViYXItdGV4dC1mb250LXdlaWdodDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b3AtYmFyXG4vLy8vXG5cbi8vLyBQYWRkaW5nIGZvciB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHRvcCBiYXIuIFRoaXMgY29sb3IgYWxzbyBjYXNjYWRlcyB0byBtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIHN1Ym1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci4gVXNlZnVsbCBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgdHJhbnNwYXJlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGZvciB0aGUgdG9wIGJhciB0aXRsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItdGl0bGUtc3BhY2luZzogMC41cmVtIDFyZW0gMC41cmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIGlucHV0LmJ1dHRvbiB7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tcXVhbGlmeWluZy1lbGVtZW50c1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbGV4OiAxIDEgYXV0bztcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgcGFkZGluZzogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgICAubWVudS1pY29uIHtcbiAgICAgICAgYm90dG9tOiAycHg7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8qIFNUQVJUOiBURU1QT1JBUlkgKi9cbi8qIEVORDogVEVNUE9SQVJZICovXG5cbi8qIFNUQVJUOiBGTE8gSUNPTlMgKi9cbkBpbXBvcnQgXCJsZXR0ZXItaWNvbnMtZm9udGVsbG8uc2Nzc1wiO1xuLyogRU5EOiBGTE8gSUNPTlMgKi9cblxuLyogU1RBUlQ6IENPTE9SUyAqL1xuJGNvbG9yLXdoaXRlOiAjZmZmZmZmO1xuJGNvbG9yLWJsYWNrOiAjMzMyRjJGO1xuJGNvbG9yLWdyYXktZGFyazogI2RkZGNkYjtcbiRjb2xvci1ncmF5OiAjZjlmOWY5O1xuJGNvbG9yLWdyYXktbGlnaHQ6ICNiYmJiYmI7XG4kY29sb3ItZ3JheS1saWdodC0yOiAjZWVlZWVlO1xuXG4kY29sb3ItYnJvd246ICRjb2xvci1ibGFjaztcbi8qIEVORDogQ09MT1JTICovXG5cbi8qIFNUQVJUOiBXSURUSCBWQVJJQUJMRVMgKi9cbiRnbG9iYWwtY29sdW1uLXdpZHRoOiByZW0tY2FsYygxMDIpO1xuJGdsb2JhbC1ndXR0ZXItd2lkdGg6IHJlbS1jYWxjKDIwKTtcbiRjb250ZW50LWRlZmF1bHQtd2lkdGg6IHJlbS1jYWxjKDE0NDApO1xuJGNvbnRlbnQtbWVkaXVtLXdpZHRoOiByZW0tY2FsYyg3NjApO1xuXG4kZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDogcmVtLWNhbGMoMzIuNSk7XG4kZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsOiByZW0tY2FsYyg1MCk7XG4kZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbDogcmVtLWNhbGMoMzApO1xuXG4kZ2xvYmFsLWNvbHVtbjogcmVtLWNhbGMoOTUpO1xuLyogRU5EOiBXSURUSCBWQVJJQUJMRVMgKi9cblxuXG4vKiBTVEFSVDogTUlYSU5TICovXG5cbi8qIEVuZDogVHJhbnNpdGlvbnMgKi9cbiRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDogMC41cztcbi8vICRnbG9iYWwtZWFzaW5nOiBjdWJpYy1iZXppZXIoMC40NDUsIDAuMDUwLCAwLjU1MCwgMC45NTApO1xuJGdsb2JhbC1lYXNpbmc6IGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcblxuLnJldmVhbCB7XG4gIC8vIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZ2xvYmFsLWVhc2luZyFpbXBvcnRhbnQ7XG4gIC8vIHRyYW5zaXRpb24tZHVyYXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCFpbXBvcnRhbnQ7XG59XG5cbkBtaXhpbiBnbG9iYWwtdHJhbnNpdGlvbigkdHJhbnNpdGlvbnMuLi4pIHtcbiAgLy8gJHRyYW5zaXRpb25zOiBhcHBlbmQoJHRyYW5zaXRpb25zIGNvbW1hKTtcbiAgJHM6ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgJHVuZm9sZGVkVHJhbnNpdGlvbnM6ICgpO1xuICBAZWFjaCAkdHJhbnNpdGlvbiBpbiAkdHJhbnNpdGlvbnMge1xuICAgICR1bmZvbGRlZFRyYW5zaXRpb25zOiBhcHBlbmQoJHVuZm9sZGVkVHJhbnNpdGlvbnMsICR0cmFuc2l0aW9uICsgXCIgXCIgKyAkcywgY29tbWEpXG4gIH1cbiAgdHJhbnNpdGlvbjogJHVuZm9sZGVkVHJhbnNpdGlvbnM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkZ2xvYmFsLWVhc2luZztcbn1cbi8qIEVuZDogVHJhbnNpdGlvbnMgKi9cblxuXG5AbWl4aW4gcGxhY2Vob2xkZXIoJG9wYWNpdHksICRjb2xvcil7XG4gICY6Oi13ZWJraXQtaW5wdXQtcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbiAgJjo6LW1vei1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxuICAmOi1tcy1pbnB1dC1wbGFjZWhvbGRlciB7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgICBvcGFjaXR5OiAkb3BhY2l0eTtcbiAgfVxuICAmOi1tb3otcGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAkY29sb3I7XG4gICAgb3BhY2l0eTogJG9wYWNpdHk7XG4gIH1cbn1cblxuLyogU3RhcnQ6IEJhY2tncm91bmQgaW1hZ2UgKi9cbkBtaXhpbiBnbG9iYWwtYmdpLWNvbnRhaW4ge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG5AbWl4aW4gZ2xvYmFsLWJnaS1jb3ZlciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG59XG4vKiBFbmQ6IEJhY2tncm91bmQgaW1hZ2UgKi9cblxuLyogU3RhcnQ6IEJveCBTaXppbmcgKi9cbkBtaXhpbiBib3gtc2l6aW5nKCRkYXRhKSB7XG4gIC13ZWJraXQtYm94LXNpemluZzogJGRhdGE7XG4gIC1tb3otYm94LXNpemluZzogJGRhdGE7XG4gIGJveC1zaXppbmc6ICRkYXRhO1xufVxuLyogRW5kOiBCb3ggc2l6aW5nICovXG5cbkBtaXhpbiBnbG9iYWwtY2xpY2thYmxlKCRhbmltYXRlOiBmYWxzZSkge1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBvdXRsaW5lOiBub25lO1xuICBAaWYgKCRhbmltYXRlKSB7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtLCBjb2xvciwgb3BhY2l0eSk7XG4gICAgJjpob3ZlciB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgIH1cbiAgfVxufVxuLmZsby1nbG9iYWwtY2xpY2thYmxlIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZSgpO1xuICAmLXdpdGgtYW5pbWF0aW9uIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKHRydWUpO1xuICB9XG59XG5cbi8qIFNUQVJUOiBSZXNwb25zaXZlIEltYWdlcyBGb3IgQmFja2dyb3VuZCAqL1xuICBAbWl4aW4gZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoJGJsb2NrX2NsYXNzKSB7XG4gICAgI3skYmxvY2tfY2xhc3N9IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCguLi9pbWcvbm8taW1hZ2UuanBnKTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1zbWFsbCk7XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgI3skYmxvY2tfY2xhc3N9IHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdmFyKC0taW1nLW1lZGl1bSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMDI1cHgpIHtcbiAgICAgICN7JGJsb2NrX2NsYXNzfSB7XG4gICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHZhcigtLWltZy1sYXJnZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4vKiBFTkQ6IFJlc3BvbnNpdmUgSW1hZ2VzIEZvciBCYWNrZ3JvdW5kICovXG5cbkBtaXhpbiBmbG8tZGlzYWJsZS1mYWRpbmctZWZmZWN0KCRjbGFzcykge1xuICAvKiBTVEFSVDogQVBQRUFSIEFOSU1BVElPTiAqL1xuICBib2R5Om5vdCgjeyRjbGFzc30pOm5vdCguc2luZ2xlLWdhbGxlcnkpIHtcbiAgICAubGF5b3V0LXNlY3Rpb25zLS1zY3JvbGwtbm9ybWFsIC5mbG8tYmxvY2ssXG4gICAgLmZsb19wYWdlID4gLmZsby1ibG9jazpub3QoOmZpcnN0LW9mLXR5cGUpOm5vdCguZGlzYWJsZS1hcHBlYXIpLFxuICAgIC5mbG8tcG9zdC53aXRoLWFwcGVhciA+ICosXG4gICAgLmZsby1mb290ZXI6bm90KC5kaXNhYmxlLWFwcGVhciksXG4gICAgLnRvLWFwcGVhcixcbiAgICAud2lkZ2V0Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAmOm5vdCgudmlzaWJsZSkge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoMTIwKSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgIH1cbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbF90cmFuc2l0aW9uKG9wYWNpdHksIHRyYW5zZm9ybSk7XG4gICAgICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJGdsb2JhbC1lYXNpbmc7XG4gICAgICAmOm50aC1jaGlsZCgxbikge1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCAqIDIuNSwgdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCwgY29sb3IgJGdsb2JhbC10cmFuc2l0aW9uLXNwZWVkO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMm4pIHtcbiAgICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQgKiAyLjUgMC4xcywgdHJhbnNmb3JtICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZCAwLjFzLCBjb2xvciAkZ2xvYmFsLXRyYW5zaXRpb24tc3BlZWQ7XG4gICAgICB9XG4gICAgICAmLnZpc2libGUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAvLyB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAvKiBFTkQ6IEFQUEVBUiBBTklNQVRJT04gKi9cbn1cbi8qIEVORDogTUlYSU5TICovXG5cblxuLyogU1RBUlQ6IEdMT0JBTCBTVFlMRVMgKi9cblxuICBodG1sIHtcbiAgICAvLyBFbnN1cmUgZ29vZCBkZXNpZ24gcHJvcG9ydGlvbiBmcm9tIHRhYmxldCB1cCB3aGlsZSB1c2luZyByZW1zICh5ZXMgZm9yZ2V0IGFib3V0IHpvb20pLlxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAvLyBmb250LXNpemU6IDEuMjh2dztcbiAgICAgIGZvbnQtc2l6ZTogMS4xMTExMXZ3O1xuICAgIH07XG4gIH1cblxuICAqIHtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG4gIC8vIFN0eWxlcyBvdXRzaWRlIHBvc3RcbiAgKjpub3QoLmZsby1wb3N0KSwgKjpub3QoLmZsby1wb3N0X19zdHlsZXMpIHtcbiAgICBhIHtcbiAgICAgIC8vIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLCBvcGFjaXR5KTtcbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgLy8gY29sb3I6ICRjb2xvci1ncmF5LWxpZ2h0O1xuICAgICAgfVxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhvdmVyLWJsb2Nre1xuICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgIGZpZ3VyZXtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlcntcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgbGkge1xuXG4gICAgfVxuXG4gIH1cblxuICAvL1Jlc2V0IGRlZmF1bHQgc3R5bGVzXG4gIGJvZHl7XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIGNvbG9yOiAkY29sb3ItYmxhY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRjb2xvci13aGl0ZTtcbiAgfVxuXG4gIGgxLGgyLGgzLGg0LGg1LGg2e1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250OiBpbmhlcml0O1xuICB9XG5cbiAgW2NsYXNzXj1cImZsby1pY29uLVwiXTpiZWZvcmUsXG4gIFtjbGFzcyo9XCIgZmxvLWljb24tXCJdOmJlZm9yZXtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IGF1dG87XG4gIH1cbiAgYnV0dG9ue1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbiAgYXtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAmOmhvdmVye1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgfVxuICAgICY6dmlzaXRlZHtcbiAgICAgIC8vIGNvbG9yOiBpbmhlcml0O1xuICAgIH1cbiAgfVxuICBwIHtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIGZpZ3VyZXtcbiAgICBtYXJnaW46IDA7XG4gIH1cbiAgcHJle1xuICAgIHdoaXRlLXNwYWNlOiBpbml0aWFsO1xuICB9XG5cbiAgLnJvd3tcbiAgICBtYXgtd2lkdGg6IGluaXRpYWw7XG4gICAgd2lkdGg6IGluaXRpYWw7XG4gIH1cblxuICAucm93LWZsZXh7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG4gIH1cblxuICAuY29sdW1ue1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cblxuXG4gIC8vU2xpY2sgU2xpZGVyIHJlc2V0IGRlZmF1bHQgc3R5bGVzXG5cbiAgLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAuc2xpY2stc2xpZGV7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cbiAgfVxuXG5cbiAgLyogU1RBUlQ6IElOUFVUUyAqL1xuICAgIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksXG4gICAgdGV4dGFyZWEge1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygxNSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIDtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICAgICY6Zm9jdXMsXG4gICAgICAmOmhvdmVye1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbToxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci13aWR0aDogMCAwIDFweCAwO1xuICAgICAgfVxuXG4gICAgICAmLmZsby1uby1zdHlsaW5nIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICYsXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXN7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwidGV4dFwiXSxcbiAgICBpbnB1dFt0eXBlPVwiZW1haWxcIl0sXG4gICAgaW5wdXRbdHlwZT1cInVybFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicGFzc3dvcmRcIl1cbiAgICB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMWVtIWltcG9ydGFudDtcbiAgICAgIC8vIGhlaWdodDogMWVtO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9J3N1Ym1pdCdde1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogMDtcbiAgICAgIG91dGxpbmU6IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLGxldHRlci1zcGFjaW5nKTtcblxuICAgIH1cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIHJlc2l6ZTogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcblxuICAgICAgJjpob3ZlcixcbiAgICAgICY6Zm9jdXN7XG4gICAgICB9XG4gICAgfVxuICAvKiBFTkQ6IElOUFVUUyAqL1xuXG4gIC8qIFNUQVJUOiBCVVRUT05TICovXG4gICAgLmZsby1idXR0b24sXG4gICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXVxuICAgIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIC8vIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAvLyBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTM1KTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYpIHJlbS1jYWxjKDQwKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHksIGJhY2tncm91bmQtY29sb3IsIGNvbG9yKTtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDI3KTtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgJjpub3QoLmZsby1idXR0b24tLXdpdGhvdXQtYm9yZGVyKSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBCVVRUT05TICovXG5cbi8qIEVORDogR0xPQkFMIFNUWUxFUyAqL1xuXG5cbi8qIFNUQVJUOiBBUFBFQVIgQU5JTUFUSU9OICovXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gIEBpbmNsdWRlIGZsby1kaXNhYmxlLWZhZGluZy1lZmZlY3QoJy5mbG8tYXBwZWFyLWRpc2FibGVkJyk7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgQGluY2x1ZGUgZmxvLWRpc2FibGUtZmFkaW5nLWVmZmVjdCgnLmZsby10YWJsZXQtYXBwZWFyLWRpc2FibGVkJyk7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICBAaW5jbHVkZSBmbG8tZGlzYWJsZS1mYWRpbmctZWZmZWN0KCcuZmxvLW1vYmlsZS1hcHBlYXItZGlzYWJsZWQnKTtcbn1cbi8qIEVORDogQVBQRUFSIEFOSU1BVElPTiAqL1xuXG5cbi8qIFNUQVJUOiBaLUlOREVYIE1BUCAqL1xuQGltcG9ydCBcInotaW5kZXgtbWFwLnNjc3NcIjtcbi8qIEVORDogWi1JTkRFWCBNQVAgKi9cblxuYm9keSB7XG4gIC8vIG92ZXJmbG93LXg6IGhpZGRlbiAhaW1wb3J0YW50O1xuICAvLyBoZWlnaHQ6IGF1dG87XG4gIC8vIG1hcmdpbjogMDtcblxuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMjVzIGVhc2UtaW47XG4gIFxuICAmLmZsby1kZWNvcmF0aW9uLXR5cGUge1xuICAgICYtLXdhdmVzIHtcbiAgICAgIC5mbG8taWNvbi1xdW90ZS1sZWZ0IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGU4MTAnO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmxvLWljb24tcXVvdGUtcmlnaHQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZTgwMyc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi0tc3RhcnMge1xuICAgICAgLmZsby1pY29uLXF1b3RlLWxlZnQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZTgyMSc7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mbG8taWNvbi1xdW90ZS1yaWdodCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxlODIyJztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLS1yYWluZHJvcHMge1xuICAgICAgLmZsby1pY29uLXF1b3RlLWxlZnQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZTgyMCc7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5mbG8taWNvbi1xdW90ZS1yaWdodCB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnXFxlODIwJztcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmLS13aW5kIHtcbiAgICAgIC5mbG8taWNvbi1xdW90ZS1sZWZ0IHtcbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6ICdcXGU4MjMnO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmxvLWljb24tcXVvdGUtcmlnaHQge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogJ1xcZTgyNCc7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm92ZXJmbG93LWhpZGUge1xuICBvdmVyZmxvdy15OiBoaWRkZW47XG59XG4vKiBFTkQ6IEhUTUwgT1ZFUkZMT1cgRk9SIFNBRkFSSSBGSVggKi9cblxuLyogU1RBUlQ6IEZJWCBST1dTIElOIFNBRkFSSSAqL1xuLnJvdyB7XG4gICY6YmVmb3JlIHtcbiAgICB3aWR0aDogMDtcbiAgfVxufVxuLyogRU5EOiBGSVggUk9XUyBJTiBTQUZBUkkgKi9cbiIsIi5mbG8tcGFnZS1oYXMtc2lkZWJhcl9fc2lkZWJhcntcbiAgei1pbmRleDogOTtcbn1cblxuLmZsby1zbGlkZXItYXJyb3d7XG4gei1pbmRleDogOTtcbn1cblxuLmZsby1wYWdlLWhlcm9fX2xvZ28ge1xuICB6LWluZGV4OiAxMTtcbn1cblxuLmZsby1oZWFkZXJ7XG4gIHotaW5kZXg6IDk5OTk5OTtcbn1cblxuLmZsby1wYWdlLWFib3V0LXR5cGUtYV9fZmVhdHVyZWQtaW5mb3tcbiAgei1pbmRleDogOTtcbn0iLCIuY29tbWVudHMtYmxvY2t7XG4gICRiOiBcIi5jb21tZW50cy1ibG9ja1wiO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoODUpO1xuXG4gIC5mbG8taWNvbi1yZXBseXtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxuXG5cbiAgLnBhcmVudHtcbiAgICAuY29tbWVudHtcbiAgICAgIC5jb21tZW50LWJvZHl7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzUpO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzNSk7XG4gICAgICB9XG4gICAgICAmLmRlcHRoLTN7XG4gICAgICAgIC5jb21tZW50LWJvZHl7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYuZGVwdGgtNHtcbiAgICAgICAgLmNvbW1lbnQtYm9keXtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDY1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi5kZXB0aC01e1xuICAgICAgICAuY29tbWVudC1ib2R5e1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoODApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmRlcHRoLTV7XG4gICAgICAgIC5jb21tZW50LWJvZHl7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5NSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuY29tbWVudC1ib2R5e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMikgMDtcbiAgfVxuXG4gIC5jb21tZW50LW5hbWUtYW5kLXJlcGx5e1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIH1cblxuICAuY29tbWVudC1hdmF0YXItYW5kLW5hbWV7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLmZsby1wb3J0bzItY29tbWVudHMtYmxvY2tfX3JlcGx5e1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSAwO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAuY29tbWVudC1yZXBseS1saW5re1xuLy8gICAgICB0ZXh0LWluZGVudDogLTk5OTk5cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICAgICY6aG92ZXJ7XG4gICAgICBjb2xvcjogJGNvbG9yLWdyYXktbGlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmNvbW1lbnQtYmxvY2stY29udGVudHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMCk7XG4gIH1cblxuICAuY29tbWVudC1tZXRhe1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjQpO1xuICB9XG5cbiAgLmNvbW1lbnQtYXZhdGFye1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICBpbWd7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoMzYpO1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5jb21tZW50LXJlc3BvbmR7XG4gICAgLy9wYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBpbnB1dDpub3QoW3R5cGU9XCJzdWJtaXRcIl0pe1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICB9XG5cblxuICAmX190b3AtYmFye1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgfVxuXG4gICZfX3Nob3d7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgJl9fdG9wLWJhci1oaWRlLWJ1dHRvbntcbiAgICAuZmxvLWljb257XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgfVxuICAmX190b3AtYmFyLXNob3ctYnV0dG9ue1xuICAgIC5mbG8taWNvbntcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIH1cbiAgfVxuXG4gICZfX3RvcC1iYXItaGlkZS1idXR0b24sXG4gICZfX3RvcC1iYXItc2hvdy1idXR0b24sXG4gICZfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCB2aXNpYmlsaXR5LCBoZWlnaHQpO1xuICB9XG5cbiAgLy8mX190b3AtYmFyLWhpZGUtYnV0dG9uLXRleHQsXG4gIC8vJl9fdG9wLWJhci1zaG93LWJ1dHRvbi10ZXh0LFxuICAvLyZfX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbiB7XG4gIC8vICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMi41KTtcbiAgLy99XG5cbiAgJl9fdG9wLWJhci10b2dnbGUtYnV0dG9uIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cbiAgICAmX190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwtd3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9fdG9wLWJhci10b2dnbGUtYnV0dG9uLWxhYmVsIHtcblxuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBjb2xvcik7XG5cbiAgICAgICAgJi0tc2hvdyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1oaWRlIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdG9wLWJhci10b2dnbGUtYnV0dG9uLWljb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTIuNSk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICB9XG5cblxuICAmX19jb2xsYXBzZWR7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJl9fcG9zdHN7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odmlzaWJpbGl0eSwgb3BhY2l0eSk7XG4gIH1cblxuICAmLS1leHBhbmRlZHtcbiAgICAjeyRifV9fcG9zdHN7XG4gICAgICAvLyBoZWlnaHQ6IGF1dG87XG4gICAgICAvLyBvcGFjaXR5OiAxO1xuICAgICAgLy8gdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICB9XG4gICAgI3skYn1fX3RvcC1iYXItc2hvdy1idXR0b257XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cbiAgICAjeyRifV9fdG9wLWJhci1oaWRlLWJ1dHRvbntcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgaGVpZ2h0OiBpbmhlcml0O1xuICAgIH1cblxuICAgICN7JGJ9X190b3AtYmFyLXRvZ2dsZS1idXR0b24tbGFiZWwge1xuICAgICAgJi0tc2hvdyB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmLS1oaWRlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICYtLWNvbGxhcHNlZHtcbiAgICAjeyRifV9fcG9zdHN7XG4gICAgICAvLyBoZWlnaHQ6IDA7XG4gICAgICAvLyB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAvLyBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAjeyRifV9fdG9wLWJhci1zaG93LWJ1dHRvbntcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cblxuICAgICN7JGJ9X190b3AtYmFyLWhpZGUtYnV0dG9ue1xuICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gICAgI3skYn1fX3RvcC1iYXItdG9nZ2xlLWJ1dHRvbi1sYWJlbCB7XG4gICAgICAmLS1zaG93IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgICYtLWhpZGUge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRifV9fdG9wLWJhci10b2dnbGUtYnV0dG9uLWljb24ge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuICB9XG4gIC8vRm9ybVxuICAmX19wb3N0LWZvcm17XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ0KTtcblxuICAgIC5mb3JtLXN1Ym1pdHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0OCk7XG4gICAgfVxuXG4gICAgLyogU1RBUlQ6IFBBUlNMRVkgKi9cbiAgICAgIC5wYXJzbGV5LWVycm9ycy1saXN0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAgIC5wYXJzbGV5LXJlcXVpcmVkIHtcbiAgICAgICAgICBjb2xvcjogcmVkO1xuICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTApIDA7XG4gICAgICAgIH1cbiAgICAvKiBFTkQ6IFBBUlNMRVkgKi9cblxuICB9XG5cbiAgJl9fZm9ybS10aXRsZS1hcmVhe1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fZm9ybS10aXRsZXtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzYpO1xuICB9XG5cblxuICAmX19mb3JtLWZpZWxke1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAvL3BhZGRpbmctdG9wOiByZW0tY2FsYygxMik7XG4gICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuICAuZm9ybS1zdWJtaXR7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ4KTtcbiAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuXG4gICAgLy9wYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDk1KTtcbiAgICAvL3BhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDk1KTtcblxuICAgIC5jb21tZW50LWNvbnRlbnR7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTQpO1xuICAgIH1cbiAgICAvLyZfX3Bvc3QtZm9ybXtcbiAgICAvLyAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5NSk7XG4gICAgLy8gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDk1KTtcbiAgICAvL31cbiAgICAmX19mb3JtLWZpZWxke1xuICAgICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKXtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg5MCk7XG5cbiAgICAgICAgJjpsYXN0LWNoaWxke1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgLmNvbW1lbnQtYmxvY2stY29udGVudHtcbiAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG4gICAgJl9fZm9ybS1maWVsZHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzUpO1xuICAgICAgICAmOmxhc3Qtb2YtdHlwZXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICB9XG4gICAgJl9fcG9zdC1mb3Jte1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgfVxuICB9XG59XG5cbi5jb21tZW50LXJlcGx5LXRpdGxle1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIC8vIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cbiAgLmZsby1pY29uLWNsb3Nle1xuICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgfVxufVxuLmNvbW1lbnRzLXBhZ2luYXRpb257XG4gIGgyLnNjcmVlbi1yZWFkZXItdGV4dHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG4gIC5uYXYtbGlua3N7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gIC5wYWdlLW51bWJlcnN7XG4gICAgJi5wcmV2LCYubmV4dHtcbiAgICAgIC5zY3JlZW4tcmVhZGVyLXRleHR7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgICYucHJldntcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbiAgICAmLm5leHR7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2Nre1xuICAkYjogJy5mbG8tYmxvY2snO1xuICAvLyAkZ2FwLXNpZGU6IHJlbS1jYWxjKDIwKTtcblxuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLS1tZXJnZWQtd2l0aC1oZWFkZXIge1xuICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgfVxuXG4gICYtLWZ1bGwtd2lkdGgge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICB9XG5cbiAgJi0tbm8tcGFkZGluZyB7XG4gICAgcGFkZGluZzogMCFpbXBvcnRhbnQ7XG4gIH1cblxuICAmLS1ub3QtZm91bmR7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICB9XG5cbiAgJi0taGlkZGVuIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJl9faGVhZGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxuICAmX19jb250YWluZXJ7XG4gICAgJjphZnRlcntcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuICAmOmxhc3QtY2hpbGQge1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcblxuICAgICZfX2NvbnRhaW5lcntcbiAgICAgIC8vIHdpZHRoOiAkY29udGVudC1kZWZhdWx0LXdpZHRoO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgIFxuICAgICYtLW5vLXRvcC1wYWRkaW5nIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgJi0tZnVsbC13aWR0aCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgLy8jeyRifV9fY29udGFpbmVye1xuICAgICAgLy8gIHdpZHRoOiAxMDAlO1xuICAgICAgLy99XG4gICAgfVxuICAgICYtLW1lZGl1bS13aWR0aHtcbiAgICAgICN7JGJ9X19jb250YWluZXJ7XG4gICAgICAgIG1heC13aWR0aDogJGNvbnRlbnQtbWVkaXVtLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAmLS1oZWFkZXItaGlkZGVuLW9uLWRlc2t0b3Age1xuICAgICAgI3skYn1fX2hlYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsIDA7XG4gICAgJjpub3QoLmZsby1ibG9jay0tZnVsbC13aWR0aCl7XG4gICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAmLmZsby1ibG9jay1tb2JpbGUtLW5vLXZlcnRpY2FsLXBhZGRpbmcge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG4gICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9ybXtcclxuXHJcbiAgaW5wdXRbdHlwZV17XHJcbiAgICBtYXJnaW46IDA7XHJcbiAgfVxyXG5cclxuICAmX19maWVsZHtcclxuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIzLjUpO1xyXG4gICAgJjpsYXN0LW9mLXR5cGV7XHJcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICAgaW5wdXRbdHlwZT1cInN1Ym1pdFwiXXtcclxuICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XHJcbiAgIH1cclxufVxyXG5cclxuLmZsby1tb2RhbHtcclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcclxuICAgIHotaW5kZXg6IDk7XHJcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSk7XHJcbiAgICB3aWR0aDogMTAwJTtcclxuICAgIGhlaWdodDogMTAwJTtcclxuICAgIHRvcDogMHB4O1xyXG4gICAgbGVmdDogMHB4O1xyXG4gICAgZGlzcGxheTogbm9uZTtcclxuICAgIC50aHgtbXNnIHtcclxuICAgICAgd2lkdGg6IDMwMHB4O1xyXG4gICAgICBoZWlnaHQ6IDIwMHB4O1xyXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XHJcbiAgICAgIHBhZGRpbmc6IDIwcHg7XHJcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XHJcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xyXG4gICAgICB0b3A6IDUwJTtcclxuICAgICAgbWFyZ2luLXRvcDogLTE4MHB4O1xyXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XHJcbiAgICAgIGxlZnQ6IDUwJTtcclxuICAgICAgbWFyZ2luLWxlZnQ6IC0xNzBweDtcclxuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcclxuICAgICAgYm9yZGVyOiAycHggc29saWQgI2U1ZTVlNTtcclxuICAgIH1cclxufVxyXG5cclxuLmNvbnRhY3QtcmVzcG9uc2Uge1xyXG4gIHAge1xyXG4gICAgYm9yZGVyLXJhZGl1czogcmVtLWNhbGMoMTIuNSk7XHJcbiAgICBib3JkZXI6IDJweCBkYXNoZWQgJGNvbG9yLWdyYXk7XHJcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XHJcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XHJcbiAgICBjb2xvcjogJGNvbG9yLWdyYXktZGFyaztcclxuICB9XHJcbn1cclxuIiwiKltkYXRhLWxxaXAtc3JjXVxue1xuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihmaWx0ZXIsIGJhY2tncm91bmQtaW1hZ2UpO1xuICAvLyB0cmFuc2Zvcm06IHRyYW5zbGF0ZVooMCk7XG4gIC8vIHdpbGwtY2hhbmdlOiB0cmFuc2Zvcm07XG4gICY6bm90KC5mbG8tbHFpcC0tb3JpZ2luYWwtbG9hZGVkKSB7XG4gICAgZmlsdGVyOiBibHVyKDQwcHgpO1xuICAgIC8vIG9wYWNpdHk6IDA7XG4gIH1cbn1cbiIsIi5mbG8tcGFnZS1oZWFke1xuICAkYjogJy5mbG8tcGFnZS1oZWFkJztcbiAgJGdhcC1zaWRlOiByZW0tY2FsYyg0MCk7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdhcC1zaWRlKjJ9KTtcbiAgbWFyZ2luOiAwIGF1dG87XG5cbiAgJi0td2l0aC1ib3JkZXJ7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0O1xuICB9XG5cbiAgJl9fZHJvcGRvd257XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgLmZsby1kcm9wZG93bi1tZW51e1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gICYtLWhhcy1kcm9wZG93bi1tZW51e1xuICAgICN7JGJ9X19kcm9wZG93bntcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuICB9XG5cbiAgJl9fZGVjb3JhdGlvbi1pbWFnZXtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg4OC44KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gIH1cbiAgJl9fdGl0bGV7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDFlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcblxuICAgICZfX3RpdGxle1xuICAgICAgd2lkdGg6IDYwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQzKSAwO1xuICAgIH1cblxuICAgICZfX2xlZnQtc2lkZXtcbiAgICAgIHdpZHRoOiAyMCU7XG4gICAgfVxuICAgICZfX2Ryb3Bkb3due1xuICAgICAgd2lkdGg6IDIwJTtcbiAgICB9XG4gICAgLmZsby1kcm9wZG93bi1tZW51X19idG57XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgJGdhcC1zaWRlOiByZW0tY2FsYygzMCk7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRnYXAtc2lkZSoyfSk7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQzKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG5cbiAgICAuZmxvLWRyb3Bkb3duLW1lbnVfX2J0bntcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIzKSAwIHJlbS1jYWxjKDQzKTtcbiAgICB9XG4gIH1cblxuXG59XG4iLCIuZmxvLXNoYXJlLXJvbGxvdmVyIHtcbiAgJGI6IFwiLmZsby1zaGFyZS1yb2xsb3ZlclwiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAmX190cmlnZ2VyIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICB9XG5cbiAgJl9fc2hhcmUtd3JhcCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYSB7XG4gICAgICBtYXJnaW46IDAgcmVtLWNhbGMoNyk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICB9XG4gIH1cbiAgJi52aXNpYmxlIHtcbiAgICAjeyRifV9fdHJpZ2dlciB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICN7JGJ9X19zaGFyZS13cmFwIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgJl9fdHJpZ2dlciB7XG5cbiAgICB9XG5cbiAgICAmX19zaGFyZS13cmFwIHtcblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgJl9fdHJpZ2dlciB7XG5cbiAgICB9XG5cbiAgICAmX19zaGFyZS13cmFwIHtcblxuICAgIH1cbiAgfVxufVxuIiwiLy9TbGljayBTbGlkZXIgcmVzZXQgZGVmYXVsdCBzdHlsZXNcblxuLnNsaWNrLXNsaWRlciB7XG4gIC5zbGljay10cmFjayxcbiAgLnNsaWNrLWxpc3QsXG4gIC5zbGljay1zbGlkZSxcbiAgYXtcbiAgICBvdXRsaW5lOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICB9XG5cbn1cblxuLnNsaWNrLWFycm93e1xuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuIiwiLmZsby12aWRlby1lbWJlZC1kdW1teSB7XG4gICRiOiBcIi5mbG8tdmlkZW8tZW1iZWQtZHVtbXlcIjtcblxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cblxuICAmX192aWRlby1idXR0b24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICRzaXplOiByZW0tY2FsYyg3MCk7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcblxuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLCB0b3AsIG9wYWNpdHksIGJvcmRlciwgdHJhbnNmb3JtKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cbiAgfVxuICAgICZfX3ZpZGVvLWJ1dHRvbi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgJi0tcGxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG5cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAmX192aWRlby1idXR0b24ge1xuICAgICAgJHNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICAgIGZvbnQtc2l6ZTogJHNpemUgLyAxLjYxIC8gMS42MSAvIDEuNjE7XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLXZpZGVvLWVtYmVkIHtcbiAgJGI6IFwiLmZsby12aWRlby1lbWJlZFwiO1xuXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAmX19zY3JlZW4ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICBpZnJhbWUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlXG4gICAgfVxuICB9XG5cblxuICAmX192aWRlby1idXR0b24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgICRzaXplOiByZW0tY2FsYyg3MCk7XG4gICAgd2lkdGg6ICRzaXplO1xuICAgIGhlaWdodDogJHNpemU7XG4gICAgYm9yZGVyLXJhZGl1czogJHNpemU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG5cbiAgICBjb2xvcjogJGNvbG9yLXdoaXRlO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci13aGl0ZTtcblxuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLCB0b3AsIG9wYWNpdHksIGJvcmRlciwgdHJhbnNmb3JtKTtcblxuICAgICY6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC40O1xuICAgIH1cbiAgfVxuICAgICZfX3ZpZGVvLWJ1dHRvbi1pY29uIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgJi0tcGxheSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmLS1zdG9wIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgJGxvYWRlZF9tb2RpZmljYXRvcjogXCItLWxvYWRlZFwiO1xuXG4gIC8vIFN0YXJ0OiBWaWRlbyBOb3QgUGxheWluZyBTdGF0ZVxuICAgICY6bm90KCYjeyRsb2FkZWRfbW9kaWZpY2F0b3J9KSB7XG4gICAgICAjeyRifV9fc2NyZWVuIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICB9XG4gICAgICAjeyRifV9fdmlkZW8tYnV0dG9uIHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X192aWRlby1idXR0b24taWNvbi0tcGxheSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgIH1cbiAgLy8gRW5kOiBWaWRlbyBOb3QgUGxheWluZyBTdGF0ZVxuXG4gIC8vIFN0YXJ0OiBWaWRlbyBQbGF5aW5nIFN0YXRlXG4gICAgJiN7JGxvYWRlZF9tb2RpZmljYXRvcn0ge1xuICAgICAgI3skYn1fX3NjcmVlbiB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuICAgICAgI3skYn1fX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoMTAwKTtcbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3ZpZGVvLWJ1dHRvbi1pY29uLS1zdG9wIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICAmOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgI3skYn1fX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgLy8gRW5kOiBWaWRlbyBQbGF5aW5nIFN0YXRlXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAmX192aWRlby1idXR0b24ge1xuICAgICAgJHNpemU6IHJlbS1jYWxjKDQ4KTtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLXNvY2lhbC1saW5rcyB7XG4gICRiOiBcIi5mbG8tc29jaWFsLWxpbmtzXCI7XG5cbiAgQGF0LXJvb3Qge1xuICAgIC5mbG8tc29jaWFsLWxpbmtzLXR5cGUtYSB7XG4gICAgICAjeyRifV9fbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgIH1cbiAgICAuZmxvLXNvY2lhbC1saW5rcy10eXBlLWIge1xuICAgICAgI3skYn1fX2xpbms6YmVmb3JlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxufVxuIiwiLmZsby1ibG9jay1idXR0b24ge1xuICAkYjogXCIuZmxvLWJsb2NrLWJ1dHRvblwiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICZfX2J1dHRvbiB7XG5cbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2J1dHRvbiB7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fYnV0dG9uIHtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stY2F0ZWdvcnktc3dpdGNoZXIge1xuICAkYjogXCIuZmxvLWJsb2NrLWNhdGVnb3J5LXN3aXRjaGVyXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAmX19jYXRlZ29yeSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOCkgcmVtLWNhbGMoMTEpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJvcmRlci1jb2xvcik7XG4gICAgJi0tYWN0aXZlIHtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAmLS1hY3RpdmUge1xuXG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgJl9fY2F0ZWdvcnkge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICYtLWFjdGl2ZSB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stY29tbWVudHMge1xuICAkYjogXCIuZmxvLWJsb2NrLWNvbW1lbnRzXCI7XG5cbiAgJl9fZmJfY29tbWVudHN7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICZfX2ZiX2NvbW1lbnRzICZfX3RpdGxle1xuICAgICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgJl9fbGlzdC13cmFwIHtcblxuICB9XG4gICAgJl9fdGl0bGUge1xuXG4gICAgfVxuICAgICZfX2xpc3Qge1xuXG4gICAgfVxuICAgICAgJl9fY29tbWVudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM3KTtcbiAgICAgIH1cbiAgICAgICAgJl9fY29tbWVudC1sZWZ0LXdyYXAge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LWF2YXRhciB7XG4gICAgICAgICAgICAkc2l6ZTogcmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgJixcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGhlaWdodDogJHNpemU7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NvbW1lbnQtYXV0aG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY29tbWVudC1kYXRlIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgJl9fY29tbWVudC1jb250ZW50IHtcblxuICAgICAgICB9XG4gICAgICAgICAgJl9fY29tbWVudC10ZXh0IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LWFsZXJ0IHtcblxuICAgICAgICAgIH1cblxuICAmX19mb3JtLXdyYXAge1xuXG4gIH1cbiAgICAmX19mb3JtLXRpdGxlIHtcblxuICAgIH1cbiAgICAmX19mb3JtIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzOCk7XG4gICAgfVxuICAgICAgJl9fZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmLS1iaWcgI3skYn1fX2Zvcm0tZmllbGQge1xuICAgICAgICAgICYgKyAjeyRifV9fZm9ybS1maWVsZC1sYWJlbCxcbiAgICAgICAgICAmICsgdWwgKyAjeyRifV9fZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLXNtYWxsICN7JGJ9X19mb3JtLWZpZWxkIHtcbiAgICAgICAgICAmICsgI3skYn1fX2Zvcm0tZmllbGQtbGFiZWwsXG4gICAgICAgICAgJiArIHVsICsgI3skYn1fX2Zvcm0tZmllbGQtbGFiZWwge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAvLyB0b3A6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMCFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAmOmZvY3VzLFxuICAgICAgICAgICY6bm90KC5lbXB0eSkge1xuICAgICAgICAgICAgJiArICN7JGJ9X19mb3JtLWZpZWxkLWxhYmVsLFxuICAgICAgICAgICAgJiArIHVsICsgI3skYn1fX2Zvcm0tZmllbGQtbGFiZWxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9ybS1maWVsZC1sYWJlbCB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0b3AsIHRyYW5zZm9ybSk7XG4gICAgICAgIH1cbiAgICAgICZfX2Zvcm0gLnN1Ym1pdCB7XG4gICAgICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWwgcmVtLWNhbGMoMjIxKTtcblxuICAgICZfX2xpc3Qtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgd2lkdGg6IDIyLjYyJTtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICAmX19saXN0IHtcbiAgICAgICAgd2lkdGg6IDc3LjM4JTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODcpO1xuICAgICAgfVxuICAgICAgICAmX19jb21tZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIH1cbiAgICAgICAgICAuY29tbWVudCAuY29tbWVudCAmX19jb21tZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUyKSByZW0tY2FsYygzOCk7XG5cbiAgICAgICAgICAgICN7JGJ9X19jb21tZW50LWRhdGUge1xuICAgICAgICAgICAgICAvLyBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY29tbWVudC1sZWZ0LXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE4MCk7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LWF2YXRhciB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtYXV0aG9yIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtZGF0ZSB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2NvbW1lbnQtY29udGVudCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXRleHQge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hbGVydCB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICZfX2Zvcm0td3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cbiAgICAgICZfX2Zvcm0tdGl0bGUge1xuICAgICAgICB3aWR0aDogMjIuNjIlO1xuICAgICAgfVxuICAgICAgLmNvbW1lbnQtcmVzcG9uZCB7XG4gICAgICAgIHdpZHRoOiA3Ny4zOCU7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgICZfX2Zvcm0ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXBcbiAgICAgIH1cbiAgICAgICAgJl9fZm9ybS1maWVsZC13cmFwIHtcbiAgICAgICAgICAkc21hbGwtd2lkdGg6IDI3LjglO1xuICAgICAgICAgICRnYXA6IHJlbS1jYWxjKDYzLjUpO1xuXG4gICAgICAgICAgJi0tc21hbGwge1xuICAgICAgICAgICAgd2lkdGg6ICRzbWFsbC13aWR0aDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQxKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOm5vdCg6bnRoLWNoaWxkKDMpKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLS1iaWcge1xuICAgICAgICAgICAgLy8gd2lkdGg6IHJlbS1jYWxjKDUwMCk7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygjeyRzbWFsbC13aWR0aCAqIDJ9ICsgI3skZ2FwfSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2Nyk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9fZm9ybS1maWVsZCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbGlzdCAuY29tbWVudC1yZXNwb25kIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgICAgICAgICAgICN7JGJ9X19mb3JtLWZpZWxkLXdyYXAge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgI3skYn1fX2Zvcm0tZmllbGQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICYtLXNtYWxsLFxuICAgICAgICAgICAgICAgICYtLWJpZyB7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fZm9ybS1maWVsZC1sYWJlbCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIC5mb3JtLXN1Ym1pdCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9ybSAuc3VibWl0IHtcblxuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICZfX2xpc3Qtd3JhcCB7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICZfX2xpc3Qge1xuXG4gICAgICB9XG4gICAgICAgIC5jb21tZW50IC5jb21tZW50ICN7JGJ9X19jb21tZW50IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX2NvbW1lbnQge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19jb21tZW50LWxlZnQtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hdmF0YXIge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LWF1dGhvciB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtZGF0ZSB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2NvbW1lbnQtY29udGVudCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXRleHQge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXJlcGx5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1hbGVydCB7XG5cbiAgICAgICAgICAgIH1cblxuICAgICZfX2Zvcm0td3JhcCB7XG5cbiAgICB9XG4gICAgICAmX19mb3JtLXRpdGxlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAmX19mb3JtIHtcblxuICAgICAgfVxuICAgICAgICAmX19mb3JtLWZpZWxkLXdyYXAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQxKSFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19mb3JtLWZpZWxkIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19mb3JtLWZpZWxkLWxhYmVsIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgJl9fZm9ybSAuc3VibWl0IHtcblxuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTFcIjtcbiAgZGlzcGxheTogZmxleDtcbiAgJl9fdGV4dC1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwJTtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgfVxuICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIH1cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgfVxuICAgICZfX3RleHQtZGVzY3JpcHRpb24ge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICB9XG4gICZfX2Zvcm0tc2VjdGlvbiB7XG4gICAgd2lkdGg6IDUwJTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmLS1jdXN0b20ge1xuXG4gICAgICBmb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pLHRleHRhcmVhIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAwIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgLmFwcC1mbG8tZm9ybXMgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIC5lcnJvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICBjb2xvcjogcmVkIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGxhYmVsIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fZm9ybS1maWVsZCB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQhaW1wb3J0YW50O1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgaW5wdXQsXG4gICAgICBsYWJlbCxcbiAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgbGFiZWwge1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19mb3JtLXN1Ym1pdCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxOCkgcmVtLWNhbGMoNjIpIHJlbS1jYWxjKDEzKSByZW0tY2FsYyg1OCkhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg0Mik7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3RleHQtc2VjdGlvbiB7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg3NSk7XG4gICAgICB9XG4gICAgICAmX190aXRsZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgwKTtcbiAgICAgIH1cbiAgICAgICZfX3RleHQtZGVzY3JpcHRpb24ge1xuICAgICAgICAmOmxhc3QtY2hpbGQoKXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwMCkgcmVtLWNhbGMoMTMxKTtcbiAgICB9XG4gICAgICAmX19mb3JtLWZpZWxkLFxuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmX190ZXh0LXNlY3Rpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgICAgJl9fdGV4dC1kZXNjcmlwdGlvbiB7XG4gICAgICB9XG4gICAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICB9XG4gICAgICAmX19mb3JtLWZpZWxkLFxuICAgICAgaW5wdXQsXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIH1cbiAgICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stY29udGFjdC1ibG9jay0yXCI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICZfX3RpdGxlLXNlY3Rpb24ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAuZmxvLWhlYWRlcl9fc2VhcmNoLWZvcm0gLmZsby1oZWFkZXJfX3NlYXJjaC1mb3JtLWlucHV0e1xuICAgICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgaGVhZGVyOm5vdCguaXMtc3RpY2t5KSB7XG4gICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgIH1cbiAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgICYtLWN1c3RvbSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICYgLmxlZnRfY29sdW1uIHtcbiAgICAgIH1cbiAgICAgICYgLnJpZ2h0X2NvbHVtbiB7XG4gICAgICB9XG4gICAgICBmb3JtIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAuYXBwLWZsby1mb3JtcyBpbnB1dFt0eXBlXTpub3QoW3R5cGU9XCJzdWJtaXRcIl0pIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSx0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci10b3A6IDAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItbGVmdDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCFpbXBvcnRhbnQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5lcnJvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICBjb2xvcjogcmVkIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgICAmX19mb3JtLWRlc2NyaXB0aW9uIHtcbiAgICB9XG4gICAgJl9fZmllbGRzLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgICAmX19jb2x1bW4ge1xuICAgICAgICAmLS1sZWZ0IHt9XG4gICAgICAgICYtLXJpZ2h0IHt9XG4gICAgICB9XG5cbiAgICAmX19mb3JtLWZpZWxkIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIWltcG9ydGFudDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0LFxuICAgICAgICBsYWJlbCxcbiAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBib3JkZXI6IDAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgJl9fZm9ybS1zdWJtaXQge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTgpIHJlbS1jYWxjKDYyKSByZW0tY2FsYygxMykgcmVtLWNhbGMoNTgpIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDIpO1xuICAgIH1cbiAgJl9fY29udGFjdC1pbmZvIHtcbiAgfVxuICAgICZfX2NvbnRhY3QtZGV0YWlscyB7XG4gICAgfVxuICAgICZfX2NvbnRhY3QtZW1haWwge1xuICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZS1zZWN0aW9uIHtcblxuICAgIH1cbiAgICAgICYtLWhlYWRlci1pcy12aXNpYmxlIHtcbiAgICAgICAgI3skYn1fX3RpdGxlIHtcbiAgICAgICAgICAvLyBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjUpO1xuICAgICAgICAgIC8vIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDUpO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMTMpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm5vdCgjeyRifS0taGVhZGVyLWlzLXZpc2libGUpe1xuICAgICAgICAjeyRifV9fdGl0bGUtc2VjdGlvbiB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgJHRpdGxlX3BhZGRpbmc6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDIpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoKTtcbiAgICAgICAgcGFkZGluZzogMCAkdGl0bGVfcGFkZGluZztcbiAgICAgIH1cbiAgICAmX19mb3JtLXNlY3Rpb24ge1xuICAgICAgJGZvcm1fbWFyZ2luczogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMikgKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRmb3JtX21hcmdpbnMgKiAyfSk7XG4gICAgICBtYXJnaW46IDAgJGZvcm1fbWFyZ2lucztcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDc3KSByZW0tY2FsYyg2MCkgcmVtLWNhbGMoODEpIHJlbS1jYWxjKDYwKTtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC0xMTMpO1xuICAgICAgJi0tY3VzdG9tIHtcbiAgICAgICAgJHRvdGFsX2dhcDogcmVtLWNhbGMoNjUpO1xuICAgICAgICAkY29sdW1uX2dhcDogJHRvdGFsX2dhcCAvIDI7XG4gICAgICAgICYgLmxlZnRfY29sdW1uIHtcbiAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRjb2x1bW5fZ2FwO1xuICAgICAgICB9XG4gICAgICAgICYgLnJpZ2h0X2NvbHVtbiB7XG4gICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRjb2x1bW5fZ2FwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fZm9ybS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTg2KTtcbiAgICAgIH1cbiAgICAgICZfX2ZpZWxkcy13cmFwIHtcbiAgICAgIH1cbiAgICAgICAgJl9fY29sdW1uIHtcbiAgICAgICAgICAkdG90YWxfZ2FwOiByZW0tY2FsYyg2NSk7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gICN7JHRvdGFsX2dhcH0pO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAkY29sdW1uX2dhcDogJHRvdGFsX2dhcCAvIDI7XG4gICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkY29sdW1uX2dhcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAkY29sdW1uX2dhcDtcbiAgICAgICAgICAgICN7JGJ9X19mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgICAgIH1cbiAgICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg4MSkgYXV0byAwIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICZfX2NvbnRhY3QtaW5mbyB7XG4gICAgICAkZm9ybV9tYXJnaW5zOiAoJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyKSArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGZvcm1fbWFyZ2lucyAqIDJ9KTtcbiAgICAgIG1hcmdpbjogMCAkZm9ybV9tYXJnaW5zO1xuICAgICAgcGFkZGluZy10b3A6ICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWw7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fY29udGFjdC1kZXRhaWxzIHtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2NvbnRhY3QtZW1haWwge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RpdGxlLXNlY3Rpb24ge1xuXG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW46YXV0bztcbiAgICAgIH1cbiAgICAmX19mb3JtLXNlY3Rpb24ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIH1cbiAgICAgICZfX2Zvcm0tZGVzY3JpcHRpb24ge1xuICAgICAgfVxuICAgICAgJl9fZmllbGRzLXdyYXAge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgICAgICAmX19jb2x1bW4ge1xuICAgICAgICAgICYtLWxlZnQge31cbiAgICAgICAgICAmLS1yaWdodCB7fVxuICAgICAgICB9XG4gICAgICAmX19mb3JtLWZpZWxkLGlucHV0LHRleHRhcmVhIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgICAgbWFyZ2luOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCBhdXRvICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsIGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICZfX2NvbnRhY3QtaW5mbyB7XG4gICAgICBtYXJnaW46ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwgYXV0byAwIGF1dG87XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fY29udGFjdC1kZXRhaWxzIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fY29udGFjdC1lbWFpbCB7XG4gICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX190aXRsZS1zZWN0aW9uXCIpO1xufVxuIiwiLmZsby1ibG9jay1jb250YWN0LWJsb2NrLTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWNvbnRhY3QtYmxvY2stM1wiO1xuXG5cbiAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICAmLS1jdXN0b20ge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAmIC5sZWZ0X2NvbHVtbiB7XG4gICAgICB9XG4gICAgICAmIC5yaWdodF9jb2x1bW4ge1xuICAgICAgfVxuICAgICAgZm9ybSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgLmFwcC1mbG8tZm9ybXMgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgIGlucHV0W3R5cGVdOm5vdChbdHlwZT1cInN1Ym1pdFwiXSksXG4gICAgICB0ZXh0YXJlYSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgIC5lcnJvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICBjb2xvcjogcmVkIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgICAmX19mb3JtLWZpZWxkIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIGxhYmVsLCBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19yZXNwb25zZSB7XG4gICAgfVxuICAgICZfX2Zvcm0tc3VibWl0IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4KSByZW0tY2FsYyg2MikgcmVtLWNhbGMoMTMpIHJlbS1jYWxjKDU4KSFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogMWVtIWltcG9ydGFudDtcbiAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDQyKTtcbiAgICB9XG4gICZfX2NvbnRhY3QtaW5mbyB7XG4gIH1cbiAgICAmX19jb250YWN0LWRldGFpbHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cbiAgICAmX19jb250YWN0LWVtYWlsIHtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fZm9ybS1zZWN0aW9uIHtcbiAgICAgICRmb3JtX21hcmdpbnM6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDMpICsgJGdsb2JhbC1ndXR0ZXItd2lkdGggKiAzO1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGZvcm1fbWFyZ2lucyAqIDJ9KTtcbiAgICAgIG1hcmdpbjogMCAkZm9ybV9tYXJnaW5zO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNjQpIHJlbS1jYWxjKDE1MykgcmVtLWNhbGMoNjQpIHJlbS1jYWxjKDE1Myk7XG4gICAgICAmLS1jdXN0b20ge1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgfVxuICAgICAgbGFiZWwsIGlucHV0LCB0ZXh0YXJlYSB7XG4gICAgICB9XG4gICAgICAmX19yZXNwb25zZSB7XG4gICAgICB9XG4gICAgICAmX19mb3JtLXN1Ym1pdCB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNDApIGF1dG8gMCBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAmX19jb250YWN0LWluZm8ge1xuICAgICAgJGZvcm1fbWFyZ2luczogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMikgKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRmb3JtX21hcmdpbnMgKiAyfSk7XG4gICAgICBtYXJnaW46IDAgJGZvcm1fbWFyZ2lucztcbiAgICAgIHBhZGRpbmctdG9wOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICAgICZfX2NvbnRhY3QtZGV0YWlscyB7XG4gICAgICB9XG4gICAgICAmX19jb250YWN0LWVtYWlsIHtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2Zvcm0tc2VjdGlvbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgICAmLS1jdXN0b20ge1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2Zvcm0tZmllbGQsIGxhYmVsLCBpbnB1dCwgdGV4dGFyZWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCkhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJl9fcmVzcG9uc2Uge1xuICAgICAgfVxuICAgICAgJl9fZm9ybS1zdWJtaXQge1xuICAgICAgICBtYXJnaW46ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsIGF1dG8gJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgJl9fY29udGFjdC1pbmZvIHtcbiAgICAgIG1hcmdpbjogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbCBhdXRvIDAgYXV0bztcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX19jb250YWN0LWRldGFpbHMge1xuICAgICAgfVxuICAgICAgJl9fY29udGFjdC1lbWFpbCB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stY29udGVudC1pbi1jb2x1bW5zLTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWNvbnRlbnQtaW4tY29sdW1ucy0zXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgJl9fY29sdW1uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX19kZWNvcmF0aXZlLWVsZW1lbnRzIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIzKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICAmLS13aXRoLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgICAgICYtLW5vLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgb3BhY2l0eTogMC4xO1xuICAgICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1udW1iZXIge1xuICAgICAgICAmLS13aXRoLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbm8tZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAmX19jb2x1bW4tdGl0bGUge1xuICAgIH1cbiAgICAmX19jb2x1bW4tdGV4dCB7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9ja19wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrX3BhZGRpbmc7XG4gICAgJl9fY29sdW1uIHtcbiAgICAgICRjb2x1bW5fd2lkdGg6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMiArICRnbG9iYWwtZ3V0dGVyLXdpZHRoICogMztcbiAgICAgIHdpZHRoOiAkY29sdW1uX3dpZHRoO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEyNCk7XG4gICAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCAvIDI7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkO1xuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWVsZW1lbnRzIHtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1udW1iZXIge1xuICAgICAgICB9XG4gICAgICAmX19jb2x1bW4tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzOCk7XG4gICAgICB9XG4gICAgICAmX19jb2x1bW4tdGV4dCB7XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICZfX2NvbHVtbiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWVsZW1lbnRzIHtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1udW1iZXIge1xuICAgICAgICB9XG4gICAgICAmX19jb2x1bW4tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX19jb2x1bW4tdGV4dCB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZGVsaW1pdGVyLTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWRlbGltaXRlci0xXCI7XG5cbiAgJl9fZGVsaW1pdGVyLXdyYXAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cbiAgICAmX19kZWxpbWl0ZXItbGluZSB7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBwYWRkaW5nOiAwLjY4ZW0gMC41MmVtO1xuICAgICAgbWFyZ2luOiAwIDAuNjhlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IDAhaW1wb3J0YW50O1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICAkb2Zmc2V0OiAwLjI1ZW07XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogJG9mZnNldDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gI3skb2Zmc2V0ICogMn0pO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIH1cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICAkb2Zmc2V0OiAwLjIyZW07XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogJG9mZnNldDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JG9mZnNldCAqIDJ9KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgfVxufVxuIiwiLmZsby1ibG9jay1mYXEtYmxvY2stMSB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmFxLWJsb2NrLTFcIjtcblxuICAmX190aXRsZS1hcmVhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuICAgICZfX3RpdGxlLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gICZfX2ZhcS13cmFwIHtcbiAgfVxuICAgICZfX3NpbmdsZS1xYSB7XG4gICAgICAvKi1BZGQgYm90dG9tIG1hcmdpbiB0byBhbGwgY2hpbGRyZW4gZXhjZXB0IGZvciB0aGUgbGFzdCAyLSovXG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NCk7XG4gICAgICAmOm50aC1sYXN0LWNoaWxkKDEpLFxuICAgICAgJjpudGgtbGFzdC1jaGlsZCgyKXtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgICAgJl9fYW5zd2VyIHtcbiAgICAgICAgJiBwOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgfVxuICAgICZfX2ZhcS13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgMDtcbiAgICB9XG4gICAgICAmX19zaW5nbGUtcWEge1xuICAgICAgICAkaGFsZl9jb2x1bW46ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkaGFsZl9jb2x1bW47XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgIH1cbiAgICAgICAgJjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGhhbGZfY29sdW1uO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX3F1ZXN0aW9uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19hbnN3ZXIge1xuICAgICAgICB9XG4gICAgJl9fZGl2aWRlciB7XG4gICAgICB3aWR0aDogMXB4O1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgfVxuICAgICZfX2ZhcS13cmFwIHtcbiAgICB9XG4gICAgICAmX19zaW5nbGUtcWEge1xuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDEpLFxuICAgICAgICAmOm50aC1sYXN0LWNoaWxkKDIpe1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYW5zd2VyIHtcbiAgICAgICAgfVxuICAgICZfX2RpdmlkZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIkBpbmNsdWRlIGZsby1yZXNwb25zaXZlLWltYWdlLWJnKFwiLmZsby1ibG9jay1mYXEtYmxvY2stMlwiKTtcblxuLmZsby1ibG9jay1mYXEtYmxvY2stMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmFxLWJsb2NrLTJcIjtcblxuICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19pbWFnZS1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICZfX2ZhcS1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuIWltcG9ydGFudDtcbiAgICAmIC5zbGljay1saXN0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cbiAgfVxuICAgICZfX2ZhcS1zbGlkZSB7XG4gICAgfVxuICAgICAgJl9fZmFxLXNsaWRlLWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAgICZfX3NpbmdsZS1xYSB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19xdWVzdGlvbiB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2Fuc3dlciB7XG5cbiAgICAgICAgICAgICYgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgIH1cblxuICAmX19uYXZpZ2F0aW9uIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgJl9fZmFxLWNvdW50ZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB9XG4gICAgJl9fY3VycmVudC1pdGVtLW51bWJlciB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAmX19udW1iZXItZGl2aWRlciB7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIG1hcmdpbjogcmVtLWNhbGMoMykgMDtcbiAgICB9XG4gICAgJl9fdG90YWwtaXRlbS1udW1iZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgJl9fYXJyb3cge1xuXG4gICAgICAmLS1sZWZ0IHtcbiAgICAgIH1cbiAgICAgICYtLXJpZ2h0IHtcbiAgICAgIH1cblxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDg3KTtcbiAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDApO1xuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTE2KTtcbiAgICB9XG4gICAgJl9fZmFxLXNsaWRlciB7XG4gICAgfVxuICAgICAgJl9fZmFxLXNsaWRlIHtcbiAgICAgIH1cbiAgICAgICAgJl9fZmFxLXNsaWRlLWNvbnRlbnQge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fcXVlc3Rpb25zLXdyYXAge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNTQ5KTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTM5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19zaW5nbGUtcWEge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX3F1ZXN0aW9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGggLyA0O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2Fuc3dlciB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gNDtcbiAgICAgICAgICAgICAgfVxuXG4gICAgJl9fbmF2aWdhdGlvbiB7XG5cbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgYm90dG9tOiByZW0tY2FsYyg1MSk7XG5cbiAgICAgICYtLWhpZGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuXG4gICAgfVxuICAgICZfX2ZhcS1jb3VudGVyIHtcbiAgICAgIG1hcmdpbjogMCByZW0tY2FsYygxNDApO1xuICAgIH1cbiAgICAgICZfX2N1cnJlbnQtaXRlbS1udW1iZXIge1xuICAgICAgfVxuICAgICAgJl9fbnVtYmVyLWRpdmlkZXIge1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgwKTtcbiAgICAgIH1cbiAgICAgICZfX3RvdGFsLWl0ZW0tbnVtYmVyIHtcbiAgICAgIH1cblxuXG4gICAgJl9fYXJyb3cge1xuXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDgpO1xuXG4gICAgICAmLS1sZWZ0IHtcbiAgICAgIH1cbiAgICAgICYtLXJpZ2h0IHtcbiAgICAgIH1cblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKSFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuXG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbiAgICAmX19pbWFnZS1vdmVybGF5IHtcblxuICAgICAgJi0taGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cblxuICAgICZfX2ZhcS1zbGlkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAgICZfX2ZhcS1zbGlkZSB7XG4gICAgICB9XG4gICAgICAmX19mYXEtc2xpZGUtY29udGVudCB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAgICZfX3F1ZXN0aW9uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYW5zd2VyIHtcbiAgICAgICAgfVxuXG4gICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgJl9fZmFxLWNvdW50ZXIge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICB9XG4gICAgICAmX19jdXJyZW50LWl0ZW0tbnVtYmVyIHtcbiAgICAgIH1cbiAgICAgICZfX251bWJlci1kaXZpZGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAmX190b3RhbC1pdGVtLW51bWJlciB7XG4gICAgICB9XG5cbiAgICAmX19hcnJvdyB7XG5cbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgJi0tbGVmdCB7XG4gICAgICB9XG4gICAgICAmLS1yaWdodCB7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTJcIjtcblxuICAmX190ZXh0LWFyZWEge1xuICB9XG4gICAgJl9fcHJldGl0bGUge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNik7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgfVxuXG4gICZfX2ltYWdlLWxpbmstYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxODApO1xuICAgIH1cbiAgICAmX19saW5rLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2xpbmstZGVzY3JpcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fYnV0dG9uLXdyYXAge1xuICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNykgcmVtLWNhbGMoMTgpO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIGNvbG9yLCBib3JkZXItY29sb3IpO1xuICAgICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuXG4gICAgZGlzcGxheTogZmxleDtcblxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAvLyB3aWR0aDogcmVtLWNhbGMoNDk1KTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgICAmX19wcmV0aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190ZXh0IHtcbiAgICAgIH1cblxuICAgICZfX2ltYWdlLWxpbmstYXJlYSB7XG4gICAgICAvLyB3aWR0aDogcmVtLWNhbGMoNDUwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg5MCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoMjcwKTtcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgICZfX2xpbmstd3JhcCB7XG4gICAgICAgIC8vIHBhZGRpbmc6IDAgcmVtLWNhbGMoNDUpO1xuICAgICAgfVxuICAgICAgICAmX19saW5rLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24td3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3ByZXRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RleHQge1xuICAgICAgfVxuXG4gICAgJl9faW1hZ2UtbGluay1hcmVhIHtcbiAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIHJlbS1jYWxjKDIwKSBhdXRvO1xuICAgICAgfVxuICAgICAgJl9fbGluay13cmFwIHtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstZGVzY3JpcHRpb24ge1xuICAgICAgICB9XG4gICAgICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgfVxuXG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZmVhdHVyZWQtbGluay0zIHtcbiAgJGI6IFwiLmZsby1ibG9jay1mZWF0dXJlZC1saW5rLTNcIjtcbiAgZGlzcGxheTogZmxleDtcbiAgJl9faW1hZ2Utd3JhcCB7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgfVxuICAmX190ZXh0LXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3RpdGxlLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDEpIDAgcmVtLWNhbGMoNTApIDA7XG4gICAgfVxuICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoLTIxKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDMyKTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAmX19zdWJ0aXRsZSB7XG4gIH1cbiAgJl9fYnV0dG9uIHtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9ja19wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrX3BhZGRpbmc7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICAkaW1hZ2Vfd2lkdGg6ICggJGdsb2JhbC1jb2x1bW4td2lkdGggKiA1ICkgKyAoICRnbG9iYWwtZ3V0dGVyLXdpZHRoICogNik7XG4gICAgICB3aWR0aDogJGltYWdlX3dpZHRoO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MzQpO1xuICAgIH1cbiAgICAmX190ZXh0LXdyYXAge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDc0KSAwO1xuICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxNDQpIDAgcmVtLWNhbGMoMTQ0KTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0NDApO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKC03Myk7XG4gICAgfVxuICAgICAgJl9fdGl0bGUtd3JhcCB7XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDU1KTtcbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICZfX2ltYWdlLXdyYXAge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMxNik7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICZfX3RleHQtd3JhcCB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKC02MCkgcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMjApO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX190aXRsZS13cmFwIHtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0yMSkgKyByZW0tY2FsYyg5KTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgJl9fYnV0dG9uIHtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtMyB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmVhdHVyZWQtbGlua3MtM1wiO1xuXG4gICZfX2xpbmsge1xuICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gIH1cbiAgICAmX19saW5rLS1sZWZ0IHtcbiAgICB9XG4gICAgJl9fbGluay0tcmlnaHQge1xuICAgIH1cbiAgICAgICZfX3RleHQtd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuXG4gICAgICAgICN7JGJ9X19saW5rLXByZXRpdGxlLFxuICAgICAgICAjeyRifV9fbGluay10aXRsZSxcbiAgICAgICAgI3skYn1fX2xpbmstdGV4dCB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19saW5rLXByZXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rLXRleHQge1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19saW5rLWJ1dHRvbiB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6ICAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsIHJlbS1jYWxjKDIyMik7XG4gICAgZGlzcGxheTpmbGV4O1xuICAgICRnYXA6IHJlbS1jYWxjKDUzKSAvIDI7XG4gICAgJl9fbGluayB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MSkgcmVtLWNhbGMoNjApO1xuICAgICAgd2lkdGg6IGNhbGMoNTAlIC0gI3skZ2FwfSk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fbGluay0tbGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGdhcDtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstLXJpZ2h0IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICRnYXA7XG4gICAgICB9XG4gICAgICAgICZfX3RleHQtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMjAgLSA2KSAwIHJlbS1jYWxjKDgxIC0gMikgMDtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTUgLSA2KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNTApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19saW5rLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzEgLSAxNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDc3KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbGluay1idXR0b24ge1xuICAgICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgJl9fbGluayB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMSkgcmVtLWNhbGMoMzApO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAgICZfX2xpbmstLWxlZnQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAmX19saW5rLS1yaWdodCB7XG4gICAgICB9XG4gICAgICAgICZfX3RleHQtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgMCByZW0tY2FsYyg0MSkgMDtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYygxNSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmstdGV4dCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbGluay1idXR0b24ge1xuICAgICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00IHtcbiAgJGI6IFwiLmZsby1ibG9jay1mZWF0dXJlZC1saW5rcy00XCI7XG5cbiAgJl9fdGV4dC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICB9XG4gICAgJl9fY29sdW1uIHtcbiAgICAgICYtLXRpdGxlLWNvbHVtbiB7XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLW1pZGRsZS1jb2x1bW4ge1xuICAgICAgICAjeyRifV9fbWlkZGxlLWxhYmVsIHtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tbmF2aWdhdGlvbi1jb2x1bW4ge1xuICAgICAgICAjeyRifV9fYXJyb3ctbGVmdCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg0MSk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fbmF2aWdhdGlvbi1sYWJlbCB7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2Fycm93LXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNDEpO1xuICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICZfX3NsaWRlciB7XG4gIH1cbiAgICAmX19zbGlkZS1saW5rIHtcbiAgICB9XG4gICAgICAmX19zbGlkZS1saW5rLWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtbGluay10aXRsZSB7XG4gICAgICAgICAgbWluLXdpZHRoOiByZW0tY2FsYygxNTApO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKSByZW0tY2FsYygyMCk7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsYmFja2dyb3VuZC1jb2xvcixib3JkZXItY29sb3IpO1xuICAgICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAkYmxvY2tfcGFkZGluZzogJGdsb2JhbC1jb2x1bW4td2lkdGggKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICBwYWRkaW5nOiAwICRibG9ja19wYWRkaW5nO1xuICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gI3skZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDJ9KTtcbiAgICAmX190ZXh0LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTIpO1xuICAgIH1cbiAgICAgICRnYXA6IHJlbS1jYWxjKDM1KSAqIDI7XG4gICAgICAmX19jb2x1bW4ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyArICN7JGdhcH0pO1xuICAgICAgICAmLS10aXRsZS1jb2x1bW4ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzUpO1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIH1cbiAgICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgICYtLW1pZGRsZS1jb2x1bW4ge1xuICAgICAgICAgIG1hcmdpbjowIHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAgICZfX21pZGRsZS1sYWJlbCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAmLS1uYXZpZ2F0aW9uLWNvbHVtbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICZbZGF0YS1zbGlkZXMtY291bnQ9XCIxXCJdLFxuICAgICAgICAgICZbZGF0YS1zbGlkZXMtY291bnQ9XCIyXCJdLFxuICAgICAgICAgICZbZGF0YS1zbGlkZXMtY291bnQ9XCIzXCJdIHtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAmX19hcnJvdy1sZWZ0IHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbmF2aWdhdGlvbi1sYWJlbCB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2Fycm93LXJpZ2h0IHtcbiAgICAgICAgICB9XG4gICAgICB9XG5cblxuICAgICRzbGlkZXItd2lkdGg6IGNhbGMoMTAwdncgLSAjeyRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCAqIDR9ICsgI3skZ2xvYmFsLWd1dHRlci13aWR0aH0pO1xuICAgICRzbGlkZS1nYXA6IHJlbS1jYWxjKDM1KTtcblxuICAgICZfX3NsaWRlciB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAvLyBkaXNwbGF5OiBpbmxpbmUtZmxleCFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAmX19zbGlkZS1saW5rIHtcbiAgICAgICAgLy8gd2lkdGg6IGNhbGMoI3skc2xpZGVyLXdpZHRofSAvIDMgLSAjeyRzbGlkZS1nYXB9KSFpbXBvcnRhbnQ7XG5cbiAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgcGFkZGluZzogJHBhZGRpbmcgJHBhZGRpbmcgcmVtLWNhbGMoNDIpICRwYWRkaW5nO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjcxKSArICRwYWRkaW5nICogMjtcblxuICAgICAgICBtYXJnaW4tcmlnaHQ6ICRzbGlkZS1nYXA7XG5cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6ICRzbGlkZS1nYXA7XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgLy8gbWFyZ2luLWxlZnQ6ICRzbGlkZS1nYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtbGluay1pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzNjIpO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3NsaWRlLWxpbmstdGl0bGUge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMTkpO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RleHQtd3JhcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICAgICZfX2NvbHVtbiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgJi0tdGl0bGUtY29sdW1uIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgI3skYn1fX3RpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3N1YnRpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tbWlkZGxlLWNvbHVtbiB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICN7JGJ9X19taWRkbGUtbGFiZWwge1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLS1uYXZpZ2F0aW9uLWNvbHVtbiB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICZbZGF0YS1zbGlkZXMtY291bnQ9XCIxXCJdIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19hcnJvdy1sZWZ0IHtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX25hdmlnYXRpb24tbGFiZWwge1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fYXJyb3ctcmlnaHQge1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICRzbGlkZXItd2lkdGg6IGNhbGMoMTAwdncgLSAjeyRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwgKiAyfSk7XG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cbiAgICAgICZfX3NsaWRlLWxpbmsge1xuICAgICAgICAkZ2FwOiAocmVtLWNhbGMoNSkgKiAyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAje3JlbS1jYWxjKDMwKSAtICRnYXB9O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDMwKSByZW0tY2FsYygxNSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayFpbXBvcnRhbnQ7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX3NsaWRlLWxpbmstaW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzYyKTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19zbGlkZS1saW5rLXRpdGxlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogcmVtLWNhbGMoLTE5KTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWZlYXR1cmVkLXNsaWRlc2hvdy0xXCI7XG4gIHotaW5kZXg6IDE7XG4gICZfX2ZlYXR1cmVkLXNsaWRlciB7XG4gIH1cbiAgICAmX19zbGlkZSB7XG4gICAgfVxuICAgICAgJl9fbGVmdC13cmFwIHtcbiAgICAgIH1cbiAgICAgICZfX3JpZ2h0LXdyYXAge1xuICAgICAgICAmLS1uby1kZWNvcmF0aW9uIHtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZXMtd3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3ByZS10aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgIH1cbiAgJl9fYXJyb3dzIHtcbiAgfVxuICAgICZfX2Fycm93LWxlZnQge1xuICAgIH1cbiAgICAmX19hcnJvdy1yaWdodCB7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIG1hcmdpbjogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICRoYWxmX2NvbHVtbjogJGdsb2JhbC1jb2x1bW4td2lkdGggLyAyO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDY1LjUpICRoYWxmX2NvbHVtbiByZW0tY2FsYyg4MC41KSAkaGFsZl9jb2x1bW47XG4gICAgJl9fZmVhdHVyZWQtc2xpZGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgICAmX19zbGlkZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4IWltcG9ydGFudDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1OTMpO1xuICAgICAgfVxuICAgICAgICAmX19sZWZ0LXdyYXAge1xuICAgICAgICAgIHdpZHRoOiAoJGdsb2JhbC1jb2x1bW4td2lkdGggKiAzKSArICRoYWxmX2NvbHVtbiArICgkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDQpO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvbnRhaW47XG4gICAgICAgIH1cbiAgICAgICAgJl9fcmlnaHQtd3JhcCB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgIHdpZHRoOiAjeygkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDQpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoICogNSl9O1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAmLS1uby1kZWNvcmF0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxOTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDU3KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX190aXRsZXMtd3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIHRvcDogLTUwJTtcbiAgICAgICAgICAgICAgbGVmdDogNDAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuMDU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19wcmUtdGl0bGUge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgICAgfVxuICAmX19hcnJvd3Mge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IHJlbS1jYWxjKDEyMyk7XG4gICAgcmlnaHQ6IGNhbGMoNTAlIC0gI3skZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRofSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoY2FsYyg0MCUgKyAjeyRnbG9iYWwtY29sdW1uLXdpZHRoICsgJGdsb2JhbC1ndXR0ZXItd2lkdGh9KSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHotaW5kZXg6IDI7XG4gIH1cbiAgICAmX19hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAmOm5vdCgjeyRifV9fYXJyb3ctLXNlcGFyYXRvcil7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIH1cblxuICAgICAgJi0tbGVmdCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjkpO1xuICAgICAgfVxuICAgICAgJi0tcmlnaHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMzYpO1xuICAgICAgfVxuICAgICAgJi0tc2VwYXJhdG9yIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0Nik7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDEwZGVnKTtcbiAgICAgIH1cbiAgICAgICYtLXByZXYge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDQ4KTtcbiAgICAgIH1cbiAgICAgICYtLW5leHQge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNDEpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAmX19mZWF0dXJlZC1zbGlkZXIge1xuICAgIH1cbiAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgfVxuICAgICAgICAmX19sZWZ0LXdyYXAge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjk2KTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb250YWluO1xuICAgICAgICB9XG4gICAgICAgICZfX3JpZ2h0LXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICYtLW5vLWRlY29yYXRpb257fVxuICAgICAgICB9XG4gICAgICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGVzLXdyYXAge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIGxlZnQ6IDQwJTtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDYuNXJlbSkhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fcHJlLXRpdGxlIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICAgIH1cbiAgICAmX19hcnJvd3Mge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgICAmX19hcnJvdy1sZWZ0IHtcbiAgICAgIH1cbiAgICAgICZfX2Fycm93LXJpZ2h0IHtcbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTJcIjtcblxuICAmX190ZXh0LWFyZWEge1xuXG4gIH1cbiAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICBvcGFjaXR5OiAwLjI0O1xuICAgIH1cbiAgICAmX190ZXh0IHtcblxuICAgIH1cblxuICAmX19zbGlkZXMge1xuXG4gIH1cbiAgICAmX19zbGlkZSB7XG4gICAgfVxuICAgICAgJl9fc2xpZGUtaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuXG4gICZfX2Fycm93cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgfVxuICAgICZfX2Fycm93IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgJi0tcHJldiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNjMpO1xuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTI3KSAwIHJlbS1jYWxjKDE0NikgcmVtLWNhbGMoMCk7XG5cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDIyMik7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDcxKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogMCU7XG4gICAgICAgIHRvcDogMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MCUpO1xuICAgICAgfVxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyNzkpO1xuICAgICAgfVxuXG4gICAgJHNsaWRlLWhlaWdodDogcmVtLWNhbGMoNjIyKTtcbiAgICAkc2xpZGUtd2lkdGg6IHJlbS1jYWxjKDQxNyk7XG4gICAgJHNsaWRlLWdhcDogcmVtLWNhbGMoMTgpO1xuICAgICZfX3NsaWRlcyB7XG4gICAgICB3aWR0aDogJHNsaWRlLXdpZHRoICogMiArICRzbGlkZS1nYXA7XG4gICAgfVxuICAgICAgJl9fc2xpZGUge1xuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiAkc2xpZGUtaGVpZ2h0O1xuICAgICAgICAgIHdpZHRoOiAkc2xpZGUtd2lkdGg7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkc2xpZGUtZ2FwO1xuICAgICAgICB9XG5cbiAgICAmX19hcnJvd3Mge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwMyk7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDY2KTtcbiAgICB9XG4gICAgICAmX19hcnJvdyB7XG4gICAgICAgIG9wYWNpdHk6IDAuMjQ7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNTApICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG5cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgb3JkZXI6IDE7XG5cbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmX190ZXh0IHtcblxuICAgICAgfVxuXG4gICAgJl9fc2xpZGVzIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAgICZfX3NsaWRlIHtcblxuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1pbWFnZSB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MDApO1xuICAgICAgICB9XG5cbiAgICAmX19hcnJvd3Mge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygzMCkgMDtcbiAgICB9XG4gICAgICAmX19hcnJvdyB7XG5cbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1mZWF0dXJlZC1zbGlkZXNob3ctNyB7XG4gICRiOiBcIi5mbG8tYmxvY2stZmVhdHVyZWQtc2xpZGVzaG93LTdcIjtcblxuICAmX190aXRsZS1hcmVhLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2RlY29yYXRpb24td3JhcCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGlvbi1pY29uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNDAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgIG9wYWNpdHk6IDAuMjtcbiAgICAgIH1cbiAgICAgICZfX2RlY29yYXRpb24tdGl0bGUge1xuICAgICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICZfX2ZlYXR1cmVkLXNsaWRlciB7XG4gIH1cbiAgICAmX19zbGlkZSB7XG4gICAgfVxuICAgICAgJl9fc2xpZGUtaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgICAgJl9fc2xpZGUtdGl0bGUtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB9XG4gICAgICAgICZfX3NsaWRlLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19hcnJvd3Mge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcblxuICAgICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZS1hcmVhLXdyYXAge1xuICAgICAgJHRpdGxlX2FyZWFfcGFkZGluZzogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMikgKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgIHBhZGRpbmc6IDAgJHRpdGxlX2FyZWFfcGFkZGluZztcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aW9uLXdyYXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTMxKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDcxKTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGlvbi1pY29uIHtcbiAgICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aW9uLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICAkdGl0bGVfcGFkZGluZzogJGdsb2JhbC1jb2x1bW4td2lkdGggKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgICAgcGFkZGluZzogMCAkdGl0bGVfcGFkZGluZyByZW0tY2FsYygyMDIpICR0aXRsZV9wYWRkaW5nO1xuICAgICAgfVxuICAgICZfX3NsaWRlci13cmFwIHtcbiAgICAgICRzbGlkZXJfcGFkZGluZ3M6ICggJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyICkgKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICAgIHBhZGRpbmc6IDAgJHNsaWRlcl9wYWRkaW5ncztcbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC02MSk7XG4gICAgICB9XG4gICAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1ODApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zbGlkZS10aXRsZS13cmFwIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQxLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3NsaWRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2Fycm93cyB7XG4gICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19hcnJvdyB7XG5cbiAgICAgICAgICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUtYXJlYS13cmFwIHtcbiAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aW9uLXdyYXAge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjUpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aW9uLWljb24ge1xuICAgICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpb24tdGl0bGUge1xuICAgICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgICB9XG4gICAgJl9fc2xpZGVyLXdyYXAge1xuICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1zbGlkZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKC01MCk7XG4gICAgICB9XG4gICAgICAgICZfX3NsaWRlIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyOTApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zbGlkZS10aXRsZS13cmFwIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fc2xpZGUtdGl0bGUge1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYXJyb3dzIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2Fycm93IHtcblxuICAgICAgICAgICAgICAgICYtLWxlZnQge1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX19zbGlkZS1pbWFnZVwiKTtcbn1cbiIsIi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTEge1xuICAkYjogXCIuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0xXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmOmhvdmVyLFxuICAmLS1pcy1mb2N1c2VkIHtcbiAgICAjeyRifV9fdGl0bGUtYXJlYSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgfVxuXG4gICY6aG92ZXIge1xuICAgIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgfVxuXG4gICZfX2ltYWdlcy13cmFwIHtcblxuICB9XG4gICAgJl9faW1hZ2VzIHtcblxuICAgIH1cbiAgICAgICZfX2ltYWdlLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgICAgI3skYn1fX2Fycm93IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJi0tdGl0bGUtYXJlYS12aXNpYmxlIHtcbiAgICAgICAgICAuZmxvLXZpZGVvLWVtYmVkX192aWRlby1idXR0b24ge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0tdGl0bGUtYXJlYS1pbnZpc2libGUge1xuICAgICAgICAgICN7JGJ9X190aXRsZS1hcmVhe1xuICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19pbWFnZSB7XG5cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICAgJi0tcHJldiB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgJl9fdGl0bGUtYXJlYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB6LWluZGV4OiAxO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIH1cbiAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyNCk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMSk7XG4gICAgfVxuICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICBvcGFjaXR5OiAwLjMzO1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzKTtcbiAgICB9XG4gICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgfVxuICAgICAgJl9fZGF0ZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cblxuICAgICZfX2ltYWdlcy13cmFwIHtcblxuICAgIH1cbiAgICAgICZfX2ltYWdlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Utd3JhcCB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX2ltYWdlIHtcblxuICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgJHNpemU6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcblxuXG4gICAgICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSlcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoNTAlLCAtNTAlKVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICZfX3RpdGxlLWFyZWEge1xuXG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG5cblxuICAgICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcblxuICAgICAgfVxuICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pbWFnZXMtd3JhcCB7XG5cbiAgICB9XG4gICAgICAmX19pbWFnZXMge1xuICAgICAgfVxuICAgICAgICAmX19pbWFnZS13cmFwIHtcblxuICAgICAgICB9XG4gICAgICAgICAgJl9faW1hZ2Uge1xuXG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzogMHB4IDBweCAycHggd2hpdGU7XG5cbiAgICAgICAgICAgICYtLXByZXYge1xuICAgICAgICAgICAgICBsZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgJl9fdGl0bGUtYXJlYSB7XG5cbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcblxuICAgICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcblxuICAgICAgfVxuICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTIge1xuICAkYjogXCIuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0yXCI7XG5cbiAgJl9faW1hZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICBcbiAgICAmLmxhenkge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICB9XG4gIH1cbiAgICAmX19pbWFnZS10aHVtYiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIC8vIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX19pbWFnZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuICAgICAgJl9faW1hZ2UtdGh1bWIge1xuXG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pbWFnZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9faW1hZ2UtdGh1bWIge1xuXG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stZ2FsbGVyeS12aWV3LTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWdhbGxlcnktdmlldy0zXCI7XG5cbiAgJl9faW1hZ2VzLXdyYXAge1xuXG4gIH1cbiAgICAmX19pbWFnZXMge1xuXG4gICAgfVxuICAgICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Uge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY29udGFpbjtcbiAgICAgICAgfVxuICAgICZfX2Fycm93IHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXG4gICAgICAmLS1wcmV2IHtcblxuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgJl9fdGh1bWJzIHtcblxuICB9XG4gICAgJl9fdGh1bWItd3JhcCB7XG5cbiAgICB9XG4gICAgICAmX190aHVtYiB7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAkaW1hZ2VzX3dyYXBfd2lkdGg6IHJlbS1jYWxjKDEwMDApO1xuICAgICR0aHVtYnNfZ2FwOiByZW0tY2FsYygyOSk7XG4gICAgJHRodW1ic19jb3VudDogNjtcblxuICAgICZfX2ltYWdlcy13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAkaW1hZ2VzX3dyYXBfd2lkdGg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICB9XG4gICAgICAmX19pbWFnZXMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAkdGh1bWJzX2dhcDtcbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Utd3JhcCB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX2ltYWdlIHtcblxuICAgICAgICAgIH1cbiAgICAgICZfX2Fycm93IHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuXG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0xMDApO1xuICAgICAgICB9XG4gICAgICAgICYtLW5leHQge1xuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygtMTAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgJl9fdGh1bWJzIHtcbiAgICAgIHdpZHRoOiAkaW1hZ2VzX3dyYXBfd2lkdGg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcblxuICAgIH1cbiAgICAgICZfX3RodW1iLXdyYXAge1xuICAgICAgICBvcGFjaXR5OiAwLjI7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICYuc2xpY2stY3VycmVudCxcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX190aHVtYiB7XG4gICAgICAgICAgJHdpZHRoOiAoJGltYWdlc193cmFwX3dpZHRoIC8gJHRodW1ic19jb3VudCkgLSAoKCR0aHVtYnNfY291bnQgLSAxKSAqICR0aHVtYnNfZ2FwKSAvICR0aHVtYnNfY291bnQ7XG4gICAgICAgICAgd2lkdGg6ICR3aWR0aDtcbiAgICAgICAgICBoZWlnaHQ6ICR3aWR0aCAvIDEuNTI7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkdGh1bWJzX2dhcDtcbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJGltYWdlc190b3Bfb2Zmc2V0OiByZW0tY2FsYyg1MCk7XG4gICAgJl9faW1hZ2VzLXdyYXAge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX2ltYWdlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6ICRpbWFnZXNfdG9wX29mZnNldDtcbiAgICAgIH1cbiAgICAgICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgICAgfVxuICAgICAgJl9fYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogY2FsYygxMDAlICsgI3skaW1hZ2VzX3RvcF9vZmZzZXQgLyAyfSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgJl9fdGh1bWJzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICAgICAgJl9fdGh1bWItd3JhcCB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fdGh1bWIge1xuXG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pbWFnZS1ibG9jay0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pbWFnZS1ibG9jay0xXCI7XG5cbiAgJl9faW1hZ2Utd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICB9XG4gICAgJl9faW1hZ2Utb3ZlcmxheSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6MDtcbiAgICAgIHJpZ2h0OjA7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgaGVpZ2h0OjEwMCU7XG4gICAgfVxuICAgIFxuICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgIHotaW5kZXg6IDEwMDtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG5cbiAgICB9XG4gICAgJGJsb2NrX3BhZGRpbmc6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDMpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoICogMik7XG4gICAgICAmX190aXRsZS1jZW50ZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgJGJsb2NrX3BhZGRpbmc7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1sZWZ0IHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApICRibG9ja19wYWRkaW5nICogMiByZW0tY2FsYyg1MCkgcmVtLWNhbGMoMzIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUtcmlnaHQge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgcmVtLWNhbGMoMzIpIHJlbS1jYWxjKDUwKSAkYmxvY2tfcGFkZGluZyAqIDI7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX19pbWFnZS13cmFwXCIpO1xufVxuIiwiQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLWltYWdlLWJsb2NrLTJcIik7XG5cbi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMiB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMlwiO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuXG4gICZfX2ltYWdlLW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAmX190ZXh0LWFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX190aXRsZXMtd3JhcCB7XG5cbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgICAmX190ZXh0LXBhcmFncmFwaCB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0NSk7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2J1dHRvbnMtd3JhcCB7XG4gICAgfVxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcixib3JkZXItY29sb3IsYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgJi0tcHJpbWFyeSB7XG4gICAgICAgIH1cblxuICAgICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDU0MCk7XG4gICAgfVxuICAgICAgJl9fdGl0bGVzLXdyYXAge1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICB9XG4gICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgJl9fdmVydGljYWwtbGluZSB7XG4gICAgICB9XG4gICAgICAmX190aXRsZS1wYXJhZ3JhcGgge1xuICAgICAgfVxuICAgICAgJl9fYnV0dG9uLXdyYXAge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMSk7XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAmI3skYn1fX21vYmlsZS10ZXh0LXRvcCxcbiAgICAmI3skYn1fX21vYmlsZS10ZXh0LWJvdHRvbSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICN7JGJ9X19tb2JpbGUtaW1nLXdyYXB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cbiAgICB9XG4gICAgJiN7JGJ9X19tb2JpbGUtdGV4dC10b3B7XG4gICAgICAjeyRifV9fdGV4dC1hcmVhe1xuICAgICAgICBvcmRlcjogLTE7XG4gICAgICB9XG4gICAgICAjeyRifV9fbW9iaWxlLWltZy13cmFwe1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgfVxuICAgICYjeyRifV9fbW9iaWxlLXRleHQtYm90dG9te1xuICAgICAgI3skYn1fX21vYmlsZS1pbWctd3JhcHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19tb2JpbGUtYmctd3JhcCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgfVxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICAgJl9fdGl0bGVzLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICB9XG4gICAgICAmX192ZXJ0aWNhbC1saW5lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLXBhcmFncmFwaCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICB9XG4gIH1cbiAgQG1lZGlhIChtYXgtd2lkdGg6IDc2N3B4KSBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpe1xuICAgICYjeyRifV9fbW9iaWxlLXRleHQtdG9wLFxuICAgICYjeyRifV9fbW9iaWxlLXRleHQtYm90dG9tIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICN7JGJ9X19tb2JpbGUtaW1nLXdyYXB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stMyB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtYmxvY2stM1wiO1xuXG4gICZfX2ltYWdlIHtcbiAgfVxuXG4gICZfX3RleHQtYXJlYSB7XG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fdGV4dCB7XG4gICAgfVxuICAgIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBBICovXG4gICAgICAmX19idXR0b25zLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTEpIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIGNvbG9yLCBib3JkZXItY29sb3IpO1xuXG4gICAgICAgICAgJi0tcHJpbWFyeSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgLyogRU5EOiBCdXR0b24gVHlwZSBBICovXG5cbiAgICAvKiBTVEFSVDogQnV0dG9uIFR5cGUgQiAqL1xuICAgICAgJl9fYnV0dG9uLWxpbmtzLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgfVxuICAgICAgICAmX19idXR0b24tbGluayB7XG4gICAgICAgICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1KSByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjUpIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCk6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IGdyb292ZTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBncm9vdmU7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg3KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgfVxuICAgIC8qIEVORDogQnV0dG9uIFR5cGUgQiAqL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICB3aWR0aDogcmVtLWNhbGMoNTUwKTtcbiAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIH1cblxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuXG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMTM1KTtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDUpO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAvKiBTVEFSVDogQnV0dG9uIFR5cGUgQSAqL1xuICAgICAgICAmX19idXR0b25zLXdyYXAge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYnV0dG9uIHtcblxuICAgICAgICAgICAgLy8gbWF4LXdpZHRoOiByZW0tY2FsYygyMjApO1xuXG4gICAgICAgICAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmLS1zZWNvbmRhcnkge1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgIC8qIEVORDogQnV0dG9uIFR5cGUgQSAqL1xuXG4gICAgICAvKiBTVEFSVDogQnV0dG9uIFR5cGUgQiAqL1xuICAgICAgICAmX19idXR0b24tbGlua3Mtd3JhcCB7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19idXR0b24tbGluayB7XG4gICAgICAgICAgfVxuICAgICAgLyogRU5EOiBCdXR0b24gVHlwZSBCICovXG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgJiA+ICo6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuXG4gICAgJl9faW1hZ2Uge1xuICAgIH1cblxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3RleHQge1xuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLyogU1RBUlQ6IEJ1dHRvbiBUeXBlIEEgKi9cbiAgICAgICAgJl9fYnV0dG9ucy13cmFwIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19idXR0b24ge1xuXG4gICAgICAgICAgICAmLS1wcmltYXJ5IHtcbiAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLXNlY29uZGFyeSB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgLyogRU5EOiBCdXR0b24gVHlwZSBBICovXG5cbiAgICAgIC8qIFNUQVJUOiBCdXR0b24gVHlwZSBCICovXG4gICAgICAgICZfX2J1dHRvbi1saW5rcy13cmFwIHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2J1dHRvbi1saW5rIHtcbiAgICAgICAgICB9XG4gICAgICAvKiBFTkQ6IEJ1dHRvbiBUeXBlIEIgKi9cblxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTJcIjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICAmX19saW5rIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAmX19saW5rLWltYWdlIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzM2KTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgfVxuICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgIH1cbiAgICAmX19saW5rLXRpdGxlIHtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICZfX2xpbmsge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApO1xuXG4gICAgICAmLS1oYXMtdXJsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAmOmhvdmVyICN7JGJ9X19saW5rLWltYWdlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDBweDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgKyAje3JlbS1jYWxjKDUwKX0pO1xuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMHB4O1xuICAgICAgfVxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fbGluay1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MSk7XG5cbiAgICAgICAgJi0taGFzLXVybCB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fbGluay1wcmV0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmX19saW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJi0taGFzLXVybCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fbGluay1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1pbWFnZS1saW5rcy00IHtcbiAgJGI6IFwiLmZsby1ibG9jay1pbWFnZS1saW5rcy00XCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIFxuICAmX19jb2x1bW4ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMjk3KTtcbiAgfVxuICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygyOCk7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2NvbHVtbiB7XG4gICAgICAkZ2FwOiByZW0tY2FsYyg1MCk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyAtICN7JGdhcH0pO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyOTcpO1xuXG4gICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIG1hcmdpbjogMCAkZ2FwO1xuICAgICAgfVxuXG4gICAgICAmOmhvdmVyICN7JGJ9X19saW5rLXRpdGxlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgJl9fY29sdW1uIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTUge1xuICAkYjogXCIuZmxvLWJsb2NrLWltYWdlLWxpbmtzLTVcIjtcblxuICAmX19saW5rcy13cmFwIHtcbiAgfVxuICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgICAmX19iYWNrZ3JvdW5kLXdyYXAge1xuXG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fYm90dG9tLWxhYmVsIHtcbiAgICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgJl9fbGlua3Mtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgIH1cbiAgICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgICAkZ2FwOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzE1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjApO1xuICAgICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdhcCAvIDJ9IC0gMC4xcmVtKTtcbiAgICAgICAgfVxuICAgICAgICAmOm5vdCg6bnRoLWNoaWxkKDJuKSkge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdhcCAvIDJ9IC0gMC4xcmVtKTtcbiAgICAgICAgfVxuICAgICAgICAvLyBJdGVtIEhvdmVyIEVmZmVjdFxuICAgICAgICAmOmhvdmVyICN7JGJ9X19iYWNrZ3JvdW5kLXdyYXAge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fYmFja2dyb3VuZC13cmFwIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2JvdHRvbS1sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19saW5rcy13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMTUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAgICZfX2JhY2tncm91bmQtd3JhcCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2JvdHRvbS1sYWJlbCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDUzKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staW1hZ2UtbGlua3MtNiB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtbGlua3MtNlwiO1xuXG4gIGRpc3BsYXk6IGZsZXg7XG5cbiAgJl9faW1hZ2UtbGluayB7XG4gIH1cbiAgICAmX19saW5rLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyOTcpO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgJl9fdGV4dC13cmFwIHtcbiAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstc3VidGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fbGluay1ib3R0b20tbGFiZWwge1xuICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgJl9faW1hZ2UtbGluayB7XG4gICAgICAkZ2FwOiByZW0tY2FsYyg0NSk7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG4gICAgICAmOm50aC1jaGlsZCgybikge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2xpbmstaW1hZ2Uge1xuICAgICAgfVxuICAgICAgJl9fdGV4dC13cmFwIHtcbiAgICAgICAgJGluX2dhcDogcmVtLWNhbGMoMzApO1xuICAgICAgICBwYWRkaW5nOiAkaW5fZ2FwICRpbl9nYXAgcmVtLWNhbGMoNDApICRpbl9nYXA7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDcpO1xuICAgICAgICB9XG4gICAgICAgICZfX2xpbmstc3VidGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rLWJvdHRvbS1sYWJlbCB7XG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAmX19pbWFnZS1saW5rIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2xpbmstaW1hZ2Uge1xuICAgICAgfVxuICAgICAgJl9fdGV4dC13cmFwIHtcbiAgICAgICAgJGluX2dhcDogcmVtLWNhbGMoMjApO1xuICAgICAgICBwYWRkaW5nOiAkaW5fZ2FwICRpbl9nYXAgcmVtLWNhbGMoMzApICRpbl9nYXA7XG4gICAgICB9XG4gICAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19saW5rLXN1YnRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGluay1ib3R0b20tbGFiZWwge1xuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staW1hZ2UtbGlua3MtNyB7XG4gICRiOiBcIi5mbG8tYmxvY2staW1hZ2UtbGlua3MtN1wiO1xuXG4gICZfX2ltYWdlLWxpbmsge1xuXG4gICAgJi0tdGV4dC1hcmVhIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoNDAwKTtcbiAgICB9XG4gIH1cbiAgICAmX19pbWFnZSB7XG4gICAgfVxuICAgICZfX3ByZXRpdGxlIHtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgIH1cbiAgICAmX19zdWJ0aXRsZSB7XG4gICAgfVxuICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICB9XG4gICAgICAmX19idXR0b24ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSkgcmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yLCBjb2xvcik7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgJl9faW1hZ2UtbGluayB7XG4gICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAmLS1pbWFnZSB7XG4gICAgICB9XG4gICAgICAmLS10ZXh0LWFyZWEge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoMTIwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2ltYWdlIHtcbiAgICAgIH1cbiAgICAgICZfX3ByZXRpdGxlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IHJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICZfX2ltYWdlLWxpbmsge1xuICAgICAgJi0tdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzUpIHJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19pbWFnZSB7XG4gICAgICB9XG4gICAgICAmX19wcmV0aXRsZSB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19idXR0b24td3JhcCB7XG4gICAgICB9XG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgIH1cblxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWludHJvLWJsb2NrIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pbnRyby1ibG9ja1wiO1xuXG4gICZfX2ltYWdlLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIFxuICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLWludHJvLWJsb2NrX19pbWFnZS13cmFwXCIpO1xuICAgICZfX2ltYWdlLW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX190ZXh0IHtcbiAgICAgICAgXG4gICAgICAgICYgPiAqOmxhc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAmX19hY3Rpb25zLXdyYXAge1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgfVxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICBtaW4td2lkdGg6IHJlbS1jYWxjKDE4MCk7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvciwgYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJl9faWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogN3B4O1xuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgXG5cbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICB9XG5cbiAgICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgICAgaGVhZGVyIHtcbiAgICAgICAgICAuZmxvLWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoODApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDEwMCkgcmVtLWNhbGMoMTAwKSByZW0tY2FsYygxMDApO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg0OTUpO1xuICAgICAgICB9XG4gICAgICAgICZfX3RleHQge1xuICAgICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDUwKTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg3KTtcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICAgIFxuICAgICAgICB9XG4gICAgICAmI3skYn0tLXR5cGUtYSB7XG4gICAgICAgICN7JGJ9X190ZXh0LWFyZWEge1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgXG4gICAgICAgICAgJiN7JGJ9X19idXR0b25zLXBvc2l0aW9uLS1iZWxvdyB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgXG4gICAgICAgICAgICAjeyRifV9fYWN0aW9ucy13cmFwIHtcbiAgICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgICAgXG4gICAgICAmI3skYn0tLXR5cGUtYiB7XG4gICAgICAgICN7JGJ9X190ZXh0LWFyZWEge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fYWN0aW9ucy13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgJiN7JGJ9LS10eXBlLWMge1xuICAgICAgICAjeyRifV9fdGV4dC1hcmVhIHtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICN7JGJ9X19hY3Rpb25zLXdyYXAge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMDApO1xuICAgICAgICAgIFxuICAgICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQ1KSByZW0tY2FsYyg0NSkgcmVtLWNhbGMoNTApIHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgICN7JGJ9X19idXR0b24tdGl0bGUge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAjeyRifV9faWNvbiB7XG4gICAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgICAvLyB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgLy8gdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAvLyByaWdodDogcmVtLWNhbGMoNDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICZfX2ltYWdlLXdyYXAge1xuICAgIH1cblxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgICAuZmxvLWhlYWRlciB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmX190ZXh0LWFyZWEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICAmX190ZXh0IHtcbiAgICAgICAgfVxuICAgICAgJl9fYWN0aW9ucy13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgXG4gICAgICAgICZfX2J1dHRvbiB7XG4gICAgICAgICAgXG4gICAgICAgICAgJjpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICYjeyRifS0tdHlwZS1jIHtcbiAgICAgICN7JGJ9X19idXR0b24tcHJldGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICAjeyRifV9fYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICAgICAgI3skYn1fX2J1dHRvbi10aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9faWNvbiB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgfVxuICAgIFxuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTMpIHJlbS1jYWxjKDEwMCk7XG4gICAgfVxuICB9XG59XG5AbWVkaWEgKG1pbi13aWR0aDogMTAyNXB4KSB7XG4gIGh0bWw6bm90KC5odG1sLS1zdHlsZS1maXhlZCkgLmZsby1ibG9jay1pbnRyby1ibG9ja19fdGV4dC1hcmVhIHtcbiAgICAvLyBtYXJnaW4tbGVmdDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICB9XG59XG4iLCIuZmxvLWJsb2NrLWl0ZW0tY29udGVudCB7XG4gICRiOiBcIi5mbG8tYmxvY2staXRlbS1jb250ZW50XCI7XG5cbiAgJl9fY29udGVudC1hcmVhIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gIH1cbiAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAwJTtcbiAgICAgIHRvcDogMCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtMzAlLCAtMzUlKTtcbiAgICB9XG4gICAgJl9fY29udGVudCB7XG4gICAgfVxuXG4gICZfX3NpZGUtYXJlYSB7XG4gIH1cbiAgICAmX19iYWNrLWxpbmsge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxuXG4gICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fY29udGVudC1hcmVhIHtcbiAgICAgIG1heC13aWR0aDogOTIlO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgfVxuICAgICAgJl9fY29udGVudCB7XG4gICAgICB9XG5cbiAgICAmX19zaWRlLWFyZWEge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNDU1KTtcblxuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgfVxuICAgICAgJl9fYmFjay1saW5rIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuXG4gICAgICAmX19zaGFyZS1saW5rcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5cbiAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDEpO1xuICAgICAgICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDExKSAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fY29udGVudC1hcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAmX19jb250ZW50IHtcblxuICAgICAgfVxuXG4gICAgJl9fc2lkZS1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXJcbiAgICB9XG4gICAgICAkc2lkZV9hcmVhX2l0ZW1zX2dhcDogcmVtLWNhbGMoMTApO1xuXG4gICAgICAmX19iYWNrLWxpbmsge1xuICAgICAgICBtYXJnaW46IDAgJHNpZGVfYXJlYV9pdGVtc19nYXA7XG4gICAgICB9XG5cbiAgICAgICZfX3NoYXJlLWxpbmtzIHtcbiAgICAgICAgYSxcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgbWFyZ2luOiAwICRzaWRlX2FyZWFfaXRlbXNfZ2FwO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staXRlbS1wYWdpbmF0aW9uIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pdGVtLXBhZ2luYXRpb25cIjtcblxuICAmX19saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJGljb24tbWFyZ2luOiByZW0tY2FsYygyNyk7XG4gICAgJi0tcHJldiB7XG4gICAgICBpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkaWNvbi1tYXJnaW47XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi0tbmV4dCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGljb24tbWFyZ2luO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAgICZfX3RodW1iIHtcbiAgICAgICRzaXplOiByZW0tY2FsYygxOTIpO1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgfVxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIHJlbS1jYWxjKDc1KTtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQpO1xuICAgICAgfVxuICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgfVxuICAgICAgJl9fYm90dG9tLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjgpO1xuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAmX19saW5rIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAmLS1wcmV2IHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX190aHVtYiB7XG5cbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fYm90dG9tLWxhYmVsIHtcblxuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICAmX19saW5rIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9fdGh1bWIge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fYm90dG9tLWxhYmVsIHtcbiAgICAgICAgICBpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staXRlbS10aXRsZS0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1pdGVtLXRpdGxlLTJcIjtcblxuICAmX19sZWZ0LXNpZGUge1xuXG4gIH1cbiAgICAmX190aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2KTtcbiAgICB9XG4gICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgfVxuICAgICAgJl9fZGF0ZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgfVxuXG4gICZfX3JpZ2h0LXNpZGUge1xuXG4gIH1cbiAgICAmX19zaGFyZS1saW5rcyB7XG4gICAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICZfX2xlZnQtc2lkZSB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cblxuICAgICZfX3JpZ2h0LXNpZGUge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAmX19sZWZ0LXNpZGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cblxuICAgICZfX3JpZ2h0LXNpZGUge1xuXG4gICAgfVxuICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2staXRlbS10aXRsZSB7XG4gICRiOiBcIi5mbG8tYmxvY2staXRlbS10aXRsZVwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9faGVhZGVyLWFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5LFxuICAgIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgJi0taW1nLWxhbmRzY2FwZSB7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtICN7KCRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCArIHJlbS1jYWxjKDQ3KSkgKiAyIH0pO1xuICAgIH1cbiAgICAmLS1pbWctcG9ydHJhaXQge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIH1cbiAgICAmLS1iZ2kge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgJi0tYWJvdmUge1xuXG4gICAgfVxuICAgICYtLWJnIHtcblxuICAgIH1cbiAgICAmLS1iZWxvdyB7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbiAgICAmX190ZXh0LWFyZWEge1xuXG4gICAgfVxuICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxOSk7XG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNCk7XG4gICAgICB9XG4gICAgICAmX19leGNlcnB0IHtcblxuICAgICAgfVxuXG4gICAgJl9fZGVjb3JhdGl2ZS1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgb3BhY2l0eTogMC4wNjtcbiAgICAgICAgbWluLXdpZHRoOiAxLjFlbTtcbiAgICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE0Nyk7XG4gICAgICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgJi0tZmVhdHVyZWQtaW1hZ2UtcG9zaXRpb24tYmcge1xuICAgICAgI3skYn1fX3RleHQtYXJlYS13cmFwIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE2NCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMzIpO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgJi0taW1nIHtcblxuICAgICAgfVxuICAgICAgJi0tYmdpIHtcblxuICAgICAgfVxuICAgICAgJi0tYWJvdmUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgICAmLS1iZyB7XG5cbiAgICAgIH1cbiAgICAgICYtLWJlbG93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTA0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmX190ZXh0LWFyZWEtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsICsgcmVtLWNhbGMoNDcpO1xuICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsICsgcmVtLWNhbGMoNDcpO1xuICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcblxuICAgICAgICB9XG4gICAgICAgICAgJl9fZGF0ZSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgICAgfVxuXG4gICAgICAgICZfX3RpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2V4Y2VycHQge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fZGVjb3JhdGl2ZS1hcmVhIHtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBoZWFkZXJ7XG4gICAgICB6LWluZGV4OiAzO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAuZmxvLWhlYWRlcl9fbG9nby0taXMtbGlnaHR7XG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGUge1xuICAgICAgICAmLm5vdC1zdGlja3l7XG4gICAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICYtLWltZyB7XG5cbiAgICAgIH1cbiAgICAgICYtLWJnaSB7XG5cbiAgICAgIH1cbiAgICAgICYtLWFib3ZlIHtcblxuICAgICAgfVxuICAgICAgJi0tYmcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZWxvdyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgICB9XG4gICAgICAmLS1pbWctbGFuZHNjYXBlLFxuICAgICAgJi0taW1nLXBvcnRyYWl0IHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RleHQtYXJlYS13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbCAwICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZXhjZXJwdCB7XG5cbiAgICAgICAgfVxuXG4gICAgICAmX19kZWNvcmF0aXZlLWFyZWEge1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbGlzdGluZy0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLTFcIjtcbiAgXG4gICZfX2l0ZW0ge1xuXG4gIH1cbiAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM5KTtcbiAgICB9XG4gICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuICAgICAgJl9fbGVmdC1zaWRlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYyg1Myk7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuXG4gICAgICAgICYtLWRlY29yYXRpb24tb24ge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgICAgICYtLWRlY29yYXRpb24tb2ZmIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgJl9fcmlnaHQtc2lkZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgJl9fZXhjZXJwdCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTkpO1xuICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAkZ2FwIDogcmVtLWNhbGMoOTEpO1xuICAgICZfX2dyaWQtc2l6ZXIge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDIpO1xuICAgIH1cbiAgICBcbiAgICAmX19pdGVtIHtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLyAyIC0gI3skZ2FwfSk7XG4gICAgICBtYXJnaW46IDAgI3skZ2FwIC8gMn0gcmVtLWNhbGMoMTQ4KSAjeyRnYXAgLyAyfTtcbiAgICAgICY6bnRoLWNoaWxkKDJuLTEpe1xuICAgICAgICAvLyBtYXJnaW4tcmlnaHQ6ICRnYXA7XG4gICAgICB9XG4gICAgICAmOmxhc3QtY2hpbGR7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICB9XG4gICAgICAmX190ZXh0LWFyZWEge1xuXG4gICAgICB9XG4gICAgICAgICZfX2xlZnQtc2lkZSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgJi0tZGVjb3JhdGlvbi1vbiB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tZGVjb3JhdGlvbi1vZmYge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICAgJl9fcmlnaHQtc2lkZSB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjQpO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fdGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAmX19leGNlcnB0IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19saW5rIHtcblxuICAgICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcblxuICAgICAgfVxuICAgICAgICAmX19sZWZ0LXNpZGUge1xuICAgICAgICAgICYtLWRlY29yYXRpb24tb24ge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWRlY29yYXRpb24tb2ZmIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICZfX3JpZ2h0LXNpZGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX190aXRsZSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fZGF0ZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICZfX2V4Y2VycHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2xpbmsge1xuXG4gICAgICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWxpc3RpbmctMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stbGlzdGluZy0yXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICAmX19pdGVtIHtcbiAgICAmLS1pcy1tYXNvbnJ5IHtcbiAgICAgICYgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI3MSk7XG4gICAgICAmLS0yLWNvbHVtbnMge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDM4MCk7XG4gICAgICB9XG4gICAgICAmLS00LWNvbHVtbnMge1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIxMCk7XG4gICAgICB9XG4gICAgICAmLS1pbWcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZ2kge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19vdmVybGF5IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDApO1xuICAgICAgfVxuXG4gICAgICAmLS1jb2x1bW5zLTQge1xuICAgICAgICAjeyRifV9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuXG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cbiAgICAgICZfX2xpbmsge1xuXG4gICAgICB9XG5cbiAgJi0taXMtbWFzb25yeSB7XG4gICAgI3skYn1fX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICYtLTItY29sdW1ucyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICAgICYtLTQtY29sdW1ucyB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgJjpob3ZlciAjeyRifV9fb3ZlcmxheSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAmLS1pbWcge1xuXG4gICAgICAgIH1cbiAgICAgICAgJi0tYmdpIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19vdmVybGF5IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuXG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2l0ZW0ge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAmLS1pbWcge1xuXG4gICAgICAgIH1cbiAgICAgICAgJi0tYmdpIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19vdmVybGF5IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1saXN0aW5nLTMge1xuICAkYjogXCIuZmxvLWJsb2NrLWxpc3RpbmctM1wiO1xuXG5cbiAgJl9faXRlbSB7XG4gIH1cbiAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAmLS1uby1tYXNvbnJ5IHtcbiAgICAgICAgJi0zLWNvbHVtbnMge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgICYtMi1jb2x1bW5zIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwNCk7XG4gICAgICAgIH1cblxuICAgICAgICAmLTQtY29sdW1ucyB7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxMzApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLS1pbWcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZ2kge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0LWFyZWEge1xuXG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICZfX2V4Y2VycHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuXG4gICAgICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9ja19wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIG1hcmdpbjogMCAkYmxvY2tfcGFkZGluZztcbiAgICAmX19pdGVtIHtcbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICYtLWltZyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1iZ2kge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICAmX19leGNlcnB0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMyk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2NhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgJl9fbGluayB7XG5cbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9faXRlbSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgICYtLWltZyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1iZ2kge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICAgICZfX2V4Y2VycHQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICAmX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19kYXRlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jYXRlZ29yeSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbGlzdGluZy00IHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLTRcIjtcblxuICAmX190b3Atd3JhcCB7XG5cbiAgfVxuICAmX19pdGVtIHtcbiAgICAmLS1iaWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgICAmX190b3Atd3JhcC1sZWZ0LXNpZGUge1xuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG5cbiAgICAgICZfX2JpZy1pdGVtLW92ZXJsYXkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIH1cbiAgICAgICAgJl9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19iaWctaXRlbS10aXRsZS1hcmVhIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNzAlLCAtNDAlKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fYmlnLWl0ZW0tY2F0ZWdvcnkge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2JpZy1pdGVtLXRpdGxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19iaWctaXRlbS10YWdzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tdGFnIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAmX19iaWctaXRlbS1saW5rIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDkuNSkgcmVtLWNhbGMoMjQpIHJlbS1jYWxjKDkuNSkgcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgJl9fdG9wLXdyYXAtcmlnaHQtc2lkZSB7XG5cbiAgICAgICAgI3skYn1fX2l0ZW0ge1xuICAgICAgICAgICYtLXNtYWxsIHt9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19zbWFsbC1pdGVtLW92ZXJsYXkge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc21hbGwtaXRlbS10aXRsZSB7XG5cbiAgICAgICAgICB9XG4gICAgICB9XG5cbiAgJl9fYm90dG9tLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG4gICAgJl9faXRlbSB7XG5cbiAgICAgICYtLXNtYWxsIHtcbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fc21hbGwtaXRlbS10aXRsZSB7XG4gICAgICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190b3Atd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgICAgJl9fdG9wLXdyYXAtbGVmdC1zaWRlIHtcbiAgICAgIH1cbiAgICAgICAgJl9faXRlbSB7XG4gICAgICAgICAgJi0tYmlnIHtcbiAgICAgICAgICAgICY6aG92ZXIgI3skYn1fX2JpZy1pdGVtLW92ZXJsYXkge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgJl9fYmlnLWl0ZW0tb3ZlcmxheSB7XG4gICAgICAgICAgJGdhcDogcmVtLWNhbGMoNTEpO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6ICRnYXA7XG4gICAgICAgICAgbGVmdDogJGdhcDtcbiAgICAgICAgICByaWdodDogJGdhcDtcbiAgICAgICAgICBib3R0b206ICRnYXA7XG5cbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYmlnLWl0ZW0tZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4NSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2JpZy1pdGVtLXRpdGxlLWFyZWEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2JpZy1pdGVtLWRlY29yYXRpdmUtbGV0dGVyIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tY2F0ZWdvcnkge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19iaWctaXRlbS10aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tdGFncyB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJl9fYmlnLWl0ZW0tdGFnIHtcblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19iaWctaXRlbS1saW5rIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAmX190b3Atd3JhcC1yaWdodC1zaWRlIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAjeyRifV9faXRlbSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpLFxuICAgICAgICAgICAgICAmOm50aC1jaGlsZCg0KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMiksXG4gICAgICAgICAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc21hbGwtaXRlbS10aXRsZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgJl9fYm90dG9tLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2l0ZW0ge1xuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICY6aG92ZXIgI3skYn1fX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCg0bikge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fc21hbGwtaXRlbS1vdmVybGF5IHtcbiAgICAgICAgICAkZ2FwOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogJGdhcDtcbiAgICAgICAgICBsZWZ0OiAkZ2FwO1xuICAgICAgICAgIHJpZ2h0OiAkZ2FwO1xuICAgICAgICAgIGJvdHRvbTogJGdhcDtcblxuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX3NtYWxsLWl0ZW0tdGl0bGUge1xuXG4gICAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdG9wLXdyYXAge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAgICZfX3RvcC13cmFwLWxlZnQtc2lkZSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcblxuICAgICAgICB9XG5cbiAgICAgICAgJl9fYmlnLWl0ZW0tb3ZlcmxheSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2JpZy1pdGVtLWRlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19iaWctaXRlbS10aXRsZS1hcmVhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQ1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19iaWctaXRlbS1kZWNvcmF0aXZlLWxldHRlciB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2JpZy1pdGVtLWNhdGVnb3J5IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tdGl0bGUge1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2JpZy1pdGVtLXRhZ3Mge1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2JpZy1pdGVtLXRhZyB7XG5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYmlnLWl0ZW0tbGluayB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgJl9fdG9wLXdyYXAtcmlnaHQtc2lkZSB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAjeyRifV9faXRlbSB7XG4gICAgICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19mZWF0dXJlZC1pbWFnZSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NtYWxsLWl0ZW0tb3ZlcmxheSB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc21hbGwtaXRlbS10aXRsZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgJl9fYm90dG9tLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2l0ZW0ge1xuXG4gICAgICAgICYtLWJpZyB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1zbWFsbCB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fc21hbGwtaXRlbS1vdmVybGF5IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fc21hbGwtaXRlbS10aXRsZSB7XG5cbiAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbGlzdGluZy01IHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLTVcIjtcblxuICAmX19pdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAvL3RleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9faXRlbS1kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoNzApO1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgIH1cbiAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9faXRlbS1kYXRlIHtcbiAgICAgIH1cbiAgICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygyNSkgcmVtLWNhbGMoOSkgcmVtLWNhbGMoMjUpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgJi0tdW5kZXItZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLy8gU2hvd3MgdXAgaW4gY2FzZSBmdWxsIGNvbnRlbnQgaXMgZGlzYWJsZWRcbiAgICAgICZfX2l0ZW0tZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG4gICAgICAmX19idXR0b24td3JhcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgICAmLS1kZWxpbWl0ZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoNDEpO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1zaGFyZS1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJGJsb2NrX3BhZGRpbmc6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMiArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrX3BhZGRpbmc7XG4gICAgJl9faXRlbSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg2MCkgcmVtLWNhbGMoNzUpO1xuICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoMTAwKTtcbiAgICAgIH1cbiAgICAgICAgJl9faXRlbS1kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzOCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbS10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tZGF0ZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tbGluayB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgICAgIC8vIFNob3dzIHVwIGluIGNhc2UgZnVsbCBjb250ZW50IGlzIGRpc2FibGVkXG4gICAgICAgICZfX2l0ZW0tZmVhdHVyZWQtaW1hZ2Uge1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgICAmLS1kZWxpbWl0ZXIge1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAwO1xuICAgICZfX2l0ZW0ge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzApIHJlbS1jYWxjKDM1KTtcbiAgICB9XG4gICAgICAmX190ZXh0LWFyZWEge1xuICAgICAgfVxuICAgICAgICAmX19pdGVtLWRlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKVxuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtLWRhdGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtLWxpbmsge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBTaG93cyB1cCBpbiBjYXNlIGZ1bGwgY29udGVudCBpcyBkaXNhYmxlZFxuICAgICAgICAmX19pdGVtLWZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19zaGFyZS1saW5rcyB7XG4gICAgICAgICAgJi0tZGVsaW1pdGVyIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1saXN0aW5nLTYge1xuICAkYjogXCIuZmxvLWJsb2NrLWxpc3RpbmctNlwiO1xuXG4gICZfX2l0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgICAmX190ZXh0LWFyZWEge1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgICAmX19kYXRlLWFuZC1jYXRlZ29yeSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICAgICAgJl9fZGF0ZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICB9XG4gICAgICAmX19leGNlcnB0IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYygyNSkgcmVtLWNhbGMoOSkgcmVtLWNhbGMoMjUpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICB9XG4gICAgJl9fZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNzIpO1xuICAgICZfX2l0ZW0ge1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDUpO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3RleHQtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmbGV4LWJhc2lzOiA1MCU7XG5cbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMDApIHJlbS1jYWxjKDgwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2RhdGUtYW5kLWNhdGVnb3J5IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNyk7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19kYXRlIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fY2F0ZWdvcnkge1xuICAgICAgICAgIH1cbiAgICAgICAgJl9fZXhjZXJwdCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgICB9XG4gICAgICAgICZfX2xpbmsge1xuICAgICAgICB9XG4gICAgICAmX19mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pdGVtIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuICAgICAgJl9fdGV4dC1hcmVhIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApIHJlbS1jYWxjKDI1KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgICAgICAmX19kZWNvcmF0aXZlLWltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZGF0ZS1hbmQtY2F0ZWdvcnkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2RhdGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19jYXRlZ29yeSB7XG4gICAgICAgICAgfVxuICAgICAgICAmX19leGNlcnB0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fbGluayB7XG4gICAgICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWltYWdlIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbi0yIHtcbiAgJGI6IFwiLmZsby1ibG9jay1saXN0aW5nLXBhZ2luYXRpb24tMlwiO1xuICBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIFxuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgYmFja2dyb3VuZC1jb2xvcik7XG4gIFxuICAmX19idXR0b24td3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgY29sb3I6IHZhcigtLXRleHQtY29sb3IpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tdGV4dC1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYmFja2dyb3VuZC1jb2xvcik7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvciwgY29sb3IpO1xuICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgXG4gICAgJjpob3ZlciB7XG4gICAgICBjb2xvcjogdmFyKC0taG92ZXItdGV4dC1jb2xvcik7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1ob3Zlci1iYWNrZ3JvdW5kLWNvbG9yKVxuICAgIH1cbiAgfVxuICAgICZfX2J1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxMikgcmVtLWNhbGMoNjQpO1xuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2J1dHRvbi13cmFwIHtcbiAgICB9XG4gICAgICAmX19idXR0b24ge1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fYnV0dG9uLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2J1dHRvbiB7XG4gICAgICB9XG4gIH1cbn0iLCIuZmxvLWJsb2NrLWxpc3RpbmctcGFnaW5hdGlvbiB7XG4gICRiOiBcIi5mbG8tYmxvY2stbGlzdGluZy1wYWdpbmF0aW9uXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgJl9fbmF2aWdhdGlvbiB7XG5cbiAgICAmLS1wcmV2aW91cyB7XG5cbiAgICAgICYgaSB7XG5cbiAgICAgIH1cblxuICAgIH1cbiAgICAmLS1uZXh0IHtcbiAgICAgICYgaSB7XG5cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgJl9fcGFnZS1saW5rcyB7XG5cbiAgfVxuICAgICZfX3BhZ2UtbnVtYmVyIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzApO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuXG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICB9XG4gICAgICAmOmhvdmVyOmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cblxuICAgICAgJi0tYWN0aXZlIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgICAmX19wYWdlLWRvdHMge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgJl9fbmF2aWdhdGlvbiB7XG4gICAgICAmLS1wcmV2aW91cyB7XG4gICAgICAgICYgaSB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYtLW5leHQge1xuICAgICAgICAmIGkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgICAmX19zcGFjZXIge1xuICAgICAgICBmbGV4OiAwIDEgMTAlO1xuICAgICAgfVxuICAgICZfX3BhZ2UtbGlua3Mge1xuXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fcGFnZS1udW1iZXIge1xuICAgICAgfVxuICAgICAgJl9fcGFnZS1kb3RzIHtcblxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmX19uYXZpZ2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAmLS1wcmV2aW91cyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgJiBpIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgJiBpIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTEpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICZfX3BhZ2UtbGlua3Mge1xuICAgIH1cbiAgICAgICZfX3BhZ2UtbnVtYmVyIHtcblxuICAgICAgICAmLS1hY3RpdmUge1xuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3BhZ2UtZG90cyB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stbnVtZXJpYy1kZXRhaWxzIHtcbiAgJGI6IFwiLmZsby1ibG9jay1udW1lcmljLWRldGFpbHNcIjtcblxuICAmX19udW1lcmljLWRldGFpbCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICB9XG4gIFxuICAgICZfX251bWVyaWMtZGV0YWlsLW51bWJlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgICYjeyRifV9fcGx1cy13aWxsLXNob3cge1xuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIGxlZnQ6IDEwMCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgXG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgIH1cbiAgICAgICAgJiN7JGJ9X19wbHVzLXNob3duIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgMDtcbiAgICBcbiAgICAmX19udW1lcmljLWRldGFpbCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoMjUpO1xuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19udW1lcmljLWRldGFpbCB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg1MCkgMDtcbiAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg1MCk7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmZsby1ibG9jay1wcmVzcyB7XG4gICRiOiBcIi5mbG8tYmxvY2stcHJlc3NcIjtcbiAgXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgXG4gICZfX3ByZXNzLWltYWdlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgfVxuICBcbiAgJl9fc2xpZGVyIHtcbiAgICAjeyRifV9fcHJlc3MtaW1hZ2Uge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSkgYXV0byAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc2xpY2stc2xpZGUge1xuICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICB9XG4gICAgLnNsaWNrLWFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICBcbiAgICAjeyRifV9fYXJyb3cge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICB6LWluZGV4OiAxMDA7XG4gICAgfVxuICAgIFxuICAgICN7JGJ9X19hcnJvdy0tcHJldiB7XG4gICAgICBsZWZ0OiByZW0tY2FsYygzMik7XG4gICAgfVxuICAgICN7JGJ9X19hcnJvdy0tbmV4dCB7XG4gICAgICByaWdodDogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgfVxuICAmX19wcmVzcy1pbWFnZXMtd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAmX19wcmVzcy1pbWFnZXMtd3JhcCwgXG4gICZfX3NsaWRlcyA+IGRpdiB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDUzKTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICB9XG4gICAgJl9fcHJlc3MtaW1hZ2Uge1xuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIFxuICAgICZfX3NsaWRlciB7XG4gICAgICAjeyRifV9fYXJyb3cge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fcHJlc3MtaW1hZ2VzLXdyYXAge1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygzMCk7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICB9XG4gICAgICAmX19wcmVzcy1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogcmVtLWNhbGMoNDUpICogMztcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgJjpudGgtY2hpbGQoNW4pIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICB9XG4gIFxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgJl9fc2xpZGVyIHtcbiAgICAgIFxuICAgICAgI3skYn1fX2Fycm93LS1wcmV2IHtcbiAgICAgICAgbGVmdDogLSByZW0tY2FsYyg0NCk7XG4gICAgICB9XG4gICAgICAjeyRifV9fYXJyb3ctLW5leHQge1xuICAgICAgICByaWdodDogLSByZW0tY2FsYyg0NCk7XG4gICAgICB9XG4gICAgfVxuICB9IFxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIFxuICAgICZfX3NsaWRlciB7XG4gICAgICBcbiAgICAgICZfX2Fycm93e1xuICAgICAgICBib3R0b206IDA7XG4gICAgICB9XG4gICAgfSBcbiAgICBcbiAgICAmX19wcmVzcy1pbWFnZXMtd3JhcCB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cbiAgICAgICZfX3ByZXNzLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKSBhdXRvO1xuXG4gICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgfVxufVxuIiwiLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2UtMSB7XG4gICRiOiBcIi5mbG8tYmxvY2stcHJpY2luZy1wYWNrYWdlLTFcIjtcblxuICBkaXNwbGF5OiBmbGV4O1xuICAmX19pbWFnZS13cmFwIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyXG4gICAgd2lkdGg6IHJlbS1jYWxjKDkzNSk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlXG4gIH1cbiAgICAmX19wYWNrYWdlLW51bWJlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAmX190ZXh0LWFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOSk7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE0KTtcbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbiAgICAmX19wYWNrYWdlLXByaWNlIHtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgICAmLS10ZXh0LWFyZWEtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fcGFja2FnZS1udW1iZXIge1xuICAgICAgICBib3R0b206IHJlbS1jYWxjKDY5KTtcbiAgICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYyg3Mik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYyg3Mik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAmX190ZXh0LWFyZWEge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYyg3MikgMDtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDY0KSByZW0tY2FsYyg5MCkgcmVtLWNhbGMoNzgpIHJlbS1jYWxjKDkwKTtcbiAgICAgIHdpZHRoOiByZW0tY2FsYyg0NjEpO1xuICAgICAgei1pbmRleDogMTtcblxuICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygtMjMwKTtcbiAgICAgIH1cbiAgICAgICYtLXRleHQtYXJlYS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoLTIzMCk7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pY29uIHtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX3BhY2thZ2UtcHJpY2Uge1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDApO1xuXG4gICAgICAmLS10ZXh0LWFyZWEtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmLS10ZXh0LWFyZWEtcG9zaXRpb24tcmlnaHQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX3BhY2thZ2UtbnVtYmVyIHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgICZfX3RleHQtYXJlYSB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgcmVtLWNhbGMoMzApO1xuICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgJi0tdGV4dC1hcmVhLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogMTtcbiAgICAgIH1cbiAgICAgICYtLXRleHQtYXJlYS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19wYWNrYWdlLXByaWNlIHtcbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1wcmljaW5nLXBhY2thZ2VzLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMlwiO1xuXG4gICZfX3RpdGxlLWFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICZfX3BhY2thZ2VzLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gIH1cbiAgICAmX19wYWNrYWdlIHtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoNDc1KTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcblxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCIuZmxvLWJsb2NrLXByaWNpbmctcGFja2FnZXMtMl9fcGFja2FnZVwiKTtcbiAgICAgICZfX3BhY2thZ2UtY29udGVudCB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTkpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgcmVtLWNhbGMoMzkpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAgICZfX3BhY2thZ2UtbnVtYmVyLWFuZC1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDkyKTtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtbnVtYmVyIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgfVxuICAgICAgICAmX19wYWNrYWdlLXRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNyk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4Nik7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgICAgICAmX19wYWNrYWdlLXByaWNlIHtcbiAgICAgICAgfVxuICAgICAgJl9fcGFja2FnZS1saW5rIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB9XG4gICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEyKSByZW0tY2FsYyg1MCk7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZDtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yLGJhY2tncm91bmQtY29sb3IsYm9yZGVyLWNvbG9yKTtcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICZfX3RpdGxlLWFyZWEge1xuICAgICAgbWFyZ2luOiByZW0tY2FsYyg2MikgMDtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgJl9fcGFja2FnZXMtYXJlYSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICYtLTMtcGFja2FnZXMge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fcGFja2FnZSB7XG4gICAgICAgICRnYXA6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMgLSAjeyRnYXB9KTtcblxuICAgICAgICAmOm5vdCg6aG92ZXIpIHtcbiAgICAgICAgICAjeyRifV9fcGFja2FnZS1jb250ZW50IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fcGFja2FnZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fcGFja2FnZS1udW1iZXItYW5kLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDAhaW1wb3J0YW50O1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3BhY2thZ2UtdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWVsZW1lbnRzLW9uLWltYWdlLWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3BhY2thZ2UtcHJpY2Uge1xuICAgICAgICAgICAgY29sb3I6IHZhcigtLWVsZW1lbnRzLW9uLWltYWdlLWNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1jb250ZW50IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICBjb2xvcjogdmFyKC0tZWxlbWVudHMtb24taG92ZXItY29sb3IpO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fcGFja2FnZS1udW1iZXItYW5kLWRlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3BhY2thZ2UtbnVtYmVyIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgJl9fcGFja2FnZS10aXRsZSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGhlaWdodCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtcHJpY2Uge1xuICAgICAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1saW5rIHtcbiAgICAgICAgfVxuICAgICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uLXdyYXAge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjMpO1xuICAgIH1cbiAgICAgICZfX3BhY2thZ2UtYmxvY2stYnV0dG9uIHtcbiAgICAgIH1cblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICBtYXJnaW46IHJlbS1jYWxjKDMwKSAwO1xuICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgIH1cbiAgICAmX19wYWNrYWdlcy1hcmVhIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW5cbiAgICB9XG4gICAgICAmX19wYWNrYWdlIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuICAgICAgICBcbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fcGFja2FnZS1jb250ZW50IHtcbiAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtbnVtYmVyLWFuZC1kZWNvcmF0aXZlLWljb24ge1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3BhY2thZ2UtbnVtYmVyIHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2RlY29yYXRpdmUtaWNvbiB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICZfX3BhY2thZ2UtdGl0bGUge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19wYWNrYWdlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fcGFja2FnZS1wcmljZSB7XG4gICAgICAgICAgfVxuICAgICAgICAmX19wYWNrYWdlLWxpbmsge1xuICAgICAgICB9XG4gICAgJl9fcGFja2FnZS1ibG9jay1idXR0b24td3JhcCB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICAgICAgJl9fcGFja2FnZS1ibG9jay1idXR0b24ge1xuICAgICAgfVxuXG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtcyB7XG4gICRiOiBcIi5mbG8tYmxvY2stcmVsYXRlZC1pdGVtc1wiO1xuXG4gICZfX3RpdGxlLWFyZWEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX3ByZXRpdGxlIHtcbiAgICB9XG4gICAgJl9fdGl0bGUge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX3RpdGxlLWRlY29yYXRpb24ge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG5cbiAgICAgIH1cblxuICAmX19pdGVtcyB7XG5cbiAgfVxuICAgICZfX2l0ZW0ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICAgJl9faXRlbS1mZWF0dXJlZC1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDI5Nyk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICB9XG4gICAgICAmX19pdGVtLXRleHQtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzNykgcmVtLWNhbGMoNTApO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtLWNhdGVnb3J5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDc5KTtcbiAgICB9XG4gICAgICAmX19wcmV0aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcblxuICAgICAgfVxuICAgICAgICAmX190aXRsZS1kZWNvcmF0aW9uIHtcbiAgICAgICAgICAkb2Zmc2V0OiByZW0tY2FsYygzMSk7XG5cbiAgICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgIHJpZ2h0OiBjYWxjKDEwMCUgKyAjeyRvZmZzZXR9KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgbGVmdDogY2FsYygxMDAlICsgI3skb2Zmc2V0fSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAmX19pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygyOTcpO1xuICAgICAgICBtYXJnaW46IDAgcmVtLWNhbGMoMjUuNSk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9faXRlbS1mZWF0dXJlZC1pbWFnZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19pdGVtLXRleHQtYXJlYSB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX2l0ZW0tdGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2l0ZW0tY2F0ZWdvcnkge1xuXG4gICAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9fcHJldGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtZGVjb3JhdGlvbiB7XG4gICAgICAgICAgJG9mZnNldDogcmVtLWNhbGMoMTApO1xuXG4gICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICByaWdodDogY2FsYygxMDAlICsgI3skb2Zmc2V0fSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7JG9mZnNldH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgJl9faXRlbXMge1xuXG4gICAgfVxuICAgICAgJl9faXRlbSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0tZmVhdHVyZWQtaW1hZ2Uge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbS10ZXh0LWFyZWEge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX19pdGVtLXRpdGxlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmX19pdGVtLWNhdGVnb3J5IHtcblxuICAgICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1zaGFyZS1hbmQtdGFncyB7XG4gICRiOiBcIi5mbG8tYmxvY2stc2hhcmUtYW5kLXRhZ3NcIjtcblxuICAmX19zaGFyZSB7XG4gIH1cbiAgICAmX19zaGFyZS1sYWJlbCB7XG5cbiAgICB9XG4gICAgJl9fc2hhcmUtbGlua3Mge1xuICAgICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgfVxuICAgIH1cblxuICAmX190YWdzIHtcblxuICB9XG4gICAgJl9fdGFnIHtcblxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWwgcmVtLWNhbGMoMjIxKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgJl9fc2hhcmUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAgICZfX3NoYXJlLWxhYmVsIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg3NSk7XG4gICAgICB9XG4gICAgICAmX19zaGFyZS1saW5rcyB7XG4gICAgICAgIGEge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAmX190YWdzIHtcbiAgICAgIHdpZHRoOiA1MCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICAgICAmX190YWdzIGEge1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNTApO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG5cbiAgICAmX19zaGFyZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgfVxuICAgICAgJl9fc2hhcmUtbGFiZWwge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgICZfX3NoYXJlLWxpbmtzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGEge1xuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICZfX3RhZ3Mge1xuXG4gICAgfVxuICAgICAgJl9fdGFncyBhIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stc2xpZGVzaG93LTEge1xuICAkYjogXCIuZmxvLWJsb2NrLXNsaWRlc2hvdy0xXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19zbGlkZXMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuICAgICZfX3NsaWRlIHtcblxuICAgIH1cbiAgICAgICZfX3NsaWRlLWNvbnRlbnQge1xuXG4gICAgICB9XG5cblxuICAmX19jb250ZW50LXdyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gIH1cbiAgICAmX19oZWFkZXItYXJlYSB7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIHVzZXItc2VsZWN0OiBpbml0aWFsO1xuXG4gICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9faGVhZGVyIHtcblxuICAgICAgfVxuICAgICAgICAmX19oZWFkZXItbWVudSB7XG5cbiAgICAgICAgfVxuXG4gICAgJl9fbWlkZGxlLWFyZWEge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtaW4taGVpZ2h0OiByZW0tY2FsYyg4MCk7XG4gICAgfVxuICAgICAgJl9fYXJyb3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZSgpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgIH1cbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2xvZ28ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIC8vIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICYtLWlzLWxpZ2h0IHtcbiAgICAgICAgICAjeyRifV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJl9fbG9nby1pbWFnZSB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICAgJi0tZGVmYXVsdCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgQGltcG9ydCBcImZsby1ibG9jay1zbGlkZXNob3ctMV9fZm9vdGVyLWFyZWFcIjtcblxuICAgIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fc2xpZGVzIHtcbiAgICB9XG4gICAgICAmX19zbGlkZSB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtY29udGVudCB7XG5cbiAgICAgICAgfVxuXG4gICAgJl9fY29udGVudC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICB9XG4gICAgICAgICZfX2hlYWRlciB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjkpICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2hlYWRlci1tZW51IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDg5KVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAmX19taWRkbGUtYXJlYSB7XG4gICAgICB9XG4gICAgICAgICZfX2Fycm93IHtcblxuICAgICAgICAgICYtLW5leHQge1xuICAgICAgICAgICAgcmlnaHQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2xvZ28taW1hZ2Uge1xuICAgICAgICAgICAgJi0tZGVmYXVsdCB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICZfX2Zvb3Rlci1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgLy8gb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICYtLW1vYmlsZS1mcmVlemUge1xuICAgICAgICBvdmVyZmxvdzogc2Nyb2xsO1xuICAgIH1cbiAgICAme1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAmX19zbGlkZXMge1xuICAgICAgLy8gcG9zaXRpb246IGZpeGVkO1xuICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gdG9wOiAwO1xuICAgICAgLy8gbGVmdDogMDtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgfVxuICAgICAgJl9fc2xpZGUge1xuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1jb250ZW50IHtcbiAgICAgICAgfVxuXG4gICAgJl9fY29udGVudC13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIC8vIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICAubm90LXN0aWNreXtcbiAgICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMV9fbG9nby0taXMtbGlnaHR7XG4gICAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1kZWZhdWx0e1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4MCk7XG4gICAgICAgIC5mbG8taGVhZGVyLW1vYmlsZS5ub3Qtc3RpY2t5IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX19oZWFkZXIge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgICAgICAmX19oZWFkZXItbWVudSB7XG5cbiAgICAgICAgICB9XG5cbiAgICAgICZfX21pZGRsZS1hcmVhIHtcbiAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgfVxuICAgICAgICAmX19hcnJvdyB7XG5cbiAgICAgICAgICAmLS1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1wcmV2IHtcbiAgICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICZfX2xvZ28ge1xuICAgICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fbG9nby1pbWFnZSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAjeyRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwgKiA0fSk7XG4gICAgICAgICAgICAmLS1kZWZhdWx0IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tbGlnaHQge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAmX19tb2JpbGUtZml4ZWQtaGVpZ2h0e1xuICAgICAgfVxuICAgICAgICAmX19oZWFkZXItYXJlYXtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICAmX19mb290ZXItYXJlYSB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgICAgIH1cbiAgfVxufVxuIiwiJl9fZm9vdGVyLWFyZWEge1xuICAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hLFxuICAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iLFxuICAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jLFxuICAuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kLFxuXG4gIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEsXG4gIC5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWIsXG5cbiAgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYSxcbiAgLmZsby1mb290ZXItY29weXJpZ2h0cy1hcmVhLXR5cGUtYlxuICB7XG4gICAgY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICB9XG5cbiAgLyogU1RBUlQ6IEFQUExZIFNIQURPVyBUTyBJTlNUQUdSQU0gSU1BR0VTICovXG4gICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgLmltZy1ibG9jayB7XG4gICAgICBib3gtc2hhZG93OiAwcHggMHB4IDQycHggNXB4IHJnYmEoMCwwLDAsIDAuNCk7XG4gICAgfVxuICAvKiBFTkQ6IEFQUExZIFNIQURPVyBUTyBJTlNUQUdSQU0gSU1BR0VTICovXG59XG5cbiAgLmZsby1ibG9jayB7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gIH1cbiAgJl9fZm9vdGVyLWRlbGltaXRlciB7XG4gIH1cbiAgICAuZmxvLWJsb2NrLWRlbGltaXRlci0xX19kZWxpbWl0ZXItbGluZSB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB9XG4gICAgLmZsby1ibG9jay1kZWxpbWl0ZXItMV9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAmX19mb290ZXIge1xuICB9XG5cbiAgICAvKiBTVEFSVDogTElOSyBTVFlMRSAqL1xuICAgICAgJl9fbGluayB7XG4gICAgICAgICYtLXN0eWxlLWJ1dHRvbiB7XG4gICAgICAgICAgQGV4dGVuZCAuZmxvLWJ1dHRvbjtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsIGJvcmRlci1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgJi0tc3R5bGUtbGluayB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgLyogRU5EOiBMSU5LIFNUWUxFICovXG5cbiAgICAmX19mb290ZXItbGVmdC1zaWRlLFxuICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYSxcbiAgICAmX19mb290ZXItcmlnaHQtc2lkZVxuICAgIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgfVxuICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUge1xuXG4gICAgfVxuICAgICAgJl9fZm9vdGVyLWxlZnQtc2lkZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgfVxuICAgICAgJl9fZm9vdGVyLWxlZnQtc2lkZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUtbGluayB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuXG4gICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG4gICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI3KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG4gICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICBvcGFjaXR5OiAwLjEhaW1wb3J0YW50O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG5cbiAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1zdWJ0aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzgpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG4gICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtbGluayB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAmLFxuICAgICAgICAmLmhpZGRlbiB7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAmLnZpc2libGUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zY3JvbGxkb3duIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygtMzMuNSk7XG5cbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cblxuICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlIHtcblxuICAgIH1cbiAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG4gICAgICAmX19mb290ZXItcmlnaHQtc2lkZS10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlLWxpbmsge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIH1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgJl9fZm9vdGVyLWFyZWEge1xuICB9XG4gICAgJl9fZm9vdGVyIHtcbiAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDc5KTtcbiAgICB9XG4gICAgICAmX19mb290ZXItZGVsaW1pdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDY4KTtcbiAgICAgIH1cblxuICAgICAgJl9fZm9vdGVyLWxlZnQtc2lkZSxcbiAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYSxcbiAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlXG4gICAgICB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgfVxuICAgICAgJl9fZm9vdGVyLWxlZnQtc2lkZSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSByZW0tY2FsYyg2NikgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDM2KTtcblxuICAgICAgICB3aWR0aDogMjklO1xuICAgICAgfVxuICAgICAgICAmX19mb290ZXItbGVmdC1zaWRlLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUtdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItbGVmdC1zaWRlLWxpbmsge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGUodHJ1ZSk7XG4gICAgICAgIH1cblxuICAgICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogNDIlO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSkgcmVtLWNhbGMoNjYpO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygxNzgpO1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuXG4gICAgICB9XG4gICAgICAgICYtLW1pZGRsZS1hcmVhLWhhcy1uby1ib3JkZXJzIHtcbiAgICAgICAgICAjeyRifV9fZm9vdGVyLWxlZnQtc2lkZSxcbiAgICAgICAgICAjeyRifV9fZm9vdGVyLXJpZ2h0LXNpZGUge1xuICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX2Zvb3Rlci1taWRkbGUtYXJlYSB7XG4gICAgICAgICAgICB3aWR0aDogNjAlO1xuICAgICAgICAgICAgJjpiZWZvcmUsXG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1zdWJ0aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtbGluayB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZSh0cnVlKTtcbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2Nyb2xsZG93biB7XG5cbiAgICAgICAgfVxuXG4gICAgICAmX19mb290ZXItcmlnaHQtc2lkZSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KSByZW0tY2FsYygzNikgcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDY2KTtcbiAgICAgICAgd2lkdGg6IDI5JTtcbiAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLXJpZ2h0LXNpZGUtdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLXJpZ2h0LXNpZGUtdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItcmlnaHQtc2lkZS1saW5rIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKHRydWUpO1xuICAgICAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAmX19mb290ZXItYXJlYSB7XG4gIH1cbiAgICAmX19mb290ZXItZGVsaW1pdGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgJl9fZm9vdGVyIHtcblxuICAgIH1cbiAgICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgfVxuICAgICAgICAmX19mb290ZXItbGVmdC1zaWRlLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1sZWZ0LXNpZGUtdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mb290ZXItbGVmdC1zaWRlLWxpbmsge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhIHtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgfVxuICAgICAgICAmX19mb290ZXItbWlkZGxlLWFyZWEtc2xpZGUtdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLW1pZGRsZS1hcmVhLXNsaWRlLXN1YnRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zbGlkZS1saW5rIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1taWRkbGUtYXJlYS1zY3JvbGxkb3duIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMzUpfSk7XG4gICAgICAgIH1cblxuICAgICAgJl9fZm9vdGVyLXJpZ2h0LXNpZGUge1xuXG4gICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2Zvb3Rlci1yaWdodC1zaWRlLXRleHQge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fZm9vdGVyLXJpZ2h0LXNpZGUtbGluayB7XG5cbiAgICAgICAgfVxufVxuIiwiLmZsby1ibG9jay1zbGlkZXNob3ctMiB7XG4gICRiOiBcIi5mbG8tYmxvY2stc2xpZGVzaG93LTJcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICZfX3NsaWRlcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG4gICAgJl9fc2xpZGUge1xuXG4gICAgfVxuXG4gICZfX2NvbnRlbnQtd3JhcCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAmID4gKiB7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICB9XG4gIH1cbiAgICAmX19hcnJvdyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKCk7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG5cbiAgICAgICYtLW5leHQge1xuICAgICAgfVxuICAgICAgJi0tcHJldiB7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgdXNlci1zZWxlY3Q6IGluaXRpYWw7XG5cbiAgICAgIGhlYWRlcjpub3QoLmlzLXN0aWNreSkge1xuICAgICAgICAuZmxvLWhlYWRlciB7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJl9fbG9nbyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAvLyBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgJi0taXMtbGlnaHQge1xuICAgICAgICAjeyRifV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cbiAgICAgICZfX2xvZ28taW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICYtLWRlZmF1bHQge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuICAgICAgICAmLS1saWdodCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAmX19tZW51LXdyYXAge1xuXG4gICAgfVxuICAgICAgJl9fbWVudSB7XG5cbiAgICAgIH1cblxuICAgICZfX3Njcm9sbC1kb3duLWFyZWEge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4Nyk7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgfVxuICAgICAgJl9fc2Nyb2xsLWRvd24tYXJlYS1pY29uIHtcblxuICAgICAgfVxuICAgICAgJl9fc2Nyb2xsLWRvd24tYXJlYS1sYWJlbCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ0KTtcbiAgICAgIH1cblxuICAuZmxvLWhlcm8tdmlkZW8tZW1iZWRfX2J1dHRvbiB7XG4gICAgYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgdG9wOiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIDApO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX19zbGlkZXMge1xuXG4gICAgfVxuICAgICAgJl9fc2xpZGUge1xuXG4gICAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgICAmX19hcnJvdyB7XG5cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgcmlnaHQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICB9XG4gICAgICAgICYtLXByZXYge1xuICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuICAgICAgICAmLS1oZWFkZXItbWVudS1pdGVtcy1oaWRkZW4ge1xuICAgICAgICAgIC5mbG8taGVhZGVyIC5tZW51IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi0taGVhZGVyLWxvZ28taGlkZGVuIHtcbiAgICAgICAgICAuZmxvLWhlYWRlcl9fbG9nbyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cblxuICAgICAgJl9fbG9nbyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgIGZsZXgtc2hyaW5rOiAxO1xuICAgICAgfVxuICAgICAgICAmX19sb2dvLWltYWdlIHtcbiAgICAgICAgICAmLS1kZWZhdWx0IHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1saWdodCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgJl9fbWVudS13cmFwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgIH1cbiAgICAgICAgJl9fbWVudSB7XG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogcmVtLWNhbGMoMTcxKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICZfX3Njcm9sbC1kb3duLWFyZWEge1xuXG4gICAgICB9XG4gICAgICAgICZfX3Njcm9sbC1kb3duLWFyZWEtaWNvbiB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19zY3JvbGwtZG93bi1hcmVhLWxhYmVsIHtcblxuICAgICAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC8vIG92ZXJmbG93LXk6IHZpc2libGU7XG4gICAgJi0tbW9iaWxlLWZyZWV6ZSB7XG4gICAgICAgIG92ZXJmbG93OiBzY3JvbGw7XG4gICAgfVxuICAgICZfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZXtcbiAgICAgIG9wYWNpdHk6MSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmX19sb2dvLS1pcy1saWdodCAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28taW1hZ2UtLWRlZmF1bHR7XG4gICAgICBvcGFjaXR5OjA7XG4gICAgfVxuICAgICZfX3NsaWRlcyB7XG4gICAgICAvLyBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAvLyBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAvLyB0b3A6IDA7XG4gICAgICAvLyBsZWZ0OiAwO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICB9XG4gICAgJl9fYXJyb3cge1xuXG4gICAgICAmLS1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgei1pbmRleDogMTAwMDtcbiAgICAgIH1cbiAgICAgICYtLXByZXYge1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fc2xpZGUge1xuXG4gICAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIC8vcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLy96LWluZGV4OiAxO1xuICAgICAgb3ZlcmZsb3c6c2Nyb2xsO1xuICAgICAgLy9wYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMCk7XG4gICAgICAvL21pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOjA7XG4gICAgICBsZWZ0OjA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhbGw7XG4gICAgfVxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgICAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX21vYmlsZS1oZWFkZXItbWVudS1oaWRkZW4ge1xuICAgICAgICAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19tZW51LXRyaWdnZXIge1xuICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fbW9iaWxlLWhlYWRlci1sb2dvLWhpZGRlbiB7XG4gICAgICAgIC5mbG8taGVhZGVyLW1vYmlsZSAuZmxvLWhlYWRlci1tb2JpbGVfX2xvZ28ge1xuICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fbG9nbyB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgICAgbWFyZ2luOmF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fbG9nby1pbWFnZSB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gI3skZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsICogNH0pO1xuXG4gICAgICAgICAgJi0tZGVmYXVsdCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbGlnaHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICZfX21lbnUtd3JhcCB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgfVxuICAgICAgICAmX19tZW51IHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgJiA+IGxpID4gdWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNoaWxkcmVuLXZpc2libGUge1xuICAgICAgICAgICAgJiA+ICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwJSkgcm90YXRlKDBkZWcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fbWVudS1kcm9wZG93bi10b2dnbGUge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMDtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24odHJhbnNmb3JtKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAwO1xuICAgICAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAmX19zY3JvbGwtZG93bi1hcmVhIHtcblxuICAgICAgfVxuICAgICAgICAmX19zY3JvbGwtZG93bi1hcmVhLWljb24ge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fc2Nyb2xsLWRvd24tYXJlYS1sYWJlbCB7XG5cbiAgICAgICAgfVxuXG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stc2xpZGVzaG93LTMge1xuICAkYjogXCIuZmxvLWJsb2NrLXNsaWRlc2hvdy0zXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmX19zbGlkZXMge1xuXG4gIH1cblxuICAmX19jb250ZW50LXdyYXAge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICYgPiAqIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIH1cbiAgfVxuXG4gICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICB1c2VyLXNlbGVjdDogaW5pdGlhbDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIGNvbG9yOiBpbmhlcml0IWltcG9ydGFudDtcbiAgICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICZfX3RpdGxlLWFyZWEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG4gICAgICAmX190aXRsZS1hcmVhLXRpdGxlLXdyYXAge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlLWFyZWEtdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwLjEhaW1wb3J0YW50O1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdG9wOiBjYWxjKDUwJSArIDAuMWVtKTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMWVtIWltcG9ydGFudDtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgICZfX3RpdGxlLWFyZWEtc3VidGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMTApfSk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlLWFyZWEtYnV0dG9uIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgKyAxOS4zNzV2aCk7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihhbGwpO1xuXG4gICAgICAgICYsXG4gICAgICAgICYuaGlkZGVuIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB9XG4gICAgICAgICYudmlzaWJsZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgJl9fYXJyb3dzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgfVxuICAgICAgJl9fYXJyb3cge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHksIGNvbG9yKTtcblxuICAgICAgICBvcGFjaXR5OiAwLjI4O1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1uZXh0IHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zY3JvbGwtZG93bi1hcmVhIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDg3KTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcbiAgICAgIH1cbiAgICAgICAgJl9fc2Nyb2xsLWRvd24tYXJlYS1pY29uIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3Njcm9sbC1kb3duLWFyZWEtbGFiZWwge1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQ0KTtcbiAgICAgICAgfVxuXG4gIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICBib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB0b3A6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3NsaWRlcyB7XG5cbiAgICB9XG5cbiAgICAmX19jb250ZW50LXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG5cbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG4gICAgICAmLS1oZWFkZXItcG9zaXRpb24tYm90dG9tIHtcbiAgICAgICAgI3skYn1fX2NvbnRlbnQtd3JhcCB7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fc2Nyb2xsLWRvd24tYXJlYSB7XG4gICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICAgICYtbGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2hlYWRlci1hcmVhIHtcbiAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuICAgICAgICBoZWFkZXI6bm90KC5pcy1zdGlja3kpIC5mbG8taGVhZGVyX19tZW51ID4gZGl2ID4gdWwgPiBsaSA+IHVsIHtcbiAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArIDEuNXJlbSk7XG4gICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICB0b3A6MTAwJTtcbiAgICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgIGJvdHRvbTogYXV0bztcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG5cbiAgICAgICZfX2hlYWRlci1hcmVhIHtcbiAgICAgICAgLmZsby1oZWFkZXIge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgJl9fdGl0bGUtYXJlYSB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtYXJlYS10aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlLWFyZWEtc3VidGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUtYXJlYS1idXR0b24ge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fYXJyb3dzIHtcbiAgICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICB9XG4gICAgICAgICZfX2Fycm93IHtcblxuICAgICAgICAgICYtLXByZXYge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICYtLW5leHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgJl9fbG9nby0taXMtbGlnaHQgLmZsby1oZWFkZXItbW9iaWxle1xuICAgICAgb3BhY2l0eToxICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgICZfX2xvZ28tLWlzLWxpZ2h0IC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdHtcbiAgICAgIG9wYWNpdHk6MDtcbiAgICB9XG4gICAgJl9fc2xpZGVzIHtcbiAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIC8vIHRvcDogMDtcbiAgICAgIC8vIGxlZnQ6IDA7XG4gICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgIH1cblxuICAgICZfX2NvbnRlbnQtd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgLy8gcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDowO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDApO1xuICAgIH1cblxuICAgICAgJl9faGVhZGVyLWFyZWEge1xuICAgICAgICAuZmxvLWhlYWRlci1tb2JpbGUubm90LXN0aWNreSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cblxuICAgICAgfVxuXG4gICAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgICAgdG9wOiA0MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlIHtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsKjV9KTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlLWFyZWEtc3VidGl0bGUge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSAjeyRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWwqNX0pO1xuICAgICAgICB9XG4gICAgICAgICZfX3RpdGxlLWFyZWEtYnV0dG9uIHtcblxuICAgICAgICB9XG5cbiAgICAgICZfX2Fycm93cyB7XG4gICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAgIH1cbiAgICAgICAgJl9fYXJyb3cge1xuXG4gICAgICAgICAgJi0tcHJldiB7XG5cbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay1zbGlkZXNob3ctNCB7XG4gICRiOiBcIi5mbG8tYmxvY2stc2xpZGVzaG93LTRcIjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICYtLWxheW91dC1iIHtcbiAgICAjeyRifV9fY291bnRlcixcbiAgICAjeyRifV9fYXJyb3cge1xuICAgICAgLy8gbWl4LWJsZW5kLW1vZGU6IHNjcmVlbjtcbiAgICAgIGNvbG9yOiB3aGl0ZTtcbiAgICAgIHRleHQtc2hhZG93OiAwcHggMHB4IDEwcHggYmxhY2s7XG4gICAgfVxuICB9XG5cbiAgJl9fc2xpZGVzIHtcbiAgfVxuXG4gICZfX2Fycm93cyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIH1cbiAgJl9fYXJyb3cge1xuICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSwgY29sb3IpO1xuXG4gICAgb3BhY2l0eTogMC4yODtcbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgJi0tcHJldiB7XG4gICAgfVxuICAgICYtLW5leHQge1xuICAgIH1cbiAgfVxuXG4gICZfX2NvdW50ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogcmVtLWNhbGMoNDgpO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgfVxuICAmX19jb3VudGVyLWluZGV4IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwLjZlbTtcbiAgICByaWdodDogMTAwJTtcbiAgfVxuICAmX19jb3VudGVyLXNsYXNoIHtcbiAgfVxuICAmX19jb3VudGVyLWNvdW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjZlbTtcbiAgICBsZWZ0OiAxMDAlO1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX19zbGlkZXMge1xuICAgIH1cbiAgICAmX19hcnJvd3Mge1xuICAgICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgfVxuICAgICZfX2Fycm93IHtcbiAgICAgICYtLXByZXYge1xuICAgICAgfVxuICAgICAgJi0tbmV4dCB7XG4gICAgICB9XG4gICAgfVxuICAgICZfX2NvdW50ZXIge1xuICAgIH1cbiAgICAmX19jb3VudGVyLWluZGV4IHtcbiAgICB9XG4gICAgJl9fY291bnRlci1zbGFzaCB7XG4gICAgfVxuICAgICZfX2NvdW50ZXItY291bnQge1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3NsaWRlcyB7XG4gICAgfVxuXG4gICAgJl9fYXJyb3dzIHtcbiAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICB9XG4gICAgJl9fYXJyb3cge1xuICAgICAgJi0tcHJldiB7XG4gICAgICB9XG4gICAgICAmLS1uZXh0IHtcbiAgICAgIH1cbiAgICB9XG4gICAgJl9fY291bnRlciB7XG4gICAgfVxuICAgICZfX2NvdW50ZXItaW5kZXgge1xuICAgIH1cbiAgICAmX19jb3VudGVyLXNsYXNoIHtcbiAgICB9XG4gICAgJl9fY291bnRlci1jb3VudCB7XG4gICAgfVxuXG4gICAgLmZsby1oZXJvLXZpZGVvLWVtYmVkX19idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stc29jaWFsLWxpbmtzIHtcbiAgJGI6IFwiLmZsby1ibG9jay1zb2NpYWwtbGlua3NcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICZfX3RpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNyk7XG4gIH1cbiAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICBhIHtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDUuNSk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAmX190aXRsZSB7XG5cbiAgICB9XG4gICAgJl9fc29jaWFsLWxpbmtzIHtcblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RpdGxlIHtcblxuICAgIH1cbiAgICAmX19zb2NpYWwtbGlua3Mge1xuXG4gICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXRlc3RpbW9uaWFscy0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay10ZXN0aW1vbmlhbHMtMVwiO1xuXG4gICZfX3Rlc3RpbW9uaWFscy0xLXdyYXAge1xuICB9XG4gICAgJl9fdGVzdGltb25pYWxfc2xpZGUge1xuICAgIH1cbiAgICAgICZfX3Rlc3RpbW9uaWFsLWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgIH1cbiAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLWNvdW50ZXIge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIC8gXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDExLjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbC10ZXh0IHtcbiAgICAgICAgICAmIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19hcnJvd3Mge1xuICAgICAgICB9XG4gICAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNzApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nOiAwICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICZfX3Rlc3RpbW9uaWFscy1zbGlkZXIge1xuICAgIH1cbiAgICAgICZfX3Rlc3RpbW9uaWFsX3NsaWRlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXghaW1wb3J0YW50O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbC1pbWFnZSB7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDYzMCk7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg0MjEpO1xuICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTYpIDAgcmVtLWNhbGMoNTcpIHJlbS1jYWxjKDc1KTtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fdGVzdGltb25pYWwtY291bnRlciB7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICZfX2Fycm93cyB7XG4gICAgICAgICAgfVxuICAgICAgICAgICAgJl9fYXJyb3cge1xuICAgICAgICAgICAgICAmLS1sZWZ0IHtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3Rlc3RpbW9uaWFscy0xLXNsaWRlciB7XG4gICAgfVxuICAgICAgJl9fdGVzdGltb25pYWxfc2xpZGUge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLWltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIxMCk7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQtYXJlYSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgICAgICAgJl9fdGVzdGltb25pYWwtY291bnRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19hcnJvd3Mge1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2Fycm93IHtcbiAgICAgICAgICAgICAgJi0tbGVmdCB7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi0tcmlnaHQge1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGV4dC1ibG9jay0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTFcIjtcblxuICAmX190ZXh0LXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fdGV4dC13cmFwIHtcbiAgICAgIG1heC13aWR0aDogNDB2dztcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX190ZXh0LXdyYXAge1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXRleHQtYmxvY2stMlwiO1xuICBkaXNwbGF5OiBmbGV4O1xuICAmX19pbWFnZSB7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAmLS1pbWFnZS1wb3NpdGlvbi1sZWZ0IHtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgICAmLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICBvcmRlcjogMjtcbiAgICB9XG4gIH1cbiAgJl9fdGV4dC13cmFwIHtcbiAgfVxuICAgICZfX3RleHQtcGFyYWdyYXBoIHtcbiAgICB9XG4gICAgJl9fYm90dG9tLWxhYmVsIHtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9jay1wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrLXBhZGRpbmc7XG5cbiAgICAmX19pbWFnZSB7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDU4MSk7XG4gICAgICB3aWR0aDogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMykgKyAoJGdsb2JhbC1ndXR0ZXItd2lkdGggKiA0KTtcbiAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgfVxuICAgIH1cbiAgICAmX190ZXh0LXdyYXAge1xuICAgICAgd2lkdGg6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDQpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoICogNSk7XG5cbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1ndXR0ZXItd2lkdGg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgb3JkZXI6IDI7XG4gICAgICB9XG4gICAgICAmLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDgwKTtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2OSk7XG4gICAgICB9XG4gICAgICAmX190ZXh0LXBhcmFncmFwaCB7XG4gICAgICB9XG4gICAgICAmX19ib3R0b20tbGFiZWwge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg5MCk7XG4gICAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICAgICB9XG4gICAgICAgICYtLWltYWdlLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgICBsZWZ0OiByZW0tY2FsYyg4MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgJl9faW1hZ2Uge1xuXG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzUwKTtcblxuICAgICAgJi0taW1hZ2UtcG9zaXRpb24tbGVmdCB7XG4gICAgICAgIG9yZGVyOiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmLS1pbWFnZS1wb3NpdGlvbi1yaWdodCB7XG4gICAgICAgIG9yZGVyOiAyO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3RleHQtd3JhcCB7XG5cbiAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICBvcmRlcjogMjtcbiAgICAgIH1cbiAgICAgICYtLWltYWdlLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgb3JkZXI6IDE7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAmX190ZXh0LXBhcmFncmFwaCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygzOCk7XG4gICAgICB9XG4gICAgICAmX19ib3R0b20tbGFiZWwge1xuXG4gICAgICAgICYtLWltYWdlLXBvc2l0aW9uLWxlZnQge1xuICAgICAgICB9XG4gICAgICAgICYtLWltYWdlLXBvc2l0aW9uLXJpZ2h0IHtcbiAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXRleHQtYmxvY2stMyB7XG4gICRiOiBcIi5mbG8tYmxvY2stdGV4dC1ibG9jay0zXCI7XG5cbiAgJl9faW1hZ2Uge1xuICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gIH1cbiAgJl9fcG9zdC10ZXh0IHtcbiAgfVxuICAgICZfX3Bvc3QtdGl0bGUge1xuICAgIH1cbiAgICAmX19wb3N0LXN1YnRpdGxlIHtcbiAgICB9XG4gICAgJl9fcG9zdC1wYXJhZ3JhcGgge1xuICAgIH1cbiAgICAmX19wb3N0LWxpbmsge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTMpO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyNyk7XG4gICAgICB9XG4gICAgfVxuICAmX19saW5rLWFyZWEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2xpbmstcHJldGl0bGUge1xuICAgIH1cbiAgICAmX19saW5rLXRpdGxlIHtcbiAgICB9XG4gICAgJl9fbGluay1kZWxpbWl0ZXIge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg1KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMxKTtcbiAgICB9XG4gICAgJl9fbGluay1zdWJ0aXRsZSB7XG4gICAgfVxuICAgICZfX2xpbmstYnV0dG9uIHtcbiAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogICRnbG9iYWwtcGFkZGluZy0tdmVydGljYWwgcmVtLWNhbGMoMjIyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgICZfX2ltYWdlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMzEpO1xuICAgICAgaGVpZ2h0OiByZW0tY2FsYygzMDcpO1xuICAgIH1cbiAgICAmX19wb3N0LXRleHQge1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDQ2Myk7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMykgcmVtLWNhbGMoODQpIHJlbS1jYWxjKDQ3KSByZW0tY2FsYyg4MCk7XG4gICAgfVxuICAgICAgJl9fcG9zdC10aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19wb3N0LXN1YnRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI5KTtcbiAgICAgIH1cbiAgICAgICZfX3Bvc3QtcGFyYWdyYXBoIHtcbiAgICAgICAgJiA+IHA6bGFzdC1jaGlsZHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzNCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZfX3Bvc3QtbGluayB7XG4gICAgICB9XG4gICAgJl9fbGluay1hcmVhIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMzKSAwIHJlbS1jYWxjKDM2KSByZW0tY2FsYygxMDkpO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDMwMCk7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgIH1cbiAgICAgICZfX2xpbmstcHJldGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19saW5rLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstZGVsaW1pdGVyIHtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstc3VidGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgICAgfVxuICAgICAgJl9fbGluay1idXR0b24ge1xuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAmX19pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMzA3KTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgJl9fcG9zdC10ZXh0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX19wb3N0LXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgJl9fcG9zdC1zdWJ0aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgICZfX3Bvc3QtcGFyYWdyYXBoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgJl9fcG9zdC1saW5rIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICB9XG4gICAgJl9fbGluay1hcmVhIHtcbiAgICB9XG4gICAgICAmX19saW5rLXByZXRpdGxlIHtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMClcbiAgICAgIH1cbiAgICAgICZfX2xpbmstZGVsaW1pdGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgICAgJl9fbGluay1zdWJ0aXRsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX19saW5rLWJ1dHRvbiB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGV4dC1ibG9jay00IHtcbiAgJGI6IFwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTRcIjtcblxuICAmX19lbGVtZW50cy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIH1cbiAgICAmX190aXRsZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuICAgICZfX2J1dHRvbiB7XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9jay1wYWRkaW5nOiAoJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyKSArICgkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDIpO1xuICAgIHBhZGRpbmc6IDAgJGJsb2NrLXBhZGRpbmc7XG4gICAgJl9fZWxlbWVudHMtd3JhcCB7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuICAgICAgfVxuICAgICAgJl9fYnV0dG9uIHtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2VsZW1lbnRzLXdyYXAge1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI1KTtcbiAgICAgIH1cbiAgICAgICZfX2J1dHRvbiB7XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGV4dC1ibG9jay01IHtcbiAgJGI6IFwiLmZsby1ibG9jay10ZXh0LWJsb2NrLTVcIjtcbiAgXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgXG4gICZfX2RlbGltaXRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gcmVtLWNhbGMoNDApIGF1dG87XG4gICAgaGVpZ2h0OiAxcHg7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX3RleHQtd3JhcCB7XG4gICAgICBtYXgtd2lkdGg6IDQwdnc7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGV4dC13cmFwIHtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGl0bGUtMSB7XG4gICRiOiBcIi5mbG8tYmxvY2stdGl0bGUtMVwiO1xuXG4gICZfX2VsZW1lbnRzLXdyYXAge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgfVxuICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgIH1cbiAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2VsZW1lbnRzLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6ICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDYpICsgKCRnbG9iYWwtZ3V0dGVyLXdpZHRoICogNik7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1pbWFnZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1OCk7XG4gICAgICB9XG4gICAgICAmX19kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTQwJSk7XG4gICAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX2VsZW1lbnRzLXdyYXAge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgICAgICZfX2RlY29yYXRpdmUtaW1hZ2Uge1xuICAgICAgfVxuICAgICAgJl9fZGVjb3JhdGl2ZS1sZXR0ZXIge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC00MCUpO1xuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuICAgICAgfVxuICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWJsb2NrLXRpdGxlLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXRpdGxlLTJcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAmX19wcmUtdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxOCk7XG4gIH1cbiAgJl9fdGl0bGUge1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogMCAkZ2xvYmFsLWNvbHVtbi13aWR0aCArICRnbG9iYWwtZ3V0dGVyLXdpZHRoO1xuICAgICZfX3ByZS10aXRsZSB7XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGggKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19wcmUtdGl0bGUge1xuICAgICAgd2lkdGg6IDYwdnc7XG4gICAgICBtYXJnaW46IGF1dG87XG4gICAgfVxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdGl0bGUtMyB7XG4gICRiOiBcIi5mbG8tYmxvY2stdGl0bGUtM1wiO1xuXG4gICZfX3RpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICRibG9ja19wYWRkaW5nOiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDIgKyAkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDE7XG4gICAgcGFkZGluZzogMCAkYmxvY2tfcGFkZGluZztcbiAgICAmX190aXRsZSB7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9fdGl0bGUge1xuICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay10aXRsZS00IHtcbiAgJGI6IFwiLmZsby1ibG9jay10aXRsZS00XCI7XG5cbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICZfX3RpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNyk7XG4gIH1cbiAgJl9fc3VidGl0bGUge1xuICB9XG4gICAgJl9fcXVvdGUge1xuICAgICAgJi0tbGVmdCB7XG4gICAgICB9XG4gICAgICAmLS1yaWdodCB7XG4gICAgICB9XG4gICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGggKyAkZ2xvYmFsLWd1dHRlci13aWR0aDtcbiAgICBcbiAgICAmX190aXRsZSB7XG4gICAgfVxuICAgICZfX3N1YnRpdGxlIHtcbiAgICB9XG4gICAgICAmX19xdW90ZSB7XG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICAgICYtLXJpZ2h0IHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICAgICZfX3RpdGxlIHtcbiAgICB9XG4gICAgJl9fc3VidGl0bGUge1xuICAgIH1cbiAgICAgICZfX3F1b3RlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICYtLWxlZnQge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgfVxuICAgICAgICAmLS1yaWdodCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tYmxvY2stdmVuZG9ycyB7XG4gICRiOiBcIi5mbG8tYmxvY2stdmVuZG9yc1wiO1xuXG4gICZfX3RpdGxlIHtcblxuICB9XG4gICZfX2xpc3Qge1xuXG4gIH1cbiAgICAmX192ZW5kb3Ige1xuXG4gICAgfVxuICAgICAgJl9fdmVuZG9yLXRpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fdmVuZG9yLWluZm9ybWF0aW9uIHtcblxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICZfX3RpdGxlIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxODMpO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgJl9fbGlzdCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDcyKTtcbiAgICB9XG4gICAgICAmX192ZW5kb3Ige1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICB9XG4gICAgICAgICZfX3ZlbmRvci10aXRsZSB7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEyOSk7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgfVxuICAgICAgICAmX192ZW5kb3ItaW5mb3JtYXRpb24ge1xuXG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgJl9fbGlzdCB7XG5cbiAgICB9XG4gICAgICAmX192ZW5kb3Ige1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICAgIH1cbiAgICAgICAgJl9fdmVuZG9yLXRpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX192ZW5kb3ItaW5mb3JtYXRpb24ge1xuXG4gICAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1ibG9jay12aWRlby1ibG9jay0xIHtcbiAgJGI6IFwiLmZsby1ibG9jay12aWRlby1ibG9jay0xXCI7XG5cbiAgJl9faW1hZ2Utd3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICB9XG4gICAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJGJsb2NrX3BhZGRpbmc6ICRnbG9iYWwtY29sdW1uLXdpZHRoICsgJGdsb2JhbC1ndXR0ZXItd2lkdGg7XG4gICAgcGFkZGluZzogMCAkYmxvY2tfcGFkZGluZztcbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICB9XG4gICAgICAuZmxvLXZpZGVvLWVtYmVkOm5vdCguZmxvLXZpZGVvLWVtYmVkLS1sb2FkZWQpIC5mbG8tdmlkZW8tZW1iZWRfX3ZpZGVvLWJ1dHRvbiB7XG5cbiAgICAgIH1cbiAgICAgICZfX3RleHQtZWxlbWVudHMtd3JhcCB7XG4gICAgICAgICR3aWR0aDogKCRnbG9iYWwtY29sdW1uLXdpZHRoICogNCkgKyAoJGdsb2JhbC1ndXR0ZXItd2lkdGggKiA0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzMpO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMxKTtcbiAgICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgJl9faW1hZ2Utd3JhcCB7XG4gICAgfVxuICAgICAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fdGl0bGUge1xuICAgICAgICB9XG4gICAgICAgICZfX3N1YnRpdGxlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgfVxuICBAaW5jbHVkZSBmbG8tcmVzcG9uc2l2ZS1pbWFnZS1iZyhcIiZfX2ltYWdlLXdyYXBcIik7XG59XG4iLCIuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTIge1xuICAkYjogXCIuZmxvLWJsb2NrLXZpZGVvLWJsb2NrLTJcIjtcblxuICAmX19pbWFnZS13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICB9XG4gICAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG4gICAgICAmX190aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICB9XG4gICAgICAmX19wYXJhZ3JhcGgtdGV4dCB7XG4gICAgICB9XG4gICAgICAmX19idXR0b24ge1xuICAgICAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICZfX2ltYWdlLXdyYXAge1xuICAgIH1cbiAgICAgIC5mbG8tdmlkZW8tZW1iZWQ6bm90KC5mbG8tdmlkZW8tZW1iZWQtLWxvYWRlZCkgLmZsby12aWRlby1lbWJlZF9fdmlkZW8tYnV0dG9uIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYygzMTQpO1xuICAgICAgfVxuICAgICAgJl9fdGV4dC1lbGVtZW50cy13cmFwIHtcbiAgICAgICAgJHdpZHRoOiAoJGdsb2JhbC1jb2x1bW4td2lkdGggKiA0KSArICgkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMjcpO1xuICAgICAgICB3aWR0aDogJHdpZHRoO1xuICAgICAgICAmLS1kZXNrdG9wLWNvcnJlY3Rpb24gIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX3RpdGxlIHtcbiAgICAgICAgfVxuICAgICAgICAmX19zdWJ0aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzEpO1xuICAgICAgICB9XG4gICAgICAgICZfX3BhcmFncmFwaC10ZXh0IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0OClcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAmX19pbWFnZS13cmFwIHtcbiAgICB9XG4gICAgICAmX190ZXh0LWVsZW1lbnRzLXdyYXAge1xuICAgICAgICAmLS1tb2JpbGUtY29ycmVjdGlvbiB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAmX190aXRsZSB7XG4gICAgICAgIH1cbiAgICAgICAgJl9fc3VidGl0bGUge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAmX19wYXJhZ3JhcGgtdGV4dCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAmX19idXR0b24ge1xuICAgICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX19pbWFnZS13cmFwXCIpO1xufVxuIiwiLmZsby1jb21tZW50cyB7XG4gICRiOiBcIi5mbG8tY29tbWVudHNcIjtcblxuICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAmX190b3AtYXJlYSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTcpO1xuICAgIH1cbiAgICAgICZfX2NvbW1lbnRzLWNvdW50IHtcblxuICAgICAgfVxuICAgICAgJl9fc2hhcmluZy1vcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXJcbiAgICAgIH1cbiAgICAgICAgJl9fc2hhcmluZy1vcHRpb25zLWxhYmVsIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgfVxuICAgICAgICAmX19zaGFyaW5nLWxpbmtzIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBpOmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICZfX3RhZ3Mge1xuICAgICAgICBhIHtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiLCBcIjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAmX190b3AtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIH1cbiAgICAgICAgJl9fY29tbWVudHMtY291bnQsXG4gICAgICAgICZfX3NoYXJpbmctb3B0aW9ucyxcbiAgICAgICAgJl9fdGFnc1xuICAgICAgICB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMpO1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgfVxuICAgICAgICAmX190YWdzIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgJl9fdG9wLWFyZWEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgfVxuICAgICAgICAmX19jb21tZW50cy1jb3VudCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgICAgICZfX3NoYXJpbmctb3B0aW9ucyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgfVxuICAvKiBFTkQ6IFRPUCBBUkVBICovXG5cbiAgLyogU1RBUlQ6IENPTU1FTlRTIFdSQVAgKi9cbiAgICAmX19jb21tZW50cy13cmFwIHtcblxuICAgIH1cbiAgICAgIC8qIFNUQVJUOiBMSVNUICovXG4gICAgICAgICZfX2xpc3Qge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzNyk7XG5cbiAgICAgICAgICAmID4gLmNvbW1lbnQ6Zmlyc3QtY2hpbGQgPiAjeyRifV9fY29tbWVudCB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmNvbW1lbnQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICN7JGJ9X19jb21tZW50Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50Omxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAjeyRifV9fY29tbWVudCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgICZfX2NvbW1lbnQge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUpIDA7XG5cbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgICAgICAgICNjYW5jZWwtY29tbWVudC1yZXBseS1saW5rIGkge1xuICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LXRvcC13cmFwICAge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19jb21tZW50LWF2YXRhciB7XG4gICAgICAgICAgICAgICAgJHNpemU6IHJlbS1jYWxjKDQ3LjUpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6ICRzaXplO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAwLjU7XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICZfX2NvbW1lbnQtYXV0aG9yIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgMDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmX19jb21tZW50LWRhdGUge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1jb250ZW50IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1yZXBseSB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2NvbW1lbnQtYWxlcnQge1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAmX19saXN0IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgIC5jb21tZW50IC5jb21tZW50IHtcbiAgICAgICAgICAgICAgI3skYn1fX2NvbW1lbnQge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMS41O1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19jb21tZW50LWNvbnRlbnQge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMS41O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fY29tbWVudC1yZXBseSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAxLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAmX19jb21tZW50LXRvcC13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogTElTVCAqL1xuXG4gICAgICAvKiBTVEFSVDogRk9STSAqL1xuICAgICAgICAmX19mb3JtLXdyYXAge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgfVxuICAgICAgICAgICZfX2Zvcm0tdG9wLWFyZWEge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX2Zvcm0tdGl0bGUge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX19mb3JtLXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICZfX2Zvcm0tZmllbGQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fZm9ybS10ZXh0YXJlYSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWluLWhlaWdodDogcmVtLWNhbGMoMTI2KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZvcm0tc3VibWl0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX19mb3JtIC5zdWJtaXQge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg0Mik7XG4gICAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgJl9fZm9ybS13cmFwIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aDtcbiAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAvLyBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihtYXJnaW4pO1xuICAgICAgICAgICAgJi5pc19zdHVjayB7XG4gICAgICAgICAgICAgIHJpZ2h0OiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgICAgICAgIC8vIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1MCk7XG4gICAgICAgICAgICAgICZbc3R5bGUqPWFic29sdXRlXSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmX19mb3Jte1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX19mb3JtLWZpZWxkIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICYtLWhhbGYge1xuICAgICAgICAgICAgICAgICRnYXA6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDUwJSAtICN7JGdsb2JhbC1jb2x1bW4td2lkdGggLyAyfSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwO1xuICAgICAgICAgICAgICAgICYgKyAjeyRifV9fZm9ybS1maWVsZC0taGFsZiB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAmX19mb3JtLXdyYXAge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNTApIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogRk9STSAqL1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAmX19jb21tZW50cy13cmFwIHtcbiAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG4gICAgICAgICAgJl9fbGlzdCxcbiAgICAgICAgICAmX19mb3JtLXdyYXAge1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgICAgICAgIH1cbiAgICAgIH1cblxuICAvKiBFTkQ6IENPTU1FTlRTIFdSQVAgKi9cblxuICAmX19mYWNlYm9va3tcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLXNpZGViYXJzIHtcbiAgJGI6IFwiLmZsby1mb290ZXItc2lkZWJhcnNcIjtcblxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNTApICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUwKSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICB9XG59XG4iLCIuZmxvLWZvb3Rlci1zaWRlYmFyc3tcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAubWVkaXVtLTR7XG4gICAgICB3aWR0aDogMzMuMzMzMyU7XG4gICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyIHtcbiAgJGI6IFwiLmZsby1mb290ZXJcIjtcblxuICAvKiBTVEFSVDogSU1BR0UgRkVFRCAqL1xuICAgICYtaW1hZ2UtZmVlZCB7XG4gICAgICAuaW1nLWJsb2NrIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICYsXG4gICAgICAgIC5mbG8tc2hjb2RlLWluc3RnbS1jb250YWluZXIge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1zaGNvZGUtaW5zdGdtLWNvbnRhaW5lcntcbiAgICAgICAgICBpbWd7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgICAmLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgIH1cbiAgLyogRU5EOiBJTUFHRSBGRUVEICovXG5cbiAgLyogU1RBUlQ6IFNFQVJDSCBGSUVMRCBTVFlMSU5HICovXG5cbiAgLndpZGdldF9zZWFyY2ggLnNlYXJjaC1maWVsZHtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgfVxuICAgIC53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuLyogRU5EOiBTRUFSQ0ggRklFTEQgU1RZTElORyAqL1xuXG4gIC8qIFNUQVJUOiBBUkVBIDEgKi9cbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1hXCI7XG4gICAgQGltcG9ydCBcImZsby1mb290ZXItYXJlYS0xLXR5cGUtYlwiO1xuICAgIEBpbXBvcnQgXCJmbG8tZm9vdGVyLWFyZWEtMS10eXBlLWNcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1kXCI7XG4gIC8qIEVORDogQVJFQSAxICovXG5cbiAgLyogU1RBUlQ6IEFSRUEgMiAqL1xuICAgIEBpbXBvcnQgXCJmbG8tZm9vdGVyLWFyZWEtMi10eXBlLWFcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1iXCI7XG4gIC8qIEVORDogQVJFQSAyICovXG5cbiAgLyogU1RBUlQ6IENPUFlSSUdIVFMgQVJFQSAqL1xuICAgIEBpbXBvcnQgXCJmbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWFcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1iXCI7XG4gIC8qIEVORDogQ09QWVJJR0hUUyBBUkVBICovXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgfVxufVxuIiwiLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYSB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWFcIjtcblxuXG4gICZfX2dyb3VwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAgICZfX3RpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIxKTtcbiAgICB9XG4gICAgJl9fbGluayB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0KTtcbiAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgJHBhZGRpbmctaG9yaXpvbnRhbDogcmVtLWNhbGMoMzA4KSAtIHJlbS1jYWxjKDEwKTtcbiAgICAkZ3JvdXAtcGFkZGluZy1ob3Jpem9udGFsOiByZW0tY2FsYyg2Mik7XG5cbiAgICBwYWRkaW5nOiByZW0tY2FsYyg2NSkgJHBhZGRpbmctaG9yaXpvbnRhbCByZW0tY2FsYygyNCkgJHBhZGRpbmctaG9yaXpvbnRhbDtcblxuICAgICZfX2dyb3VwIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUpICRncm91cC1wYWRkaW5nLWhvcml6b250YWwgcmVtLWNhbGMoMjApICRncm91cC1wYWRkaW5nLWhvcml6b250YWw7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC8gMyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgIGJvcmRlci1yaWdodC13aWR0aDogMXB4O1xuICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJvcmRlci1jb2xvcik7XG4gICAgICB9XG4gICAgfVxuICAgICAgJi0tZ3JvdXBzLWNvdW50LTMge1xuICAgICAgICAjeyRifV9fZ3JvdXAge1xuICAgICAgICAgIHdpZHRoOiAyOCU7XG5cbiAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgcmVtLWNhbGMoMTI3KSByZW0tY2FsYyg1KSByZW0tY2FsYygxMjcpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19saW5rIHtcblxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAmX19ncm91cCB7XG4gICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNSk7XG4gICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19saW5rIHtcblxuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1iIHtcbiAgJGI6IFwiLmZsby1mb290ZXItYXJlYS0xLXR5cGUtYlwiO1xuXG4gICZfX2ZlZWQtYXJlYSB7XG5cbiAgfVxuICAgICZfX2ZlZWQtYXJlYS10b3Age1xuXG4gICAgfVxuICAgICAgJl9fZmVlZC10aXRsZSB7XG5cbiAgICAgIH1cbiAgICAgICZfX2ZlZWQtbGFiZWwge1xuXG4gICAgICB9XG4gICAgICAmX19mZWVkLWltYWdlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZCB7XG5cbiAgICAgICAgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAuaW1nLWJsb2NrIHtcblxuICAgICAgICAgIH1cblxuICAmX19pbmZvLWFyZWEge1xuXG4gIH1cbiAgICAmX19pbmZvLWFyZWEtdGl0bGUge1xuXG4gICAgfVxuICAgICZfX2luZm8tYXJlYS10ZXh0IHtcblxuICAgIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG5cbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1OSkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsIHJlbS1jYWxjKDIwKSAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG5cbiAgICAmX19mZWVkLWFyZWEge1xuICAgICAgd2lkdGg6IDY3JTtcbiAgICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoODMpIDAgcmVtLWNhbGMoMTIwKTtcbiAgICB9XG4gICAgICAmX19mZWVkLWFyZWEtdG9wIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI3KTtcbiAgICAgIH1cbiAgICAgICAgJl9fZmVlZC10aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mZWVkLWxhYmVsIHtcblxuICAgICAgICB9XG5cbiAgICAgICRmZWVkX2ltYWdlc19zaXplOiByZW0tY2FsYygxNDYpO1xuICAgICAgJl9fZmVlZC1pbWFnZXMge1xuXG4gICAgICB9XG4gICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWQge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAgICAgICAuaW1nLWJsb2NrIHtcbiAgICAgICAgICAgIHdpZHRoOiAkZmVlZF9pbWFnZXNfc2l6ZSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSB7XG4gICAgICAgICAgICAgIGhlaWdodDogJGZlZWRfaW1hZ2VzX3NpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAmX19pbmZvLWFyZWEge1xuICAgICAgd2lkdGg6IDMzJTtcbiAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDY5KTtcblxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gICAgICAmX19pbmZvLWFyZWEtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyNyk7XG4gICAgICB9XG4gICAgICAmX19pbmZvLWFyZWEtdGV4dCB7XG5cbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgICZfX2ZlZWQtYXJlYSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICAgICAgJl9fZmVlZC1hcmVhLXRvcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fZmVlZC10aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZmVlZC1sYWJlbCB7XG5cbiAgICAgICAgfVxuXG4gICAgICAmX19mZWVkLWltYWdlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZCB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICRmZWVkX2ltYWdlc19zaXplOiAxMDAlO1xuICAgICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlLFxuICAgICAgICAgIC5pbWctYmxvY2sge1xuICAgICAgICAgICAgd2lkdGg6ICRmZWVkX2ltYWdlc19zaXplO1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAmX19pbmZvLWFyZWEge1xuICAgIH1cbiAgICAgICZfX2luZm8tYXJlYS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgfVxuICAgICAgJl9faW5mby1hcmVhLXRleHQge1xuXG4gICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWMge1xuICAkYjogXCIuZmxvLWZvb3Rlci1hcmVhLTEtdHlwZS1jXCI7XG5cbiAgJl9fZm9ybS13cmFwIHtcblxuICB9XG4gICAgJl9fZm9ybSB7XG5cbiAgICB9XG4gICAgICAmX19maWVsZCB7XG5cbiAgICAgIH1cblxuICAmX19saW5rLWxpc3Qtd3JhcCB7XG5cbiAgfVxuICAgICZfX2xpbmstbGlzdC10aXRsZSB7XG5cbiAgICB9XG4gICAgJl9fbGluay1saXN0IHtcblxuICAgIH1cbiAgICAgICZfX2xpbmstbGlzdC1saW5rIHtcblxuICAgICAgfVxuXG4gICZfX2xpbmstd3JhcCB7XG5cbiAgfVxuICAgICZfX2xpbmsge1xuXG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICRwYWRkaW5nLWhvcml6b250YWw6IHJlbS1jYWxjKDE2Mik7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOTkpICRwYWRkaW5nLWhvcml6b250YWwgcmVtLWNhbGMoMjcpICRwYWRkaW5nLWhvcml6b250YWw7XG5cbiAgICAmX19mb3JtLXdyYXAsXG4gICAgJl9fbGluay1saXN0LXdyYXAsXG4gICAgJl9fbGluay13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNCk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgICZfX2Zvcm0td3JhcCB7XG4gICAgICB3aWR0aDogMjElO1xuICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNjEpO1xuICAgIH1cbiAgICAgICZfX2Zvcm0ge1xuICAgICAgfVxuICAgICAgICAmX19maWVsZCB7XG4gICAgICAgIH1cblxuICAgICZfX2xpbmstbGlzdC13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiA1OCU7XG4gICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDExMSk7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxMTEpO1xuXG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMXB4O1xuICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gICAgICAmX19saW5rLWxpc3QtdGl0bGUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMTgpfSk7XG4gICAgICB9XG4gICAgICAmX19saW5rLWxpc3Qge1xuXG4gICAgICB9XG4gICAgICAgICZfX2xpbmstbGlzdC1saW5rIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAmX19saW5rLXdyYXAge1xuICAgICAgd2lkdGg6IDIxJTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgICAgICZfX2xpbmsge1xuXG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS12ZXJ0aWNhbCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuXG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgJl9fZm9ybS13cmFwIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAgICZfX2Zvcm0ge1xuXG4gICAgICB9XG4gICAgICAgICZfX2ZpZWxkIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICZfX2xpbmstbGlzdC13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG4gICAgICAmX19saW5rLWxpc3QtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgIH1cbiAgICAgICZfX2xpbmstbGlzdCB7XG5cbiAgICAgIH1cbiAgICAgICAgJl9fbGluay1saXN0LWxpbmsge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAmX19saW5rLXdyYXAge1xuXG4gICAgfVxuICAgICAgJl9fbGluayB7XG5cbiAgICAgIH1cbiAgfVxufVxuIiwiLmZsby1mb290ZXItYXJlYS0xLXR5cGUtZCB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMS10eXBlLWRcIjtcblxuICAmX190b3Atd3JhcCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB9XG4gICAgJl9fbGVmdC1saW5rLXdyYXAge1xuXG4gICAgfVxuICAgICAgJl9fbGVmdC1saW5rLXRpdGxlIHtcblxuICAgICAgfVxuICAgICAgJl9fbGVmdC1saW5rLXRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMSk7XG4gICAgICB9XG4gICAgICAmX19sZWZ0LWxpbmsge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2KSByZW0tY2FsYygxOS41KTtcbiAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cblxuICAgICZfX3Rlc3RpbW9uaWFscy13cmFwIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuICAgICAgJl9fdGVzdGltb25pYWxzIHtcbiAgICAgICAgLnNsaWNrLWxpc3Qge1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlIWltcG9ydGFudDtcbiAgICAgICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFsIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNjIpO1xuXG4gICAgICAgICAgcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgJl9fdGVzdGltb25pYWwtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmX190ZXN0aW1vbmlhbC10aXRsZS1kZWNvcmF0aXZlLWxldHRlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IC0wLjA1ZW07XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAwJSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjA1O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRleHQge1xuXG4gICAgICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbHMtZG90cyB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgICAgICAgXG4gICAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICAgICAgICAgICY6bm90KC5zbGljay1hY3RpdmUpIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlclxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKCk7XG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIi4wXCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgJl9fbGVmdC1saW5rLXdyYXAsXG4gICAgJl9fcmlnaHQtbGluay13cmFwIHtcbiAgICAgIHotaW5kZXg6IDE7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTEpO1xuICAgIH1cbiAgICAgICZfX2xlZnQtbGluay10aXRsZSxcbiAgICAgICZfX3JpZ2h0LWxpbmstdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XG4gICAgICB9XG4gICAgICAmX19yaWdodC1saW5rLXRleHQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgICAmX19yaWdodC1saW5rIHtcblxuICAgICAgfVxuXG4gIC5mbG8tYmxvY2sge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbiAgLmZsby1ibG9jay1kZWxpbWl0ZXItMSB7XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgICAmX190b3Atd3JhcCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYyg3OSkgcmVtLWNhbGMoMTMzKSByZW0tY2FsYyg2MykgcmVtLWNhbGMoMTMzKTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgICAgICZfX2xlZnQtbGluay13cmFwIHtcbiAgICAgICAgd2lkdGg6IDI4JTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDQpO1xuICAgICAgfVxuICAgICAgICAmX19sZWZ0LWxpbmstdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fbGVmdC1saW5rLXRleHQge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fbGVmdC1saW5rIHtcblxuICAgICAgICB9XG5cbiAgICAgICZfX3Rlc3RpbW9uaWFscy13cmFwIHtcbiAgICAgICAgd2lkdGg6IDQ0JTtcbiAgICAgICAgcGFkZGluZzogMCByZW0tY2FsYyg3MCk7XG5cbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xuICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbHMge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAmX190ZXN0aW1vbmlhbCB7XG4gICAgICAgICAgICBcbiAgICAgICAgICB9XG4gICAgICAgICAgICAmX190ZXN0aW1vbmlhbC10aXRsZSB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRpdGxlLWRlY29yYXRpdmUtbGV0dGVyIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGVzdGltb25pYWwtdGV4dCB7XG5cbiAgICAgICAgICAgIH1cbiAgICAgICAgJl9fdGVzdGltb25pYWxzLWRvdHMge1xuICAgICAgICB9XG5cbiAgICAgICZfX3JpZ2h0LWxpbmstd3JhcCB7XG4gICAgICAgIHdpZHRoOiAyOCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNzcpO1xuICAgICAgfVxuICAgICAgICAmX19yaWdodC1saW5rLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3JpZ2h0LWxpbmstdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19yaWdodC1saW5rIHtcblxuICAgICAgICB9XG5cbiAgICAuZmxvLWJsb2NrIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMy41KTtcbiAgICB9XG4gICAgLmZsby1ibG9jay1kZWxpbWl0ZXItMSB7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICAmX190b3Atd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgfVxuICAgICAgJl9fbGVmdC1saW5rLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICB9XG4gICAgICAgICZfX2xlZnQtbGluay10aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19sZWZ0LWxpbmstdGV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19sZWZ0LWxpbmsge1xuXG4gICAgICAgIH1cblxuICAgICAgJl9fdGVzdGltb25pYWxzLXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gICAgICB9XG4gICAgICAgICZfX3Rlc3RpbW9uaWFscyB7XG5cbiAgICAgICAgfVxuICAgICAgICAgICZfX3Rlc3RpbW9uaWFsIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgICAgICZfX3Rlc3RpbW9uaWFsLXRpdGxlIHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJl9fdGVzdGltb25pYWwtdGl0bGUtZGVjb3JhdGl2ZS1sZXR0ZXIge1xuXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAmX190ZXN0aW1vbmlhbC10ZXh0IHtcblxuICAgICAgICAgICAgfVxuICAgICAgICAmX190ZXN0aW1vbmlhbHMtZG90cyB7XG5cbiAgICAgICAgfVxuXG4gICAgICAmX19yaWdodC1saW5rLXdyYXAge1xuXG4gICAgICB9XG4gICAgICAgICZfX3JpZ2h0LWxpbmstdGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICAgJl9fcmlnaHQtbGluay10ZXh0IHtcblxuICAgICAgICB9XG4gICAgICAgICZfX3JpZ2h0LWxpbmsge1xuXG4gICAgICAgIH1cblxuICAgIC5mbG8tYmxvY2stZGVsaW1pdGVyLTEge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWEge1xuICAkYjogXCIuZmxvLWZvb3Rlci1hcmVhLTItdHlwZS1hXCI7XG4gIFxuICAmX19mZWVkIHtcblxuICB9XG5cbiAgJl9fZmVlZC1sYWJlbCB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoOSkgcmVtLWNhbGMoMzQuNSk7XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICZfX2ZlZWQge1xuXG4gICAgfVxuICAgICAgJGZlZWRfaW1hZ2VzX3NpemU6IGNhbGMoMTAwdncgLyA2KTtcbiAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlLFxuICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgIHdpZHRoOiAkZmVlZF9pbWFnZXNfc2l6ZSFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6ICRmZWVkX2ltYWdlc19zaXplO1xuICAgICAgICB9XG5cbiAgICAmX19mZWVkLWxhYmVsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0sIGJveC1zaGFkb3cpO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDBweCAwcHggMzZweCAwcHggcmdiYSgwLDAsMCwwLjM3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0tdmVydGljYWwgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgICBcbiAgICAmLmhpZGRlbi1vbi1tb2JpbGV7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICBcbiAgICAmX19mZWVkIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSByZW0tY2FsYygyMCk7XG4gICAgfVxuICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2UsXG4gICAgICAuaW1nLWJsb2NrIHtcbiAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuXG4gICAgICB9XG4gICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIH1cbiAgfVxufVxuIiwiLy8gcGFkZGluZyBib3R0b20gMTMuNVxuLmZsby1mb290ZXItYXJlYS0yLXR5cGUtYiB7XG4gICRiOiBcIi5mbG8tZm9vdGVyLWFyZWEtMi10eXBlLWJcIjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICZfX3NvY2lhbC1saW5rcy13cmFwIHtcblxuICAgICY6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICB3aWR0aDogcmVtLWNhbGMoMjAuMSk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyOSk7XG4gICAgICBib3JkZXItdG9wLXdpZHRoOiAxcHg7XG4gICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJvcmRlci1jb2xvcik7XG4gICAgfVxuICB9XG4gICAgJl9fc29jaWFsLWxpbmtzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE5KTtcblxuICAgICAgYSB7XG4gICAgICAgIG1hcmdpbjogMCByZW0tY2FsYyg2KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3NvY2lhbC1saW5rcy10aXRsZSB7XG5cbiAgICB9XG5cbiAgJl9faW5mb3JtYXRpb24ge1xuICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gICZfX2ZlZWQtd3JhcCB7XG5cbiAgfVxuICAgICZfX2ZlZWQtdGV4dC1hcmVhIHtcblxuICAgIH1cbiAgICAgICZfX2ZlZWQtdGl0bGUge1xuXG4gICAgICB9XG4gICAgICAmX19mZWVkLXN1YnRpdGxlIHtcblxuICAgICAgfVxuICAgICZfX2ZlZWQge1xuXG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMykgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuXG4gICAgJl9fc29jaWFsLWxpbmtzLXdyYXAsXG4gICAgJl9faW5mb3JtYXRpb25cbiAgICB7XG4gICAgICBib3JkZXItcmlnaHQtd2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xuICAgIH1cblxuICAgICZfX3NvY2lhbC1saW5rcy13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgd2lkdGg6IDE4JTtcbiAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3Mge1xuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3MtdGl0bGUge1xuXG4gICAgICB9XG5cbiAgICAmX19pbmZvcm1hdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAzMiU7XG4gICAgfVxuXG4gICAgJl9fZmVlZC13cmFwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQzKSAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygzOSk7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cbiAgICAgICZfX2ZlZWQtdGV4dC1hcmVhIHtcblxuICAgICAgfVxuICAgICAgICAmX19mZWVkLXRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAgICZfX2ZlZWQtc3VidGl0bGUge1xuXG4gICAgICAgIH1cbiAgICAgICZfX2ZlZWQge1xuXG4gICAgICB9XG4gICAgICAgICRmZWVkX2ltYWdlc19zaXplOiByZW0tY2FsYygxMDApO1xuICAgICAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6ICRmZWVkX2ltYWdlc19zaXplIWltcG9ydGFudDtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICAgICAgLmZsby1mb290ZXItaW1hZ2UtZmVlZF9faW1hZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiAkZmVlZF9pbWFnZXNfc2l6ZTtcbiAgICAgICAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLXZlcnRpY2FsICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG5cbiAgICAmX19zb2NpYWwtbGlua3Mtd3JhcCxcbiAgICAmX19pbmZvcm1hdGlvblxuICAgIHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gICAgJl9fc29jaWFsLWxpbmtzLXdyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3Mge1xuICAgICAgICBhIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zb2NpYWwtbGlua3MtdGl0bGUge1xuXG4gICAgICB9XG5cbiAgICAmX19pbmZvcm1hdGlvbiB7XG4gICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgMDtcbiAgICB9XG5cbiAgICAmX19mZWVkLXdyYXAge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgICAmX19mZWVkLXRleHQtYXJlYSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgICAgJl9fZmVlZC10aXRsZSB7XG5cbiAgICAgICAgfVxuICAgICAgICAmX19mZWVkLXN1YnRpdGxlIHtcblxuICAgICAgICB9XG4gICAgICAmX19mZWVkIHtcblxuICAgICAgfVxuICAgICAgICAuZmxvLWZvb3Rlci1pbWFnZS1mZWVkX19pbWFnZSxcbiAgICAgICAgLmltZy1ibG9jayB7XG4gICAgICAgICAgd2lkdGg6IDEwMCUhaW1wb3J0YW50O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgICAgICAgIC5mbG8tZm9vdGVyLWltYWdlLWZlZWRfX2ltYWdlIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgICB9XG4gIH1cbn1cbiIsIi5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWEge1xuICAkYjogXCIuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1hXCI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAmLS1oYXMtZGVsaW1pdGVyIHtcbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQ7XG4gICAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXItY29sb3IpO1xuICAgIH1cbiAgfVxuXG4gIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAmX19tZW51LXdyYXAge1xuXG4gIH1cbiAgICAmX19tZW51IHtcblxuICAgIH1cblxuICAmX19jb3B5cmlnaHQtbm90aWNlIHtcblxuICB9XG5cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMjMpICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgICBtYXJnaW46IDAgYXV0bztcblxuICAgICYtLWhhcy1kZWxpbWl0ZXIge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDQ0LjUpO1xuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMS41KTtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtICN7JGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsICogMn0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdpZHRoOiAxcHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICB9XG5cbiAgICAmX19tZW51LXdyYXAge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbiAgICAgICZfX21lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAkZ2FwLXVuZGVyLWZpcnN0LWxldmVsLWl0ZW06IHJlbS1jYWxjKDM3KTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDEwMy4yNSk7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmID4gbGkge1xuICAgICAgICAgICY6bm90KDpsYXN0LWNoaWxkKSB7XG4gICAgICAgICAgICAvL21hcmdpbi1yaWdodDogcmVtLWNhbGMoMTAzLjI1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMjBweCAyMHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gU3RhcnQ6IERyb3Bkb3duc1xuICAgICAgICAgIGxpIHtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDI1MCk7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4LjUpIDA7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICAgICAgIC8vIFN0YXJ0OiBEcm9wZG93biBJdGVtXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2LjUpIHJlbS1jYWxjKDM5KTtcbiAgICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHksIGJvcmRlci1jb2xvcik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8vIEVuZDogRHJvcGRvd24gSXRlbVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIC8qIFN0YXJ0OiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgICAgICAgICYgPiBsaSAge1xuICAgICAgICAgICAgICAvLyAkYm90dG9tLWdhcDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICAkYm90dG9tLWdhcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAvLyAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAvLyAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgLy8gICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAgIC8vICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgLy9cbiAgICAgICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgLy8gICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgLy8gICBoZWlnaHQ6ICRib3R0b20tZ2FwO1xuICAgICAgICAgICAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgIC8vIH1cbiAgICAgICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7JGJvdHRvbS1nYXB9KSFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgdG9wOiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuXG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgICAgICAgICAgIGhlaWdodDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogY2FsYygxMDAlIC0gI3tyZW0tY2FsYygxKX0pO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSByb3RhdGUoMTgwZGVnKTtcblxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDAgcmVtLWNhbGMoNykgcmVtLWNhbGMoNikgcmVtLWNhbGMoNyk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgICAgLy8gRW5kOiBEcm9wZG93bnNcblxuICAgICAgfVxuXG4gICAgJl9fY29weXJpZ2h0LW5vdGljZSB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICAgIHdpZHRoOiAzOC42JTtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG5cbiAgICAmX19tZW51LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICAgICZfX21lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICYgPiBsaSA+IHVsIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSkgMDtcbiAgICAgICAgfVxuICAgICAgICAuY2hpbGRyZW4tdmlzaWJsZSB7XG4gICAgICAgICAgJiA+ICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCUpIHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDA7XG4gICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCkgMDtcblxuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgICAgIH1cbiAgICAgICAgLnN1Yi1tZW51IHtcbiAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgMDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgJl9fY29weXJpZ2h0LW5vdGljZSB7XG5cbiAgICB9XG4gIH1cbn1cbiIsIi8vIHBhZGRpbmcgdG9wIHJlbS1jYWxjKDIwKTtcbi5mbG8tZm9vdGVyLWNvcHlyaWdodHMtYXJlYS10eXBlLWIge1xuICAkYjogXCIuZmxvLWZvb3Rlci1jb3B5cmlnaHRzLWFyZWEtdHlwZS1iXCI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAuZmxvLWZvb3Rlcl9fZmxvdGhlbWVzLWxvZ28ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMzKTtcbiAgfVxuXG4gICZfX2NvcHlyaWdodC1ub3RpY2Uge1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuXG4gICAgLmZsby1mb290ZXJfX2Zsb3RoZW1lcy1sb2dvIHtcbiAgICB9XG5cbiAgICAmX19jb3B5cmlnaHQtbm90aWNlIHtcblxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuICAgIC5mbG8tZm9vdGVyX19mbG90aGVtZXMtbG9nbyB7XG5cbiAgICB9XG5cbiAgICAmX19jb3B5cmlnaHQtbm90aWNlIHtcblxuICAgIH1cbiAgfVxufVxuIiwiLmZsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvIHtcbiAgJGI6IFwiLmZsby1nZW5lcmljLWZhbmN5Ym94LXZpZGVvXCI7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICB6LWluZGV4OiAxMDAwO1xuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgfVxufVxuIiwiLmZsby1nZW5lcmljLW1lbnUtd3JhcCB7XG4gICRiOiBcIi5mbG8tZ2VuZXJpYy1tZW51LXdyYXBcIjtcblxuICAvKiBTVEFSVDogTUVOVSAoZHJvcGRvd25zLCBsaW5rcyBldGMuKSAqL1xuICAgICRnYXAtdW5kZXItZmlyc3QtbGV2ZWwtaXRlbTogcmVtLWNhbGMoMzcpO1xuXG4gICAgJl9fbWVudSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgei1pbmRleDogMjMxMTIzMTI7XG4gICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgIC8vIFN0YXJ0OiBJdGVtXG4gICAgICAgIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXIpO1xuXG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgLy8gRW5kOiBJdGVtXG5cbiAgICAgICAgLy8gU3RhcnQ6IDFzdCBsZXZlbCBpdGVtXG4gICAgICAgICAgJiA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLy8gRW5kOiAxc3QgbGV2ZWwgaXRlbVxuXG4gICAgICAvLyBTdGFydDogRHJvcGRvd25zXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNTApO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTguNSkgMDtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAgICAgLy8gU3RhcnQ6IERyb3Bkb3duIEl0ZW1cbiAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYuNSkgcmVtLWNhbGMoMzkpO1xuICAgICAgICAgICAgICAgICYgPiBhIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAmOmhvdmVyOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgLy8gRW5kOiBEcm9wZG93biBJdGVtXG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLyogU3RhcnQ6IDJuZCBMZXZlbCBEcm9wZG93biAqL1xuICAgICAgICAgICYgPiBsaSAge1xuICAgICAgICAgICAgJGJvdHRvbS1nYXA6ICRnYXAtdW5kZXItZmlyc3QtbGV2ZWwtaXRlbTtcbiAgICAgICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAgICAgLy8gICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIC8vICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgLy8gICB0b3A6IDEwMCU7XG4gICAgICAgICAgICAvLyAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAvL1xuICAgICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIC8vICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAvLyAgIGhlaWdodDogJGJvdHRvbS1nYXA7XG4gICAgICAgICAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAvLyB9XG4gICAgICAgICAgICAmID4gdWwge1xuICAgICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7JGJvdHRvbS1nYXB9KTtcbiAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICBib3R0b206IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcblxuICAgICAgICAgICAgICAgIGhlaWdodDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSAtICN7cmVtLWNhbGMoMSl9KTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwIHJlbS1jYWxjKDcpIHJlbS1jYWxjKDYpIHJlbS1jYWxjKDcpO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgIC8vIEVuZDogRHJvcGRvd25zXG4gICAgfVxuICAvKiBFTkQ6IE1FTlUgKGRyb3Bkb3ducywgbGlua3MgZXRjLikgKi9cbn1cbiIsIi5mbG8tZ2VuZXJpYy1zbGlkZXMge1xuICAkYjogXCIuZmxvLWdlbmVyaWMtc2xpZGVzXCI7XG5cbiAgJl9fc2xpZGUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG4gICAgJl9fc2xpZGUtY29udGVudCB7XG4gICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICB9XG4gICAgICAmX19zbGlkZS1pbWcge1xuXG4gICAgICAgICYtLWJnaSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICAgICAgJi0taW1nIHtcblxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgdmlkZW8ge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1jcm9wcGVkIHtcbiAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICYtLW5vLWNyb3Age1xuICAgICAgICAgIHZpZGVvIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJl9fc2xpZGUge1xuICAgIH1cbiAgICAgICZfX3NsaWRlLWNvbnRlbnQge1xuICAgICAgfVxuICAgICAgICAmX19zbGlkZS1pbWcge1xuXG4gICAgICAgICAgJi0tYmdpIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0taW1nIHtcblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX19zbGlkZS1iYWNrZ3JvdW5kLXZpZGVvIHtcbiAgICAgICAgICB2aWRlbyB7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWNyb3BwZWQge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1uby1jcm9wIHtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICYtLWltYWdlLXR5cGUtYmdpIHtcblxuICAgICAgI3skYn1fX3NsaWRlLWNvbnRlbnQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICB9XG4gICAgfVxuICAgICZfX3NsaWRlIHtcbiAgICB9XG4gICAgICAmX19zbGlkZS1jb250ZW50IHtcbiAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtaW1nIHtcblxuICAgICAgICAgICYtLWJnaSB7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWltZyB7XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJl9fc2xpZGUtYmFja2dyb3VuZC12aWRlbyB7XG4gICAgICAgICAgdmlkZW8ge1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLS1jcm9wcGVkIHtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi0tbm8tY3JvcCB7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIH1cbiAgQGluY2x1ZGUgZmxvLXJlc3BvbnNpdmUtaW1hZ2UtYmcoXCImX19zbGlkZS1pbWdcIik7XG59XG4iLCIuZmxvLW1vYmlsZS1tZW51e1xuICAkYjogJy5mbG8tbW9iaWxlLW1lbnUnO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgei1pbmRleDogOTk5OTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDM1KSAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuXG4gIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gIC8qIFNUQVJUOiBNRU5VICovXG4gICAgJl9fbWVudSB7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6IGluaGVyaXQhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBNRU5VICovXG4gIC8qIFNUQVJUOiBDT1BZUklHSFRTIEFSRUEgKi9cbiAgICAmX19jb3B5cmlnaHQtYXJlYSB7XG5cbiAgICB9XG4gICAgICAmX190ZXh0LWFib3ZlLWNvcHlyaWdodC1ub3RpY2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNyk7XG4gICAgICB9XG4gICAgICAmX19jb3B5cmlnaHQtbm90aWNlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzcpO1xuICAgICAgfVxuICAgICAgJl9fY29weXJpZ2h0LWZsby1sb2dvIHtcblxuICAgICAgfVxuICAvKiBFTkQ6IENPUFlSSUdIVFMgQVJFQSAqL1xuXG4gIC8qIFNUQVJUOiBWSVNJQklMSVRZICovXG4gICAgQGF0LXJvb3Qge1xuICAgICAgLmJvZHktLWZsby1tb2JpbGUtbWVudS1wb3B1cC1vcGVuZWQge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAjeyRifSB7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBodG1sLFxuICAgICAgLmJvZHktLWZsby1tb2JpbGUtbWVudS1wb3B1cC1jbG9zZWQge1xuICAgICAgICAjeyRifSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICB9XG4gIC8qIEVORDogVklTSUJJTElUWSAqL1xuXG4gIC8qIFNUQVJUOiBUWVBFUyAqL1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLW1vYmlsZS1tZW51LS10eXBlLWFcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlci1tb2JpbGUtbWVudS0tdHlwZS1iXCI7XG4gIC8qIEVORDogVFlQRVMgKi9cblxufVxuIiwiJi0tdHlwZS1hIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAjeyRifV9fY2xvc2Uge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDI5KTtcbiAgfVxuICAjeyRifV9fbWVudSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNzApO1xuXG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAgIGEge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB9XG4gIH1cbiAgICAvKiBTVEFSVDogRklSU1QgTEVWRUwgSVRFTSAqL1xuICAgICAgI3skYn1fX21lbnUgPiBsaSB7XG4gICAgICAgICY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpe1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIC8qIEVORDogRklSU1QgTEVWRUwgSVRFTSAqL1xuXG4gICAgLyogU1RBUlQ6IERST1BET1dOICovXG4gICAgICAjeyRifV9fbWVudSA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcblxuICAgICAgICAmID4gdWwge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDkpO1xuICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIC8qIEVORDogRFJPUERPV04gKi9cblxuICAgIC8qIFNUQVJUOiBEUk9QRE9XTiBUT0dHTElORyAqL1xuICAgICAgI3skYn1fX21lbnUtZHJvcGRvd24tdG9nZ2xlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgJHNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApIDAgcmVtLWNhbGMoMjApIHJlbS1jYWxjKDQwKTtcbiAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICBoZWlnaHQ6ICRzaXplO1xuXG4gICAgICAgICY6YmVmb3JlLFxuICAgICAgICAmOmFmdGVyXG4gICAgICAgIHtcbiAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgICAgfVxuICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0sIG9wYWNpdHksIGhlaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICN7JGJ9X19tZW51IGxpLmNoaWxkcmVuLXZpc2libGUge1xuICAgICAgICAjeyRifV9fbWVudS1kcm9wZG93bi10b2dnbGU6YWZ0ZXIge1xuICAgICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDkwZGVnKSB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAvKiBFTkQ6IERST1BET1dOIFRPR0dMSU5HICovXG5cbiAgI3skYn1fX2NvcHlyaWdodC1hcmVhIHtcbiAgICBwYWRkaW5nOiAwIHJlbS1jYWxjKDUwKTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbiAgICAjeyRifV9fdGV4dC1hYm92ZS1jb3B5cmlnaHQtbm90aWNlIHtcblxuICAgIH1cbiAgICAjeyRifV9fY29weXJpZ2h0LW5vdGljZSB7XG5cbiAgICB9XG4gICAgI3skYn1fX2NvcHlyaWdodC1mbG8tbG9nbyB7XG5cbiAgICB9XG59XG4iLCImLS10eXBlLWIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuXG4gIC8vIEJhY2tncm91bmQgT3ZlcmxheVxuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogXCIgXCI7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICB9XG5cbiAgI3skYn1fX2Nsb3NlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTEpO1xuICB9XG4gICN7JGJ9X19tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOTkpO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHRyYW5zZm9ybSk7XG4gICAgbGkge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbiAgfVxuICAgIC8qIFNUQVJUOiBEUk9QRE9XTiAqL1xuICAgICAgI3skYn1fX21lbnUgPiBsaSA+IHVsIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMzkpfSk7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICB9XG4gICAgLyogRU5EOiBEUk9QRE9XTiAqL1xuXG4gICAgLyogU1RBUlQ6IERST1BET1dOIFRPR0dMRVMgKi9cbiAgICAgICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtIWltcG9ydGFudDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgICAvKiBTVEFSVDogTUFJTiBUT0dHTEUgKi9cbiAgICAgICAgICAjeyRifV9fbWVudSA+IGxpIHtcbiAgICAgICAgICAgICYgPiBhICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxZW07XG4gICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHksIG1hcmdpbiwgd2lkdGgpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgLyogRU5EOiBNQUlOIFRPR0dMRSAqL1xuXG4gICAgICAgIC8qIFNUQVJUOiBEVVBMSUNBVEUgVE9HR0xFIEZPUiBUSEUgRFJPUERPV04gTUVOVSAqL1xuICAgICAgICAgICN7JGJ9X19tZW51ID4gbGkgPiB1bCA+ICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMjYpfSk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgIH1cbiAgICAgICAgLyogRU5EOiBEVVBMSUNBVEUgVE9HR0xFIEZPUiBUSEUgRFJPUERPV04gTUVOVSAqL1xuXG4gICAgICAvKiBTVEFSVDogVklTSUJJTElUWSAqL1xuICAgICAgICAjeyRifV9fbWVudSBsaS5jaGlsZHJlbi12aXNpYmxlIHtcbiAgICAgICAgICAjeyRifV9fbWVudS1kcm9wZG93bi10b2dnbGUgaXtcbiAgICAgICAgICAgIC8vIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgLy8gTWFpbiBUb2dnbGVcbiAgICAgICAgICAgICYgPiBhICN7JGJ9X19tZW51LWRyb3Bkb3duLXRvZ2dsZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogVklTSUJJTElUWSAqL1xuXG4gICAgLyogRU5EOiBEUk9QRE9XTiBUT0dHTEVTICovXG5cbiAgI3skYn1fX2NvcHlyaWdodC1hcmVhIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICB9XG5cbiAgLyogU1RBUlQ6IERST1BET1dOIE9QRU5FRCBTVFlMRSAqL1xuICAgICYjeyRifS0tZHJvcGRvd24tb3BlbmVkIHtcbiAgICAgICN7JGJ9X19tZW51LFxuICAgICAgI3skYn1fX2NvcHlyaWdodC1hcmVhXG4gICAgICB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCggY2FsYygtNTB2dyArICN7JGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbH0pICk7XG4gICAgICB9XG5cbiAgICAgIC8qIFNUQVJUOiBEUk9QRE9XTiBUT0dHTEUgU1RVRkYgKi9cbiAgICAgICAgI3skYn1fX21lbnUgPiBsaSA+IHVsIHtcblxuICAgICAgICB9XG4gICAgICAvKiBFTkQ6IERST1BET1dOIFRPR0dMRSBTVFVGRiAqL1xuICAgIH1cbiAgLyogRU5EOiBEUk9QRE9XTiBPUEVORUQgU1RZTEUgKi9cbn1cbiIsIi5mbG8taGVhZGVyLW1vYmlsZXtcbiAgJGI6IFwiLmZsby1oZWFkZXItbW9iaWxlXCI7XG5cbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogcmVtLWNhbGMoMjUpICRnbG9iYWwtcGFkZGluZy1tb2JpbGUtLWhvcml6b250YWw7XG4gIHotaW5kZXg6IDExMTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IsIG9wYWNpdHksIHBhZGRpbmcpO1xuXG4gIC8qIFNUQVJUOiBNRU5VIFRSSUdHRVIgKi9cbiAgICAmX19tZW51LXRyaWdnZXIge1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg4KTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICB9XG4gIC8qIEVORDogTUVOVSBUUklHR0VSICovXG5cbiAgLyogU1RBUlQ6IExPR08gKi9cbiAgICAmX19sb2dve1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogNjAlO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG5cbiAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgI3skYn1fX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2xvZ28taW1hZ2UtLWxpZ2h0IHtcbiAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICAgJl9fbG9nby1pbWFnZSB7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAmLS1zdGlja3ksXG4gICAgICAgICYtLWxpZ2h0XG4gICAgICAgIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgLyogRU5EOiBMT0dPICovXG5cbiAgLyogU1RBUlQ6IFRZUEVTICovXG4gICAgQGltcG9ydCBcImZsby1oZWFkZXItbW9iaWxlLS10eXBlLWFcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlci1tb2JpbGUtLXR5cGUtYlwiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLW1vYmlsZS0tdHlwZS1jXCI7XG4gIC8qIEVORDogVFlQRVMgKi9cblxuICAvKiBTVEFSVDogU1RJQ0tZIFRZUEUgQSAqL1xuICAgIEBhdC1yb290IHtcblxuICAgICAgLyogU1RBUlQ6IFNUSUNLWSBCT1RUT00gQU5JTUFUSU9OICovXG4gICAgICAgIEBrZXlmcmFtZXMgbW92ZV9zdGlja3lfdG9fYm90dG9tIHtcbiAgICAgICAgICAwJSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICAxMDAlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogU1RJQ0tZIEJPVFRPTSBBTklNQVRJT04gKi9cblxuICAgICAgLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oaGVpZ2h0KTtcbiAgICAgICAgI3skYn0uaXMtbWFpbiB7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIGJvdHRvbTogYXV0byFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgICAgJi5pcy1zdGlja3kge1xuICAgICAgICAgICN7JGJ9e1xuICAgICAgICAgICAgcG9zaXRpb246IGZpeGVkIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAmI3skYn0tLXN0aWNreS1zdHlsZS1hIHtcblxuICAgICAgICAgICAgICAmI3skYn0tLXN0aWNreS1wb3NpdGlvbi10b3Age1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICBib3R0b206IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYjeyRifS0tc3RpY2t5LXBvc2l0aW9uLWJvdHRvbSB7XG4gICAgICAgICAgICAgICAgYW5pbWF0aW9uLW5hbWU6IG1vdmVfc3RpY2t5X3RvX2JvdHRvbTtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZHVyYXRpb246ICRnbG9iYWwtdHJhbnNpdGlvbi1zcGVlZDtcbiAgICAgICAgICAgICAgICBhbmltYXRpb24tZmlsbC1tb2RlOiBmb3J3YXJkcztcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG8haW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCkgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcblxuICAgICAgICAgICAgI3skYn1fX2xvZ28taW1hZ2Uge1xuICAgICAgICAgICAgICAmLS1kZWZhdWx0IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYtLXN0aWNreSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgIH1cblxuICAgIH1cbiAgLyogRU5EOiBTVElDS1kgVFlQRSBBICovXG5cbiAgLyogU1RBUlQ6IFNUSUNLWSBUWVBFIEIgKi9cbiAgICAmX19zdGlja3ktaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAkc2l6ZTogcmVtLWNhbGMoNTIpO1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRzaXplO1xuICAgICAgbGluZS1oZWlnaHQ6ICRzaXplO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOCk7XG4gICAgICB6LWluZGV4OiAxMDAwO1xuXG4gICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAkdmVydGljYWwtb2Zmc2V0OiByZW0tY2FsYygyMyk7XG4gICAgICAkaG9yaXpvbnRhbC1vZmZzZXQ6IHJlbS1jYWxjKDIxKTtcblxuICAgICAgJi0tcG9zaXRpb24tdG9wLWxlZnQge1xuICAgICAgICB0b3A6ICR2ZXJ0aWNhbC1vZmZzZXQ7XG4gICAgICAgIGxlZnQ6ICRob3Jpem9udGFsLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYtLXBvc2l0aW9uLXRvcC1yaWdodCB7XG4gICAgICAgIHRvcDogJHZlcnRpY2FsLW9mZnNldDtcbiAgICAgICAgcmlnaHQ6ICRob3Jpem9udGFsLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYtLXBvc2l0aW9uLWJvdHRvbS1yaWdodCB7XG4gICAgICAgIGJvdHRvbTogJHZlcnRpY2FsLW9mZnNldDtcbiAgICAgICAgcmlnaHQ6ICRob3Jpem9udGFsLW9mZnNldDtcbiAgICAgIH1cbiAgICAgICYtLXBvc2l0aW9uLWJvdHRvbS1sZWZ0IHtcbiAgICAgICAgYm90dG9tOiAkdmVydGljYWwtb2Zmc2V0O1xuICAgICAgICBsZWZ0OiAkaG9yaXpvbnRhbC1vZmZzZXQ7XG4gICAgICB9XG4gICAgfVxuICAvKiBFTkQ6IFNUSUNLWSBUWVBFIEIgKi9cblxuICAvKiBTVEFSVDogSElERSBPTiBERVNLVE9QICovXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXJ7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBISURFIE9OIERFU0tUT1AgKi9cblxuICAvKiBTVEFSVDogTU9CSUxFIExPR08gKi9cbiAgICBAYXQtcm9vdCB7XG4gICAgICAuYm9keS0tZmxvLXBhZ2UtaGVyby1lbGVtZW50cy1jb2xvci1pcy1saWdodCB7XG4gICAgICAgIC5mbG8taGVhZGVyLWFuZC1mbG8tcGFnZS1oZXJvID4gaGVhZGVyID4gLmZsby1oZWFkZXItbW9iaWxlIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZSxcbiAgICAgICAgLmZsby1oZWFkZXItYW5kLWZsby1wYWdlLWhlcm8gLmZsby1oZWFkZXItbW9iaWxlLXN0aWNreS13cmFwcGVyOm5vdCguaXMtc3RpY2t5KSAuZmxvLWhlYWRlci1tb2JpbGUgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlIHtcbiAgICAgICAgICAmLS1kZWZhdWx0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICYtLWxpZ2h0IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuZmxvLWhlYWRlci1tb2JpbGUtc3RpY2t5LXdyYXBwZXIuaXMtc3RpY2t5IHtcbiAgICAgICAgI3skYn0ge1xuICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm90dG9tOiBhdXRvIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAgICAgLnN0aWNreS1jb250YWluZXJ7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIC8qIEVORDogTU9CSUxFIExPR08gKi9cblxufVxuIiwiJi0tdHlwZS1hIHtcbiAgI3skYn1fX2xvZ28ge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICB9XG4gICN7JGJ9X19tZW51LXRyaWdnZXIge1xuXG4gIH1cbn1cbiIsIiYtLXR5cGUtYiB7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgI3skYn1fX2xvZ28ge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gIH1cbiAgI3skYn1fX21lbnUtdHJpZ2dlciB7XG5cbiAgfVxufVxuIiwiJi0tdHlwZS1jIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nOiByZW0tY2FsYygyOSkgJGdsb2JhbC1wYWRkaW5nLW1vYmlsZS0taG9yaXpvbnRhbDtcbiAgI3skYn1fX2xvZ28ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XG4gIH1cbiAgI3skYn1fX21lbnUtdHJpZ2dlciB7XG5cbiAgfVxufVxuIiwiLmZsby1oZWFkZXIge1xuICAkYjogXCIuZmxvLWhlYWRlclwiO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDk5OTtcblxuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yLCBib3JkZXItY29sb3IpO1xuXG4gIC8qIFNUQVJUOiBIRUFERVIgQ09NTU9OIEVMRU1FTlRTICovXG4gICAgQGltcG9ydCBcImZsby1oZWFkZXJfX21lbnVcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlcl9fbWVudS10cmlnZ2VyXCI7XG4gICAgQGltcG9ydCBcImZsby1oZWFkZXJfX2xvZ29cIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlcl9fc2VhcmNoXCI7XG4gICAgQGltcG9ydCBcImZsby1oZWFkZXJfX3NvY2lhbC1saW5rc1wiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyX19tZW51LXBvcHVwXCI7XG4gIC8qIEVORDogSEVBREVSIENPTU1PTiBFTEVNRU5UUyAqL1xuXG4gIC8qIFNUQVJUOiBIRUFERVIgTEFZT1VUUyAqL1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLS10eXBlLWEtYW5kLWJcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlci0tdHlwZS1jLWFuZC1kXCI7XG4gICAgQGltcG9ydCBcImZsby1oZWFkZXItLXR5cGUtZS1hbmQtZlwiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLS10eXBlLWctYW5kLWhcIjtcbiAgICBAaW1wb3J0IFwiZmxvLWhlYWRlci0tdHlwZS1pLWFuZC1qXCI7XG4gICAgQGltcG9ydCBcImZsby1oZWFkZXItLXR5cGUta1wiO1xuICAgIEBpbXBvcnQgXCJmbG8taGVhZGVyLS10eXBlLWxcIjtcbiAgLyogRU5EOiBIRUFERVIgTEFZT1VUUyAqL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cblxuKiB7XG4gIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbn1cblxuLyogU1RBUlQ6IFNUSUNLWSBIRUFERVIgU1RZTEVTICovXG4gIC5mbG8taGVhZGVyLS1zdGlja3kge1xuICAgIC5zdGlja3ktd3JhcHBlciB7XG4gICAgICAvLyBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsO1xuXG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuXG4gICAgICAmLmlzLXN0aWNreSB7XG4gICAgICAgIC5mbG8taGVhZGVyIHtcbiAgICAgICAgICBwb3NpdGlvbjogZml4ZWQhaW1wb3J0YW50O1xuICAgICAgICAgIHRvcDogMCFpbXBvcnRhbnQ7XG4gICAgICAgICAgYm90dG9tOiBhdXRvIWltcG9ydGFudDtcblxuICAgICAgICAgICZfX2xvZ28taW1hZ2UtLWRlZmF1bHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJl9fbG9nby1pbWFnZS0tc3RpY2t5IHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4vKiBFTkQ6IFNUSUNLWSBIRUFERVIgU1RZTEVTICovXG5AaW1wb3J0IFwiZmxvLWhlYWRlcl9fdG9wYmFyXCI7IiwiXG4vKiBTVEFSVDogTUVOVSAoZHJvcGRvd25zLCBsaW5rcyBldGMuKSAqL1xuICAvLyAkZ2FwLXVuZGVyLWZpcnN0LWxldmVsLWl0ZW06IHJlbS1jYWxjKDM3KTtcbiAgJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtOiByZW0tY2FsYygyNCk7XG5cbiAgJl9fbWVudSB7XG4gICAgJiA+IGRpdiA+IHVsIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICB6LWluZGV4OiAyMzExMjMxMjtcbiAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICB9XG5cbiAgICAvLyBTdGFydDogSXRlbVxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihib3JkZXIpO1xuXG4gICAgICAgIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgLy8gRW5kOiBJdGVtXG5cbiAgICAgIC8vIFN0YXJ0OiAxc3QgbGV2ZWwgaXRlbVxuICAgICAgICAmID4gZGl2ID4gdWwgPiBsaSB7XG4gICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8vIEVuZDogMXN0IGxldmVsIGl0ZW1cblxuICAgIC8vIFN0YXJ0OiBEcm9wZG93bnNcbiAgICAgIGxpIHtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygyNTApO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE4LjUpIDA7XG4gICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcblxuICAgICAgICAgIC8vIFN0YXJ0OiBEcm9wZG93biBJdGVtXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg2LjUpIHJlbS1jYWxjKDM5KTtcbiAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtaXRlbSxcbiAgICAgICAgICAgICAgJi5jdXJyZW50LW1lbnUtcGFyZW50IHtcbiAgICAgICAgICAgICAgICAmID4gYTpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJiA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgJjpob3ZlcjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBib3JkZXItY29sb3IpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIC8vIEVuZDogRHJvcGRvd24gSXRlbVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qIFN0YXJ0OiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAgICAgJiA+IGRpdiA+IHVsID4gbGkgIHtcbiAgICAgICAgICAkYm90dG9tLWdhcDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgIC8vICY6YWZ0ZXIge1xuICAgICAgICAgIC8vICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgLy8gICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgLy8gICB0b3A6IDEwMCU7XG4gICAgICAgICAgLy8gICBsZWZ0OiAwO1xuICAgICAgICAgIC8vXG4gICAgICAgICAgLy8gICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAvLyAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIC8vICAgaGVpZ2h0OiAkYm90dG9tLWdhcDtcbiAgICAgICAgICAvLyAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgLy8gfVxuICAgICAgICAgICYgPiB1bCB7XG4gICAgICAgICAgICB0b3A6IGNhbGMoMTAwJSArICN7JGJvdHRvbS1nYXB9KTtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgICAgICAgIGhlaWdodDogJGdhcC11bmRlci1maXJzdC1sZXZlbC1pdGVtO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKDEpfSk7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcblxuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCByZW0tY2FsYyg3KSByZW0tY2FsYyg2KSByZW0tY2FsYyg3KTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgLyogRW5kOiAybmQgTGV2ZWwgRHJvcGRvd24gKi9cbiAgICAvLyBFbmQ6IERyb3Bkb3duc1xuICB9XG4vKiBFTkQ6IE1FTlUgKGRyb3Bkb3ducywgbGlua3MgZXRjLikgKi9cbiIsIiYtLXR5cGUtYSxcbiYtLXR5cGUtYiB7XG4gIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICN7JGJ9X19tZW51LXdyYXAge1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHBhZGRpbmctYm90dG9tKTtcbiAgfVxuICAgICN7JGJ9X19tZW51IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgJiA+IGRpdiA+IHVsIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgJGl0ZW1zLWNvdW50OiA2O1xuICAgICAgICAgICRmaXJzdF9sYXN0X2l0ZW1fd2lkdGg6IDEzJTtcbiAgICAgICAgICAkbWlkZGxlX2l0ZW1zX3dpZHRoOiAoMTAwJSAtICRmaXJzdF9sYXN0X2l0ZW1fd2lkdGggKiAyKSAvICgkaXRlbXMtY291bnQgLSAyKTtcblxuICAgICAgICAgIC8vd2lkdGg6ICRtaWRkbGVfaXRlbXNfd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGl0ZW1zLWNvdW50fW4pOmxhc3QtY2hpbGQsXG4gICAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpdGVtcy1jb3VudH0pOmZpcnN0LWNoaWxke1xuICAgICAgICAgICAgd2lkdGg6ICRmaXJzdF9sYXN0X2l0ZW1fd2lkdGg7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaXRlbXMtY291bnR9KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKCN7JGl0ZW1zLWNvdW50fW4pOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICN7JGJ9X19sb2dvLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ocGFkZGluZy1ib3R0b20pO1xuICB9XG4gICAgI3skYn1fX2xvZ28ge1xuICAgIH1cblxufVxuLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgJi0tdHlwZS1hIHtcbiAgICAjeyRifV9fbWVudS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzOSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoODQpO1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51IHtcbiAgICAgIH1cbiAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgIH1cbiAgICAgICN7JGJ9X19sb2dvIHtcbiAgICAgIH1cbiAgfVxuXG4gICYtLXR5cGUtYiB7XG4gICAgI3skYn1fX21lbnUtd3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTUpO1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51IHtcbiAgICAgIH1cbiAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1Nik7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNzMpO1xuICAgIH1cbiAgICAgICN7JGJ9X19sb2dvIHtcbiAgICAgIH1cbiAgfVxuLyogRU5EOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG5cbi8qIFNUQVJUOiBXSEVOIFNUSUNLWSBBREpVU1QgUEFERElOR1MgKi9cbiAgQGF0LXJvb3Qge1xuICAgIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1hIC5mbG8taGVhZGVyX19sb2dvLXdyYXAsXG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWIgLmZsby1oZWFkZXJfX2xvZ28td3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgIH1cbiAgICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtYSAuZmxvLWhlYWRlcl9fbWVudS13cmFwLFxuICAgIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1iIC5mbG8taGVhZGVyX19tZW51LXdyYXAge1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMyKTtcbiAgICB9XG4gIH1cbi8qIEVORDogV0hFTiBTVElDS1kgQURKVVNUIFBBRERJTkdTICovXG4iLCImLS10eXBlLWMsXG4mLS10eXBlLWQge1xuXG4gIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWwgcmVtLWNhbGMoNDkpICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ocGFkZGluZyk7XG5cbiAgI3skYn1fX3RvcC13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDI2KTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihwYWRkaW5nKTtcbiAgfVxuICAgICN7JGJ9X19zZWFyY2gtd3JhcCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICN7JGJ9X19ib3R0b20td3JhcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gICAgI3skYn1fX2xvZ28td3JhcCB7XG4gICAgICBmbGV4LXNocmluazogMDtcbiAgICB9XG4gICAgI3skYn1fX21lbnUge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgIH1cbiAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxufVxuLyogU1RBUlQ6IE1lbnUgSXRlbXMgR2FwICovXG4gICRmaXJzdF9pdGVtX2dhcDogcmVtLWNhbGMoMTIwKTtcbiAgJGl0ZW1fZ2FwOiByZW0tY2FsYygxNDUpO1xuICAkaXRlbXNfZ2FwX2RpZmZlcmVuY2U6ICRpdGVtX2dhcCAtICRmaXJzdF9pdGVtX2dhcDtcbi8qIEVORDogTWVudSBJdGVtcyBHYXAgKi9cblxuLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgJi0tdHlwZS1jIHtcblxuICAgICN7JGJ9X190b3Atd3JhcCB7XG4gICAgfVxuICAgICAgI3skYn1fX3NlYXJjaC13cmFwIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19zb2NpYWwtbGlua3Mge1xuICAgICAgfVxuICAgICN7JGJ9X19ib3R0b20td3JhcCB7XG4gICAgfVxuICAgICAgI3skYn1fX2xvZ28td3JhcCB7XG4gICAgICB9XG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgICAgLy9tYXJnaW4tbGVmdDogLSRpdGVtc19nYXBfZGlmZmVyZW5jZTtcbiAgICAgICAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAjeyRpdGVtc19nYXBfZGlmZmVyZW5jZX0pO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkaXRlbV9nYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICYgPiB1bCB7XG4gICAgICAgIH1cbiAgfVxuXG4gICYtLXR5cGUtZCB7XG4gICAgI3skYn1fX3RvcC13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fc2VhcmNoLXdyYXAge1xuICAgICAgfVxuICAgICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICB9XG4gICAgI3skYn1fX2JvdHRvbS13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19tZW51IHtcbiAgICAgICAgJiA+IGRpdiA+IHVsIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IC0kaXRlbXNfZ2FwX2RpZmZlcmVuY2U7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGl0ZW1zX2dhcF9kaWZmZXJlbmNlfSk7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpdGVtX2dhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICAgJiA+IHVsIHtcbiAgICAgICAgfVxuICB9XG4vKiBFTkQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cblxuLyogU1RBUlQ6IFdIRU4gU1RJQ0tZIEFESlVTVCBQQURESU5HUyAqL1xuICBAYXQtcm9vdCB7XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWMsXG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWQge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAjeyRifV9fdG9wLXdyYXAge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuLyogRU5EOiBXSEVOIFNUSUNLWSBBREpVU1QgUEFERElOR1MgKi9cbiIsIiYtLXR5cGUtZSxcbiYtLXR5cGUtZiB7XG4gIHBhZGRpbmc6IDAgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzUpO1xuICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzUpO1xuICAjeyRifV9fbG9nby13cmFwIHtcbiAgICBmbGV4LXNocmluazogMDtcbiAgfVxuICAgICN7JGJ9X19sb2dvIHtcbiAgICB9XG5cbiAgI3skYn1fX21lbnUtd3JhcCB7XG4gICAgZmxleC1ncm93OiAxO1xuICB9XG4gICAgI3skYn1fX21lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAmID4gZGl2ID4gdWwge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNy41KSAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICN7JGJ9X19sb2dvLXdyYXAge1xuICB9XG4gICAgI3skYn1fX2xvZ28ge1xuICAgIH1cblxufVxuLyogU1RBUlQ6IE1lbnUgSXRlbXMgR2FwICovXG4gICRmaXJzdF9pdGVtX2dhcDogcmVtLWNhbGMoMTIwKTtcbiAgJGl0ZW1fZ2FwOiByZW0tY2FsYygxNDUpO1xuICAkaXRlbXNfZ2FwX2RpZmZlcmVuY2U6ICRpdGVtX2dhcCAtICRmaXJzdF9pdGVtX2dhcDtcbi8qIEVORDogTWVudSBJdGVtcyBHYXAgKi9cblxuLyogU1RBUlQ6IFVuaXF1ZSBDU1MgZm9yIGVhY2ggSGVhZGVyIFR5cGUgKi9cbiAgJi0tdHlwZS1lIHtcbiAgICAjeyRifV9fbWVudS13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgICAgLy9tYXJnaW4tbGVmdDogLSRpdGVtc19nYXBfZGlmZmVyZW5jZTtcbiAgICAgICAgICAvL3dpZHRoOiBjYWxjKDEwMCUgKyAjeyRpdGVtc19nYXBfZGlmZmVyZW5jZX0pO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkaXRlbV9nYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgI3skYn1fX2xvZ28td3JhcCB7XG4gICAgfVxuICAgICAgI3skYn1fX2xvZ28ge1xuICAgICAgfVxuICB9XG5cbiAgJi0tdHlwZS1mIHtcbiAgICAjeyRifV9fbWVudS13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtJGl0ZW1zX2dhcF9kaWZmZXJlbmNlO1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAjeyRpdGVtc19nYXBfZGlmZmVyZW5jZX0pO1xuICAgICAgICAgICYgPiBsaSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6ICRpdGVtX2dhcDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICB9XG4gICAgICAjeyRifV9fbG9nbyB7XG4gICAgICB9XG4gIH1cbi8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuIiwiJi0tdHlwZS1nLFxuJi0tdHlwZS1oIHtcblxuICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgI3skYn1fX2FkZG9ucy13cmFwIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihwYWRkaW5nKTtcbiAgfVxuICAgICN7JGJ9X19zZWFyY2gtd3JhcCB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgIH1cbiAgICAjeyRifV9fbG9nby13cmFwIHtcbiAgICAgIHdpZHRoOiA0MCU7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbiAgICAjeyRifV9fc29jaWFsLWxpbmtzIHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gICN7JGJ9X19tZW51LXdyYXAge1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHBhZGRpbmcpO1xuICB9XG4gICAgI3skYn1fX21lbnUge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICYgPiBkaXYgPiB1bCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAkZmlyc3RfbGFzdF9pdGVtX3dpZHRoOiAxNCU7XG4gICAgICAgICAgJG1pZGRsZV9pdGVtc193aWR0aDogKDEwMCUgLSAkZmlyc3RfbGFzdF9pdGVtX3dpZHRoICogMikgLyAzO1xuXG4gICAgICAgICAgd2lkdGg6ICRtaWRkbGVfaXRlbXNfd2lkdGg7XG4gICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQ7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgICAgIGZsZXgtZ3JvdzogMDtcbiAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDVuKTpsYXN0LWNoaWxkLFxuICAgICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICB3aWR0aDogJGZpcnN0X2xhc3RfaXRlbV93aWR0aDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bnRoLWNoaWxkKDVuKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbn1cbi8qIFNUQVJUOiBNZW51IEl0ZW1zIEdhcCAqL1xuICAkZmlyc3RfaXRlbV9nYXA6IHJlbS1jYWxjKDEyMCk7XG4gICRpdGVtX2dhcDogcmVtLWNhbGMoMTY1KTtcbiAgJGl0ZW1zX2dhcF9kaWZmZXJlbmNlOiAkaXRlbV9nYXAgLSAkZmlyc3RfaXRlbV9nYXA7XG4vKiBFTkQ6IE1lbnUgSXRlbXMgR2FwICovXG5cbi8qIFNUQVJUOiBVbmlxdWUgQ1NTIGZvciBlYWNoIEhlYWRlciBUeXBlICovXG4gICYtLXR5cGUtZyB7XG5cbiAgICAjeyRifV9fYWRkb25zLXdyYXAge1xuICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDU3KTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg0OCk7XG4gICAgfVxuICAgICAgI3skYn1fX3NlYXJjaC13cmFwIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19sb2dvLXdyYXAge1xuICAgICAgfVxuICAgICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICB9XG4gICAgI3skYn1fX21lbnUtd3JhcCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNTcpO1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51IHtcbiAgICAgIH1cbiAgfVxuXG4gICYtLXR5cGUtaCB7XG4gICAgI3skYn1fX2FkZG9ucy13cmFwIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg2OCk7XG4gICAgfVxuICAgICAgI3skYn1fX3NlYXJjaC13cmFwIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19sb2dvLXdyYXAge1xuICAgICAgfVxuICAgICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICB9XG4gICAgI3skYn1fX21lbnUtd3JhcCB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzUpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDU1KTtcbiAgICB9XG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICB9XG4gIH1cbi8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuXG4vKiBTVEFSVDogV0hFTiBTVElDS1kgQURKVVNUUyBQQURESU5HUyAqL1xuICBAYXQtcm9vdCB7XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX2FkZG9ucy13cmFwLFxuICAgIC5mbG8taGVhZGVyLS1zdGlja3kgLmlzLXN0aWNreSAuZmxvLWhlYWRlci0tdHlwZS1oIC5mbG8taGVhZGVyX19hZGRvbnMtd3JhcCB7XG4gICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDEzKTtcbiAgICB9XG4gICAgLmZsby1oZWFkZXItLXN0aWNreSAuaXMtc3RpY2t5IC5mbG8taGVhZGVyLS10eXBlLWcgLmZsby1oZWFkZXJfX21lbnUtd3JhcCxcbiAgICAuZmxvLWhlYWRlci0tc3RpY2t5IC5pcy1zdGlja3kgLmZsby1oZWFkZXItLXR5cGUtaCAuZmxvLWhlYWRlcl9fbWVudS13cmFwIHtcbiAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgfVxuLyogRU5EOiBXSEVOIFNUSUNLWSBBREpVU1RTIFBBRERJTkdTICovXG4iLCImLS10eXBlLWksXG4mLS10eXBlLWoge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiByZW0tY2FsYygzNSkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsIHJlbS1jYWxjKDQxKSAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICN7JGJ9X19sZWZ0LXNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgI3skYn1fX3JpZ2h0LXNpZGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgfVxuICAgICN7JGJ9X19zZWFyY2gtd3JhcCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDc2KTtcbiAgICB9XG59XG4vKiBTVEFSVDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuICAmLS10eXBlLWkge1xuICAgICN7JGJ9X19sZWZ0LXNpZGUge1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51LXRyaWdnZXItd3JhcCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMzYpO1xuICAgICAgfVxuICAgICN7JGJ9X19yaWdodC1zaWRlIHtcbiAgICB9XG4gICAgICAjeyRifV9fc2VhcmNoLXdyYXAge1xuICAgICAgfVxuICB9XG5cbiAgJi0tdHlwZS1qIHtcbiAgICAjeyRifV9fbGVmdC1zaWRlIHtcbiAgICB9XG4gICAgI3skYn1fX3JpZ2h0LXNpZGUge1xuICAgIH1cbiAgICAgICN7JGJ9X19tZW51LXRyaWdnZXItd3JhcCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygzNik7XG4gICAgICB9XG4gIH1cbi8qIEVORDogVW5pcXVlIENTUyBmb3IgZWFjaCBIZWFkZXIgVHlwZSAqL1xuIiwiJl9fbWVudS10cmlnZ2VyLXdyYXAge1xuICAjeyRifV9fbWVudS10cmlnZ2VyIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlKCk7XG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICB9XG59XG4iLCImX19sb2dvIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICYtLWlzLWxpZ2h0IHtcbiAgICAjeyRifV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAjeyRifV9fbG9nby1pbWFnZS0tbGlnaHQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICYtaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgJi0tc3RpY2t5LFxuICAgICYtLWxpZ2h0XG4gICAge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgfVxufVxuIiwiJl9fc2VhcmNoLXdyYXAge1xufVxuICAmX19zZWFyY2gtZm9ybSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgICB3aWR0aDogcmVtLWNhbGMoMjY0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgfVxuICAgICZfX3NlYXJjaC1mb3JtLWxhYmVsLFxuICAgICZfX3NlYXJjaC1mb3JtLWlucHV0Ojotd2Via2l0LWlucHV0LXBsYWNlaG9sZGVyLFxuICAgICZfX3NlYXJjaC1pY29uIHtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICB9XG4gICAgJl9fc2VhcmNoLWZvcm0tbGFiZWwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMSk7XG4gICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICB9XG4gICAgJl9fc2VhcmNoLWZvcm0taW5wdXQge1xuICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICBib3JkZXI6IG5vbmUhaW1wb3J0YW50O1xuICAgIH1cbiAgICAmX19zZWFyY2gtZm9ybS1zdWJtaXQge1xuICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDM1KTtcbiAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcbiAgICB9XG4gICAgICAmX19zZWFyY2gtaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgfVxuIiwiJl9fc29jaWFsLWxpbmtzIHtcbiAgYSB7XG4gICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTgpO1xuICAgIH1cbiAgICAmOmJlZm9yZSB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgfVxuICB9XG59XG4iLCJAYXQtcm9vdCB7XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgei1pbmRleDogOTk5OTtcbiAgfVxufVxuJl9fbWVudS1wb3B1cCB7XG4gIHRvcDogMCFpbXBvcnRhbnQ7XG4gIGRpc3BsYXk6IGZsZXghaW1wb3J0YW50O1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgd2lkdGg6IHJlbS1jYWxjKDQyMCk7XG4gIGhlaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG91dGxpbmU6IG5vbmU7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogcmVtLWNhbGMoODUpIHJlbS1jYWxjKDc5KSByZW0tY2FsYyg3OCkgcmVtLWNhbGMoMTU1KTtcbiAgb3ZlcmZsb3cteDogdmlzaWJsZTtcbiAgb3ZlcmZsb3cteTogdmlzaWJsZTtcbn1cbiAgJl9fbWVudS1wb3B1cC1lbGVtZW50cy13cmFwIHtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgfVxuICAgICZfX21lbnUtcG9wdXAtbG9nby13cmFwIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICN7JGJ9X19sb2dvIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCUhaW1wb3J0YW50O1xuICAgICAgfVxuICAgIH1cbiAgICAgICZfX21lbnUtcG9wdXAtY2xvc2Uge1xuICAgICAgICAkc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0zNikgLSAkc2l6ZTtcblxuICAgICAgICBmb250LXNpemU6ICRzaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZSgpO1xuICAgICAgfVxuXG4gICAgJl9fbWVudS1wb3B1cC1tZW51LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTQzKTtcblxuICAgICAgI3skYn1fX21lbnUge1xuICAgICAgICAmID4gZGl2ID4gdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAmID4gbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICYgPiBsaSA+IHVsIHtcbiAgICAgICAgICAgICAgJGRyb3Bkb3duX29mZnNldDogcmVtLWNhbGMoNDcpO1xuXG4gICAgICAgICAgICAgIGxlZnQ6IGNhbGMoMTAwJSArICN7JGRyb3Bkb3duX29mZnNldH0pO1xuICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAgIC8vIFRyaWFuZ2xlXG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHRvcDogMC41ZW07XG4gICAgICAgICAgICAgICAgYm90dG9tOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpIHRyYW5zbGF0ZVgoLTEwMCUpIHRyYW5zbGF0ZVkoNzUlKTtcblxuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwLjQzNzVyZW0gMC4zNzVyZW0gMC40Mzc1cmVtO1xuICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgLy8gVHJpYW5nbGUgUGxhY2Vob2xkZXJcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAkZHJvcGRvd25fb2Zmc2V0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcblxuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IGF1dG87XG5cbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgfVxuXG4gICAgJl9fbWVudS1wb3B1cC10ZXh0LWFib3ZlLWNvcHlyaWdodC1ub3RpY2Uge1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTcpO1xuICAgIH1cblxuICAgICZfX21lbnUtcG9wdXAtY29weXJpZ2h0LW5vdGljZSB7XG4gICAgfVxuXG4gICAgJl9fbWVudS1wb3B1cC1mbG8tbG9nbyB7XG4gICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg2Myk7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgfVxuQGF0LXJvb3Qge1xuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIC8vIHotaW5kZXg6IDEwMDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50IWltcG9ydGFudDtcbiAgfVxufVxuIiwiJi0tdHlwZS1rIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcGFkZGluZzogcmVtLWNhbGMoMjIpICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkO1xuICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG5cbiAgI3skYn1fX2xlZnQtY29sdW1uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6ICgkZ2xvYmFsLWd1dHRlci13aWR0aCAqIDMpICsgKCRnbG9iYWwtY29sdW1uLXdpZHRoICogMik7XG4gIH1cbiAgICAjeyRifV9fc29jaWFsLWxpbmtzLWxpbmUge1xuICAgIH1cbiAgICAjeyRifV9fc29jaWFsLWxpbmtzLXRleHQge1xuICAgIH1cbiAgI3skYn1fX21pZGRsZS1jb2x1bW4ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgcGFkZGluZzogMCByZW0tY2FsYygzNyk7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gICAgLy8gQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgfVxuICAgICN7JGJ9X190b3AtcGFydCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KSByZW0tY2FsYygyMykgcmVtLWNhbGMoMjEpIHJlbS1jYWxjKDIzKTtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZDtcbiAgICAgIGJvcmRlci1jb2xvcjogaW5oZXJpdDtcbiAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJvcmRlci1jb2xvcik7XG4gICAgfVxuICAgICAgI3skYn1fX3ByZS10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgIH1cbiAgICAgICN7JGJ9X190aXRsZS1kaXZpZGVyIHtcbiAgICAgIH1cbiAgICAgICN7JGJ9X190aXRsZSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYpIHJlbS1jYWxjKDE5KSByZW0tY2FsYygzKSByZW0tY2FsYygxOSk7XG4gICAgICB9XG4gICAgI3skYn1fX2JvdHRvbS1wYXJ0IHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI0KSByZW0tY2FsYygyMykgcmVtLWNhbGMoMjIpIHJlbS1jYWxjKDIzKTtcbiAgICB9XG4gICAgICAvKiBTVEFSVDogTWVudSBJdGVtcyBHYXAgKi9cbiAgICAgICAgJGZpcnN0X2l0ZW1fZ2FwOiByZW0tY2FsYygwKTtcbiAgICAgICAgJGl0ZW1fZ2FwOiByZW0tY2FsYyg3MCk7XG4gICAgICAgICRpdGVtc19nYXBfZGlmZmVyZW5jZTogJGl0ZW1fZ2FwIC0gJGZpcnN0X2l0ZW1fZ2FwO1xuICAgICAgLyogRU5EOiBNZW51IEl0ZW1zIEdhcCAqL1xuXG4gICAgICAjeyRifV9fbWVudSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAmID4gZGl2ID4gdWwge1xuICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IC0kaXRlbXNfZ2FwX2RpZmZlcmVuY2U7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArICN7JGl0ZW1zX2dhcF9kaWZmZXJlbmNlfSk7XG4gICAgICAgICAgJiA+IGxpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAkaXRlbV9nYXA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG5cbiAgI3skYn1fX3JpZ2h0LWNvbHVtbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgIHdpZHRoOiAoJGdsb2JhbC1ndXR0ZXItd2lkdGggKiAzKSArICgkZ2xvYmFsLWNvbHVtbi13aWR0aCAqIDIpO1xuICB9XG4gICAgI3skYn1fX3NvY2lhbC1saW5rcy1saW5lIHtcbiAgICAgIHdpZHRoOiByZW0tY2FsYygyMCk7XG4gICAgICBoZWlnaHQ6IDFweDtcbiAgICAgIGJvcmRlci10b3Atd2lkdGg6IDFweDtcbiAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLWNvbG9yOiBpbmhlcml0O1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjcpO1xuICAgICAgLy8gQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICB9XG4gICAgI3skYn1fX3NvY2lhbC1saW5rcyB7XG4gICAgICAmID4gYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgfVxuICAgIH1cbiAgICAjeyRifV9fc29jaWFsLWxpbmtzLXRleHQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjQpO1xuICAgIH1cblxuICAgICN7JGJ9X19wcmUtdGl0bGUsXG4gICAgI3skYn1fX3RpdGxlLFxuICAgICN7JGJ9X19idXR0b24sXG4gICAgI3skYn1fX3NvY2lhbC1saW5rcy1saW5lLFxuICAgICN7JGJ9X190aXRsZS1kaXZpZGVyLFxuICAgICN7JGJ9X19zb2NpYWwtbGlua3MtdGV4dCB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgfVxuXG4gICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICB9XG5cbn1cbiIsIiYtLXR5cGUtbCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiByZW0tY2FsYygzOSkgJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICB3aWR0aDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgJi5hbGlnbi1mbGV4LXN0YXJ0e1xuICAgICN7JGJ9X19tZW51IHtcbiAgICAgICYtLWxlZnQsICYtLXJpZ2h0e1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAjeyRifV9fY2VudGVyZWQtbG9nby13cmFwe1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICAjeyRifV9fc29jaWFsLWxpbmtzIHtcbiAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDI1KTtcbiAgICB9XG4gIH1cbiAgI3skYn1fX21lbnUge1xuICAgICRnYXA6ICRnbG9iYWwtY29sdW1uLXdpZHRoIC8gMjtcbiAgICAmLS1sZWZ0LCAmLS1yaWdodHtcbiAgICB9XG4gICAgJi0tbGVmdCB7XG4gICAgICAjeyRifV9fbWVudS1pdGVtcyA+IGxpIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAkZ2FwXG4gICAgICB9XG4gICAgICAmID4gZGl2ID4gdWx7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICB9XG4gICAgfVxuICAgICYtLXJpZ2h0IHtcbiAgICAgIC5mbG8taGVhZGVyX19zZWFyY2gtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAkZ2FwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIC5mbG8taWNvbi1jbG9zZSxcbiAgICAgICAgLmZsby1pY29uLXNlYXJjaHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgfVxuICAgICAgICAuZmxvLWljb24tY2xvc2V7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICB9XG4gICAgICAgIC5zZWFyY2gtdmlzaWJsZSArIC5mbG8taGVhZGVyX19zZWFyY2gtdHJpZ2dlcntcbiAgICAgICAgICAuZmxvLWljb24tc2VhcmNoe1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmZsby1pY29uLWNsb3Nle1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1oZWFkZXJfX3NlYXJjaC1mb3Jte1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICByaWdodDogLTEuNjI1cmVtO1xuICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgcGFkZGluZzogMC44MjVyZW0gMC42MjVyZW07XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI0Y4RjZGNSAhaW1wb3J0YW50O1xuICAgICAgICAgIHRvcDogY2FsYygxMDAlICsgMS4yMjVyZW0pO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgICAgICAgJi5zZWFyY2gtdmlzaWJsZXtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgJjpiZWZvcmV7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAxMDAlO1xuICAgICAgICAgICAgcmlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogMCAwLjU3ODEycmVtIDAuNTkzNzVyZW0gMC41NzgxMnJlbTtcbiAgICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNGOEY2RjU7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5mbG8taGVhZGVyX19zZWFyY2gtZm9ybS1pbnB1dHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNGOEY2RjUhaW1wb3J0YW50O1xuICAgICAgICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3NlYXJjaC10cmlnZ2Vye1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICN7JGJ9X19tZW51LWl0ZW1zID4gbGkge1xuICAgICAgICBtYXJnaW4tbGVmdDogJGdhcFxuICAgICAgfVxuICAgICAgJiA+IGRpdiA+IHVse1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIuZmxvLWhlYWRlci10b3BiYXIge1xuICAkYjogXCIuZmxvLWhlYWRlci10b3BiYXJcIjtcblxuICAmLS1zaW1wbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgXG4gICAgJl9fYnV0dG9uIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICY6YWZ0ZXIsXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTVweDtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIHdpZHRoOiAwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKHdpZHRoKTtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgJjpob3ZlciB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBcbiAgICAmX19jbG9zZSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIFxuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgXG4gICAgfVxuICB9XG4gIFxuICAmLS1leHRlbmRlZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBcbiAgICAmX190aXRsZSB7XG4gICAgfVxuICAgICZfX3RleHQge1xuICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgIH1cbiAgICBcbiAgICAmX19idXR0b24ge1xuICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApIHJlbS1jYWxjKDMwKTtcbiAgICAgIFxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsIGJveC1zaGFkb3csIHRyYW5zZm9ybSk7XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xuICAgICAgICBib3gtc2hhZG93OiAwIDAgMzBweCA1cHggcmdiYSgwLCAwLCAwLCAuMSk7XG4gICAgICB9XG4gICAgICAmOmFjdGl2ZSwgXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjk1KTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJl9fY2xvc2Uge1xuICAgICAgXG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgfVxuICAgIFxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICBcbiAgICAmLS1zaW1wbGUge1xuICAgICAgXG4gICAgICBwYWRkaW5nOiAyMHB4IDEwMHB4O1xuICAgICAgXG4gICAgICAmX19idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogNjVweDtcbiAgICAgIH1cbiAgICAgICZfX2Nsb3NlIHtcbiAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEwMCk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi0tZXh0ZW5kZWQge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgcGFkZGluZzogMjVweCAwO1xuICAgICAgXG4gICAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxODBweDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA0NXB4O1xuICAgICAgICBcbiAgICAgICAgI3skYn1fX2ltYWdlIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgICAgJl9fdGV4dC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoOTApO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDkwKTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgfVxuICAgICAgXG4gICAgICAmX19hY3Rpb25zLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICAgICAgZmxleC1zaHJpbms6IDA7XG4gICAgICB9XG4gICAgICBcbiAgICAgICAgJl9fY2xvc2Uge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgLy8gcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIC8vIHRvcDogMjVweDtcbiAgICAgICAgICAvLyByaWdodDogMDtcbiAgICAgICAgfVxuICAgICAgXG4gICAgfVxuXG4gIH1cbiAgXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAmLS1leHRlbmRlZCB7XG4gICAgICAmX19pbWFnZS13cmFwIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgXG4gICAgJi0tc2ltcGxlIHtcbiAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKSAwO1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIFxuICAgICAgJl9fdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgICZfX2Nsb3NlIHtcbiAgICAgICAgdG9wOiByZW0tY2FsYyg3KTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgJi0tZXh0ZW5kZWQge1xuICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gIH1cbn0iLCIuZmxvX3BhZ2Vfd3JhcHtcbiAgZGlzcGxheTogZmxleDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAvL2ZsZXgtd3JhcDogd3JhcDtcbiAgJi0tcGFkZGluZy10b3AtbGFyZ2V7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1MCk7XG4gIH1cbn1cblxuLmZsb19wYWdlIHtcbiAgZmxleC1ncm93OiAxO1xuICB3aWR0aDogMTAwJTtcbn1cbiIsIi5mbG8tcG9zdC13cmFwIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIC8vIG1heC13aWR0aDogJGNvbnRlbnQtbWVkaXVtLXdpZHRoO1xufVxuXG4uZmxvLXBvc3QtLW5vdC1mb3VuZCB7XG4gIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1MCk7XG59XG5cbi5mbG8tcG9zdCwgLmZsby1wb3N0X19zdHlsZXMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIC5ibG9ja3MtZ2FsbGVyeS1pdGVte1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cblxuXG4gIHB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICY6bGFzdC1vZi10eXBle1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuXG4gIGJsb2NrcXVvdGV7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgIHB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTUpO1xuICAgICAgJjpsYXN0LW9mLXR5cGV7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICB9XG4gICAgfVxuXG5cbiAgfVxuICBoMSxoMixoMyxoNCxoNSxoNntcbiAgICBwYWRkaW5nLWJvdHRvbTogIHJlbS1jYWxjKDI0KTtcbiAgfVxuXG5cbiAgICAgIC8qLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cbiAgMy4wIEFsaWdubWVudHNcbiAgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0qL1xuXG4gIC5hbGlnbmxlZnQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuNWVtO1xuICB9XG5cbiAgLmFsaWducmlnaHQge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuICB9XG5cbiAgLmFsaWduY2VudGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIDguMCBMaXN0c1xuICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSovXG5cbiAgdWwsXG4gIG9sIHtcbiAgICBtYXJnaW46IDAgMCAxLjVlbTtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG5cbiAgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gIH1cblxuICBvbCB7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgfVxuXG4gIGxpID4gdWwsXG4gIGxpID4gb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDEuNWVtO1xuICB9XG5cbiAgZHQge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIH1cblxuICBkZCB7XG4gICAgbWFyZ2luOiAwIDEuNWVtIDEuNWVtO1xuICB9XG5cbiAgLyotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICAxNi4wIE1lZGlhXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICBpbWcsXG4gIHZpZGVvIHtcbiAgICBoZWlnaHQ6IGF1dG87IC8qIE1ha2Ugc3VyZSBpbWFnZXMgYXJlIHNjYWxlZCBjb3JyZWN0bHkuICovXG4gICAgbWF4LXdpZHRoOiAxMDAlOyAvKiBBZGhlcmUgdG8gY29udGFpbmVyIHdpZHRoLiAqL1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICB9XG5cblxuICAuY29tbWVudC1jb250ZW50IC53cC1zbWlsZXkge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qIE1ha2Ugc3VyZSBlbWJlZHMgYW5kIGlmcmFtZXMgZml0IHRoZWlyIGNvbnRhaW5lcnMuICovXG5cbiAgZW1iZWQsXG4gIGlmcmFtZSxcbiAgb2JqZWN0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAud3AtY2FwdGlvbixcbiAgLndwLWNhcHRpb24gYSxcbiAgLmdhbGxlcnktY2FwdGlvbiB7XG4gICAgY29sb3I6ICM2NjY7XG4gICAgZm9udC1zaXplOiAwLjYxMjVyZW07XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNWVtO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICB9XG5cbiAgLndwLWNhcHRpb24gaW1nW2NsYXNzKj1cIndwLWltYWdlLVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLndwLWNhcHRpb24gLndwLWNhcHRpb24tdGV4dCwgLndwLWNhcHRpb24tdGV4dCBhIHtcbiAgICBtYXJnaW46IDAuODA3NWVtIDA7XG4gIH1cbiAgLndwLWNhcHRpb24gcHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLyogTWVkaWEgRWxlbWVudHMgKi9cblxuICAubWVqcy1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206ICByZW0tY2FsYyg1KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAvKiBBdWRpbyBQbGF5ZXIgKi9cblxuICAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyLFxuICAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyOmZvY3VzLFxuICAubWVqcy1jb250cm9scyBhLm1lanMtaG9yaXpvbnRhbC12b2x1bWUtc2xpZGVyOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gIDE2LjEgR2FsbGVyaWVzXG4gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tKi9cblxuICAuZ2FsbGVyeS1pdGVtIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICAgIG1hcmdpbjogMCAwIDEuNWVtO1xuICAgIHBhZGRpbmc6IDAgMWVtIDAgMDtcbiAgICB3aWR0aDogNTAlO1xuICB9XG5cbiAgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGF7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cblxuICAuZ2FsbGVyeS1jb2x1bW5zLTIgLmdhbGxlcnktaXRlbSB7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gIH1cblxuICAuZ2FsbGVyeS1pdGVtIGEsXG4gIC5nYWxsZXJ5LWl0ZW0gYTpob3ZlcixcbiAgLmdhbGxlcnktaXRlbSBhOmZvY3VzIHtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cblxuICAuZ2FsbGVyeS1pdGVtIGEgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICAtd2Via2l0LXRyYW5zaXRpb246IC13ZWJraXQtZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiAtd2Via2l0LWZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgdHJhbnNpdGlvbjogZmlsdGVyIDAuMnMgZWFzZS1pbjtcbiAgICB0cmFuc2l0aW9uOiBmaWx0ZXIgMC4ycyBlYXNlLWluLCAtd2Via2l0LWZpbHRlciAwLjJzIGVhc2UtaW47XG4gICAgLXdlYmtpdC1iYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgLmdhbGxlcnktaXRlbSBhOmhvdmVyIGltZyxcbiAgLmdhbGxlcnktaXRlbSBhOmZvY3VzIGltZyB7XG4gICAgLXdlYmtpdC1maWx0ZXI6IG9wYWNpdHkoNjAlKTtcbiAgICBmaWx0ZXI6IG9wYWNpdHkoNjAlKTtcbiAgfVxuXG4gIC5nYWxsZXJ5LWNhcHRpb24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG5cbiAgLyogc3BhY2luZyBiZWxvdyBpbWFnZSAqL1xuICBhIGltZywgaW1nLCBpbWcuYWxpZ25sZWZ0LCBpbWcuYWxpZ25yaWdodCwgaW1nLmFsaWduY2VudGVye1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLyogR2FsbGVyeSBDb2x1bW5zICovXG4gICAgLy9wIHtcbiAgICAvLyAgcGFkZGluZzogMCByZW0tY2FsYyg5NSk7XG4gICAgLy99XG4gICAgLy9oMSxoMixoMyxoNCxoNSxoNntcbiAgICAvLyAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5NSk7XG4gICAgLy8gIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDk1KTtcbiAgICAvL31cblxuICAgICAgLy8gZmlnaHRpbmcgdGhlIHNwYWNlIGJldHdlZW4gZGlzcGxheSBpbmxpbmUgZWxlbWVudHNcbiAgICAgIGRpdi5nYWxsZXJ5e1xuICAgICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIH1cbiAgICAgIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgIH1cblxuICAgICAgLmdhbGxlcnktY29sdW1ucy0xIC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtMiAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtMyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAzMy4zMyU7XG4gICAgICB9XG5cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtNCAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICB9XG4gICAgICAuZ2FsbGVyeS1jb2x1bW5zLTUgLmdhbGxlcnktaXRlbSB7XG4gICAgICAgIG1heC13aWR0aDogMjAlO1xuICAgICAgfVxuICAgICAgLmdhbGxlcnktY29sdW1ucy02IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDE2LjY2JTtcbiAgICAgIH1cbiAgICAgIC5nYWxsZXJ5LWNvbHVtbnMtNyAuZ2FsbGVyeS1pdGVtIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNC4yODUlO1xuICAgICAgfVxuICAgICAgLmdhbGxlcnktY29sdW1ucy04IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDEyLjUlO1xuICAgICAgfVxuICAgICAgLmdhbGxlcnktY29sdW1ucy05IC5nYWxsZXJ5LWl0ZW0ge1xuICAgICAgICBtYXgtd2lkdGg6IDExLjExMSU7XG4gICAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpe1xuICB9XG59XG5cbi5wb3N0LXBhc3N3b3JkLWZvcm17XG4gIG1heC13aWR0aDogODAwcHg7XG4gIG1hcmdpbjogMCBhdXRvIDYwcHg7XG5cbiAgaW5wdXRbdHlwZT1cInBhc3N3b3JkXCJde1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRjb2xvci1ncmF5LWxpZ2h0IWltcG9ydGFudDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxufVxuIiwiLmZsby1yZWxhdGVkLWl0ZW1zIHtcbiAgJGI6IFwiLmZsby1yZWxhdGVkLWl0ZW1zXCI7XG5cbiAgJl9fdGl0bGUge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDMzKTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg2MCk7XG4gIH1cbiAgJl9faXRlbXMge1xuXG4gIH1cbiAgICAmX19pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgICAgICZfX2l0ZW0taW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvdmVyO1xuICAgICAgfVxuICAgICAgJl9faXRlbS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICZfX3RpdGxlIHtcblxuICAgICAgJjphZnRlciB7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgJl9faXRlbXMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgd2lkdGg6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogNztcblxuICAgICAgICAmOm5vdCg6bGFzdC1jaGlsZCkge1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAxLjU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAjeyRifV9faXRlbS1pbWFnZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICZfX2l0ZW0taW1hZ2Uge1xuICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjIxLjUpO1xuICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICB9XG4gICAgICAgICZfX2l0ZW0tdGl0bGUge1xuICAgICAgICAgIHBhZGRpbmc6IDAgJGdsb2JhbC1jb2x1bW4td2lkdGg7XG4gICAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgJl9fdGl0bGUge1xuXG4gICAgICAmOmFmdGVyIHtcblxuICAgICAgfVxuICAgIH1cbiAgICAmX19pdGVtcyB7XG5cbiAgICB9XG4gICAgICAmX19pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzIpO1xuICAgICAgfVxuICAgICAgICAmX19pdGVtLWltYWdlIHtcbiAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDIwMCk7XG4gICAgICAgIH1cbiAgICAgICAgJl9faXRlbS10aXRsZSB7XG5cbiAgICAgICAgfVxuICB9XG59XG4iLCIuZmxvLXJldmVhbCB7XG4gICRiOiBcIi5mbG8tcmV2ZWFsXCI7XG5cbiAgaGVpZ2h0OiAxMDB2aDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgJi0tdmlzaWJsZSB7XG4gICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWxcbiAgfVxuXG4gICYtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIGhlaWdodDogMTAwdmg7XG4gIH1cblxuICAvLyBTdGFydDogQXBwZWFyL0Rpc2FwcGVhclxuICAgIHBvc2l0aW9uOiBmaXhlZDtcblxuICAgIC8vIFN0YXJ0OiBEZWZhdWx0c1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogLTEwMCU7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIC8vIEVuZDogRGVmYXVsdHNcblxuICAgIC8vIFN0YXJ0OiBSZWFkeSBmb3IgdHJhbnNpdGlvblxuICAgICAgJi0tcmVhZHkge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbih0cmFuc2Zvcm0pO1xuICAgICAgfVxuICAgIC8vIEVuZDogUmVhZHkgZm9yIHRyYW5zdGlvblxuXG4gICAgLy8gU3RhcnQ6IFRyYW5zaXRpb24gaW5pdGlhbCBwb3NpdGlvblxuICAgICAgJltkYXRhLWluaXRpYWwtcG9zaXRpb249XCJsZWZ0XCJdIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgICAgICYjeyRifS0tdmlzaWJsZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICZbZGF0YS1pbml0aWFsLXBvc2l0aW9uPVwicmlnaHRcIl0ge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICAmI3skYn0tLXZpc2libGUge1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgLy8gRW5kOiBUcmFuc2l0aW9uIGluaXRpYWwgcG9zaXRpb25cblxuICAgICYtb3ZlcmxheSB7XG4gICAgICAmOm5vdCgjeyRifS1vdmVybGF5LS12aXNpYmxlKXtcbiAgICAgICAgb3BhY2l0eTogMCFpbXBvcnRhbnQ7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gICAgfVxuXG4gIC8vIEVuZDogQXBwZWFyL0Rpc2FwcGVhclxuXG4gIC8vIFN0YXJ0OiBaLUluZGV4IE1hcFxuICAgIHotaW5kZXg6IDEwMDAwMDE7XG5cbiAgICAmLW92ZXJsYXkge1xuICAgICAgei1pbmRleDogMTAwMDAwO1xuICAgIH1cbiAgLy8gU3RhcnQ6IFotSW5kZXggTWFwXG59XG4iLCIuZmxvLXNsaWRlc2hvdyB7XG4gICRiOiBcIi5mbG8tc2xpZGVzaG93XCI7XG4gIGhlaWdodDogMTAwdmg7XG4gIHdpZHRoOiAxMDB2dztcblxuICBAaW1wb3J0IFwiZmxvLXNsaWRlc2hvd19fc2xpZGVzXCI7XG5cbiAgJl9fbGF5b3V0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgQGltcG9ydCBcImZsby1zbGlkZXNob3dfX2xheW91dC0tdHlwZS1hXCI7XG4gIEBpbXBvcnQgXCJmbG8tc2xpZGVzaG93X19sYXlvdXQtLXR5cGUtYlwiO1xuICBAaW1wb3J0IFwiZmxvLXNsaWRlc2hvd19fbGF5b3V0LS10eXBlLWNcIjtcblxuICAvKiBTVEFSVDogT05FIFNMSURFIE1PRElGSUNBVE9SICovXG4gICAgJi0tb25lLXNsaWRlIHtcbiAgICAgICN7JGJ9X19zbGlkZXMge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICB9XG4gICAgICAjeyRifV9fY291bnRlcixcbiAgICAgICN7JGJ9X19hcnJvdy1uZXh0LFxuICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yc1xuICAgICAge1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIC8qIEVORDogT05FIFNMSURFIE1PRElGSUNBVE9SICovXG5cbiAgLyogU1RBUlQ6IENPVU5URVIgKi9cbiAgICAmX19jb3VudGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuXG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuICAgICAgJl9fY291bnRlci1pbmRleCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbSFpbXBvcnRhbnQ7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcbiAgICAgIH1cblxuICAgICAgJl9fY291bnRlci1zZXBhcmF0b3IsXG4gICAgICAmX19jb3VudGVyLWNvdW50IHtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgfVxuICAgICAgJl9fY291bnRlci1zZXBhcmF0b3Ige1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbWFyZ2luOiAwIHJlbS1jYWxjKDQpO1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2NvdW50ZXItY291bnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMCFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW0haW1wb3J0YW50O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAmX19jb3VudGVyIHtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICByaWdodDogcmVtLWNhbGMoNTUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgJl9fY291bnRlciB7XG4gICAgICAgICAgLy8gZGlzcGxheTogbm9uZTtcbiAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG4gICAgICB9XG4gIC8qIEVORDogQ09VTlRFUiAqL1xuXG4gIC8qIFNUQVJUOiBUSVRMRSBBUkVBICovXG4gICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogOTAlO1xuXG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cbiAgICAgICAgJl9fdGl0bGUtYXJlYS1wcmV0aXRsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcblxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyMSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmX190aXRsZS1hcmVhLXRpdGxlIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAmX190aXRsZS1hcmVhIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAvIDMuMSk7XG4gICAgICB9XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgJl9fdGl0bGUtYXJlYSB7XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgYm90dG9tOiAzMCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgfVxuICAgIH1cbiAgLyogRU5EOiBUSVRMRSBBUkVBICovXG5cbiAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAmX19mZWF0dXJlZC1saW5rIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWxpbmstdGl0bGUtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgICAgICZfX2ZlYXR1cmVkLWxpbmstcHJldGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgICAgJl9fZmVhdHVyZWQtbGluay10aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuXG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgJl9fZmVhdHVyZWQtbGluay1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICAgICRzaXplOiByZW0tY2FsYygxMTcuNSk7XG4gICAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygxMi41KSBzb2xpZDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYm9yZGVyLWNvbG9yKTtcbiAgICAgIH1cbiAgICAgICZfX2ZlYXR1cmVkLWxpbmstZGl2aWRlciB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuICAgICAgICB3aWR0aDogMXB4O1xuICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgJl9fZmVhdHVyZWQtbGluayB7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAmX19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgIH1cblxuICAvKiBFTkQ6IEZFQVRVUkVEIExJTksgKi9cblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG5cbiAgICAgICAgJi5mbG8tc2xpZGVzaG93LWJsb2NrLS10eXBlLWEge1xuICAgICAgICAgIC5mbG8taGVhZGVyLmlzLW5vdC1zdGlja3kge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQhaW1wb3J0YW50O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcblxuICAgICAgICAmLmZsby1zbGlkZXNob3ctYmxvY2stLXR5cGUtYSB7XG4gICAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlLm5vdC1zdGlja3kuaXMtbWFpbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudCFpbXBvcnRhbnQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCImLS1vbmUtc2xpZGUge1xuICAuc2xpY2stbGlzdFxuICAvLyAuc2xpY2stdHJhY2tcbiAgLy8gLnNsaWNrLXNsaWRlLFxuICAvLyAjeyRifV9fc2xpZGUtY29udGVudFxuICB7XG4gICAgaGVpZ2h0OiBhdXRvIWltcG9ydGFudDtcbiAgfVxufVxuJl9fc2xpZGVzIHtcbiAgZmxleC1ncm93OiAxO1xuICBoZWlnaHQ6IDEwMCU7XG5cbiAgLnNsaWNrLWxpc3QsXG4gIC5zbGljay10cmFjayxcbiAgLnNsaWNrLXNsaWRlLFxuICAjeyRifV9fc2xpZGUtY29udGVudFxuICB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbiN7JGJ9X19zbGlkZXMge1xufVxuI3skYn1fX3NsaWRlLWltZy0tYmdpIHtcbiAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3Zlcjtcbn1cbiN7JGJ9X19zbGlkZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cbiN7JGJ9X19zbGlkZS1jb250ZW50IHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG4gIEBhdC1yb290IHtcbiAgICAuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIge1xuICAgICAgI3skYn1fX3NsaWRlLWNvbnRlbnQge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuI3skYn1fX3NsaWRlLWltZyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gICYtLWltZyB7XG5cbiAgfVxuICAmLS1iZ2kge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuI3skYn1fX3NsaWRlLWJhY2tncm91bmQtdmlkZW8ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcblxuICB9XG4gICYtLWNyb3BwZWQge1xuICAgIHZpZGVvIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG4gIH1cbiAgJi0tbm8tY3JvcCB7XG4gICAgdmlkZW8ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICN7JGJ9X19zbGlkZXMge1xuXG4gIH1cbiAgQGF0LXJvb3Qge1xuICAgIC5mbG8tYmxvY2sge1xuXG4gICAgfVxuXG4gIH1cbiAgI3skYn1fX3NsaWRlIHtcblxuICAgICYuZ3JhZGllbnQtdmlzaWJsZSB7XG4gICAgICAjeyRifV9fc2xpZGUtaW1nIHtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgb3BhY2l0eTogMC42NjY7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuXG4gICAgI3skYn1fX3NsaWRlLWNvbnRlbnQge1xuXG4gICAgfVxuXG4gICAgI3skYn1fX3NsaWRlLWltZyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgfVxuXG4gICAgICAmLS1pbWcge1xuXG4gICAgICB9XG4gICAgICAmLS1iZ2kge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG5cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICN7JGJ9X19zbGlkZXMge1xuXG4gIH1cbiAgI3skYn1fX3NsaWRlIHtcblxuICB9XG4gICN7JGJ9X19zbGlkZS1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDB2dztcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIEBhdC1yb290IHtcbiAgICAgIC5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciB7XG4gICAgICAgICN7JGJ9X19zbGlkZS1jb250ZW50IHtcbiAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gICN7JGJ9X19zbGlkZS1pbWcge1xuICAgICYtLWJnaSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG4gIH1cbn1cbiIsIiZfX2xheW91dC0tdHlwZS1hIHtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICN7JGJ9X190aXRsZS1hcmVhLFxuICAgIC5mbG8taGVyby12aWRlby1lbWJlZF9fYnV0dG9uIHtcbiAgICAgIGN1cnNvcjogbm9uZTtcbiAgICB9XG5cbiAgICAjeyRifV9fc2xpZGVzIHtcbiAgICAgIGN1cnNvcjogbm9uZTtcbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUtaW1nIHtcblxuICAgICAgfVxuXG4gICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgbGVmdDogcmVtLWNhbGMoOTcpO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygzMzEpO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUwJSk7XG4gICAgfVxuXG4gICAgI3skYn1fX2NvdW50ZXIge1xuICAgICAgYm90dG9tOiByZW0tY2FsYyg3MCk7XG4gICAgICBsZWZ0OiByZW0tY2FsYyg3Myk7XG4gICAgICByaWdodDogaW5pdGlhbDtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoNzApO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDczKTtcbiAgICB9XG4gICAgICAjeyRifV9fZmVhdHVyZWQtbGluay10aXRsZS1hcmVhIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICN7JGJ9X19hcnJvdy1uZXh0IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgI3skYn1fX2Fycm93LW5leHQge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgLy8gYm90dG9tOiByZW0tY2FsYygzMzEpO1xuICAgICAgLy8gcmlnaHQ6IHJlbS1jYWxjKDEzMCk7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvciwgb3BhY2l0eSwgdHJhbnNmb3JtKTtcblxuICAgICAgJi5pbnZlcnRlZCB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpO1xuICAgICAgfVxuXG4gICAgICAmLnZlcnRpY2FsIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKSFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcblxuICB9XG5cbn1cbiIsIkBhdC1yb290IHtcbiAgI3skYn0tYmxvY2stLXR5cGUtYiB7XG4gICAgJi5mbG8tYmxvY2stLW1lcmdlZC13aXRoLWhlYWRlciAuZmxvLWJsb2NrX19oZWFkZXIge1xuICAgIH1cbiAgfVxufVxuXG4mX19sYXlvdXQtLXR5cGUtYiB7XG5cbiAgI3skYn1fX2JhY2tncm91bmQge1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGJhY2tncm91bmQtY29sb3IpO1xuICB9XG5cbiAgI3skYn1fX2Fycm93cyB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYyg4KTtcbiAgfVxuICAgICN7JGJ9X19hcnJvdyB7XG4gICAgICAmLS1uZXh0IHtcblxuICAgICAgfVxuICAgICAgJi0tcHJldiB7XG5cbiAgICAgIH1cbiAgICB9XG5cbiAgI3skYn1fX3NsaWRlcyB7XG5cbiAgfVxuICAgICN7JGJ9X19zbGlkZSB7XG5cbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUtbWFpbi13cmFwIHtcbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlLXdyYXAge1xuXG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtaW1hZ2Uge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1iZ2ktY292ZXI7XG4gICAgICAgICAgfVxuXG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICN7JGJ9X19iYWNrZ3JvdW5kIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7JGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsfSk7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB9XG5cbiAgICAjeyRifV9fYXJyb3dzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIC8vIHJpZ2h0OiByZW0tY2FsYygxNjUpO1xuICAgICAgcmlnaHQ6ICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCArICRnbG9iYWwtY29sdW1uLXdpZHRoICogMjtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1MCUpO1xuICAgICAgdG9wOiByZW0tY2FsYygzNzEpO1xuICAgICAgei1pbmRleDogMTA7XG4gICAgfVxuICAgICAgI3skYn1fX2Fycm93IHtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuXG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDUpO1xuICAgICAgICB9XG4gICAgICAgICYtLXByZXYge1xuXG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICN7JGJ9X19zbGlkZXMge1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUge1xuXG4gICAgICAgICY6bm90KC5zbGljay1jdXJyZW50KSB7XG4gICAgICAgICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlLXdyYXAge1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAje3JlbS1jYWxjKDg1KX0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZ3JhZGllbnQtdmlzaWJsZSB7XG4gICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zbGlkZS1tYWluLXdyYXAge1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTA5MCk7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogJGdsb2JhbC1jb2x1bW4td2lkdGggKiAyIC0gJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtaW1hZ2Utd3JhcCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihoZWlnaHQpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1pbWFnZSB7XG4gICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcblxuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X190aXRsZS1hcmVhIHtcbiAgICAgICAgICAgIGJvdHRvbTogJGdsb2JhbC1jb2x1bW4td2lkdGggLSByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsZWZ0OiAkZ2xvYmFsLWNvbHVtbi13aWR0aCAtIHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X190aXRsZS1hcmVhLXByZXRpdGxlIHtcbiAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgfVxuXG4gICAgI3skYn1fX2NvdW50ZXIge1xuICAgICAgbGVmdDogcmVtLWNhbGMoMTEwNSk7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDEwNSk7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgICAgICN7JGJ9X19jb3VudGVyLWluZGV4IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICB9XG4gICAgICAjeyRifV9fY291bnRlci1zZXBhcmF0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgICN7JGJ9X19jb3VudGVyLWNvdW50IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuXG4gICAgI3skYn1fX3NwYWNlciB7XG5cbiAgICB9XG4gICAgI3skYn1fX2Fycm93cyB7XG5cbiAgICB9XG4gICAgICAjeyRifV9fYXJyb3cge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgICAmLS1wcmV2IHtcblxuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAjeyRifV9fYmFja2dyb3VuZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgICAjeyRifV9fY291bnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICN7JGJ9X19zbGlkZXMge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB9XG4gICAgICAjeyRifV9fc2xpZGUge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zbGlkZS1tYWluLXdyYXAge1xuICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlLXdyYXAge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICAgI3skYn1fX3NsaWRlLWltYWdlIHtcbiAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWJnaS1jb3ZlcjtcbiAgICAgICAgICAgIH1cbiAgfVxuXG59XG4iLCJAYXQtcm9vdCB7XG4gIC5mbG8tc2xpZGVzaG93LWJsb2NrLS10eXBlLWMge1xuICAgICYuZmxvLWJsb2NrLS1tZXJnZWQtd2l0aC1oZWFkZXIgLmZsby1oZWFkZXIge1xuICAgICAgZGlzcGxheTogbm9uZSFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC5mbG8taGVhZGVyLW1vYmlsZV9fbG9nby1pbWFnZS0tZGVmYXVsdCB7XG4gICAgICBvcGFjaXR5OiAxIWltcG9ydGFudDtcbiAgICB9XG4gICAgLmZsby1oZWFkZXItbW9iaWxlX19sb2dvLWltYWdlLS1saWdodCB7XG4gICAgICBvcGFjaXR5OiAwIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cblxuJl9fbGF5b3V0LS10eXBlLWMge1xuXG4gIC8qIFNUQVJUOiBUT1AgQVJFQSAqL1xuICAgICN7JGJ9X190b3AtYXJlYSB7XG4gICAgfVxuICAgICAgI3skYn1fX3RvcC1hcmVhLWxvZ28ge1xuICAgICAgICAuZmxvLWhlYWRlci1sb2dvIHtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICN7JGJ9X190b3AtYXJlYS1zb2NpYWwtbGlua3Mge1xuICAgICAgICBhOmJlZm9yZSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gIC8qIEVORDogVE9QIEFSRUEgKi9cblxuICAvKiBTVEFSVDogU0xJREVTICovXG4gICAgI3skYn1fX3NsaWRlcyB7XG5cbiAgICB9XG4gIC8qIEVORDogU0xJREVTICovXG5cbiAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAjeyRifV9fZmVhdHVyZWQtbGluayB7XG5cbiAgICB9XG4gIC8qIEVORDogRkVBVFVSRUQgTElOSyAqL1xuXG4gIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICN7JGJ9X19zbGlkZS1zZWxlY3RvcnMge1xuXG4gICAgfVxuICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yIHtcblxuICAgICAgfVxuICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3Itd3JhcCB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci1zZWNvbmQtcHJldGl0bGUge1xuXG4gICAgICAgICAgfVxuICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci10aXRsZSB7XG5cbiAgICAgICAgICB9XG4gIC8qIEVORDogU0xJREUgU0VMRUNUT1IgKi9cblxuICAvKiBTVEFSVDogUklHSFQgQkFSICovXG4gICAgI3skYn1fX3JpZ2h0LWJhciB7XG4gICAgfVxuICAgICAgI3skYn1fX3JpZ2h0LWJhci1zZWFyY2gtdHJpZ2dlciB7XG5cbiAgICAgIH1cbiAgICAgICN7JGJ9X19yaWdodC1iYXItbGluayB7XG5cbiAgICAgIH1cbiAgICAgICN7JGJ9X19yaWdodC1iYXItbWVudS10cmlnZ2VyIHtcblxuICAgICAgfVxuICAvKiBFTkQ6IFJJR0hUIEJBUiAqL1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgJHJpZ2h0LWJhci13aWR0aDogJGdsb2JhbC1wYWRkaW5nLS1ob3Jpem9udGFsO1xuICAgICRzbGlkZS1zZWxlY3RvcnMtaGVpZ2h0OiByZW0tY2FsYyg4MCk7XG5cbiAgICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAgICN7JGJ9X190b3AtYXJlYSB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gI3skcmlnaHQtYmFyLXdpZHRofSk7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCkgJGdsb2JhbC1jb2x1bW4td2lkdGggMCAkZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWw7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X190b3AtYXJlYS1sb2dvIHtcblxuICAgICAgICB9XG4gICAgICAgICN7JGJ9X190b3AtYXJlYS1zb2NpYWwtbGlua3Mge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgJjpub3QoOmxhc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgLyogRU5EOiBUT1AgQVJFQSAqL1xuXG4gICAgLyogU1RBUlQ6IFNMSURFUyAqL1xuICAgICAgI3skYn1fX3NsaWRlcyB7XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMHZ3IC0gI3skcmlnaHQtYmFyLXdpZHRofSk7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDB2aCAtICN7JHNsaWRlLXNlbGVjdG9ycy1oZWlnaHR9KTtcbiAgICAgIH1cbiAgICAvKiBFTkQ6IFNMSURFUyAqL1xuXG4gICAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgYm90dG9tOiByZW0tY2FsYygxOTMpO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93LXJldmVyc2U7XG4gICAgICB9XG4gICAgLyogRU5EOiBGRUFUVVJFRCBMSU5LICovXG5cbiAgICAvKiBTVEFSVDogU0xJREUgU0VMRUNUT1IgKi9cbiAgICAgICRzbGlkZS1zZWxlY3Rvci1nYXA6IHJlbS1jYWxjKDEyMik7XG4gICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3JzIHtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwdncgLSAjeyRyaWdodC1iYXItd2lkdGh9KTtcbiAgICAgICAgaGVpZ2h0OiAkc2xpZGUtc2VsZWN0b3JzLWhlaWdodDtcblxuICAgICAgICAuc2xpY2stbGlzdCB7XG4gICAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzbGlkZS1zZWxlY3Rvci1nYXApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3RvciB7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG5cbiAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQsXG4gICAgICAgICAgJjpob3ZlclxuICAgICAgICAgIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMC45O1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yLXByZXRpdGxlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMTApfSk7XG5cbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3Itd3JhcCB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMykgcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHNsaWRlLXNlbGVjdG9yLWdhcDtcbiAgICAgICAgICAgIGhlaWdodDogJHNsaWRlLXNlbGVjdG9ycy1oZWlnaHQ7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItcHJldGl0bGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgYm90dG9tOiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDM3KX0pO1xuICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihvcGFjaXR5LCBjb2xvcik7XG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjMuNSk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihiYWNrZ3JvdW5kLWNvbG9yKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yLXNlY29uZC1wcmV0aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItdGl0bGUge1xuXG4gICAgICAgICAgICB9XG4gICAgLyogRU5EOiBTTElERSBTRUxFQ1RPUiAqL1xuXG4gICAgLyogU1RBUlQ6IFJJR0hUIEJBUiAqL1xuICAgICAgJHJpZ2h0LWJhci1wYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgJHJpZ2h0LWJhci1wYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgJHJpZ2h0LWJhci1wYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygyNik7XG5cbiAgICAgIEBhdC1yb290IHtcbiAgICAgICAgLmZsby1ibG9jay0tbWVyZ2VkLXdpdGgtaGVhZGVyIHtcbiAgICAgICAgICAjeyRifV9fcmlnaHQtYmFyIHtcbiAgICAgICAgICAgIC8vIHBvc2l0aW9uOiBmaXhlZCFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAvLyB6LWluZGV4OiAxMDk5O1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgI3skYn1fX3JpZ2h0LWJhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAvLyBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAkcmlnaHQtYmFyLXdpZHRoO1xuXG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNTApO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICAvLyBib3JkZXItbGVmdDogMXB4IHNvbGlkO1xuICAgICAgICAvLyBib3JkZXItYm90dG9tOiAxcHggc29saWQ7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItc2VhcmNoLXRyaWdnZXIge1xuICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC1jbGlja2FibGU7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3JpZ2h0LWJhci1saW5rIHtcbiAgICAgICAgICB3cml0aW5nLW1vZGU6IHRiLXJsO1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItbWVudS10cmlnZ2VyIHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtY2xpY2thYmxlO1xuICAgICAgICB9XG5cbiAgICAgIC8qIFNUQVJUOiBIRUFERVIgUE9QVVAgU1RZTEUgKi9cbiAgICAgICAgQGF0LXJvb3Qge1xuICAgICAgICAgIC5ib2R5LS1mbG8taGVhZGVyX19wb3B1cC0tZm9yLXNsaWRlc2hvdy10eXBlLWMge1xuXG4gICAgICAgICAgICAuZmxvLWhlYWRlci1wb3B1cCB7XG5cbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmX19tYWluLXdyYXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdHJldGNoO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6ICRyaWdodC1iYXItcGFkZGluZy1yaWdodDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogJHJpZ2h0LWJhci1wYWRkaW5nLXRvcDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJl9fdG9wLWJhciB7XG4gICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICBib3R0b206ICRyaWdodC1iYXItcGFkZGluZy1ib3R0b207XG4gICAgICAgICAgICAgICAgICByaWdodDogJHJpZ2h0LWJhci1wYWRkaW5nLXJpZ2h0O1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgJl9fY2xvc2Uge1xuICAgICAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZfX3NlYXJjaCB7XG4gICAgICAgICAgICAgICAgICAvLyBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNTUpO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoODApO1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICZfX3NlYXJjaC1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICZfX3NlYXJjaC1zdWJtaXQge1xuXG4gICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19tZW51IHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogNTB2aDtcblxuICAgICAgICAgICAgICAgICAgJiA+IGRpdiA+IHVsID4gbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoICogMjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmX19zb2NpYWwtbGlua3Mge1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgYm90dG9tOiAkcmlnaHQtYmFyLXBhZGRpbmctYm90dG9tO1xuICAgICAgICAgICAgICAgICAgLy8gcmlnaHQ6ICRyaWdodC1iYXItcGFkZGluZy1yaWdodDtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6ICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIC8qIEVORDogSEVBREVSIFBPUFVQIFNUWUxFICovXG5cbiAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqL1xuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG5cbiAgICAvKiBTVEFSVDogVE9QIEFSRUEgKi9cbiAgICAgICN7JGJ9X190b3AtYXJlYSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X190b3AtYXJlYS1sb2dvIHtcbiAgICAgICAgfVxuICAgICAgICAjeyRifV9fdG9wLWFyZWEtc29jaWFsLWxpbmtzIHtcblxuICAgICAgICB9XG4gICAgLyogRU5EOiBUT1AgQVJFQSAqL1xuXG4gICAgLyogU1RBUlQ6IFNMSURFUyAqL1xuICAgICAgI3skYn1fX3NsaWRlcyB7XG5cbiAgICAgIH1cbiAgICAgICAgI3skYn1fX3RpdGxlLWFyZWEge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAvKiBFTkQ6IFNMSURFUyAqL1xuXG4gICAgLyogU1RBUlQ6IEZFQVRVUkVEIExJTksgKi9cbiAgICAgICN7JGJ9X19mZWF0dXJlZC1saW5rIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICAvKiBFTkQ6IEZFQVRVUkVEIExJTksgKi9cblxuICAgIC8qIFNUQVJUOiBTTElERSBTRUxFQ1RPUiAqL1xuICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9ycyB7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoODApO1xuXG4gICAgICAgIC5zbGljay1saXN0IHtcbiAgICAgICAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgocmVtLWNhbGMoMjApKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3Ige1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7cmVtLWNhbGMoNDApfSk7XG4gICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLWNsaWNrYWJsZTtcblxuICAgICAgICAgICYuc2xpY2stY3VycmVudFxuICAgICAgICAgIHtcbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci13cmFwOmJlZm9yZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG5cblxuICAgICAgICB9XG4gICAgICAgICAgI3skYn1fX3NsaWRlLXNlbGVjdG9yLXdyYXAge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTMpIHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDB2dyAtICN7cmVtLWNhbGMoNDApfSk7XG5cbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG5cbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAje3JlbS1jYWxjKDEwKX0pO1xuXG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgIC8vIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci1wcmV0aXRsZSB7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgICBib3R0b206IGNhbGMoMTAwJSArICN7cmVtLWNhbGMoMzcpfSk7XG4gICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKGNvbG9yKTtcblxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzLjUpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oYmFja2dyb3VuZC1jb2xvcik7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICN7JGJ9X19zbGlkZS1zZWxlY3Rvci1zZWNvbmQtcHJldGl0bGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDgpO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihjb2xvcik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAjeyRifV9fc2xpZGUtc2VsZWN0b3ItdGl0bGUge1xuICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgLyogRU5EOiBTTElERSBTRUxFQ1RPUiAqL1xuXG4gICAgLyogU1RBUlQ6IFJJR0hUIEJBUiAqL1xuICAgICAgI3skYn1fX3JpZ2h0LWJhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItc2VhcmNoLXRyaWdnZXIge1xuXG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX3JpZ2h0LWJhci1saW5rIHtcblxuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19yaWdodC1iYXItbWVudS10cmlnZ2VyIHtcblxuICAgICAgICB9XG5cbiAgICAvKiBFTkQ6IFJJR0hUIEJBUiAqL1xuICB9XG5cbn1cbiIsIi5mbG8tc3BsYXNoIHtcbiAgJGI6IFwiLmZsby1zcGxhc2hcIjtcbiAgJGJjOiBcIi5mbG8taGVhZGVyXCI7XG4gIFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcblxuICB3aWR0aDogMTAwdnc7XG4gIGhlaWdodDogMTAwdmg7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmZmZjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHotaW5kZXg6IDEwMDAwMDAwMDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIFxuICBAaW5jbHVkZSBnbG9iYWwtdHJhbnNpdGlvbihhbGwpO1xuICBcbiAgJl9fY29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgXG4gICAgI3skYmN9X19sb2dvLFxuICAgICN7JGJjfS1tb2JpbGVfX2xvZ28sXG4gICAgaW1nICB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIG1heC13aWR0aDogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICB9XG4gIFxuICAmX19jdXN0b20tcHJlbG9hZGVyIHtcbiAgICBAaW5jbHVkZSBnbG9iYWwtYmdpLWNvbnRhaW47XG4gICAgb3BhY2l0eTogMTtcbiAgICByaWdodDogMDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKXtcbiAgICAmX19jb250ZW50IHtcbiAgICAgICYtLW1lZGl1bS11cCB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgICAmLS1zbWFsbC1vbmx5IHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KXtcbiAgICAmX19jb250ZW50IHtcbiAgICAgICYtLW1lZGl1bS11cCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgICAmLS1zbWFsbC1vbmx5IHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgI3skYmN9LW1vYmlsZV9fbG9nbyBpbWd7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBpbmNsdWRlIGZsby1yZXNwb25zaXZlLWltYWdlLWJnKCcmX19jdXN0b20tcHJlbG9hZGVyJyk7XG59IiwiLmZsby10ZXh0LWNvbnRlbnQge1xuICAkYjogXCIuZmxvLXRleHQtY29udGVudFwiO1xuXG4gIG1heC13aWR0aDogbm9uZTtcbiAgcGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG5cbn1cbiIsIi5mbG8taGVyby12aWRlby1lbWJlZCB7XG4gICRiOiBcIi5mbG8taGVyby12aWRlby1lbWJlZFwiO1xuXG4gICZfX2NvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgIEBpbmNsdWRlIGdsb2JhbC10cmFuc2l0aW9uKG9wYWNpdHkpO1xuXG4gICAgaWZyYW1lIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJVxuICAgIH1cbiAgfVxuXG4gICZfX2J1dHRvbiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogcmVtLWNhbGMoNDApO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwO1xuXG4gICAgJHNpemU6IHJlbS1jYWxjKDY1KTtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcbiAgICBib3JkZXItcmFkaXVzOiAkc2l6ZTtcbiAgICBmb250LXNpemU6ICRzaXplIC8gMS42MSAvIDEuNjEgLyAxLjYxO1xuXG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiBpbml0aWFsO1xuXG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24oY29sb3IsIHRvcCwgYm90dG9tLCBvcGFjaXR5LCBib3JkZXIsIHRyYW5zZm9ybSk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDAuNDtcbiAgICB9XG4gIH1cbiAgICAmX19idXR0b24taWNvbiB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgQGluY2x1ZGUgZ2xvYmFsLXRyYW5zaXRpb24ob3BhY2l0eSk7XG5cbiAgICAgICYtLXBsYXkge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgfVxuICAgICAgJi0tc3RvcCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3RhcnQ6IFZpZGVvIE5vdCBQbGF5aW5nIFN0YXRlXG4gICAgICAmX19idXR0b24ge1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICAgICAgJl9fYnV0dG9uLWljb24tLXBsYXkge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIH1cbiAgICAvLyBFbmQ6IFZpZGVvIE5vdCBQbGF5aW5nIFN0YXRlXG4gIEBhdC1yb290IHtcblxuICAgIC8vIFN0YXJ0OiBCdXR0b24gQXQgQm90dG9tXG4gICAgICAmLS1idXR0b24tYXQtYm90dG9tIHtcbiAgICAgICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICAgICAgdG9wOiA4MCU7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgICAmLS1idXR0b24tbW9iaWxlLWJvdHRvbSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAjeyRifV9fYnV0dG9uIHtcbiAgICAgICAgICAgICAgdG9wOiA4MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgLy8gRW5kOiBCdXR0b24gQXQgQm90dG9tXG5cbiAgICAvKiBTVEFSVDogQlVUVE9OIEhJRERFTiAqL1xuICAgICAgJi0tYnV0dG9uLWhpZGRlbiB7XG4gICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAvKiBFTkQ6IEJVVFRPTiBISURERU4gKi9cblxuICAgIC8vIFN0YXJ0OiBWaWRlbyBQbGF5aW5nIFN0YXRlXG4gICAgICAudmlkZW8taXMtcGxheWluZyB7XG4gICAgICAgIC5mbG8tYmxvY2tfX2hlYWRlcixcbiAgICAgICAgLmZsby1oZWFkZXItbW9iaWxlLFxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fY2VudGVyZWQtbG9nbyxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX3R5cGUtYS1tZW51LFxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fc2xpZGUtY29udGVudCxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2NvdW50ZXIsXG4gICAgICAgIC5mbG8tc2xpZGVzaG93X190aXRsZS1hcmVhLFxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fZmVhdHVyZWQtbGluayxcbiAgICAgICAgLmZsby1zbGlkZXNob3dfX3RvcC1hcmVhLFxuICAgICAgICAuZmxvLXNsaWRlc2hvd19fc2xpZGUtaW1hZ2UsXG4gICAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTFfX2NvbnRlbnQtd3JhcCxcbiAgICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctMl9fY29udGVudC13cmFwLFxuICAgICAgICAuZmxvLWJsb2NrLXNsaWRlc2hvdy0zX19jb250ZW50LXdyYXAsXG4gICAgICAgIC5mbG8tYmxvY2stc2xpZGVzaG93LTRfX2Fycm93cyxcbiAgICAgICAgLmZsby1ibG9jay1zbGlkZXNob3ctNF9fY291bnRlclxuICAgICAgICB7XG4gICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lIWltcG9ydGFudDtcbiAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICAgICAgLmZsby1zbGlkZXNob3dfX2Fycm93LW5leHQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmUhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICAgICN7JGJ9X19idXR0b24ge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgIC5mbG8tc2xpZGVzaG93X19zbGlkZS1zZWxlY3RvcnNcbiAgICAgICAgICB7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICN7JGJ9X19jb250YWluZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICAgICAgdG9wOiByZW0tY2FsYygxMDApIWltcG9ydGFudDtcbiAgICAgICAgICBjb2xvcjogd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICAgIGJvcmRlci1jb2xvcjogd2hpdGUhaW1wb3J0YW50O1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgcG9pbnRlci1ldmVudHM6IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fYnV0dG9uLWljb24tLXBsYXkge1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgICAjeyRifV9fYnV0dG9uLWljb24tLXN0b3Age1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBpbml0aWFsO1xuICAgICAgICAgIH1cbiAgICAgICAgJjpub3QoOmhvdmVyKSB7XG4gICAgICAgICAgI3skYn1fX2J1dHRvbiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIC8vIEVuZDogVmlkZW8gUGxheWluZyBTdGF0ZVxuICB9XG5cbn1cbiIsIi5mbG8td3AtY29udGVudC13aXRoLXBhZ2luYXRpb24ge1xuICAkYjogXCIuZmxvLXdwLWNvbnRlbnQtd2l0aC1wYWdpbmF0aW9uXCI7XG5cbiAgJl9fY29udGVudCB7XG5cbiAgfVxuXG4gICZfX3BhZ2luYXRpb24ge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB9XG4gICAgJl9fbGluayB7XG4gICAgICBwb2ludGVyLWV2ZW50czogaW5pdGlhbDtcblxuICAgICAgJi0tcHJldiB7XG5cbiAgICAgIH1cbiAgICAgICYtLW5leHQge1xuXG4gICAgICB9XG4gICAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgJl9fY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbCArICRnbG9iYWwtY29sdW1uLXdpZHRoO1xuICAgIH1cblxuICAgICZfX3BhZ2luYXRpb24ge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAkZ2xvYmFsLXBhZGRpbmctLXZlcnRpY2FsO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDB2dyFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nOiAwICRnbG9iYWwtcGFkZGluZy0taG9yaXpvbnRhbDtcblxuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNDApIDA7XG5cbiAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6IC0kZ2xvYmFsLXBhZGRpbmctLWhvcml6b250YWwgLyAyO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDUwJSwgLTUwJSk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDIzLjUpO1xuICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi0tcHJldiB7XG4gICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgcGFkZGluZzogMCAkZ2xvYmFsLXBhZGRpbmctbW9iaWxlLS1ob3Jpem9udGFsO1xuXG4gICAgJl9fY29udGVudCB7XG5cbiAgICB9XG5cbiAgICAmX19wYWdpbmF0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgICAgJl9fbGluayB7XG4gICAgICAgIHdpZHRoOiA0NTtcbiAgICAgICAgZmxleC1ncm93OiAwO1xuXG4gICAgICAgICYtLXByZXYge1xuXG4gICAgICAgIH1cbiAgICAgICAgJi0tbmV4dCB7XG5cbiAgICAgICAgfVxuICAgICAgfVxuICB9XG59XG4iLCIuZmxvLXdwLXRpdGxlIHtcbiAgJGI6IFwiLmZsby13cC10aXRsZVwiO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgJl9fdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAwIWltcG9ydGFudDtcbiAgfVxufVxuIiwiLmZsb19zaWRlYmFye1xuICB3aWR0aDogMjUlO1xuICBwYWRkaW5nOiAwIHJlbS1jYWxjKDQwKSByZW0tY2FsYyg0MCk7XG4gIGZsZXgtZ3JvdzogMDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIC5jb2x1bW57XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNDApO1xuICAgIHBhZGRpbmc6IDAgcmVtLWNhbGMoNDApO1xuICAgICY6bGFzdC1jaGlsZHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLmZpZ3VyZS1oaWRlLWltZ3tcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lICFpbXBvcnRhbnQ7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGltZ3tcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxuXG4gIC53aWRnZXQge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgfVxuICAqIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBib3JkZXItY29sb3I6IGluaGVyaXQ7XG4gIH1cbiAgICAud2lkZ2V0X3NlYXJjaCAuc2VhcmNoLWZpZWxke1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIH1cbiAgICAgIC53aWRnZXRfc2VhcmNoIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApe1xuICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygxNy41KTtcbiAgICAmLS1vbi1sZWZ0IHtcbiAgICAgIG9yZGVyOiAtMTtcbiAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICB9XG5cbiAgfVxuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSl7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG59XG4iLCIvKiBCT0YgV09PQ09NTUVSQ0UgU1VQUE9SVCAqL1xuICAuZmxvLXdvb2NvbW1lcmNlLXdyYXB7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMDAwKTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgfVxuLndvb2NvbW1lcmNlLXBhZ2V7XG4gIC5mbG8tYmxvY2t7XG4gICAgcGFkZGluZy10b3A6IDBweDtcbiAgfVxuICAuZmxvLXBvc3QgYXtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIH1cbn1cbi53b29jb21tZXJjZXtcbiAgICBcbiAgICB0aGVhZCwgdGJvZHksIHRmb290e1xuICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG4gICAgLmZsby1wb3N0IGF7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgfVxuICAgIC5xdWFudGl0eXtcbiAgICAgIC5xdHksIGlucHV0W3R5cGU9XCJudW1iZXJcIl17XG4gICAgICAgIHdpZHRoOiA1ZW07XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICBwYWRkaW5nOiAwLjFlbTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZTVlNWU1O1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLWJyZWFkY3J1bWJ7XG4gICAgICBhe1xuICAgICAgICBib3gtc2hhZG93OiAwIDFweCAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0e1xuICAgICAgaW5wdXQuYnV0dG9uOmRpc2FibGVke1xuICAgICAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBzcGFuLm9uc2FsZXtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgdWwucHJvZHVjdHN7XG4gICAgICBsaS5wcm9kdWN0e1xuICAgICAgICAucHJpY2UgZGVse1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgYS5idXR0b257XG4gICAgICAgIHBhZGRpbmc6IDAuNmVtIDFlbTtcbiAgICAgIH1cbiAgICB9XG4gICAgZGl2LnByb2R1Y3R7XG4gICAgICAudmFyaWF0aW9uc3tcbiAgICAgICAgdGQubGFiZWx7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICAudmFsdWV7XG4gICAgICAgICAgc2VsZWN0e1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnJlc2V0X3ZhcmlhdGlvbnN7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMDtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5wcm9kdWN0X21ldGF7XG4gICAgICAgIGF7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMDtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLnRhZ2dlZF9hc3tcbiAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLnJlbGF0ZWR7XG4gICAgICAgIGgye1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLndvb2NvbW1lcmNlLXRhYnN7XG4gICAgICAgIGxpLmFjdGl2ZSBhLCBhOmhvdmVyIHtcbiAgICAgICAgICBib3gtc2hhZG93OiAwIDNweCAwO1xuICAgICAgICB9XG4gICAgICAgIGF7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYW5lbHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0ZW07XG4gICAgICAgIH1cblxuICAgICAgICB1bC50YWJze1xuICAgICAgICAgIGJvcmRlcjogMHB4O1xuICAgICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICY6YmVmb3Jle1xuICAgICAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIGxpe1xuICAgICAgICAgICAgYm9yZGVyOiAwcHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICYuYWN0aXZle1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6YmVmb3JlLCAmOmFmdGVye1xuICAgICAgICAgICAgICBib3JkZXI6IDBweDtcbiAgICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGR7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgIH1cblxuICAgIC5jaGVja291dHtcbiAgICAgICNjdXN0b21lcl9kZXRhaWxze1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICB9XG4gICAgICAud2NfcGF5bWVudF9tZXRob2R7XG4gICAgICAgIC5pbnB1dC1yYWRpb3tcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMTBweDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBwLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLXJlY2VpdmVke1xuICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLndvb2NvbW1lcmNlLXRoYW5reW91LW9yZGVyLWRldGFpbHN7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG4gICAgICBsaXtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHg7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuXG4gICAgICAgIHN0cm9uZ3tcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIFxuICAgIH1cblxuICAgIC53b29jb21tZXJjZS1NeUFjY291bnQtY29udGVudHtcbiAgICAgIC5hZGRyZXNzZXN7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgIC53b29jb21tZXJjZS1NZXNzYWdle1xuICAgICAgICBicntcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1NeUFjY291bnQtbmF2aWdhdGlvbntcbiAgICAgIC5pcy1hY3RpdmV7XG4gICAgICAgIGF7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGE6aG92ZXJ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDA7XG4gICAgICB9XG4gICAgfVxuICAgIC53b29jb21tZXJjZS1BZGRyZXNzLXRpdGxle1xuICAgICAgLmVkaXR7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICAgIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMXB4IDA7XG4gICAgICAgICY6aG92ZXJ7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0gXG5cbiAgICAub3JkZXJfZGV0YWlsc3tcbiAgICAgIC5wcm9kdWN0LW5hbWV7XG4gICAgICAgIGF7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAxcHggMDtcbiAgICAgICAgICAmOmhvdmVye1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAzcHggMDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgLmFjdGlvbnN7XG4gICAgICAuY291cG9ue1xuICAgICAgICBpbnB1dFt0eXBlPVwic3VibWl0XCJde1xuICAgICAgICAgIGhlaWdodDogMi42MjVyZW07XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICBcbiAgICAgIH1cbiAgICAgIHB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDBweDtcbiAgICAgIH1cbiAgICAgIGlucHV0LmJ1dHRvblt0eXBlPVwic3VibWl0XCJde1xuICAgICAgICAgIGhlaWdodDogMi42MjVyZW07XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgY29sb3I6ICM1MTUxNTE7XG4gICAgICAgIH1cbiAgICB9XG4gICAgZm9ybSwgdGFibGV7XG4gICAgICBwe1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwcHggIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgLm9yZGVyLW51bWJlcntcbiAgICAgIGF7XG4gICAgICAgIGJye1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgI2NvdXBvbl9jb2Rle1xuICAgICAgbWluLXdpZHRoOiAxNWVtO1xuICAgICAgaGVpZ2h0OiAyLjU1cmVtO1xuICAgIH1cbiAgICAuYnV0dG9ue1xuICAgICAgYnJ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICAgIC5zaW5nbGVfYWRkX3RvX2NhcnRfYnV0dG9uLmJ1dHRvbiwgLnNpbmdsZV9hZGRfdG9fY2FydF9idXR0b24uYnV0dG9uLmRpc2FibGVke1xuICAgICAgcGFkZGluZzogMC4zNWVtIDAuNWVtO1xuICAgIH1cbiAgICAud2MtcHJvY2VlZC10by1jaGVja291dHtcbiAgICAgIHB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5jaGVja291dC1idXR0b257XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gICAgaW5wdXRbdHlwZT0nc3VibWl0J117XG4gICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgaW5wdXRbdHlwZV06bm90KFt0eXBlPVwic3VibWl0XCJdKSwgdGV4dGFyZWF7XG4gICAgXHRib3JkZXI6IDFweCBzb2xpZDtcbiAgICBcdHBhZGRpbmc6IHJlbS1jYWxjKDgpO1xuICAgIH1cbiAgICB0ZXh0YXJlYXtcbiAgICBcdGJhY2tncm91bmQtaW1hZ2U6IG5vbmUgIWltcG9ydGFudDtcbiAgICBcdC8vYm9yZGVyOiAxcHggc29saWQ7XG4gICAgXHRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgXHRsaW5lLWhlaWdodDogMXJlbSAhaW1wb3J0YW50O1xuICAgIH1cblxufVxuXG4vKiBFT0YgV09PQ09NTUVSQ0UgU1VQUE9SVCAqL1xuIiwiLmJvZHlfaGFzX3NpZGViYXJ7XG5cbiAgLmZsby1pY29uLXNpZGViYXJ7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLmZsb19zaWRlYmFyLS1hY3RpdmUge1xuICBvdmVyZmxvdzogaGlkZGVuO1xufVxuIl19 */
