@charset "UTF-8";
/**
 * 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.
     */
html {
  font-family: sans-serif;
  /* 1 */
  line-height: 1.15;
  /* 2 */
  -ms-text-size-adjust: 100%;
  /* 3 */
  -webkit-text-size-adjust: 100%;
  /* 3 */ }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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;
          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: 70rem;
  margin-right: auto;
  margin-left: auto; }
  .row::before, .row::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .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: 40em) {
      .row .row {
        margin-right: -0.9375rem;
        margin-left: -0.9375rem; } }
    @media print, screen and (min-width: 64em) {
      .row .row {
        margin-right: -0.6875rem;
        margin-left: -0.6875rem; } }
    .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; }
  .row.gutter-large > .column, .row.gutter-large > .columns {
    padding-right: 0.6875rem;
    padding-left: 0.6875rem; }

.column, .columns {
  width: 100%;
  float: left;
  padding-right: 0.625rem;
  padding-left: 0.625rem; }
  @media print, screen and (min-width: 40em) {
    .column, .columns {
      padding-right: 0.9375rem;
      padding-left: 0.9375rem; } }
  @media print, screen and (min-width: 64em) {
    .column, .columns {
      padding-right: 0.6875rem;
      padding-left: 0.6875rem; } }
  .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: 40em) {
  .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: 64em) {
  .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.6875rem;
    padding-left: 0.6875rem; }
  .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: 40em) {
    .column-block {
      margin-bottom: 1.875rem; }
      .column-block > :last-child {
        margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .column-block {
      margin-bottom: 1.375rem; }
      .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: 40em) {
  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: 70rem;
  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: 40em) {
  .medium-text-left {
    text-align: left; }
  .medium-text-right {
    text-align: right; }
  .medium-text-center {
    text-align: center; }
  .medium-text-justify {
    text-align: justify; } }

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

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

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

.button {
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 1rem 0;
  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.dropdown.hollow::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.primary::after {
    border-top-color: #1779ba; }
  .button.dropdown.hollow.secondary::after {
    border-top-color: #767676; }
  .button.dropdown.hollow.success::after {
    border-top-color: #3adb76; }
  .button.dropdown.hollow.warning::after {
    border-top-color: #ffae00; }
  .button.dropdown.hollow.alert::after {
    border-top-color: #cc4b37; }
  .button.arrow-only::after {
    top: -0.1em;
    float: none;
    margin-left: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

select {
  height: 2.4375rem;
  margin: 0 0 1rem;
  padding: 0.5rem;
  -webkit-appearance: none;
          appearance: none;
  border: 1px solid #cacaca;
  border-radius: 0;
  background-color: #fefefe;
  font-family: inherit;
  font-size: 1rem;
  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)::-webkit-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus):-ms-input-placeholder {
    color: #cc4b37; }
  .is-invalid-input:not(:focus)::placeholder {
    color: #cc4b37; }

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

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

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

.accordion-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 {
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  -webkit-transform-origin: 50% 50%;
      -ms-transform-origin: 50% 50%;
          transform-origin: 50% 50%; }

.badge {
  display: inline-block;
  min-width: 2.1em;
  padding: 0.3em;
  border-radius: 50%;
  font-size: 0.6rem;
  text-align: center;
  background: #1779ba;
  color: #fefefe; }
  .badge.primary {
    background: #1779ba;
    color: #fefefe; }
  .badge.secondary {
    background: #767676;
    color: #fefefe; }
  .badge.success {
    background: #3adb76;
    color: #0a0a0a; }
  .badge.warning {
    background: #ffae00;
    color: #0a0a0a; }
  .badge.alert {
    background: #cc4b37;
    color: #fefefe; }

.breadcrumbs {
  margin: 0 0 1rem 0;
  list-style: none; }
  .breadcrumbs::before, .breadcrumbs::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    font-size: 0.6875rem;
    color: #0a0a0a;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      position: relative;
      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;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }
  .button-group::before, .button-group::after {
    display: table;
    content: ' ';
    -webkit-flex-basis: 0;
        -ms-flex-preferred-size: 0;
            flex-basis: 0;
    -webkit-order: 1;
        -ms-flex-order: 1;
            order: 1; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem;
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded .button {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .button-group.primary .button {
    background-color: #1779ba;
    color: #fefefe; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #126195;
      color: #fefefe; }
  .button-group.secondary .button {
    background-color: #767676;
    color: #fefefe; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: #5e5e5e;
      color: #fefefe; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #0a0a0a; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #0a0a0a; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #0a0a0a; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #0a0a0a; }
  .button-group.alert .button {
    background-color: #cc4b37;
    color: #fefefe; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #a53b2a;
      color: #fefefe; }
  .button-group.stacked, .button-group.stacked-for-small, .button-group.stacked-for-medium {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
        margin-bottom: 0; }
  @media print, screen and (min-width: 40em) {
    .button-group.stacked-for-small .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media print, screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px;
      margin-bottom: 0; } }
  @media screen and (max-width: 39.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 {
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-direction: column;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-bottom: 1rem;
  border: 1px solid #e6e6e6;
  border-radius: 0;
  background: #fefefe;
  box-shadow: none;
  overflow: hidden;
  color: #0a0a0a; }
  .card > :last-child {
    margin-bottom: 0; }

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

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

.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;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%; }
  .menu > li {
    -webkit-flex: 0 0 auto;
        -ms-flex: 0 0 auto;
            flex: 0 0 auto; }
    [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 {
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex; }
  .menu > li > a {
    -webkit-flex-flow: row nowrap;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
    .menu > li > a img,
    .menu > li > a i,
    .menu > li > a svg {
      margin-right: 0.25rem; }
  .menu, .menu.horizontal {
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; }
    .menu > li, .menu.horizontal > li {
      -webkit-flex: 0 0 auto;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto; }
  .menu.expanded > li {
    -webkit-flex: 1 1 0px;
        -ms-flex: 1 1 0px;
            flex: 1 1 0px; }
  .menu.expanded > li:first-child:last-child {
    width: 100%; }
  .menu.vertical {
    -webkit-flex-wrap: wrap;
        -ms-flex-wrap: wrap;
            flex-wrap: wrap; }
    .menu.vertical > li {
      -webkit-flex: 0 0 100%;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      max-width: 100%; }
    .menu.vertical > li > a {
      -webkit-justify-content: flex-start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      -webkit-align-items: flex-start;
          -ms-flex-align: start;
              align-items: flex-start; }
  @media print, screen and (min-width: 40em) {
    .menu.medium-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.medium-horizontal > li {
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.medium-expanded > li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.medium-expanded > li:first-child:last-child {
      width: 100%; }
    .menu.medium-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.medium-vertical > li {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.medium-vertical > li > a {
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; } }
  @media print, screen and (min-width: 64em) {
    .menu.large-horizontal {
      -webkit-flex-wrap: nowrap;
          -ms-flex-wrap: nowrap;
              flex-wrap: nowrap; }
      .menu.large-horizontal > li {
        -webkit-flex: 0 0 auto;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto; }
    .menu.large-expanded > li {
      -webkit-flex: 1 1 0px;
          -ms-flex: 1 1 0px;
              flex: 1 1 0px; }
    .menu.large-expanded > li:first-child:last-child {
      width: 100%; }
    .menu.large-vertical {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      .menu.large-vertical > li {
        -webkit-flex: 0 0 100%;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        max-width: 100%; }
      .menu.large-vertical > li > a {
        -webkit-justify-content: flex-start;
            -ms-flex-pack: start;
                justify-content: flex-start;
        -webkit-align-items: flex-start;
            -ms-flex-align: start;
                align-items: flex-start; } }
  .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 {
    -webkit-justify-content: flex-end;
        -ms-flex-pack: end;
            justify-content: flex-end; }
  .menu.icon-top > li > a {
    -webkit-flex-flow: column nowrap;
        -ms-flex-flow: column nowrap;
            flex-flow: column nowrap; }
    .menu.icon-top > li > a img,
    .menu.icon-top > li > a i,
    .menu.icon-top > li > a svg {
      -webkit-align-self: stretch;
          -ms-flex-item-align: stretch;
                  -ms-grid-row-align: stretch;
              align-self: stretch;
      margin-bottom: 0.25rem;
      text-align: center; }
  .menu.icon-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 {
    -webkit-justify-content: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-align-items: flex-start;
        -ms-flex-align: start;
            align-items: flex-start; }

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

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

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

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

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  width: 100%;
  background: #fefefe;
  transition: -webkit-transform 0.15s linear;
  transition: transform 0.15s linear;
  transition: transform 0.15s linear, -webkit-transform 0.15s linear; }
  .is-drilldown-submenu.is-active {
    z-index: 1;
    display: block;
    -webkit-transform: translateX(-100%);
        -ms-transform: translateX(-100%);
            transform: translateX(-100%); }
  .is-drilldown-submenu.is-closing {
    -webkit-transform: translateX(100%);
        -ms-transform: translateX(100%);
            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: 40em) {
  .dropdown.menu.medium-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.medium-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.medium-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #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: 64em) {
  .dropdown.menu.large-horizontal > li.opens-left > .is-dropdown-submenu {
    top: 100%;
    right: 0;
    left: auto; }
  .dropdown.menu.large-horizontal > li.opens-right > .is-dropdown-submenu {
    top: 100%;
    right: auto;
    left: 0; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a {
    position: relative;
    padding-right: 1.5rem; }
  .dropdown.menu.large-horizontal > li.is-dropdown-submenu-parent > a::after {
    display: block;
    width: 0;
    height: 0;
    border: inset 6px;
    content: '';
    border-bottom-width: 0;
    border-top-style: solid;
    border-color: #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: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 1rem;
  -webkit-flex-wrap: nowrap;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small {
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; } }
  @media screen and (max-width: 39.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      -webkit-flex-basis: 100%;
          -ms-flex-preferred-size: 100%;
              flex-basis: 100%;
      max-width: 100%; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

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

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

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

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

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

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

.position-left {
  top: 0;
  left: 0;
  width: 250px;
  height: 100%;
  -webkit-transform: translateX(-250px);
      -ms-transform: translateX(-250px);
          transform: translateX(-250px);
  overflow-y: auto; }
  .position-left.is-open ~ .off-canvas-content {
    -webkit-transform: translateX(250px);
        -ms-transform: translateX(250px);
            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 {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }

.position-right {
  top: 0;
  right: 0;
  width: 250px;
  height: 100%;
  -webkit-transform: translateX(250px);
      -ms-transform: translateX(250px);
          transform: translateX(250px);
  overflow-y: auto; }
  .position-right.is-open ~ .off-canvas-content {
    -webkit-transform: translateX(-250px);
        -ms-transform: translateX(-250px);
            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 {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }

.position-top {
  top: 0;
  left: 0;
  width: 100%;
  height: 250px;
  -webkit-transform: translateY(-250px);
      -ms-transform: translateY(-250px);
          transform: translateY(-250px);
  overflow-x: auto; }
  .position-top.is-open ~ .off-canvas-content {
    -webkit-transform: translateY(250px);
        -ms-transform: translateY(250px);
            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 {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }

.position-bottom {
  bottom: 0;
  left: 0;
  width: 100%;
  height: 250px;
  -webkit-transform: translateY(250px);
      -ms-transform: translateY(250px);
          transform: translateY(250px);
  overflow-x: auto; }
  .position-bottom.is-open ~ .off-canvas-content {
    -webkit-transform: translateY(-250px);
        -ms-transform: translateY(-250px);
            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 {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none; }

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

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

@media print, screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; }
  .position-top.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12; }
    .position-top.reveal-for-large ~ .off-canvas-content {
      margin-top: 250px; }
  .position-bottom.reveal-for-large {
    -webkit-transform: none;
        -ms-transform: none;
            transform: none;
    z-index: 12; }
    .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%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  z-index: 10;
  padding: 1rem;
  color: #fefefe; }
  [data-whatinput='mouse'] .orbit-previous, [data-whatinput='mouse'] .orbit-next {
    outline: 0; }
  .orbit-previous:hover, .orbit-next:hover, .orbit-previous:active, .orbit-next:active, .orbit-previous:focus, .orbit-next:focus {
    background-color: rgba(10, 10, 10, 0.5); }

.orbit-previous {
  left: 0; }

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

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

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

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

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

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

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

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

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

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

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

.sticky-container {
  position: relative; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

table {
  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: 63.9375em) {
  table.stack thead {
    display: none; }
  table.stack tfoot {
    display: none; }
  table.stack tr,
  table.stack th,
  table.stack td {
    display: block; }
  table.stack td {
    border-top: 0; } }

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

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

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

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

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

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

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

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

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

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

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

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

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

.tabs-panel {
  display: none;
  padding: 1rem; }
  .tabs-panel[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;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

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

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

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

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

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

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

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

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

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

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

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

.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: ' ';
  -webkit-flex-basis: 0;
      -ms-flex-preferred-size: 0;
          flex-basis: 0;
  -webkit-order: 1;
      -ms-flex-order: 1;
          order: 1; }

.clearfix::after {
  clear: both; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@font-face {
  font-family: 'icomoon';
  src: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/icomoon.eot?nduh7k");
  src: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/icomoon.eot?nduh7k#iefix") format("embedded-opentype"), url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/icomoon.woff2?nduh7k") format("woff2"), url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/icomoon.ttf?nduh7k") format("truetype"), url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/icomoon.woff?nduh7k") format("woff"), url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/icomoon.svg?nduh7k#icomoon") format("svg");
  font-weight: normal;
  font-style: normal;
  font-display: block; }

[class^="icon-"], [class*=" icon-"] {
  /* use !important to prevent issues with browser extensions that change fonts */
  font-family: 'icomoon' !important;
  speak: none;
  font-style: normal;
  font-weight: normal;
  font-variant: normal;
  text-transform: none;
  line-height: 1;
  /* Better Font Rendering =========== */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

.icon-arrows-down:before {
  content: "\e901"; }

.icon-scroll-down:before {
  content: "\e902"; }

.icon-arrow-down:before {
  content: "\e903"; }

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

.icon-linkedin:before {
  content: "\e905"; }

body, html {
  overflow-x: hidden;
  position: relative; }
  body .column:last-child:not(:first-child), body .columns:last-child:not(:first-child), body .columns:last-child:not(:first-child), html .column:last-child:not(:first-child), html .columns:last-child:not(:first-child), html .columns:last-child:not(:first-child) {
    float: left; }
  body p:empty, html p:empty {
    display: none; }
  body .logo, html .logo {
    float: left; }
    body .logo a, html .logo a {
      height: 2.6875rem;
      width: 10rem;
      display: block;
      position: relative; }
      body .logo a img, html .logo a img {
        height: 2.6875rem;
        position: absolute;
        top: 0;
        left: 0; }
        body .logo a img.logo-img, html .logo a img.logo-img {
          opacity: 1;
          transition: all 0.3s linear; }
        body .logo a img.show-on-hover, html .logo a img.show-on-hover {
          opacity: 0; }
          @media print, screen and (min-width: 40em) {
            body .logo a img.show-on-hover, html .logo a img.show-on-hover {
              opacity: 0;
              height: 2.6875rem;
              transition: all 0.3s linear; } }
      body .logo a:hover img.show-on-hover, html .logo a:hover img.show-on-hover {
        opacity: 0; }
        @media print, screen and (min-width: 40em) {
          body .logo a:hover img.show-on-hover, html .logo a:hover img.show-on-hover {
            opacity: 1; } }
  body .breadcrumbs-wrapper, html .breadcrumbs-wrapper {
    height: 3.4375rem;
    line-height: 3.4375rem;
    text-align: left;
    background: #131520;
    color: #fefefe;
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 0.75rem; }
    @media print, screen and (min-width: 40em) {
      body .breadcrumbs-wrapper, html .breadcrumbs-wrapper {
        text-align: right; } }
    body .breadcrumbs-wrapper a, html .breadcrumbs-wrapper a {
      color: #fefefe; }
  body .header-mobile-menu, html .header-mobile-menu {
    position: absolute;
    right: 1.25rem;
    transition: all 0.3s linear;
    z-index: 9999; }
    @media print, screen and (min-width: 40em) {
      body .header-mobile-menu, html .header-mobile-menu {
        top: 1.5625rem;
        right: 1.875rem; } }
    @media print, screen and (min-width: 64em) {
      body .header-mobile-menu, html .header-mobile-menu {
        top: 4.6875rem;
        right: 3rem; } }
    body .header-mobile-menu a .hamburger-menu, html .header-mobile-menu a .hamburger-menu {
      width: 3.125rem;
      height: 1.625rem;
      display: block;
      position: relative;
      z-index: 9999; }
      body .header-mobile-menu a .hamburger-menu span, html .header-mobile-menu a .hamburger-menu span {
        height: 0.125rem;
        display: block;
        background: #979797;
        position: absolute;
        right: 0;
        top: 0;
        width: 3.125rem;
        transition: all 0.3s linear; }
        body .header-mobile-menu a .hamburger-menu span:nth-child(2), html .header-mobile-menu a .hamburger-menu span:nth-child(2) {
          top: 0.75rem;
          width: 2.15625rem; }
        body .header-mobile-menu a .hamburger-menu span:nth-child(3), html .header-mobile-menu a .hamburger-menu span:nth-child(3) {
          top: 1.5rem;
          width: 1.09375rem; }
  body .sitename-float, html .sitename-float {
    position: relative;
    text-align: center;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    z-index: 55; }
    body .sitename-float .sitename-float-text, html .sitename-float .sitename-float-text {
      height: 100vh;
      position: absolute;
      left: -5.3125rem;
      -webkit-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
              transform: rotate(180deg);
      -webkit-writing-mode: vertical-rl;
          -ms-writing-mode: tb-rl;
              writing-mode: vertical-rl;
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 0.75rem;
      text-transform: uppercase;
      color: #ADADAD;
      letter-spacing: 0.1rem;
      white-space: nowrap; }
  body.menu-open, html.menu-open {
    position: relative; }
    body.menu-open .header-mobile-menu, html.menu-open .header-mobile-menu {
      -webkit-transform: rotate(-90deg);
          -ms-transform: rotate(-90deg);
              transform: rotate(-90deg);
      z-index: 9999; }
      body.menu-open .header-mobile-menu a .hamburger-menu, html.menu-open .header-mobile-menu a .hamburger-menu {
        z-index: 9999; }
        body.menu-open .header-mobile-menu a .hamburger-menu span, html.menu-open .header-mobile-menu a .hamburger-menu span {
          background: #BE9A60;
          -webkit-transform: rotate(-45deg);
              -ms-transform: rotate(-45deg);
                  transform: rotate(-45deg); }
          body.menu-open .header-mobile-menu a .hamburger-menu span:nth-child(2), html.menu-open .header-mobile-menu a .hamburger-menu span:nth-child(2) {
            -webkit-transform: rotate(-45deg);
                -ms-transform: rotate(-45deg);
                    transform: rotate(-45deg);
            left: 0.625rem; }
          body.menu-open .header-mobile-menu a .hamburger-menu span:nth-child(3), html.menu-open .header-mobile-menu a .hamburger-menu span:nth-child(3) {
            -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                    transform: rotate(45deg);
            right: 0.8125rem;
            margin-top: 0.8125rem; }
    body.menu-open .mobile-menu, html.menu-open .mobile-menu {
      visibility: visible;
      opacity: 1;
      -webkit-animation: scale-up-tr 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both;
      animation: scale-up-tr 0.8s cubic-bezier(0.39, 0.575, 0.565, 1) both; }
  body h2, html h2 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 3.125rem;
    line-height: 3.125rem; }
  body h5.with-small-border, html h5.with-small-border {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.5625rem;
    color: #BE9A60;
    margin-bottom: 1.875rem; }
    body h5.with-small-border:after, html h5.with-small-border:after {
      content: '';
      width: 1.5625rem;
      height: 0.0625rem;
      background: #BE9A60;
      display: block;
      margin-top: 0.4375rem; }
  body .wp-block-image, html .wp-block-image {
    margin-bottom: 0; }
  body .not-found, html .not-found {
    padding: 9.375rem 1.25rem; }
    @media print, screen and (min-width: 40em) {
      body .not-found, html .not-found {
        padding: 9.375rem 1.25rem;
        min-height: 60vh; } }
    @media print, screen and (min-width: 64em) {
      body .not-found, html .not-found {
        padding: 9.375rem 0; } }
    body .not-found h3, html .not-found h3 {
      font-family: 'Amiri', serif;
      font-weight: 400;
      font-size: 2.5rem;
      line-height: 2.5rem;
      color: #131520;
      margin-bottom: 1.875rem; }
    body .not-found p, html .not-found p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 1rem;
      line-height: 1.5625rem;
      color: #575757; }
      body .not-found p a, html .not-found p a {
        color: #BE9A60; }
        body .not-found p a:hover, html .not-found p a:hover {
          color: #373737; }

.overlay {
  position: fixed;
  z-index: 999;
  height: 2em;
  width: 2em;
  overflow: show;
  margin: auto;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  display: none; }
  .overlay:before {
    content: '';
    display: block;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); }
  .overlay:not(:required) {
    /* hide "loading..." text */
    font: 0/0 a;
    color: transparent;
    text-shadow: none;
    background-color: transparent;
    border: 0; }
  .overlay:not(:required):after {
    content: '';
    display: block;
    font-size: 10px;
    width: 1em;
    height: 1em;
    margin-top: -0.5em;
    -webkit-animation: spinner 1500ms infinite linear;
    animation: spinner 1500ms infinite linear;
    border-radius: 0.5em;
    box-shadow: rgba(255, 255, 255, 0.75) 1.5em 0 0 0, rgba(255, 255, 255, 0.75) 1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) 0 1.5em 0 0, rgba(255, 255, 255, 0.75) -1.1em 1.1em 0 0, rgba(255, 255, 255, 0.75) -1.5em 0 0 0, rgba(255, 255, 255, 0.75) -1.1em -1.1em 0 0, rgba(255, 255, 255, 0.75) 0 -1.5em 0 0, rgba(255, 255, 255, 0.75) 1.1em -1.1em 0 0; }

@-webkit-keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }

@keyframes spinner {
  0% {
    -webkit-transform: rotate(0deg);
    -ms-transform: rotate(0deg);
    transform: rotate(0deg); }
  100% {
    -webkit-transform: rotate(360deg);
    -ms-transform: rotate(360deg);
    transform: rotate(360deg); } }

@-webkit-keyframes scale-up-tr {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    -webkit-transform-origin: 100% 0%;
    transform-origin: 100% 0%; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 100% 0%;
    transform-origin: 100% 0%; } }

@keyframes scale-up-tr {
  0% {
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
    -webkit-transform-origin: 100% 0%;
    transform-origin: 100% 0%; }
  100% {
    -webkit-transform: scale(1);
    transform: scale(1);
    -webkit-transform-origin: 100% 0%;
    transform-origin: 100% 0%; } }

.alignfull {
  margin-left: calc( -100vw / 2 + 100% / 2);
  margin-right: calc( -100vw / 2 + 100% / 2);
  max-width: 100vw; }

.header {
  background: #F1F2F3;
  position: relative;
  z-index: 5; }
  .header.full {
    position: relative;
    background: #F1F2F3;
    overflow: hidden;
    padding: 0 1.25rem;
    height: 37.5rem; }
    @media print, screen and (min-width: 64em) {
      .header.full {
        height: 100vh;
        padding: 0; } }
    .header.full .top-menu-bar {
      position: absolute;
      left: 1.25rem;
      right: 1.25rem;
      top: 1.5625rem;
      z-index: 5;
      padding: 0; }
      @media print, screen and (min-width: 64em) {
        .header.full .top-menu-bar {
          left: 0;
          right: 0;
          top: 4.6875rem; } }
  .header .top-menu-bar {
    padding: 1.875rem 1.25rem; }
    @media print, screen and (min-width: 64em) {
      .header .top-menu-bar {
        padding: 4.375rem 0 1.5625rem 0; } }
    .header .top-menu-bar .logo {
      float: left; }
      .header .top-menu-bar .logo a {
        height: 2.6875rem;
        width: 25rem;
        display: block;
        position: relative; }
        .header .top-menu-bar .logo a img {
          height: 2.6875rem;
          position: absolute;
          top: 0;
          left: 0; }
          .header .top-menu-bar .logo a img.logo-img {
            opacity: 1;
            transition: all 0.3s linear; }
          .header .top-menu-bar .logo a img.show-on-hover {
            opacity: 0; }
            @media print, screen and (min-width: 40em) {
              .header .top-menu-bar .logo a img.show-on-hover {
                opacity: 0;
                height: 2.6875rem;
                transition: all 0.3s linear; } }
        .header .top-menu-bar .logo a:hover img.show-on-hover {
          opacity: 0; }
          @media print, screen and (min-width: 40em) {
            .header .top-menu-bar .logo a:hover img.show-on-hover {
              opacity: 1; } }
    .header .top-menu-bar .header-mobile-menu {
      display: block; }
      @media print, screen and (min-width: 64em) {
        .header .top-menu-bar .header-mobile-menu {
          display: none;
          position: fixed;
          top: 3.125rem;
          right: 2.5rem;
          z-index: 99999 !important; } }
      .header .top-menu-bar .header-mobile-menu.show {
        display: block; }
    .header .top-menu-bar .header-menu {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .header .top-menu-bar .header-menu {
          display: block;
          float: right;
          margin-top: 0.9375rem; } }
      .header .top-menu-bar .header-menu ul li a {
        color: #575757;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        text-transform: uppercase;
        font-size: 0.75rem;
        padding: 0 0.75rem;
        display: block; }
        .header .top-menu-bar .header-menu ul li a:after {
          content: '';
          display: block;
          width: 0;
          height: 2px;
          background: #BE9A60;
          margin-top: 0.3125rem;
          transition: width .3s; }
        .header .top-menu-bar .header-menu ul li a:hover:after {
          width: 100%; }
      .header .top-menu-bar .header-menu ul li:last-child a {
        padding-right: 0; }
      .header .top-menu-bar .header-menu ul li.current_page_item a:after, .header .top-menu-bar .header-menu ul li.current-page-ancestor a:after {
        width: 100%; }
  .header .header-intro-text {
    position: absolute;
    top: 15.625rem;
    right: 2.5rem;
    left: 2.5rem;
    z-index: 3; }
    @media print, screen and (min-width: 40em) {
      .header .header-intro-text {
        top: 50%;
        left: auto;
        right: auto;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); } }
    .header .header-intro-text h1 {
      font-family: 'Amiri', serif;
      font-weight: 400;
      font-size: 3.125rem;
      line-height: 2.5rem;
      color: #131520;
      margin-bottom: 0.625rem;
      position: relative;
      z-index: 4; }
      @media print, screen and (min-width: 64em) {
        .header .header-intro-text h1 {
          font-size: 4.375rem;
          line-height: 4.0625rem; } }
  .header .scroll-down {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 6.5625rem;
    z-index: 2;
    font-size: 2.5rem;
    display: none; }
    @media print, screen and (min-width: 64em) {
      .header .scroll-down {
        display: block; } }
    .header .scroll-down a {
      color: #BE9A60;
      transition: color 0.3s linear; }
      .header .scroll-down a:hover {
        color: #131520; }

.footer {
  background: #131520;
  padding: 2.8125rem 1.25rem 1.875rem 1.25rem; }
  @media print, screen and (min-width: 64em) {
    .footer {
      padding: 5.9375rem 0 3.75rem 0; } }
  .footer .footer-logo {
    max-width: 200px;
    margin-bottom: 3.125rem;
    text-align: center; }
    @media print, screen and (min-width: 64em) {
      .footer .footer-logo {
        max-width: 200px;
        text-align: left; } }
  .footer .office h5 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 600;
    font-size: 1rem;
    color: #D8D8D8;
    line-height: 1.25rem; }
    @media print, screen and (min-width: 64em) {
      .footer .office h5 {
        font-size: 0.75rem;
        line-height: 0.9375rem; } }
  .footer .office .office-details p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 1rem;
    color: #D8D8D8;
    line-height: 1.25rem; }
    @media print, screen and (min-width: 64em) {
      .footer .office .office-details p {
        font-size: 0.75rem;
        line-height: 0.9375rem; } }
    .footer .office .office-details p a {
      color: #D8D8D8; }
  @media print, screen and (min-width: 64em) {
    .footer .footer-menu {
      padding-left: 1.25rem; } }
  .footer .footer-menu .menu {
    -webkit-column-count: 1;
            column-count: 1;
    -webkit-column-gap: 0;
            column-gap: 0;
    display: block; }
    @media print, screen and (min-width: 64em) {
      .footer .footer-menu .menu {
        -webkit-column-count: 2;
                column-count: 2;
        -webkit-column-gap: 0.625rem;
                column-gap: 0.625rem; } }
    .footer .footer-menu .menu li a {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1rem;
      line-height: 1.625rem;
      display: block;
      text-transform: uppercase;
      color: #D8D8D8;
      padding: 0;
      transition: color 0.3s linear; }
      @media print, screen and (min-width: 64em) {
        .footer .footer-menu .menu li a {
          font-size: 0.75rem;
          line-height: 0.9375rem; } }
      .footer .footer-menu .menu li a:hover {
        color: #BE9A60; }
  .footer .footer-copyrights {
    margin-top: 3.125rem; }
    @media print, screen and (min-width: 40em) {
      .footer .footer-copyrights {
        text-align: right; } }
    @media print, screen and (min-width: 40em) {
      .footer .footer-copyrights .social-links {
        float: left; } }
    .footer .footer-copyrights .social-links a {
      color: #B6B6B6;
      font-size: 1.125rem;
      transition: color 0.3s linear; }
      @media print, screen and (min-width: 40em) {
        .footer .footer-copyrights .social-links a {
          font-size: 0.8125rem; } }
      .footer .footer-copyrights .social-links a:hover {
        color: #BE9A60; }
    .footer .footer-copyrights span {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 0.875rem;
      line-height: 1.25rem;
      color: #ADADAD;
      padding-right: 0.3125rem;
      display: inline-block; }
      @media print, screen and (min-width: 40em) {
        .footer .footer-copyrights span {
          font-size: 0.625rem;
          line-height: 0.8125rem; } }
    .footer .footer-copyrights ul {
      margin: 0;
      padding: 0;
      list-style: none; }
      @media print, screen and (min-width: 40em) {
        .footer .footer-copyrights ul {
          float: right; } }
      .footer .footer-copyrights ul li {
        display: inline; }
        .footer .footer-copyrights ul li a {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 0.875rem;
          line-height: 1.25rem;
          color: #ADADAD;
          display: inline-block;
          position: relative;
          top: -0.0625rem;
          transition: color 0.3s linear; }
          @media print, screen and (min-width: 40em) {
            .footer .footer-copyrights ul li a {
              font-size: 0.625rem;
              line-height: 0.8125rem; } }
          .footer .footer-copyrights ul li a:before {
            content: '|';
            padding-right: 0.3125rem; }
          .footer .footer-copyrights ul li a:hover {
            color: #BE9A60; }
        .footer .footer-copyrights ul li:first-child a:before {
          content: none;
          padding-right: 0.3125rem; }
          @media print, screen and (min-width: 40em) {
            .footer .footer-copyrights ul li:first-child a:before {
              content: '|';
              padding-right: 0.3125rem; } }

#footer {
  position: static; }
  @media print, screen and (min-width: 64em) {
    #footer {
      position: fixed;
      left: 0;
      right: 0;
      bottom: -37.5rem;
      transition: all 0.3s linear; } }
  #footer .close-footer {
    display: none; }
    @media print, screen and (min-width: 64em) {
      #footer .close-footer {
        display: block;
        position: absolute;
        right: 3.125rem;
        top: 2.5rem;
        z-index: 5;
        font-size: 0.75rem;
        -webkit-transform: rotate(180deg);
            -ms-transform: rotate(180deg);
                transform: rotate(180deg);
        color: #A1A1A1; } }
    #footer .close-footer:hover {
      color: #BE9A60; }

@media print, screen and (min-width: 64em) {
  body.footer-on #footer {
    bottom: 0;
    z-index: 999;
    transition: all 0.3s linear; } }

@media print, screen and (min-width: 64em) {
  body.footer-off #footer {
    bottom: -37.5rem;
    z-index: -1;
    transition: all 0.3s linear; } }

.mobile-menu {
  position: fixed;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  min-height: 100vh;
  padding: 0;
  z-index: 999;
  background-color: #131520;
  overflow-y: auto;
  overflow-x: hidden;
  /* this fixes the buggy scrolling on webkit browsers - mobile devices only - when overflow property is applied */
  -webkit-overflow-scrolling: touch;
  visibility: hidden;
  opacity: 0;
  transition: visibility 0s, opacity .3s; }
  @media print, screen and (min-width: 64em) {
    .mobile-menu {
      right: 8.75rem; } }
  .mobile-menu .header-mobile-menu {
    z-index: 9999;
    position: absolute;
    margin-top: 1.5625rem;
    margin-right: 1.25rem; }
    @media print, screen and (min-width: 64em) {
      .mobile-menu .header-mobile-menu {
        display: none; } }
  .mobile-menu .menu {
    display: block;
    margin-top: 3.125rem; }
    @media print, screen and (min-width: 64em) {
      .mobile-menu .menu {
        margin-top: 0;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); } }
    .mobile-menu .menu li {
      margin: 0;
      padding: 0; }
      .mobile-menu .menu li a {
        font-family: 'Amiri', serif;
        font-weight: 400;
        font-size: 3.125rem;
        line-height: 3.75rem;
        color: #fefefe;
        margin: 0;
        padding: 0 0 0 1.25rem;
        display: inline-block;
        transition: color 0.3s linear; }
        @media print, screen and (min-width: 40em) {
          .mobile-menu .menu li a {
            font-size: 3.75rem;
            line-height: 4.375rem; } }
        @media print, screen and (min-width: 64em) {
          .mobile-menu .menu li a {
            font-size: 5rem;
            line-height: 5.625rem; } }
        .mobile-menu .menu li a:hover {
          color: #BE9A60; }
      .mobile-menu .menu li.current_page_item a {
        color: #BE9A60; }

.content-slider {
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .content-slider {
      min-height: 100vh; } }
  .content-slider ul.controls {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .content-slider ul.controls {
        position: absolute;
        z-index: 999;
        right: 3.125rem;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        display: block; } }
    @media print, screen and (min-width: 64em) {
      .content-slider ul.controls:before {
        content: '';
        height: 10.375rem;
        display: block;
        width: 0.07812rem;
        border-right: 0.07812rem dashed #F0F0F1;
        margin-bottom: 1.875rem;
        margin-left: 0.375rem; } }
    @media print, screen and (min-width: 64em) {
      .content-slider ul.controls:after {
        content: '';
        height: 10.375rem;
        display: block;
        width: 0.07812rem;
        border-right: 0.07812rem dashed #F0F0F1;
        margin-top: 1.875rem;
        margin-left: 0.375rem; } }
    .content-slider ul.controls.dark-border:before, .content-slider ul.controls.dark-border:after {
      border-color: #979797; }
    .content-slider ul.controls,
    .content-slider ul.controls li {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .content-slider ul.controls,
        .content-slider ul.controls li {
          display: block;
          list-style: none;
          margin: 0 0 0.625rem 0;
          padding: 0; } }
    .content-slider ul.controls a,
    .content-slider ul.controls button {
      display: block;
      width: 0.70312rem;
      height: 0.70312rem;
      border-radius: 100%;
      font-size: 0;
      line-height: 0;
      color: transparent;
      text-shadow: none;
      background: #D8D8D8; }
    .content-slider ul.controls > li:before {
      display: none; }
    .content-slider ul.controls > li.active a,
    .content-slider ul.controls > li.active button {
      background: #BE9A60; }
  .content-slider .slide-number {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .content-slider .slide-number {
        display: block;
        position: absolute;
        right: 3.125rem;
        bottom: 6.25rem;
        z-index: 5;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 0.75rem;
        color: #BE9A60; } }
  .content-slider .arrows-down {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .content-slider .arrows-down {
        display: block;
        position: absolute;
        right: 3.125rem;
        bottom: 2.5rem;
        z-index: 5;
        font-size: 0.75rem; } }
    .content-slider .arrows-down a {
      color: #A1A1A1; }
      .content-slider .arrows-down a:hover {
        color: #BE9A60; }
  .content-slider .content-slide {
    position: static; }
    @media print, screen and (min-width: 64em) {
      .content-slider .content-slide {
        min-height: 100vh;
        opacity: 0;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        overflow: hidden; } }
    .content-slider .content-slide.first, .content-slider .content-slide.in-viewport {
      opacity: 1;
      z-index: 1; }

.group-lines {
  position: relative;
  height: 100vh;
  top: 16.25rem;
  right: 0; }
  .group-lines .lines {
    right: -3.75rem;
    top: 0;
    position: relative;
    height: 100vh;
    -webkit-animation-name: animatedLine;
            animation-name: animatedLine;
    -webkit-animation-duration: 1.5s;
            animation-duration: 1.5s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1; }
  .group-lines .animatedLine {
    position: absolute;
    bottom: 0;
    height: 100vh;
    width: 0.0625rem;
    overflow: hidden;
    -webkit-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
            transform: rotate(30deg); }
  .group-lines .animatedLine:nth-child(3n + 1) {
    right: 1.25rem; }
  .group-lines .animatedLine:nth-child(3n + 2) {
    right: 2.5rem; }
  .group-lines .animatedLine:nth-child(3n + 3) {
    right: 3.75rem; }
  .group-lines .animatedLine:nth-child(3n + 4) {
    right: 5rem; }
  .group-lines .animatedLine:nth-child(3n + 5) {
    right: 6.25rem; }
  .group-lines .animatedLine:nth-child(3n + 6) {
    right: 7.5rem; }
  .group-lines .animatedLine:nth-child(3n + 7) {
    right: 8.75rem; }
  .group-lines .animatedLine:nth-child(3n + 8) {
    right: 10rem; }
  .group-lines .animatedLine:nth-child(3n + 9) {
    right: 11.25rem; }
  .group-lines .animatedLine:nth-child(3n + 10) {
    right: 12.5rem; }
  .group-lines .animatedLine:nth-child(3n + 11) {
    right: 13.75rem; }
  .group-lines .animatedLine:nth-child(3n + 12) {
    right: 15rem; }
  .group-lines .animatedLine:nth-child(3n + 13) {
    right: 16.25rem; }
  .group-lines .animatedLine:nth-child(3n + 14) {
    right: 17.5rem; }
  .group-lines .animatedLine:nth-child(3n + 15) {
    right: 18.75rem; }
  .group-lines .animatedLine:nth-child(3n + 16) {
    right: 20rem; }
  .group-lines .animatedLine:nth-child(3n + 17) {
    right: 21.25rem; }
  .group-lines .animatedLine:nth-child(3n + 18) {
    right: 22.5rem; }
  .group-lines .animatedLine:nth-child(3n + 19) {
    right: 23.75rem; }
  .group-lines .animatedLine:nth-child(3n + 20) {
    right: 25rem; }
  .group-lines .animatedLine:nth-child(3n + 21) {
    right: 26.25rem; }
  .group-lines .animatedLine:nth-child(3n + 22) {
    right: 27.5rem; }
  .group-lines .animatedLine:nth-child(3n + 23) {
    right: 28.75rem; }
  .group-lines .animatedLine:nth-child(3n + 24) {
    right: 30rem; }
  .group-lines .animatedLine:nth-child(3n + 25) {
    right: 31.25rem; }
  .group-lines .animatedLine:nth-child(3n + 26) {
    right: 32.5rem; }
  .group-lines .animatedLine:nth-child(3n + 27) {
    right: 33.75rem; }
  .group-lines .animatedLine:nth-child(3n + 28) {
    right: 35rem; }
  .group-lines .animatedLine:nth-child(3n + 29) {
    right: 36.25rem; }
  .group-lines .animatedLine:nth-child(3n + 30) {
    right: 37.5rem; }
  .group-lines .animatedLine:nth-child(3n + 31) {
    right: 38.75rem; }
  .group-lines .animatedLine:nth-child(3n + 32) {
    right: 40rem; }
  .group-lines .animatedLine:nth-child(3n + 33) {
    right: 41.25rem; }
  .group-lines .animatedLine:nth-child(3n + 34) {
    right: 42.5rem; }
  .group-lines .animatedLine:nth-child(3n + 35) {
    right: 43.75rem; }
  .group-lines .animatedLine:nth-child(3n + 36) {
    right: 45rem; }
  .group-lines .animatedLine:nth-child(3n + 37) {
    right: 46.25rem; }
  .group-lines .animatedLine:nth-child(3n + 38) {
    right: 47.5rem; }
  .group-lines .animatedLine:nth-child(3n + 39) {
    right: 48.75rem; }
  .group-lines .animatedLine:nth-child(3n + 40) {
    right: 50rem; }
  .group-lines .animatedLine::after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #D8D8D8; }
  .group-lines .bigLine {
    position: absolute;
    bottom: 0;
    display: block;
    top: 3.75rem;
    right: 50rem;
    height: 100vh;
    width: 12.5rem;
    overflow: hidden;
    -webkit-transform: skew(-30deg);
        -ms-transform: skew(-30deg);
            transform: skew(-30deg); }
    .group-lines .bigLine:after {
      content: '';
      display: block;
      position: absolute;
      right: 0;
      bottom: 0;
      width: 100%;
      height: 100%;
      background: linear-gradient(0deg, rgba(217, 129, 194, 0) 0%, rgba(193, 156, 98, 0.2) 100%);
      opacity: 1;
      -webkit-animation-name: fadeInOpacity;
              animation-name: fadeInOpacity;
      -webkit-animation-iteration-count: 1;
              animation-iteration-count: 1;
      -webkit-animation-timing-function: ease-in;
              animation-timing-function: ease-in;
      -webkit-animation-duration: 2s;
              animation-duration: 2s; }

@-webkit-keyframes animatedLine {
  0% {
    right: -15.625rem; }
  100% {
    right: 0; } }

@keyframes animatedLine {
  0% {
    right: -15.625rem; }
  100% {
    right: 0; } }

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

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

.static-lines {
  position: absolute;
  left: 0;
  right: 0;
  top: 2.8125rem;
  bottom: 0;
  overflow: hidden; }
  .static-lines .slines {
    position: relative;
    z-index: 3;
    left: 6.25rem;
    -webkit-animation-name: animatedLine;
            animation-name: animatedLine;
    -webkit-animation-duration: 4s;
            animation-duration: 4s;
    -webkit-animation-timing-function: linear;
            animation-timing-function: linear;
    -webkit-animation-delay: 0s;
            animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
            animation-iteration-count: 1; }
  .static-lines .staticLine {
    position: absolute;
    top: 0;
    height: 31.25rem;
    width: 0.0625rem;
    overflow: hidden;
    -webkit-transform: rotate(30deg);
        -ms-transform: rotate(30deg);
            transform: rotate(30deg); }
  .static-lines .staticLine:nth-child(3n + 1) {
    left: 1.25rem; }
  .static-lines .staticLine:nth-child(3n + 2) {
    left: 2.5rem; }
  .static-lines .staticLine:nth-child(3n + 3) {
    left: 3.75rem; }
  .static-lines .staticLine:nth-child(3n + 4) {
    left: 5rem; }
  .static-lines .staticLine:nth-child(3n + 5) {
    left: 6.25rem; }
  .static-lines .staticLine:nth-child(3n + 6) {
    left: 7.5rem; }
  .static-lines .staticLine:nth-child(3n + 7) {
    left: 8.75rem; }
  .static-lines .staticLine:nth-child(3n + 8) {
    left: 10rem; }
  .static-lines .staticLine:nth-child(3n + 9) {
    left: 11.25rem; }
  .static-lines .staticLine:nth-child(3n + 10) {
    left: 12.5rem; }
  .static-lines .staticLine:nth-child(3n + 11) {
    left: 13.75rem; }
  .static-lines .staticLine:nth-child(3n + 12) {
    left: 15rem; }
  .static-lines .staticLine:nth-child(3n + 13) {
    left: 16.25rem; }
  .static-lines .staticLine:nth-child(3n + 14) {
    left: 17.5rem; }
  .static-lines .staticLine:nth-child(3n + 15) {
    left: 18.75rem; }
  .static-lines .staticLine:nth-child(3n + 16) {
    left: 20rem; }
  .static-lines .staticLine:nth-child(3n + 17) {
    left: 21.25rem; }
  .static-lines .staticLine:nth-child(3n + 18) {
    left: 22.5rem; }
  .static-lines .staticLine:nth-child(3n + 19) {
    left: 23.75rem; }
  .static-lines .staticLine:nth-child(3n + 20) {
    left: 25rem; }
  .static-lines .staticLine:nth-child(3n + 21) {
    left: 26.25rem; }
  .static-lines .staticLine:nth-child(3n + 22) {
    left: 27.5rem; }
  .static-lines .staticLine:nth-child(3n + 23) {
    left: 28.75rem; }
  .static-lines .staticLine:nth-child(3n + 24) {
    left: 30rem; }
  .static-lines .staticLine:nth-child(3n + 25) {
    left: 31.25rem; }
  .static-lines .staticLine:nth-child(3n + 26) {
    left: 32.5rem; }
  .static-lines .staticLine:nth-child(3n + 27) {
    left: 33.75rem; }
  .static-lines .staticLine:nth-child(3n + 28) {
    left: 35rem; }
  .static-lines .staticLine:nth-child(3n + 29) {
    left: 36.25rem; }
  .static-lines .staticLine:nth-child(3n + 30) {
    left: 37.5rem; }
  .static-lines .staticLine:nth-child(3n + 31) {
    left: 38.75rem; }
  .static-lines .staticLine:nth-child(3n + 32) {
    left: 40rem; }
  .static-lines .staticLine:nth-child(3n + 33) {
    left: 41.25rem; }
  .static-lines .staticLine:nth-child(3n + 34) {
    left: 42.5rem; }
  .static-lines .staticLine:nth-child(3n + 35) {
    left: 43.75rem; }
  .static-lines .staticLine:nth-child(3n + 36) {
    left: 45rem; }
  .static-lines .staticLine:nth-child(3n + 37) {
    left: 46.25rem; }
  .static-lines .staticLine::after {
    content: '';
    display: block;
    position: absolute;
    right: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
    background: #D8D8D8; }

@keyframes animatedLine {
  0% {
    left: 350px; }
  20% {
    left: 300px; }
  40% {
    left: 250px; }
  60% {
    left: 200px; }
  80% {
    left: 150px; }
  100% {
    left: 100px; } }

body.single-member .mobile-menu .menu .team-page-link a {
  color: #BE9A60; }

body.single-member .header .top-menu-bar .header-menu .menu .team-page-link a:after {
  width: 100%; }

body.single-member .single-member-page {
  background: #F1F2F3; }
  body.single-member .single-member-page .single-member-container {
    padding: 2.5rem 1.25rem; }
    @media print, screen and (min-width: 40em) {
      body.single-member .single-member-page .single-member-container {
        padding: 2.5rem 1.25rem; } }
    @media print, screen and (min-width: 64em) {
      body.single-member .single-member-page .single-member-container {
        padding: 2.5rem 0 0 0; } }
    body.single-member .single-member-page .single-member-container .member-photo {
      text-align: center;
      border-bottom: 0.0625rem solid #BE9A60;
      margin-bottom: 1.875rem; }
      @media print, screen and (min-width: 64em) {
        body.single-member .single-member-page .single-member-container .member-photo {
          position: relative;
          min-height: 47.8125rem;
          text-align: left;
          border: none;
          margin: 0; } }
      body.single-member .single-member-page .single-member-container .member-photo img {
        -webkit-filter: grayscale(100%);
                filter: grayscale(100%);
        margin: 0 auto; }
        @media print, screen and (min-width: 40em) {
          body.single-member .single-member-page .single-member-container .member-photo img {
            max-width: 31.25rem; } }
        @media print, screen and (min-width: 64em) {
          body.single-member .single-member-page .single-member-container .member-photo img {
            height: 47.8125rem;
            width: 100%;
            object-fit: cover;
            position: absolute;
            bottom: 0;
            max-width: 100%;
            margin: 0; } }
    body.single-member .single-member-page .single-member-container .back-to {
      margin: 2.1875rem 0 3.75rem 0; }
      body.single-member .single-member-page .single-member-container .back-to a {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 0.9375rem;
        color: #7A7A7A; }
        body.single-member .single-member-page .single-member-container .back-to a:hover {
          color: #BE9A60; }
        body.single-member .single-member-page .single-member-container .back-to a i {
          font-size: 1.1875rem;
          margin-right: 0.25rem;
          position: relative;
          top: 0.1875rem; }
    body.single-member .single-member-page .single-member-container .office {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 1.25rem;
      line-height: 1.5rem;
      color: #BE9A60;
      font-style: italic; }
    body.single-member .single-member-page .single-member-container .name {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1.875rem;
      line-height: 2.3125rem;
      color: #575757; }
    body.single-member .single-member-page .single-member-container .role {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 1.25rem;
      line-height: 1.5rem;
      color: #575757;
      margin-bottom: 1.875rem; }
    body.single-member .single-member-page .single-member-container .bio {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 0.9375rem;
      line-height: 1.1875rem;
      color: #575757;
      padding-bottom: 2.5rem; }

body.single-post .mobile-menu .menu .insights-page-link a {
  color: #BE9A60; }

body.single-post .header .top-menu-bar .header-menu .menu .insights-page-link a:after {
  width: 100%; }

.post-header {
  background: #F9F9F9;
  padding: 2.5rem 1.25rem;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .post-header {
      padding: 4.6875rem 0 3.75rem 0; } }
  .post-header .post-header-details {
    position: relative;
    z-index: 4; }
    .post-header .post-header-details .back-to {
      margin: 0 0 6.25rem 0; }
      .post-header .post-header-details .back-to a {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 0.9375rem;
        color: #7A7A7A; }
        .post-header .post-header-details .back-to a:hover {
          color: #BE9A60; }
        .post-header .post-header-details .back-to a i {
          font-size: 1.1875rem;
          margin-right: 0.25rem;
          position: relative;
          top: 0.1875rem; }
    .post-header .post-header-details .category h5 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      color: #BE9A60;
      font-size: 0.8125rem;
      text-transform: uppercase; }
      .post-header .post-header-details .category h5:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        display: block;
        background: #BE9A60;
        margin-top: 0.625rem; }
    .post-header .post-header-details .date {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      color: #7A7A7A;
      font-size: 0.9375rem; }
    .post-header .post-header-details .post-title {
      margin: 1.25rem 0; }
      .post-header .post-header-details .post-title h2 {
        color: #131520; }
    .post-header .post-header-details .pdf-download {
      float: right;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 0.6875rem;
      text-transform: uppercase;
      letter-spacing: 0.05625rem;
      color: #575757;
      border: 0.0625rem solid #BE9A60;
      height: 2.125rem;
      line-height: 2.125rem;
      padding: 0 0.625rem;
      display: inline-block;
      transition: all 0.3s linear; }
      @media print, screen and (min-width: 40em) {
        .post-header .post-header-details .pdf-download {
          padding: 0 1.25rem;
          font-size: 0.75rem; } }
      .post-header .post-header-details .pdf-download:hover {
        background: #BE9A60;
        color: #fefefe; }

.single-insight {
  padding: 1.875rem 1.25rem;
  background: #F9F9F9;
  position: relative;
  z-index: 100; }
  @media print, screen and (min-width: 64em) {
    .single-insight {
      padding: 4.0625rem 0 5rem 0; } }
  .single-insight h3 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    font-size: 1.5625rem;
    line-height: 2.0625rem;
    color: #131520;
    margin: 2.5rem 0; }
  .single-insight p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 0.9375rem;
    line-height: 1.1875rem;
    color: #575757;
    margin-bottom: 1.875rem; }
  .single-insight ul li {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 0.9375rem;
    line-height: 1.1875rem;
    color: #575757;
    margin-bottom: 1.875rem; }
  .single-insight h6 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.9375rem;
    line-height: 1.1875rem;
    color: #7A7A7A;
    border-bottom: 0.0625rem solid #032437;
    padding-bottom: 0.625rem;
    margin-bottom: 0.625rem; }
  .single-insight .wp-block-image {
    margin-bottom: 1.875rem; }
    .single-insight .wp-block-image img {
      max-width: 100%; }
    .single-insight .wp-block-image figcaption {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 0.8125rem;
      line-height: 1rem;
      color: #7A7A7A; }

.single-dr-event {
  text-align: center;
  background: #F0F0F1; }
  .single-dr-event h1 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    color: #0a0a0a; }
  .single-dr-event h2 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 1.875rem;
    color: #0a0a0a; }
  .single-dr-event h3 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1.375rem;
    line-height: 2.0625rem;
    color: #131520; }
  .single-dr-event h4 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1.1875rem;
    line-height: 2.0625rem;
    color: #131520; }
  .single-dr-event h5 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.4375rem;
    color: #131520; }
  .single-dr-event p {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.25rem;
    color: #575757; }
    .single-dr-event p a {
      color: #131520; }
      .single-dr-event p a:hover {
        color: #777; }
  .single-dr-event .page-logo img {
    margin: 0.9375rem 0; }
  .single-dr-event .last-modified {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 0.9375rem;
    color: #7A7A7A; }
  .single-dr-event .announcements {
    border-bottom: 0.0625rem solid #CACACA;
    padding: 1.875rem 0; }
  .single-dr-event .subtitle, .single-dr-event .subtitle p {
    color: #df1111; }
  .single-dr-event .sections div.section {
    border-bottom: 0.0625rem solid #CACACA;
    padding: 1.875rem 0; }
    .single-dr-event .sections div.section:last-of-type {
      border-bottom: none; }
    .single-dr-event .sections div.section .red p {
      color: #df1111; }

.about-slider {
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .about-slider {
      min-height: 100vh; } }
  .about-slider ul.controls {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .about-slider ul.controls {
        position: absolute;
        z-index: 999;
        right: 3.125rem;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); } }
    .about-slider ul.controls:before {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .about-slider ul.controls:before {
          content: '';
          height: 10.375rem;
          display: block;
          width: 0.07812rem;
          border-right: 0.07812rem dashed #979797;
          margin-bottom: 1.875rem;
          margin-left: 0.375rem; } }
    .about-slider ul.controls:after {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .about-slider ul.controls:after {
          content: '';
          height: 10.375rem;
          display: block;
          width: 0.07812rem;
          border-right: 0.07812rem dashed #979797;
          margin-top: 1.875rem;
          margin-left: 0.375rem; } }
    .about-slider ul.controls,
    .about-slider ul.controls li {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .about-slider ul.controls,
        .about-slider ul.controls li {
          display: block;
          list-style: none;
          margin: 0 0 0.625rem 0;
          padding: 0; } }
    .about-slider ul.controls a,
    .about-slider ul.controls button {
      display: block;
      width: 0.70312rem;
      height: 0.70312rem;
      border-radius: 100%;
      font-size: 0;
      line-height: 0;
      color: transparent;
      text-shadow: none;
      background: #D8D8D8; }
    .about-slider ul.controls > li:before {
      display: none; }
    .about-slider ul.controls > li.active a,
    .about-slider ul.controls > li.active button {
      background: #BE9A60; }
  .about-slider .slide-number {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .about-slider .slide-number {
        display: block;
        position: absolute;
        right: 3.125rem;
        bottom: 6.25rem;
        z-index: 5;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 0.75rem;
        color: #BE9A60; } }
  .about-slider .arrows-down {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .about-slider .arrows-down {
        display: block;
        position: absolute;
        right: 3.125rem;
        bottom: 2.5rem;
        z-index: 5;
        font-size: 0.75rem; } }
    .about-slider .arrows-down a {
      color: #A1A1A1; }
      .about-slider .arrows-down a:hover {
        color: #BE9A60; }
  .about-slider .about-slide {
    position: static; }
    @media print, screen and (min-width: 64em) {
      .about-slider .about-slide {
        min-height: 100vh;
        opacity: 0;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        overflow: hidden; } }
    .about-slider .about-slide.first, .about-slider .about-slide.in-viewport {
      opacity: 1;
      z-index: 1; }

.plain-page {
  padding: 6.25rem 0;
  background: #F0F0F1; }
  .plain-page .page-title h1 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 3.125rem;
    line-height: 2.8125rem;
    color: #131520; }
  .plain-page .page-content h2 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1.875rem;
    line-height: 1.875rem;
    color: #0a0a0a; }
  .plain-page .page-content h3 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1.375rem;
    line-height: 2.0625rem;
    color: #131520; }
  .plain-page .page-content h4 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1.1875rem;
    line-height: 2.0625rem;
    color: #131520; }
  .plain-page .page-content h5 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.4375rem;
    color: #131520; }
  .plain-page .page-content p {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.25rem;
    color: #575757; }
    .plain-page .page-content p a {
      color: #131520; }
      .plain-page .page-content p a:hover {
        color: #777; }
  .plain-page .page-content ul li,
  .plain-page .page-content ol li {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.25rem;
    color: #575757; }
    .plain-page .page-content ul li a,
    .plain-page .page-content ol li a {
      color: #131520; }
      .plain-page .page-content ul li a:hover,
      .plain-page .page-content ol li a:hover {
        color: #777; }
  .plain-page .page-content ul.main-list,
  .plain-page .page-content ol.main-list {
    list-style: none;
    margin: 1.875rem 0; }
    .plain-page .page-content ul.main-list li,
    .plain-page .page-content ol.main-list li {
      margin-bottom: 0.9375rem;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 1rem;
      line-height: 1.25rem; }
  .plain-page .page-content table thead tr th {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.4375rem; }
  .plain-page .page-content table thead tr td {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.4375rem; }
  .plain-page .page-content table tbody tr td {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.4375rem;
    vertical-align: top; }
    .plain-page .page-content table tbody tr td ul {
      margin-top: 0.625rem; }

.life-slider {
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .life-slider {
      min-height: 100vh; } }
  .life-slider ul.controls {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .life-slider ul.controls {
        position: absolute;
        z-index: 999;
        right: 3.125rem;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); } }
    .life-slider ul.controls:before {
      content: '';
      height: 10.375rem;
      display: block;
      width: 0.07812rem;
      border-right: 0.07812rem dashed #979797;
      margin-bottom: 1.875rem;
      margin-left: 0.375rem; }
    .life-slider ul.controls:after {
      content: '';
      height: 10.375rem;
      display: block;
      width: 0.07812rem;
      border-right: 0.07812rem dashed #979797;
      margin-top: 1.875rem;
      margin-left: 0.375rem; }
    .life-slider ul.controls,
    .life-slider ul.controls li {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .life-slider ul.controls,
        .life-slider ul.controls li {
          display: block;
          list-style: none;
          margin: 0 0 0.625rem 0;
          padding: 0; } }
    .life-slider ul.controls a,
    .life-slider ul.controls button {
      display: block;
      width: 0.70312rem;
      height: 0.70312rem;
      border-radius: 100%;
      font-size: 0;
      line-height: 0;
      color: transparent;
      text-shadow: none;
      background: #D8D8D8; }
    .life-slider ul.controls > li:before {
      display: none; }
    .life-slider ul.controls > li.active a,
    .life-slider ul.controls > li.active button {
      background: #BE9A60; }
  .life-slider .slide-number {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .life-slider .slide-number {
        display: block;
        position: absolute;
        right: 3.125rem;
        bottom: 6.25rem;
        z-index: 5;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 0.75rem;
        color: #BE9A60; } }
  .life-slider .arrows-down {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .life-slider .arrows-down {
        display: block;
        position: absolute;
        right: 3.125rem;
        bottom: 2.5rem;
        z-index: 25;
        font-size: 0.75rem; } }
    .life-slider .arrows-down a {
      color: #A1A1A1; }
      .life-slider .arrows-down a:hover {
        color: #BE9A60; }
  .life-slider .life-slide {
    position: static; }
    @media print, screen and (min-width: 64em) {
      .life-slider .life-slide {
        min-height: 100vh;
        opacity: 0;
        position: absolute;
        top: 0;
        right: 0;
        left: 0;
        overflow: hidden; } }
    .life-slider .life-slide.first, .life-slider .life-slide.in-viewport {
      opacity: 1;
      z-index: 1; }

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

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

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

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

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

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

/* Slider */
.slick-loading .slick-list {
  background: #fff url("../img/ajax-loader.html") no-repeat center center; }

/* Icons */
@font-face {
  font-family: "slick";
  src: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/slick.eot");
  src: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/slick.eot?#iefix") format("embedded-opentype"), url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/slick.woff") format("woff"), url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/slick.ttf") format("truetype"), url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/fonts/slick.svg#slick") format("svg");
  font-weight: normal;
  font-style: normal; }

/* Arrows */
.slick-prev,
.slick-next {
  position: absolute;
  display: block;
  height: 1.75rem;
  width: 1.75rem;
  line-height: 1.75rem;
  font-size: 0px;
  cursor: pointer;
  background: transparent;
  color: transparent;
  top: 50%;
  -webkit-transform: translate(0, -50%);
  -ms-transform: translate(0, -50%);
  transform: translate(0, -50%);
  padding: 0;
  border: none;
  outline: none;
  text-align: center; }
  .slick-prev:hover, .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    outline: none;
    background: transparent;
    color: transparent; }
    .slick-prev:hover:before, .slick-prev:focus:before,
    .slick-next:hover:before,
    .slick-next:focus:before {
      opacity: 1; }
  .slick-prev.slick-disabled:before,
  .slick-next.slick-disabled:before {
    opacity: 0.25; }
  .slick-prev:before,
  .slick-next:before {
    font-family: "slick";
    font-size: 20px;
    line-height: 1;
    color: white;
    opacity: 0.75;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale; }

.slick-prev {
  left: 1.5625rem;
  z-index: 55;
  position: relative; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev:before {
    background: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/img/prev.svg") no-repeat center center;
    content: '';
    height: 1.125rem;
    width: 1.125rem;
    position: absolute;
    display: block;
    top: 0.3125rem;
    left: 0.3125rem; }
    [dir="rtl"] .slick-prev:before {
      content: "→"; }

.slick-next {
  right: 1.5625rem;
  position: relative; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next:before {
    background: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/img/next.svg") no-repeat center center;
    content: '';
    height: 1.125rem;
    width: 1.125rem;
    display: block;
    position: absolute;
    top: 0.3125rem;
    left: 0.3125rem; }
    [dir="rtl"] .slick-next:before {
      content: "←"; }

/* Dots */
.slick-dotted.slick-slider {
  margin-bottom: 30px; }

.slick-dots {
  position: absolute;
  bottom: -25px;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  margin: 0;
  width: 100%; }
  .slick-dots li {
    position: relative;
    display: inline-block;
    height: 20px;
    width: 20px;
    margin: 0 5px;
    padding: 0;
    cursor: pointer; }
    .slick-dots li button {
      border: 0;
      background: transparent;
      display: block;
      height: 20px;
      width: 20px;
      outline: none;
      line-height: 0px;
      font-size: 0px;
      color: transparent;
      padding: 5px;
      cursor: pointer; }
      .slick-dots li button:hover, .slick-dots li button:focus {
        outline: none; }
        .slick-dots li button:hover:before, .slick-dots li button:focus:before {
          opacity: 1; }
      .slick-dots li button:before {
        position: absolute;
        top: 0;
        left: 0;
        content: "•";
        width: 20px;
        height: 20px;
        font-family: "slick";
        font-size: 6px;
        line-height: 20px;
        text-align: center;
        color: black;
        opacity: 0.25;
        -webkit-font-smoothing: antialiased;
        -moz-osx-font-smoothing: grayscale; }
    .slick-dots li.slick-active button:before {
      color: black;
      opacity: 0.75; }

@-webkit-keyframes chartjs-render-animation {
  from {
    opacity: .99; }
  to {
    opacity: 1; } }

@keyframes chartjs-render-animation {
  from {
    opacity: .99; }
  to {
    opacity: 1; } }

.chartjs-render-monitor {
  -webkit-animation: chartjs-render-animation 1ms;
          animation: chartjs-render-animation 1ms; }

.chartjs-size-monitor,
.chartjs-size-monitor-expand,
.chartjs-size-monitor-shrink {
  position: absolute;
  direction: ltr;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  overflow: hidden;
  pointer-events: none;
  visibility: hidden;
  z-index: -1; }

.chartjs-size-monitor-expand > div {
  position: absolute;
  width: 1000000px;
  height: 1000000px;
  left: 0;
  top: 0; }

.chartjs-size-monitor-shrink > div {
  position: absolute;
  width: 200%;
  height: 200%;
  left: 0;
  top: 0; }

.landing-header {
  height: 37.5rem;
  position: relative;
  padding: 0 1.25rem; }
  @media print, screen and (min-width: 64em) {
    .landing-header {
      height: 100vh;
      padding: 0; } }
  .landing-header .top-menu-bar {
    position: absolute;
    left: 1.25rem;
    right: 1.25rem;
    top: 1.5625rem;
    z-index: 2; }
    @media print, screen and (min-width: 64em) {
      .landing-header .top-menu-bar {
        left: 0;
        right: 0;
        top: 4.6875rem; } }
    .landing-header .top-menu-bar .logo {
      float: left; }
      .landing-header .top-menu-bar .logo a {
        height: 2.6875rem;
        width: 25rem;
        display: block;
        position: relative; }
        .landing-header .top-menu-bar .logo a img {
          height: 2.6875rem;
          position: absolute;
          top: 0;
          left: 0; }
          .landing-header .top-menu-bar .logo a img.logo-img {
            opacity: 1;
            transition: all 0.3s linear; }
          .landing-header .top-menu-bar .logo a img.show-on-hover {
            opacity: 0; }
            @media print, screen and (min-width: 40em) {
              .landing-header .top-menu-bar .logo a img.show-on-hover {
                opacity: 0;
                height: 2.6875rem;
                transition: all 0.3s linear; } }
        .landing-header .top-menu-bar .logo a:hover img.show-on-hover {
          opacity: 0; }
          @media print, screen and (min-width: 40em) {
            .landing-header .top-menu-bar .logo a:hover img.show-on-hover {
              opacity: 1; } }
    .landing-header .top-menu-bar .header-mobile-menu {
      display: block; }
      @media print, screen and (min-width: 64em) {
        .landing-header .top-menu-bar .header-mobile-menu {
          display: none; } }
      .landing-header .top-menu-bar .header-mobile-menu a .hamburger-menu span {
        background: #fefefe; }
    .landing-header .top-menu-bar .header-menu {
      display: none; }
      @media print, screen and (min-width: 64em) {
        .landing-header .top-menu-bar .header-menu {
          display: block;
          float: right;
          margin-top: 0.625rem; } }
      .landing-header .top-menu-bar .header-menu ul li a {
        color: #fefefe;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        text-transform: uppercase;
        font-size: 0.75rem;
        padding: 0 0.75rem;
        display: block; }
        .landing-header .top-menu-bar .header-menu ul li a:after {
          content: '';
          display: block;
          width: 0;
          height: 2px;
          background: #BE9A60;
          margin-top: 0.3125rem;
          transition: width .3s; }
        .landing-header .top-menu-bar .header-menu ul li a:hover:after {
          width: 100%; }
      .landing-header .top-menu-bar .header-menu ul li:last-child a {
        padding-right: 0; }
      .landing-header .top-menu-bar .header-menu ul li.current_page_item a:after {
        width: 100%; }
  .landing-header video {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    z-index: 1;
    width: 100%;
    height: 37.5rem;
    object-fit: cover; }
    @media print, screen and (min-width: 64em) {
      .landing-header video {
        width: 100vw;
        height: 100vh; } }
  .landing-header .header-intro-details {
    position: absolute;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 3; }
    @media print, screen and (min-width: 40em) {
      .landing-header .header-intro-details {
        width: 29.6875rem; } }
    .landing-header .header-intro-details:after {
      content: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/img/line-bg.svg");
      position: absolute;
      top: -2.5rem;
      right: 3.75rem;
      z-index: 1; }
    .landing-header .header-intro-details h1 {
      font-family: 'Amiri', serif;
      font-weight: 400;
      font-size: 3.125rem;
      line-height: 2.5rem;
      color: #fefefe;
      margin-bottom: 0.625rem;
      position: relative;
      z-index: 4; }
      @media print, screen and (min-width: 64em) {
        .landing-header .header-intro-details h1 {
          font-size: 4.375rem;
          line-height: 3.75rem; } }
    .landing-header .header-intro-details p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 0.9375rem;
      line-height: 1.1875rem;
      color: #fefefe;
      margin-bottom: 1.5rem;
      position: relative;
      z-index: 4;
      padding-right: 2.5rem; }
      @media print, screen and (min-width: 64em) {
        .landing-header .header-intro-details p {
          padding: 0; } }
    .landing-header .header-intro-details .cta {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 0.75rem;
      text-transform: uppercase;
      color: #fefefe;
      height: 2.125rem;
      line-height: 2.125rem;
      padding: 0 1.25rem;
      display: inline-block;
      border: 0.0625rem solid #BE9A60;
      transition: all 0.3s linear;
      position: relative;
      z-index: 4; }
      .landing-header .header-intro-details .cta:hover {
        background: #BE9A60; }
  .landing-header .scroll-down {
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
    bottom: 1.5625rem;
    z-index: 2;
    font-size: 2.5rem;
    display: none; }
    @media print, screen and (min-width: 64em) {
      .landing-header .scroll-down {
        display: block;
        bottom: 6.5625rem; } }
    .landing-header .scroll-down a {
      color: #fefefe;
      transition: all 0.3s linear; }
      .landing-header .scroll-down a:hover {
        color: #BE9A60; }

.who-we-are {
  background: #F1F2F3;
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 5; }
  @media print, screen and (min-width: 64em) {
    .who-we-are {
      min-height: 100vh;
      padding: 4.6875rem 0 5.3125rem 0; } }
  .who-we-are .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .who-we-are .sitename-float {
        display: block; } }
  .who-we-are .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .who-we-are .top-menu-bar {
        display: block; } }
  .who-we-are .main-slide-details-wrapper {
    margin-top: 2.5rem; }
    .who-we-are .main-slide-details-wrapper .medium-3 {
      position: relative; }
    .who-we-are .main-slide-details-wrapper .main-slide-details h5 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.75rem;
      line-height: 1.5625rem;
      color: #BE9A60;
      margin-bottom: 1.875rem; }
      .who-we-are .main-slide-details-wrapper .main-slide-details h5:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.4375rem; }
    .who-we-are .main-slide-details-wrapper .main-slide-details h2 {
      width: 18.75rem;
      color: #131520; }
    .who-we-are .main-slide-details-wrapper .main-slide-details p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #575757;
      padding-right: 1.25rem; }
    .who-we-are .main-slide-details-wrapper .main-slide-details h6 {
      color: #575757;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 0.75rem;
      line-height: 1.25rem;
      text-align: left;
      margin-top: 3.125rem; }
    .who-we-are .main-slide-details-wrapper .numbers-container {
      text-align: center; }
      .who-we-are .main-slide-details-wrapper .numbers-container .stat-number {
        text-align: center;
        margin-top: 1.25rem;
        opacity: 1;
        position: relative; }
        @media print, screen and (min-width: 64em) {
          .who-we-are .main-slide-details-wrapper .numbers-container .stat-number {
            opacity: 0;
            position: absolute;
            bottom: 0;
            left: 0;
            right: 0; } }
        @media print, screen and (min-width: 64em) {
          .who-we-are .main-slide-details-wrapper .numbers-container .stat-number.stat-number-1 h3 {
            font-size: 6.875rem; } }
        .who-we-are .main-slide-details-wrapper .numbers-container .stat-number h4 {
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 0.75rem;
          line-height: 1.25rem;
          color: #BE9A60;
          text-transform: uppercase;
          margin-bottom: 1.875rem;
          letter-spacing: 0.05rem; }
          @media print, screen and (min-width: 64em) {
            .who-we-are .main-slide-details-wrapper .numbers-container .stat-number h4 {
              font-size: 0.875rem;
              line-height: 1.5625rem; } }
        .who-we-are .main-slide-details-wrapper .numbers-container .stat-number h3 {
          font-family: 'Amiri', serif;
          font-weight: 400;
          font-size: 5rem;
          line-height: 3.125rem;
          color: #131520;
          letter-spacing: -0.375rem; }
          @media print, screen and (min-width: 64em) {
            .who-we-are .main-slide-details-wrapper .numbers-container .stat-number h3 {
              font-size: 8.125rem; } }
        .who-we-are .main-slide-details-wrapper .numbers-container .stat-number p {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 0.875rem;
          line-height: 1.25rem;
          color: #575757;
          margin-top: 0.625rem; }
          @media print, screen and (min-width: 64em) {
            .who-we-are .main-slide-details-wrapper .numbers-container .stat-number p {
              font-size: 1.125rem;
              line-height: 1.5625rem; } }
        .who-we-are .main-slide-details-wrapper .numbers-container .stat-number:hover h3 {
          text-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.5); }

.featured-content {
  background: #fff;
  padding: 3.75rem 1.25rem 6.25rem 1.25rem; }
  @media print, screen and (min-width: 64em) {
    .featured-content {
      background: #F1F2F3;
      min-height: 100vh;
      padding: 4.6875rem 0 5.3125rem 0;
      position: relative;
      z-index: 10; } }
  .featured-content .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .featured-content .sitename-float {
        display: block; } }
  .featured-content .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .featured-content .top-menu-bar {
        display: block; } }
  .featured-content .featured-pages {
    padding-top: 0; }
    @media print, screen and (min-width: 64em) {
      .featured-content .featured-pages {
        padding-top: 6.25rem; } }
    .featured-content .featured-pages .featured-item {
      text-align: center; }
      @media print, screen and (min-width: 40em) {
        .featured-content .featured-pages .featured-item {
          text-align: left; } }
      .featured-content .featured-pages .featured-item h5.with-small-border:after {
        content: none; }
        @media print, screen and (min-width: 40em) {
          .featured-content .featured-pages .featured-item h5.with-small-border:after {
            content: ''; } }
      .featured-content .featured-pages .featured-item .icon-wrapper {
        text-align: center; }
        @media print, screen and (min-width: 40em) {
          .featured-content .featured-pages .featured-item .icon-wrapper {
            text-align: left;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-align-items: center;
                -ms-flex-align: center;
                    align-items: center; } }
        .featured-content .featured-pages .featured-item .icon-wrapper h2 {
          color: #131520;
          opacity: 1;
          font-size: 2.5rem;
          line-height: 2.5rem;
          transition: opacity 0.3s linear; }
          @media print, screen and (min-width: 64em) {
            .featured-content .featured-pages .featured-item .icon-wrapper h2 {
              font-size: 3.125rem;
              line-height: 3.125rem; } }
        .featured-content .featured-pages .featured-item .icon-wrapper img {
          opacity: 0;
          top: 0;
          z-index: 1;
          height: 0; }
          @media print, screen and (min-width: 40em) {
            .featured-content .featured-pages .featured-item .icon-wrapper img {
              transition: opacity 0.3s linear;
              opacity: 0; } }
      .featured-content .featured-pages .featured-item p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 0.9375rem;
        line-height: 1.5625rem;
        color: #575757;
        margin-top: 1.25rem;
        padding-bottom: 1.875rem; }
      .featured-content .featured-pages .featured-item .cta {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #575757;
        height: 2.125rem;
        line-height: 2.125rem;
        padding: 0 1.25rem;
        display: inline-block;
        border: 0.0625rem solid #BE9A60;
        transition: all 0.3s linear; }
        .featured-content .featured-pages .featured-item .cta:hover {
          background: #BE9A60;
          color: #fefefe; }
      .featured-content .featured-pages .featured-item:hover .icon-wrapper h2 {
        opacity: 1; }
        @media print, screen and (min-width: 40em) {
          .featured-content .featured-pages .featured-item:hover .icon-wrapper h2 {
            opacity: 0;
            font-size: 0; } }
      .featured-content .featured-pages .featured-item:hover .icon-wrapper img {
        opacity: 0; }
        @media print, screen and (min-width: 40em) {
          .featured-content .featured-pages .featured-item:hover .icon-wrapper img {
            opacity: 1;
            height: 12.5rem; } }
  .featured-content .slick-dots {
    bottom: -3.125rem; }
    .featured-content .slick-dots li button:before {
      font-size: 1.875rem;
      color: #BE9A60; }
    .featured-content .slick-dots li.slick-active button:before {
      opacity: 1; }

.about-timiosCapital {
  background: #131520;
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 11; }
  @media print, screen and (min-width: 64em) {
    .about-timiosCapital {
      min-height: 100vh;
      padding: 4.6875rem 0 5.3125rem 0; } }
  .about-timiosCapital .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .about-timiosCapital .sitename-float {
        display: block; } }
  .about-timiosCapital .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .about-timiosCapital .top-menu-bar {
        display: block; } }
  .about-timiosCapital .about-timiosCapital-quote {
    padding-top: 1.25rem; }
    @media print, screen and (min-width: 64em) {
      .about-timiosCapital .about-timiosCapital-quote {
        padding-top: 6.25rem; } }
    .about-timiosCapital .about-timiosCapital-quote .about-timiosCapital-quote-text {
      text-align: center;
      padding-top: 3.125rem;
      background: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/img/line-bg-2.svg") no-repeat top center;
      background-size: 100% 100%; }
      .about-timiosCapital .about-timiosCapital-quote .about-timiosCapital-quote-text p {
        font-family: 'Amiri', serif;
        font-weight: 400;
        font-size: 2.5rem;
        line-height: 2.5rem;
        color: #fefefe;
        text-align: left;
        margin-bottom: 2.5rem; }
        @media print, screen and (min-width: 64em) {
          .about-timiosCapital .about-timiosCapital-quote .about-timiosCapital-quote-text p {
            padding-left: 2.8125rem;
            font-size: 3.75rem;
            line-height: 3.75rem; } }
      .about-timiosCapital .about-timiosCapital-quote .about-timiosCapital-quote-text .cta {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #fefefe;
        height: 2.125rem;
        line-height: 2.125rem;
        padding: 0 1.25rem;
        display: inline-block;
        border: 0.0625rem solid #BE9A60;
        transition: all 0.3s linear; }
        .about-timiosCapital .about-timiosCapital-quote .about-timiosCapital-quote-text .cta:hover {
          background: #BE9A60;
          color: #fefefe; }

.team-details {
  background: #F1F2F3;
  padding: 2.5rem 1.25rem;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .team-details {
      padding: 3.75rem 0 6.25rem 0; } }
  .team-details .row {
    max-width: 70rem !important;
    margin: 0 auto;
    position: relative; }
  .team-details .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .team-details .sitename-float {
        display: block; } }
  .team-details .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .team-details .top-menu-bar {
        display: block; } }
  @media print, screen and (min-width: 64em) {
    .team-details .team-details-blocks {
      padding-top: 6.25rem; } }
  .team-details .team-details-blocks .row .sitename-float-text {
    height: auto;
    white-space: nowrap; }
  .team-details .team-details-blocks .featured-paragraph p {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 2.5rem;
    color: #131520; }
    @media print, screen and (min-width: 64em) {
      .team-details .team-details-blocks .featured-paragraph p {
        font-size: 3.125rem;
        line-height: 3.125rem; } }
    .team-details .team-details-blocks .featured-paragraph p:after {
      content: '';
      display: block;
      width: 1.5625rem;
      height: 0.0625rem;
      background: #BE9A60; }
  .team-details .team-details-blocks .small-paragraph p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 0.9375rem;
    line-height: 1.5625rem;
    color: #575757; }

.team-block {
  padding: 2.5rem 1.25rem;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .team-block {
      padding: 2.75rem 0 12.5rem 0; } }
  .team-block .filters .filter-box.offices-box {
    margin-top: 1.25rem; }
    @media print, screen and (min-width: 40em) {
      .team-block .filters .filter-box.offices-box {
        margin-top: 0;
        padding-left: 3.125rem; } }
  .team-block .filters .filter-box h5 {
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.9375rem;
    line-height: 1.1875rem; }
  .team-block .filters .filter-box .cb-container {
    display: block;
    position: relative;
    cursor: pointer;
    -webkit-user-select: none;
    -ms-user-select: none;
    user-select: none;
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    color: #7A7A7A;
    font-size: 0.9375rem;
    line-height: 1.5625rem;
    margin-bottom: 0.3125rem; }
    .team-block .filters .filter-box .cb-container .checkmark {
      position: absolute;
      top: 0.3125rem;
      right: 0;
      height: 0.875rem;
      width: 0.875rem;
      background-color: #fff;
      box-shadow: inset 0 0.0625rem 0.125rem 0 rgba(0, 0, 0, 0.5);
      -webkit-box-shadow: inset 0 0.0625rem 0.125rem 0 rgba(0, 0, 0, 0.5); }
    .team-block .filters .filter-box .cb-container input {
      position: absolute;
      opacity: 0;
      cursor: pointer;
      height: 0;
      width: 0; }
      .team-block .filters .filter-box .cb-container input:checked ~ .checkmark {
        background-color: #ADADAD;
        box-shadow: none; }
      .team-block .filters .filter-box .cb-container input:checked ~ .checkmark:after {
        display: block; }
    .team-block .filters .filter-box .cb-container:hover input ~ .checkmark {
      background-color: #ADADAD;
      box-shadow: none; }
  .team-block .filters .filter-btn {
    margin-top: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .team-block .filters .filter-btn {
        float: right; } }
    .team-block .filters .filter-btn button {
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 0.75rem;
      text-transform: uppercase;
      height: 2.125rem;
      line-height: 2.125rem;
      border: 0.0625rem solid #BE9A60;
      display: block;
      width: 100%;
      padding: 0 3.125rem;
      color: #575757;
      transition: all 0.2s linear;
      cursor: hand; }
      @media print, screen and (min-width: 40em) {
        .team-block .filters .filter-btn button {
          width: auto;
          display: inline-block; } }
      .team-block .filters .filter-btn button:hover {
        background: #BE9A60;
        color: #fefefe; }
  .team-block .members {
    padding-top: 3.75rem; }
    .team-block .members .team-members-wrapper .single-member {
      margin-bottom: 3.75rem; }
      .team-block .members .team-members-wrapper .single-member:hover .member-image img {
        -webkit-filter: grayscale(0%);
                filter: grayscale(0%); }
      .team-block .members .team-members-wrapper .single-member .member-image {
        margin-bottom: 0.8125rem;
        border-bottom: 0.0625rem solid #BE9A60;
        position: relative; }
        @media print, screen and (min-width: 40em) {
          .team-block .members .team-members-wrapper .single-member .member-image {
            height: 19.375rem; } }
        .team-block .members .team-members-wrapper .single-member .member-image img {
          width: 100%;
          transition: all 0.3s linear;
          -webkit-filter: grayscale(100%);
                  filter: grayscale(100%); }
          @media print, screen and (min-width: 40em) {
            .team-block .members .team-members-wrapper .single-member .member-image img {
              height: 19.375rem;
              object-fit: cover; } }
      .team-block .members .team-members-wrapper .single-member .member-details .office {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-style: italic;
        color: #BE9A60;
        font-size: 0.9375rem;
        line-height: 1.1875rem; }
      .team-block .members .team-members-wrapper .single-member .member-details h3 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 0.9375rem;
        line-height: 1.1875rem;
        margin: 0;
        color: #575757; }
      .team-block .members .team-members-wrapper .single-member .member-details p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        color: #575757;
        font-size: 0.9375rem;
        line-height: 1.1875rem; }
  .team-block .load-more {
    position: relative; }
    .team-block .load-more .more-button {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      color: #131520;
      font-size: 0.9375rem;
      transition: all 0.3s linear; }
      .team-block .load-more .more-button:after {
        content: "\e903";
        font-family: 'icomoon';
        display: block;
        font-weight: 400;
        font-size: 0.75rem; }
      .team-block .load-more .more-button:hover {
        color: #BE9A60; }
    .team-block .load-more .see-all {
      position: absolute;
      right: 0;
      color: #231F20;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.9375rem;
      transition: all 0.3s linear; }
      .team-block .load-more .see-all:hover {
        color: #BE9A60; }

.contact-map {
  background: #fefefe;
  padding: 2.5rem 1.25rem;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .contact-map {
      padding: 9.375rem 0 4.375rem 0; } }
  .contact-map .map #map {
    height: 29.375rem;
    width: 100%;
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 64em) {
      .contact-map .map #map {
        height: 29.375rem;
        margin-bottom: 0; } }
  .contact-map .offices ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    .contact-map .offices ul li {
      margin-bottom: 3.75rem; }
      .contact-map .offices ul li:last-child {
        margin-bottom: 1.875rem; }
      .contact-map .offices ul li h5 a {
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        color: #575757;
        font-size: 0.9375rem;
        line-height: 1.1875rem;
        margin: 0; }
        .contact-map .offices ul li h5 a.active {
          color: #BE9A60; }
      .contact-map .offices ul li .office-details p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        color: #575757;
        font-size: 0.9375rem;
        line-height: 1.1875rem; }
        .contact-map .offices ul li .office-details p a {
          color: #BE9A60; }
  .contact-map .social-links a {
    color: #BE9A60; }

.contact-map,
.contact-office {
  background: #fefefe;
  padding: 2.5rem 1.25rem;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .contact-map,
    .contact-office {
      padding: 9.375rem 0 4.375rem 0; } }
  .contact-map .offices,
  .contact-office .offices {
    margin: 0;
    padding: 0; }
    .contact-map .offices .office,
    .contact-office .offices .office {
      margin-bottom: 1.875rem; }
      .contact-map .offices .office:nth-of-type(3n+1),
      .contact-office .offices .office:nth-of-type(3n+1) {
        clear: both; }
    .contact-map .offices h5,
    .contact-office .offices h5 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 0.9375rem;
      line-height: 1.1875rem;
      margin: 0;
      color: #BE9A60; }
    .contact-map .offices .office-details p,
    .contact-office .offices .office-details p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      color: #575757;
      font-size: 0.9375rem;
      line-height: 1.1875rem; }
      .contact-map .offices .office-details p a,
      .contact-office .offices .office-details p a {
        color: #BE9A60; }
  .contact-map .social-links a,
  .contact-office .social-links a {
    color: #BE9A60; }

.contact-form {
  padding-bottom: 9.375rem; }
  .contact-form .the-form .gform_wrapper {
    margin: 0.25rem 0 0 0; }
    .contact-form .the-form .gform_wrapper.gform_validation_error {
      border: none;
      padding: 0;
      margin: 0.25rem 0 0 0; }
    .contact-form .the-form .gform_wrapper .gform_anchor {
      display: none; }
    .contact-form .the-form .gform_wrapper form {
      position: relative; }
      .contact-form .the-form .gform_wrapper form .validation_error {
        display: none; }
      .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield {
        position: relative;
        margin-top: 0;
        padding-right: 0; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gf_left_half {
          padding-right: 0; }
          @media print, screen and (min-width: 40em) {
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gf_left_half {
              padding-right: 0.4375rem; } }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gf_right_half {
          padding-right: 0; }
          @media print, screen and (min-width: 40em) {
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gf_right_half {
              padding-left: 0.4375rem; } }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.show-label .gfield_label {
          display: block; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.checkbox-field label:after {
          content: "";
          height: 1rem;
          width: 1rem;
          border: 0.0625rem solid #BE9A60;
          background: #fefefe;
          display: block;
          position: absolute;
          left: 0;
          top: 0.25rem;
          z-index: 0;
          border-radius: 100%; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.checkbox-field label:before {
          content: "";
          height: 0.625rem;
          width: 0.625rem;
          position: absolute;
          top: 0.4375rem;
          left: 0.1875rem;
          display: none;
          background: #BE9A60;
          z-index: 2;
          border-radius: 100%; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.checkbox-field label {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 1.1875rem;
          line-height: 1.4375rem;
          margin: 0;
          padding: 0 0 0 1.5625rem;
          color: #0a0a0a;
          white-space: nowrap; }
          .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.checkbox-field label a {
            color: #0a0a0a;
            text-decoration: underline; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.checkbox-field input[type="checkbox"] {
          opacity: 0;
          outline: none;
          z-index: 100;
          height: 1.25rem;
          width: 1.25rem;
          top: 0;
          left: 0;
          position: absolute;
          -webkit-appearance: none;
          appearance: none;
          cursor: pointer; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.checkbox-field input[type="checkbox"] + label {
          cursor: pointer; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.checkbox-field input[type="checkbox"]:checked + label:before {
          display: block; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.radio-field > label {
          float: left;
          margin-right: 1.25rem;
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 1.1875rem;
          line-height: 1.375rem; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.radio-field .ginput_container .gfield_radio li {
          display: inline-block;
          margin-right: 1.25rem; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.radio-field .ginput_container label:after {
          content: "";
          height: 1rem;
          width: 1rem;
          border: 0.0625rem solid #BE9A60;
          background: #fefefe;
          display: block;
          position: absolute;
          left: 0;
          top: 0.25rem;
          z-index: 0;
          border-radius: 100%; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.radio-field .ginput_container label:before {
          content: "";
          height: 0.625rem;
          width: 0.625rem;
          position: absolute;
          top: 0.4375rem;
          left: 0.1875rem;
          display: none;
          background: #BE9A60;
          z-index: 2;
          border-radius: 100%; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.radio-field .ginput_container label {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 1.1875rem;
          line-height: 0.875rem;
          margin: 0;
          padding: 0 0 0 1.5625rem;
          color: #0a0a0a;
          white-space: nowrap; }
          .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.radio-field .ginput_container label a {
            color: #0a0a0a;
            text-decoration: underline; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.radio-field .ginput_container input[type="radio"] {
          opacity: 0;
          outline: none;
          z-index: 100;
          height: 1rem;
          width: 1rem;
          top: 0;
          left: 0;
          position: absolute;
          -webkit-appearance: none;
          appearance: none;
          cursor: pointer; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.radio-field .ginput_container input[type="radio"] + label {
          cursor: pointer; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.radio-field .ginput_container input[type="radio"]:checked + label:before {
          display: block; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gfield_error {
          background: none;
          border: none; }
          .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gfield_error .ginput_container {
            margin-top: 0;
            margin-right: -0.9375rem; }
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gfield_error .ginput_container input,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gfield_error .ginput_container select,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gfield_error .ginput_container textarea {
              border: 0.0625rem solid #131520; }
          .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield.gfield_error .validation_message {
            padding: 0; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_label {
          font-family: 'Montserrat', sans-serif;
          font-weight: 500;
          font-size: 0.9375rem;
          line-height: 1.375rem;
          margin: 0;
          padding: 0;
          color: #0a0a0a;
          display: none;
          margin-bottom: 1.25rem; }
          @media print, screen and (min-width: 64em) {
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_label {
              margin-bottom: 0.4375rem; } }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container {
          margin-top: 0 !important;
          margin-bottom: 0.9375rem; }
          .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container input,
          .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container select,
          .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container textarea {
            height: 2.6875rem;
            border: none;
            padding: 0 1.25rem;
            font-family: 'Montserrat', sans-serif;
            font-weight: 500;
            box-shadow: 0 0.0625rem 0.125rem 0 inset rgba(0, 0, 0, 0.5);
            font-size: 0.9375rem;
            margin-bottom: 0; }
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container input::-webkit-input-placeholder,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container select::-webkit-input-placeholder,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container textarea::-webkit-input-placeholder {
              color: #ADADAD;
              opacity: 1;
              font-family: 'Montserrat', sans-serif;
              font-weight: 500;
              font-size: 0.9375rem; }
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container input:-ms-input-placeholder,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container select:-ms-input-placeholder,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container textarea:-ms-input-placeholder {
              color: #ADADAD;
              opacity: 1;
              font-family: 'Montserrat', sans-serif;
              font-weight: 500;
              font-size: 0.9375rem; }
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container input::placeholder,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container select::placeholder,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container textarea::placeholder {
              color: #ADADAD;
              opacity: 1;
              font-family: 'Montserrat', sans-serif;
              font-weight: 500;
              font-size: 0.9375rem; }
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container input:focus,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container select:focus,
            .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container textarea:focus {
              border-color: #BE9A60; }
          .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container select {
            box-shadow: none;
            width: 30%;
            color: #ADADAD; }
          .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .ginput_container textarea {
            border-radius: 0;
            padding: 1.25rem;
            height: 13.3125rem;
            font-family: 'Montserrat', sans-serif;
            font-weight: 500; }
        .contact-form .the-form .gform_wrapper form .gform_body .gform_fields .gfield .gfield_description {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 0.9375rem;
          line-height: 1.375rem;
          color: #131520; }
      .contact-form .the-form .gform_wrapper form .gform_footer:before {
        content: '* All fields are required.';
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 0.9375rem;
        font-style: italic;
        color: #575757; }
      .contact-form .the-form .gform_wrapper form .gform_footer .gform_button {
        float: right;
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 0.75rem;
        text-transform: uppercase;
        height: 2.125rem;
        line-height: 2.125rem;
        border: 0.0625rem solid #BE9A60;
        display: inline-block;
        background: #fefefe;
        padding: 0 2.125rem;
        color: #575757;
        transition: all 0.2s linear;
        cursor: hand;
        margin-top: 1.25rem; }
        @media print, screen and (min-width: 64em) {
          .contact-form .the-form .gform_wrapper form .gform_footer .gform_button {
            margin-top: 0; } }
        .contact-form .the-form .gform_wrapper form .gform_footer .gform_button:hover {
          background: #BE9A60;
          color: #fefefe; }

.sub-strategies {
  background: #F9F9F9;
  padding: 3.75rem 1.25rem 1.875rem 1.25rem;
  position: relative;
  z-index: 3;
  margin-bottom: 2.8125rem; }
  @media print, screen and (min-width: 64em) {
    .sub-strategies {
      padding: 4.6875rem 0 15.625rem 0; } }
  .sub-strategies .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .sub-strategies .sitename-float {
        display: block; } }
  .sub-strategies .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .sub-strategies .top-menu-bar {
        display: block; } }
  .sub-strategies .row {
    max-width: 70rem !important;
    margin: 0 auto; }
  .sub-strategies .sub-strategies-head {
    position: relative; }
    .sub-strategies .sub-strategies-head .top-menu-bar .logo {
      float: left; }
    .sub-strategies .sub-strategies-head .top-menu-bar .header-mobile-menu {
      display: none; }
  @media print, screen and (min-width: 64em) {
    .sub-strategies .sub-strategies-content {
      padding-top: 14.375rem; } }
  .sub-strategies .sub-strategies-content .single-content-item {
    margin-bottom: 3.125rem; }
    @media print, screen and (min-width: 40em) {
      .sub-strategies .sub-strategies-content .single-content-item {
        margin-bottom: 0; } }
    .sub-strategies .sub-strategies-content .single-content-item h3 {
      font-family: 'Amiri', serif;
      font-weight: 400;
      font-size: 2.8125rem;
      line-height: 2.8125rem;
      color: #131520; }
    .sub-strategies .sub-strategies-content .single-content-item hr {
      width: 1.5625rem;
      border-color: #BE9A60;
      display: block;
      margin-top: 1.25rem;
      float: left; }
    .sub-strategies .sub-strategies-content .single-content-item p {
      clear: both;
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #575757;
      margin-top: 1.5625rem; }
  .sub-strategies .header-mobile-menu {
    position: absolute;
    top: 0;
    right: 3rem;
    transition: all 0.3s linear;
    z-index: 9999; }
    .sub-strategies .header-mobile-menu a .hamburger-menu {
      width: 3.125rem;
      height: 1.625rem;
      display: block;
      position: relative;
      z-index: 9999; }
      .sub-strategies .header-mobile-menu a .hamburger-menu span {
        height: 0.125rem;
        display: block;
        background: #979797;
        position: absolute;
        right: 0;
        top: 0;
        width: 3.125rem;
        transition: all 0.3s linear; }
        .sub-strategies .header-mobile-menu a .hamburger-menu span:nth-child(2) {
          top: 0.75rem;
          width: 2.15625rem; }
        .sub-strategies .header-mobile-menu a .hamburger-menu span:nth-child(3) {
          top: 1.5rem;
          width: 1.09375rem; }
  .sub-strategies .sub-strategies-menu ul {
    list-style: none;
    margin: 0;
    padding: 0; }
    @media print, screen and (min-width: 40em) {
      .sub-strategies .sub-strategies-menu ul {
        position: absolute;
        bottom: -5rem;
        width: calc(100% - 40px);
        left: auto;
        right: auto;
        display: table;
        -webkit-flex-wrap: nowrap;
            -ms-flex-wrap: nowrap;
                flex-wrap: nowrap;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        height: 10rem; } }
    @media print, screen and (min-width: 64em) {
      .sub-strategies .sub-strategies-menu ul {
        width: 70rem; } }
    @media print, screen and (min-width: 40em) {
      .sub-strategies .sub-strategies-menu ul li {
        display: table-cell;
        width: 25%;
        vertical-align: middle; } }
    .sub-strategies .sub-strategies-menu ul li div {
      padding: 0 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .sub-strategies .sub-strategies-menu ul li div {
          height: 5.625rem;
          line-height: 5.625rem;
          text-align: center;
          display: table;
          width: 100%;
          transition: all 0.3s linear;
          padding: 0; } }
      .sub-strategies .sub-strategies-menu ul li div a {
        color: #fefefe;
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        font-size: 0.75rem;
        height: 5rem;
        line-height: 5rem;
        display: block;
        transition: all 0.3s linear; }
        @media print, screen and (min-width: 40em) {
          .sub-strategies .sub-strategies-menu ul li div a {
            display: table-cell;
            width: 100%;
            vertical-align: middle;
            line-height: 1rem;
            height: 5.625rem; } }
        .sub-strategies .sub-strategies-menu ul li div a span {
          display: block;
          text-align: center; }
        .sub-strategies .sub-strategies-menu ul li div a i {
          font-size: 0.375rem;
          display: none; }
          @media print, screen and (min-width: 40em) {
            .sub-strategies .sub-strategies-menu ul li div a i {
              display: block; } }
    @media print, screen and (min-width: 40em) {
      .sub-strategies .sub-strategies-menu ul li:hover div {
        padding: 2.1875rem 0; } }

.our-principles {
  background: #fff;
  padding: 2.5rem 1.25rem; }
  @media print, screen and (min-width: 64em) {
    .our-principles {
      padding: 14.375rem 0 12.5rem 0; } }
  .our-principles .block-title {
    margin-bottom: 3.75rem; }
    .our-principles .block-title h2 {
      color: #131520; }
  .our-principles .principles {
    margin-bottom: 3.75rem; }
    @media print, screen and (min-width: 64em) {
      .our-principles .principles {
        margin-bottom: 10rem; } }
    .our-principles .principles .principles-slider {
      /* list-style: none; */
      margin: 0;
      padding: 0; }
      .our-principles .principles .principles-slider li {
        margin-bottom: 3.125rem; }
        @media print, screen and (min-width: 64em) {
          .our-principles .principles .principles-slider li {
            margin-bottom: 0; } }
        .our-principles .principles .principles-slider li h2 {
          color: #131520; }
        .our-principles .principles .principles-slider li h5 {
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 0.75rem;
          line-height: 1.25rem;
          color: #BE9A60;
          text-transform: uppercase;
          letter-spacing: 0.05rem; }
        .our-principles .principles .principles-slider li p {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 0.9375rem;
          line-height: 1.5625rem;
          color: #575757; }
      .our-principles .principles .principles-slider .slick-dots {
        bottom: -3.125rem; }
        .our-principles .principles .principles-slider .slick-dots li button:before {
          font-size: 1.875rem;
          color: #BE9A60; }
        .our-principles .principles .principles-slider .slick-dots li.slick-active button:before {
          opacity: 1; }
  @media print, screen and (min-width: 40em) {
    .our-principles .block-end-text {
      text-align: right; } }
  .our-principles .block-end-text h3 {
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 2.5rem;
    line-height: 2.5rem;
    color: #131520; }

.esg-commitment {
  background: #F9F9F9;
  padding: 3.75rem 1.25rem; }
  @media print, screen and (min-width: 64em) {
    .esg-commitment {
      padding: 12.5rem 0 14.375rem 0; } }
  .esg-commitment .row {
    max-width: 70rem !important;
    margin: 0 auto; }
  .esg-commitment .block-title {
    margin-bottom: 4.375rem; }
    .esg-commitment .block-title h2 {
      color: #131520;
      margin-bottom: 1.875rem; }
      .esg-commitment .block-title h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        background: #BE9A60;
        display: block; }
    .esg-commitment .block-title p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #575757; }
  .esg-commitment .single-content-item {
    height: 9.125rem;
    border: 0.0625rem solid #BE9A60;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    padding: 0 1.375rem;
    transition: all 0.3s linear;
    font-family: 'Montserrat', sans-serif;
    font-weight: 700;
    font-size: 0.75rem;
    line-height: 1.375rem;
    text-transform: uppercase;
    color: #131520;
    margin-bottom: 1.875rem; }
    @media print, screen and (min-width: 40em) {
      .esg-commitment .single-content-item {
        margin-bottom: 0; } }
    .esg-commitment .single-content-item:hover {
      background: #D8D8D8;
      border-color: #D8D8D8; }

.colored-breadcrumb {
  height: 3.4375rem;
  line-height: 3.4375rem;
  text-align: left;
  position: relative;
  z-index: 100;
  font-family: 'Montserrat', sans-serif;
  font-weight: 600;
  font-size: 0.75rem;
  background: #9AB858;
  color: #fefefe; }
  @media print, screen and (min-width: 64em) {
    .colored-breadcrumb {
      text-align: right; } }
  .colored-breadcrumb.teal {
    background: #58B6B8; }
    .colored-breadcrumb.teal .breadcrumbs-links {
      background: #58B6B8; }
  .colored-breadcrumb.light-blue {
    background: #90CBFA; }
    .colored-breadcrumb.light-blue .breadcrumbs-links {
      background: #90CBFA; }
  .colored-breadcrumb.dark-blue {
    background: #1978C4; }
    .colored-breadcrumb.dark-blue .breadcrumbs-links {
      background: #1978C4; }
  .colored-breadcrumb.green {
    background: #9AB858; }
    .colored-breadcrumb.green .breadcrumbs-links {
      background: #9AB858; }
  .colored-breadcrumb .row {
    max-width: 70rem !important;
    margin: 0 auto; }
  .colored-breadcrumb .breadcrumbs-links {
    position: relative;
    z-index: 6;
    padding: 0 0.625rem; }
    .colored-breadcrumb .breadcrumbs-links a {
      color: #fefefe; }
  .colored-breadcrumb .other-pages {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .colored-breadcrumb .other-pages {
        display: block;
        position: absolute;
        right: 0;
        top: 0;
        font-size: 0; } }
    .colored-breadcrumb .other-pages a {
      display: inline-block;
      width: 2.3125rem;
      height: 3.4375rem;
      color: #fefefe;
      font-size: 1.25rem;
      text-align: center;
      position: relative; }
      .colored-breadcrumb .other-pages a p {
        position: absolute;
        top: 3.4375rem;
        left: 0;
        margin: 0;
        display: none; }
      .colored-breadcrumb .other-pages a span {
        display: block;
        height: 2.3125rem;
        line-height: 2.3125rem;
        white-space: nowrap;
        padding: 0 0.3125rem;
        font-size: 0.875rem;
        -webkit-transform: translateY(-100%) rotate(90deg);
        /* Safari */
        /* Firefox 3.6 Firefox 4 */
        /*-moz-transform-origin: right top; */
        -ms-transform: translateY(-100%) rotate(90deg);
        /* IE9 */
        /* Opera */
        transform: translateY(-100%) rotate(90deg);
        /* W3C */
        -webkit-transform-origin: left bottom;
        -ms-transform-origin: left bottom;
        transform-origin: left bottom; }
      .colored-breadcrumb .other-pages a:hover p {
        display: block; }

.multi-strategy-intro {
  padding: 2.5rem 1.25rem;
  background: #F0F0F1;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .multi-strategy-intro {
      padding: 8.125rem 0 5rem 0; } }
  .multi-strategy-intro .row {
    max-width: 70rem !important;
    margin: 0 auto; }
    .multi-strategy-intro .row .sitename-float {
      text-align: right; }
      .multi-strategy-intro .row .sitename-float .sitename-float-text {
        top: 10rem; }
  .multi-strategy-intro .main-slide-details {
    overflow: hidden; }
    .multi-strategy-intro .main-slide-details h2 {
      color: #131520;
      margin-bottom: 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .multi-strategy-intro .main-slide-details h2 {
          float: left; } }
      .multi-strategy-intro .main-slide-details h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.4375rem; }
      .multi-strategy-intro .main-slide-details h2.with-small-border {
        margin-bottom: 5.625rem; }
    .multi-strategy-intro .main-slide-details .links {
      margin: 2.5rem 0; }
      @media print, screen and (min-width: 40em) {
        .multi-strategy-intro .main-slide-details .links {
          float: right;
          margin: 0.625rem 0 0 0; } }
      .multi-strategy-intro .main-slide-details .links a {
        display: block;
        height: 2rem;
        line-height: 2rem;
        border: 0.0625rem solid #BE9A60;
        font-family: 'Montserrat', sans-serif;
        font-weight: 600;
        font-size: 0.75rem;
        padding: 0 1.5625rem;
        text-transform: uppercase;
        color: #575757;
        margin: 0 0 1.875rem 0;
        text-align: center;
        white-space: nowrap; }
        @media print, screen and (min-width: 40em) {
          .multi-strategy-intro .main-slide-details .links a {
            display: inline-block;
            margin: 0 0 0.625rem 0.625rem; } }
        .multi-strategy-intro .main-slide-details .links a:hover {
          background: #BE9A60;
          color: #fefefe; }
    .multi-strategy-intro .main-slide-details h5 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.75rem;
      line-height: 1.25rem;
      color: #BE9A60;
      text-transform: uppercase;
      letter-spacing: 0.05rem;
      margin-bottom: 0; }
    .multi-strategy-intro .main-slide-details h6 {
      color: #575757;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 0.75rem;
      line-height: 1.25rem;
      text-align: left;
      margin-top: 3.125rem; }
    .multi-strategy-intro .main-slide-details p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #575757; }
      @media print, screen and (min-width: 64em) {
        .multi-strategy-intro .main-slide-details p {
          width: 28.125rem; } }
    .multi-strategy-intro .main-slide-details ul {
      margin: 0; }
      @media print, screen and (min-width: 64em) {
        .multi-strategy-intro .main-slide-details ul {
          width: 28.125rem; } }
      .multi-strategy-intro .main-slide-details ul li {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 0.9375rem;
        line-height: 1.5625rem;
        color: #575757; }
  .multi-strategy-intro .numbers-container {
    text-align: center; }
    .multi-strategy-intro .numbers-container .stat-number {
      text-align: center;
      margin-bottom: 3.125rem; }
      .multi-strategy-intro .numbers-container .stat-number.narrow {
        margin-top: 3.125rem; }
        .multi-strategy-intro .numbers-container .stat-number.narrow:after {
          content: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/img/two.svg");
          display: block;
          margin: 2.5rem auto;
          width: 1.9375rem;
          height: 2.9375rem; }
      .multi-strategy-intro .numbers-container .stat-number.wide:after {
        content: url("https://yorkcapital.com/wp-content/themes/yorkcapital/dist/assets/img/two-wide.svg");
        display: block;
        margin: 2.5rem auto;
        width: 4.375rem;
        height: 2.9375rem; }
      .multi-strategy-intro .numbers-container .stat-number h4 {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 0.875rem;
        line-height: 1.5625rem;
        color: #BE9A60;
        text-transform: uppercase;
        margin-bottom: 1.25rem;
        letter-spacing: 0.05rem; }
      .multi-strategy-intro .numbers-container .stat-number h3 {
        font-family: 'Amiri', serif;
        font-weight: 400;
        font-size: 5.625rem;
        line-height: 3.125rem;
        color: #131520;
        letter-spacing: -0.25rem; }
      .multi-strategy-intro .numbers-container .stat-number p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 1.125rem;
        line-height: 1.5625rem;
        color: #575757;
        margin-top: 0.625rem; }
      .multi-strategy-intro .numbers-container .stat-number:hover h3 {
        text-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.5); }

.meet-the-team {
  -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
          writing-mode: vertical-rl;
  -webkit-transform: rotate(180deg);
      -ms-transform: rotate(180deg);
          transform: rotate(180deg);
  position: fixed;
  right: 0;
  top: 13.75rem;
  background: #BE9A60;
  color: #fff;
  padding: 1.375rem 1rem;
  font-family: 'Montserrat', sans-serif;
  font-weight: 500;
  font-size: 0.75rem;
  text-transform: uppercase;
  letter-spacing: 0.1rem;
  transition: all 0.3s linear;
  z-index: 99; }
  .meet-the-team:hover {
    background: #131520;
    color: #fff; }

.strategies-links {
  background: #131520;
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 11; }
  @media print, screen and (min-width: 64em) {
    .strategies-links {
      padding: 9.375rem 0 10rem 0; } }
  .strategies-links .row {
    max-width: 70rem !important;
    margin: 0 auto; }
  .strategies-links .single-content-item {
    height: 12.5rem;
    border: 0.0625rem solid #BE9A60;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-align-items: center;
        -ms-flex-align: center;
            align-items: center;
    text-align: center;
    margin-bottom: 1.875rem;
    transition: all 0.3s linear; }
    .strategies-links .single-content-item h2 {
      font-family: 'Amiri', serif;
      font-weight: 400;
      font-size: 1.875rem;
      line-height: 1.875rem;
      color: #D8D8D8;
      display: inline-block;
      margin: 0 auto;
      text-align: center;
      padding: 0 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .strategies-links .single-content-item h2 {
          font-size: 2.5rem;
          line-height: 2.5rem;
          padding: 0 1.5625rem; } }
      @media print, screen and (min-width: 64em) {
        .strategies-links .single-content-item h2 {
          font-size: 3.125rem;
          line-height: 3.125rem;
          padding: 0 2.1875rem; } }
    .strategies-links .single-content-item h5 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 600;
      font-size: 1.125rem;
      line-height: 1.5625rem;
      display: none;
      color: #575757;
      padding: 0 1.25rem; }
      @media print, screen and (min-width: 40em) {
        .strategies-links .single-content-item h5 {
          padding: 0 1.875rem;
          font-size: 1rem;
          line-height: 1.3125rem; } }
      @media print, screen and (min-width: 64em) {
        .strategies-links .single-content-item h5 {
          padding: 0 3.125rem;
          font-size: 1.125rem;
          line-height: 1.5625rem; } }
    .strategies-links .single-content-item:hover {
      background: #D8D8D8;
      border-color: #D8D8D8; }
      .strategies-links .single-content-item:hover h2 {
        display: none; }
      .strategies-links .single-content-item:hover h5 {
        display: block; }
    .strategies-links .single-content-item.one-of-4 h2 {
      font-size: 2.5rem;
      line-height: 2.5rem;
      padding: 0 0.9375rem; }
    .strategies-links .single-content-item.one-of-4 h5 {
      font-size: 1.125rem;
      line-height: 1.5625rem;
      padding: 0 1.25rem; }

.investment-capabilities {
  background: #9AB858;
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 11; }
  @media print, screen and (min-width: 64em) {
    .investment-capabilities {
      padding: 7.5rem 0 3.75rem 0; } }
  .investment-capabilities .row {
    max-width: 70rem !important;
    margin: 0 auto; }
  .investment-capabilities .block-text {
    text-align: center;
    font-family: 'Amiri', serif;
    font-weight: 400;
    font-size: 3.125rem;
    line-height: 3.125rem;
    color: #F0F0F1;
    border-bottom: 0.125rem solid #131520;
    padding-bottom: 1.875rem; }
  .investment-capabilities .single-content-item {
    padding: 2.5rem; }
    @media print, screen and (min-width: 64em) {
      .investment-capabilities .single-content-item {
        padding: 4.375rem 4.375rem 4.375rem 4.375rem;
        transition: all 0.3s linear; } }
    .investment-capabilities .single-content-item h5 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1.25rem;
      line-height: 1.25rem;
      text-transform: uppercase;
      color: #131520;
      height: 3.0625rem;
      margin: 0; }
    .investment-capabilities .single-content-item p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 1.25rem;
      line-height: 1.5625rem;
      color: #fefefe;
      margin: 0; }
    .investment-capabilities .single-content-item:hover {
      background: #F0F0F1; }
      .investment-capabilities .single-content-item:hover p {
        color: #575757; }

.collaboration-benefit {
  padding: 2.5rem 1.25rem;
  background: #F0F0F1;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .collaboration-benefit {
      padding: 8.4375rem 0 10.625rem 0; } }
  .collaboration-benefit .row {
    max-width: 70rem !important;
    margin: 0 auto; }
  .collaboration-benefit .block-title h2 {
    color: #131520;
    margin-bottom: 1.25rem; }
  .collaboration-benefit .block-description p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 0.9375rem;
    line-height: 1.5625rem;
    color: #575757; }
  .collaboration-benefit .strategy-funds.two-cols {
    margin-top: 1.25rem; }
  .collaboration-benefit .strategy-funds > p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 0.9375rem;
    line-height: 1.5625rem;
    color: #575757;
    padding-left: 4.5rem;
    margin: 0; }
    @media print, screen and (min-width: 64em) {
      .collaboration-benefit .strategy-funds > p {
        padding-left: 5.75rem; } }
    @media print, screen and (min-width: 40em) {
      .collaboration-benefit .strategy-funds > p.narrow {
        width: 25rem; } }
  .collaboration-benefit .strategy-funds ul {
    list-style: none;
    padding: 0;
    margin: 0; }
    .collaboration-benefit .strategy-funds ul li {
      display: table; }
      .collaboration-benefit .strategy-funds ul li .image {
        width: 4.5rem;
        display: table-cell;
        text-align: left; }
        @media print, screen and (min-width: 64em) {
          .collaboration-benefit .strategy-funds ul li .image {
            width: 5.75rem; } }
        .collaboration-benefit .strategy-funds ul li .image img {
          padding-top: 1.25rem;
          height: 3.125rem; }
          @media print, screen and (min-width: 64em) {
            .collaboration-benefit .strategy-funds ul li .image img {
              padding-left: 0.75rem; } }
      .collaboration-benefit .strategy-funds ul li .details {
        display: table-cell; }
        .collaboration-benefit .strategy-funds ul li .details h5 {
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 0.75rem;
          line-height: 1.25rem;
          color: #BE9A60;
          text-transform: uppercase;
          margin: 0;
          letter-spacing: 0.05rem; }
        .collaboration-benefit .strategy-funds ul li .details p {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 0.9375rem;
          line-height: 1.5625rem;
          color: #575757;
          margin: 0; }
  @media print, screen and (min-width: 40em) {
    .collaboration-benefit .strategy-funds.two-cols ul {
      padding-right: 5rem; } }
  @media print, screen and (min-width: 40em) {
    .collaboration-benefit .strategy-funds.second-col ul {
      padding-top: 3.125rem; } }
  .collaboration-benefit .block-end-text {
    text-align: left;
    margin-top: 4.6875rem; }
    @media print, screen and (min-width: 64em) {
      .collaboration-benefit .block-end-text {
        text-align: right;
        margin-top: 10.9375rem; } }
    .collaboration-benefit .block-end-text h3 {
      color: #131520;
      font-family: 'Amiri', serif;
      font-weight: 400;
      font-size: 2.5rem;
      line-height: 2.5rem; }
      .collaboration-benefit .block-end-text h3 a {
        color: #131520; }
    .collaboration-benefit .block-end-text h6 {
      color: #575757;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 0.75rem;
      line-height: 1.25rem;
      text-align: left; }

.categories-news {
  padding: 2.5rem 1.25rem; }
  @media print, screen and (min-width: 64em) {
    .categories-news {
      padding: 9.375rem 0 8.125rem 0; } }
  .categories-news .slick-slider {
    position: relative; }
    .categories-news .slick-slider .slick-track {
      margin: 0; }
    .categories-news .slick-slider .slick-arrow {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      z-index: 1000; }
      .categories-news .slick-slider .slick-arrow:before {
        /* use !important to prevent issues with browser extensions that change fonts */
        font-family: 'icomoon' !important;
        line-height: 1;
        color: #7A7A7A;
        opacity: 1;
        background: none;
        height: auto;
        width: auto; }
      .categories-news .slick-slider .slick-arrow:hover:before {
        color: #131520; }
      .categories-news .slick-slider .slick-arrow.slick-prev {
        left: -1.875rem; }
        .categories-news .slick-slider .slick-arrow.slick-prev:before {
          content: "\e900"; }
      .categories-news .slick-slider .slick-arrow.slick-next {
        right: -1.875rem; }
        .categories-news .slick-slider .slick-arrow.slick-next:before {
          content: "\e900";
          -webkit-transform: rotate(180deg);
              -ms-transform: rotate(180deg);
                  transform: rotate(180deg); }
    .categories-news .slick-slider .slick-dots {
      bottom: 0; }
      .categories-news .slick-slider .slick-dots li button:before {
        font-size: 1.875rem;
        color: #BE9A60; }
      .categories-news .slick-slider .slick-dots li.slick-active button:before {
        opacity: 1; }

.slider-news .slider-title h2 {
  color: #131520;
  margin-bottom: 2.5rem; }
  .slider-news .slider-title h2:after {
    content: '';
    width: 1.5625rem;
    height: 0.0625rem;
    display: block;
    background: #BE9A60;
    margin-top: 1.25rem; }

.slider-news .slider-content {
  padding-bottom: 4.375rem; }
  .slider-news .slider-content .category-news-item {
    background: #F9F9F9;
    padding: 1.375rem 1.375rem 2.75rem 1.375rem;
    min-height: 33.5rem;
    position: relative;
    margin-bottom: 1.25rem; }
    .slider-news .slider-content .category-news-item .category-news-item-details .date {
      text-align: right;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      color: #7A7A7A;
      font-size: 0.9375rem; }
    .slider-news .slider-content .category-news-item .category-news-item-details h6 {
      text-align: right;
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      color: #7A7A7A;
      font-size: 0.9375rem; }
    .slider-news .slider-content .category-news-item .category-news-item-details .category-news-item-category img {
      margin-bottom: 0.625rem; }
    .slider-news .slider-content .category-news-item .category-news-item-details .category-news-item-category span {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      color: #BE9A60;
      font-size: 0.8125rem;
      text-transform: uppercase; }
      .slider-news .slider-content .category-news-item .category-news-item-details .category-news-item-category span:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        display: block;
        background: #BE9A60;
        margin-top: 0.625rem; }
    .slider-news .slider-content .category-news-item .category-news-item-details .category-news-item-content {
      padding-bottom: 1.875rem; }
      .slider-news .slider-content .category-news-item .category-news-item-details .category-news-item-content h3 {
        margin: 1.25rem 0; }
        .slider-news .slider-content .category-news-item .category-news-item-details .category-news-item-content h3 a {
          font-family: 'Amiri', serif;
          font-weight: 400;
          font-size: 2.1875rem;
          line-height: 2.1875rem;
          display: block;
          color: #131520; }
      .slider-news .slider-content .category-news-item .category-news-item-details .category-news-item-content .excerpt {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 0.9375rem;
        line-height: 1.5625rem;
        color: #575757;
        padding-bottom: 1.875rem; }
    .slider-news .slider-content .category-news-item .category-news-item-details .cta {
      position: absolute;
      bottom: 2.75rem; }
      .slider-news .slider-content .category-news-item .category-news-item-details .cta a {
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        font-size: 0.75rem;
        text-transform: uppercase;
        letter-spacing: 0.05625rem;
        color: #575757;
        border: 0.0625rem solid #BE9A60;
        height: 2.125rem;
        line-height: 2.125rem;
        padding: 0 1.875rem;
        display: inline-block;
        transition: all 0.3s linear; }
        .slider-news .slider-content .category-news-item .category-news-item-details .cta a:hover {
          background: #BE9A60;
          color: #fefefe; }
    .slider-news .slider-content .category-news-item:hover {
      box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25), 0 10px 10px -10px rgba(0, 0, 0, 0.22); }

.why-timiosCapital {
  background: #F9F9F9;
  padding: 2.5rem 1.25rem 0 1.25rem;
  position: relative;
  z-index: 5; }
  @media print, screen and (min-width: 64em) {
    .why-timiosCapital {
      min-height: 100vh;
      padding: 4.6875rem 0 0 0; } }
  .why-timiosCapital .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .why-timiosCapital .sitename-float {
        display: block; } }
  .why-timiosCapital .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .why-timiosCapital .top-menu-bar {
        display: block; } }
  @media print, screen and (min-width: 40em) {
    .why-timiosCapital .why-timiosCapital-details {
      display: table;
      width: 100%; } }
  @media print, screen and (min-width: 40em) {
    .why-timiosCapital .why-timiosCapital-details .why-timiosCapital-text {
      display: table-cell;
      width: 25.625rem;
      padding-top: 6.5625rem; } }
  .why-timiosCapital .why-timiosCapital-details .why-timiosCapital-text h2 {
    color: #131520;
    margin-bottom: 1.25rem; }
    .why-timiosCapital .why-timiosCapital-details .why-timiosCapital-text h2:after {
      content: '';
      width: 1.5625rem;
      height: 0.0625rem;
      background: #BE9A60;
      display: block;
      margin-top: 0.4375rem; }
  .why-timiosCapital .why-timiosCapital-details .why-timiosCapital-text .text p {
    font-family: 'Montserrat', sans-serif;
    font-weight: 300;
    font-size: 0.9375rem;
    line-height: 1.5625rem;
    color: #575757; }
  .why-timiosCapital .why-timiosCapital-details .why-timiosCapital-image {
    display: block; }
    @media print, screen and (min-width: 40em) {
      .why-timiosCapital .why-timiosCapital-details .why-timiosCapital-image {
        display: table-cell;
        vertical-align: bottom;
        position: absolute;
        bottom: 0; } }
    .why-timiosCapital .why-timiosCapital-details .why-timiosCapital-image img {
      width: 100%;
      height: auto;
      -webkit-filter: grayscale(100%);
              filter: grayscale(100%); }
      @media print, screen and (min-width: 40em) {
        .why-timiosCapital .why-timiosCapital-details .why-timiosCapital-image img {
          margin-left: 0.625rem;
          width: auto; } }
      @media print, screen and (min-width: 64em) {
        .why-timiosCapital .why-timiosCapital-details .why-timiosCapital-image img {
          height: 44.375rem;
          margin-left: 0.625rem;
          width: auto; } }

.true-global {
  background: #F4F4F5;
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 7; }
  @media print, screen and (min-width: 64em) {
    .true-global {
      min-height: 100vh;
      padding: 4.6875rem 0 0 0; } }
  .true-global .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .true-global .sitename-float {
        display: block; } }
  .true-global .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .true-global .top-menu-bar {
        display: block; } }
  .true-global .true-global-details {
    display: table;
    width: 100%;
    position: relative; }
    .true-global .true-global-details .true-global-text {
      display: block;
      width: 100%;
      position: static;
      -webkit-transform: none;
          -ms-transform: none;
              transform: none; }
      @media print, screen and (min-width: 64em) {
        .true-global .true-global-details .true-global-text {
          width: 26.375rem;
          position: absolute;
          top: 50%;
          -webkit-transform: translateY(-50%);
              -ms-transform: translateY(-50%);
                  transform: translateY(-50%);
          left: 0;
          right: auto;
          z-index: 10; } }
      .true-global .true-global-details .true-global-text h2 {
        color: #131520;
        margin-bottom: 1.25rem; }
        .true-global .true-global-details .true-global-text h2:after {
          content: '';
          width: 1.5625rem;
          height: 0.0625rem;
          background: #BE9A60;
          display: block;
          margin-top: 0.4375rem; }
      .true-global .true-global-details .true-global-text .text p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 0.9375rem;
        line-height: 1.5625rem;
        color: #575757; }
    .true-global .true-global-details .true-global-map {
      display: block;
      float: none;
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .true-global .true-global-details .true-global-map {
          width: 46.5625rem;
          margin: 0 auto; } }
      @media print, screen and (min-width: 64em) {
        .true-global .true-global-details .true-global-map {
          display: table-cell;
          margin: 0;
          float: right; } }
      .true-global .true-global-details .true-global-map .the-map {
        width: 100%;
        height: auto;
        position: relative;
        z-index: 8; }
        @media print, screen and (min-width: 40em) {
          .true-global .true-global-details .true-global-map .the-map {
            width: 46.5625rem;
            height: 46.5625rem; } }
        .true-global .true-global-details .true-global-map .the-map svg a {
          cursor: pointer;
          transition: all 0.3s linear; }
          .true-global .true-global-details .true-global-map .the-map svg a.main-office {
            width: 2.5rem;
            height: 2.5rem;
            display: block;
            fill: transparent; }
            .true-global .true-global-details .true-global-map .the-map svg a.main-office g {
              display: block;
              fill: transparent; }
              .true-global .true-global-details .true-global-map .the-map svg a.main-office g circle {
                fill: transparent;
                stroke: #BE9A60; }
                .true-global .true-global-details .true-global-map .the-map svg a.main-office g circle.st1 {
                  fill: #BE9A60 !important;
                  stroke: transparent; }
              .true-global .true-global-details .true-global-map .the-map svg a.main-office g:hover {
                display: block;
                fill: transparent;
                stroke: transparent; }
                .true-global .true-global-details .true-global-map .the-map svg a.main-office g:hover circle {
                  stroke: #131520;
                  fill: #131520;
                  cursor: pointer; }
                  .true-global .true-global-details .true-global-map .the-map svg a.main-office g:hover circle.st0 {
                    fill: transparent; }
                  .true-global .true-global-details .true-global-map .the-map svg a.main-office g:hover circle.st1 {
                    fill: #131520 !important; }
        .true-global .true-global-details .true-global-map .the-map svg circle {
          transition: color 0.3s linear; }
          .true-global .true-global-details .true-global-map .the-map svg circle:hover {
            stroke: #131520;
            fill: #131520;
            cursor: pointer; }
            .true-global .true-global-details .true-global-map .the-map svg circle:hover.st0 {
              fill: none; }
        .true-global .true-global-details .true-global-map .the-map .description {
          pointer-events: none;
          position: absolute;
          background: #fefefe;
          padding: 0.9375rem 1.25rem;
          z-index: 900;
          margin: 0 auto;
          box-shadow: 0.25rem 0.25rem 0.4375rem rgba(0, 0, 0, 0.18);
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%);
          display: none; }
          .true-global .true-global-details .true-global-map .the-map .description:after {
            content: "";
            position: absolute;
            left: 50%;
            top: 100%;
            width: 0;
            height: 0;
            margin-left: -10px;
            border-left: 10px solid transparent;
            border-right: 10px solid transparent;
            border-top: 10px solid white;
            z-index: 900; }
          .true-global .true-global-details .true-global-map .the-map .description.active {
            display: block; }
          .true-global .true-global-details .true-global-map .the-map .description h5 {
            font-family: 'Montserrat', sans-serif;
            font-weight: 600;
            font-size: 0.875rem;
            line-height: 0.875rem;
            text-transform: uppercase;
            color: #575757;
            margin: 0; }
          .true-global .true-global-details .true-global-map .the-map .description p {
            font-family: 'Montserrat', sans-serif;
            font-weight: 300;
            font-size: 0.75rem;
            line-height: 0.875rem;
            color: #575757;
            margin: 0; }

.client-relations {
  background: #FFF;
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 12; }
  @media print, screen and (min-width: 64em) {
    .client-relations {
      background: #F4F4F5;
      min-height: 100vh;
      padding: 4.6875rem 0 0 0; } }
  .client-relations .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .client-relations .sitename-float {
        display: block; } }
  .client-relations .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .client-relations .top-menu-bar {
        display: block; } }
  @media print, screen and (min-width: 64em) {
    .client-relations .flex-row {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center; } }
  .client-relations .client-relations-text {
    width: 100%; }
    @media print, screen and (min-width: 64em) {
      .client-relations .client-relations-text {
        width: 25.625rem;
        margin-top: 11.875rem; } }
    .client-relations .client-relations-text h2 {
      color: #131520;
      margin-bottom: 1.25rem; }
      .client-relations .client-relations-text h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.4375rem; }
    .client-relations .client-relations-text .text p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #575757; }
  .client-relations .client-relations-chart {
    width: 100%;
    margin-top: 3.75rem; }
    @media print, screen and (min-width: 40em) {
      .client-relations .client-relations-chart {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center; } }
    @media print, screen and (min-width: 64em) {
      .client-relations .client-relations-chart {
        display: block;
        width: 22.3125rem; } }
    .client-relations .client-relations-chart h5 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.75rem;
      line-height: 1.5625rem;
      color: #BE9A60;
      text-transform: uppercase;
      text-align: center;
      margin-bottom: 0.3125rem; }
    .client-relations .client-relations-chart p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 400;
      font-size: 0.75rem;
      line-height: 1.5625rem;
      color: #8a8a8a;
      margin-bottom: 1.5625rem; }
    .client-relations .client-relations-chart .chart-canvas {
      width: 22.1875rem;
      height: 22.1875rem;
      margin: 0;
      padding: 0; }
    .client-relations .client-relations-chart .chart-labels {
      margin-top: 1.875rem;
      margin-left: 0;
      width: 100%; }
      @media print, screen and (min-width: 40em) {
        .client-relations .client-relations-chart .chart-labels {
          margin-top: 0;
          margin-left: 3.75rem; } }
      @media print, screen and (min-width: 64em) {
        .client-relations .client-relations-chart .chart-labels {
          margin-top: 1.875rem;
          margin-left: 0; } }
      .client-relations .client-relations-chart .chart-labels ul {
        list-style: none;
        margin: 0 0 0.625rem;
        padding: 0; }
        .client-relations .client-relations-chart .chart-labels ul li {
          font-family: 'Montserrat', sans-serif;
          font-weight: 500;
          font-size: 0.75rem;
          color: #575757;
          height: 1.5625rem;
          line-height: 1.5625rem; }
          .client-relations .client-relations-chart .chart-labels ul li .color {
            display: inline-block;
            width: 0.8125rem;
            height: 0.8125rem;
            vertical-align: middle;
            margin-right: 0.625rem; }
          .client-relations .client-relations-chart .chart-labels ul li .value {
            float: right; }

.strong-heritage {
  background: #FFFFFF;
  padding: 2.5rem 1.25rem 0 1.25rem;
  position: relative;
  z-index: 15; }
  @media print, screen and (min-width: 40em) {
    .strong-heritage {
      padding: 2.5rem 1.25rem; } }
  @media print, screen and (min-width: 64em) {
    .strong-heritage {
      min-height: 100vh;
      padding: 4.6875rem 0 0 0; } }
  .strong-heritage .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .strong-heritage .sitename-float {
        display: block; } }
  .strong-heritage .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .strong-heritage .top-menu-bar {
        display: block; } }
  .strong-heritage .strong-heritage-text {
    padding-top: 2.5rem; }
    @media print, screen and (min-width: 40em) {
      .strong-heritage .strong-heritage-text {
        padding-top: 4.0625rem; } }
    @media print, screen and (min-width: 64em) {
      .strong-heritage .strong-heritage-text {
        padding-top: 6.5625rem; } }
    .strong-heritage .strong-heritage-text h2 {
      color: #131520;
      margin-bottom: 1.25rem; }
      .strong-heritage .strong-heritage-text h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.4375rem; }
    @media print, screen and (min-width: 40em) {
      .strong-heritage .strong-heritage-text .text {
        width: 28.5rem; } }
    .strong-heritage .strong-heritage-text .text p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 300;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #575757; }
    .strong-heritage .strong-heritage-text .text h5 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.75rem;
      line-height: 1.25rem;
      color: #BE9A60;
      text-transform: uppercase;
      margin: 1.875rem 0 0.625rem 0; }
  @media print, screen and (min-width: 40em) {
    .strong-heritage .strong-heritage-image {
      position: absolute;
      bottom: 0; } }
  @media print, screen and (min-width: 40em) {
    .strong-heritage .strong-heritage-image img {
      height: 44.375rem;
      margin-left: 0.625rem;
      width: auto; } }

.ownership-culture {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 3; }
  @media print, screen and (min-width: 40em) {
    .ownership-culture {
      padding: 5rem 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .ownership-culture {
      min-height: 100vh;
      padding: 4.6875rem 0 0 0; } }
  .ownership-culture .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .ownership-culture .sitename-float {
        display: block; } }
  .ownership-culture .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .ownership-culture .top-menu-bar {
        display: block; } }
  .ownership-culture .sitename-float .sitename-float-text {
    color: #F0F0F1; }
  .ownership-culture .top-menu-bar .logo {
    position: relative;
    z-index: 5; }
  .ownership-culture .ownership-culture-text {
    position: relative;
    z-index: 5; }
    @media print, screen and (min-width: 64em) {
      .ownership-culture .ownership-culture-text {
        padding-top: 10.3125rem; } }
    .ownership-culture .ownership-culture-text h2 {
      color: #fefefe;
      margin-bottom: 1.25rem;
      font-size: 4.375rem;
      line-height: 3.75rem; }
      .ownership-culture .ownership-culture-text h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.125rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.4375rem; }
    @media print, screen and (min-width: 64em) {
      .ownership-culture .ownership-culture-text .text {
        width: 21.625rem; } }
    .ownership-culture .ownership-culture-text .text p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #F0F0F1; }

.timiosCapital-cares {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 4; }
  @media print, screen and (min-width: 40em) {
    .timiosCapital-cares {
      padding: 5rem 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .timiosCapital-cares {
      min-height: 100vh;
      padding: 4.6875rem 0 0 0; } }
  .timiosCapital-cares .sitename-float .sitename-float-text {
    color: #F0F0F1; }
  .timiosCapital-cares .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .timiosCapital-cares .sitename-float {
        display: block; } }
  .timiosCapital-cares .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .timiosCapital-cares .top-menu-bar {
        display: block; } }
  .timiosCapital-cares .top-menu-bar {
    padding-bottom: 7.8125rem; }
    .timiosCapital-cares .top-menu-bar .logo {
      position: relative;
      z-index: 6; }
  .timiosCapital-cares .timiosCapital-cares-text {
    position: relative;
    z-index: 6; }
    .timiosCapital-cares .timiosCapital-cares-text h2 {
      color: #fefefe;
      margin-bottom: 1.25rem;
      font-size: 4.375rem;
      line-height: 3.75rem; }
      .timiosCapital-cares .timiosCapital-cares-text h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.125rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.4375rem; }
    .timiosCapital-cares .timiosCapital-cares-text .text p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #F0F0F1; }
    @media print, screen and (min-width: 64em) {
      .timiosCapital-cares .timiosCapital-cares-text .text.organizations {
        padding-left: 2.5rem; } }
    .timiosCapital-cares .timiosCapital-cares-text .text.organizations strong {
      color: #BE9A60;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700; }

.green-timiosCapital {
  position: relative;
  z-index: 7; }

.advance-career {
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 7; }
  @media print, screen and (min-width: 40em) {
    .advance-career {
      padding: 5rem 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .advance-career {
      min-height: 100vh;
      padding: 4.6875rem 0 0 0; } }
  .advance-career .sitename-float .sitename-float-text {
    color: #F0F0F1; }
  .advance-career .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .advance-career .sitename-float {
        display: block; } }
  .advance-career .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .advance-career .top-menu-bar {
        display: block; } }
  .advance-career .top-menu-bar {
    padding-bottom: 9.375rem; }
    .advance-career .top-menu-bar .logo {
      position: relative;
      z-index: 9; }
  .advance-career .advance-career-text {
    position: relative;
    z-index: 9; }
    .advance-career .advance-career-text h2 {
      color: #fefefe;
      margin-bottom: 1.25rem;
      font-size: 4.375rem;
      line-height: 3.75rem; }
      .advance-career .advance-career-text h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.125rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.4375rem; }
    .advance-career .advance-career-text .text p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #F0F0F1; }
    .advance-career .advance-career-text .cta {
      margin-top: 1.875rem; }
      .advance-career .advance-career-text .cta a {
        font-family: 'Montserrat', sans-serif;
        font-weight: 500;
        font-size: 0.75rem;
        text-transform: uppercase;
        color: #fefefe;
        height: 2.125rem;
        line-height: 2.125rem;
        padding: 0 1.875rem;
        display: inline-block;
        border: 0.0625rem solid #BE9A60;
        transition: all 0.3s linear; }
        .advance-career .advance-career-text .cta a:hover {
          background: #BE9A60; }

.career-block {
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 13;
  background: #fefefe; }
  @media print, screen and (min-width: 40em) {
    .career-block {
      padding: 5rem 2.5rem; } }
  @media print, screen and (min-width: 64em) {
    .career-block {
      min-height: 100vh;
      padding: 4.6875rem 0 0 0; } }
  .career-block .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .career-block .sitename-float {
        display: block; } }
  .career-block .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .career-block .top-menu-bar {
        display: block; } }
  .career-block .career-block-text {
    position: relative;
    z-index: 5; }
    @media print, screen and (min-width: 64em) {
      .career-block .career-block-text {
        padding-top: 6.875rem; } }
    .career-block .career-block-text h2 {
      color: #131520;
      margin-bottom: 2.5rem;
      font-size: 4.375rem;
      line-height: 3.75rem; }
      .career-block .career-block-text h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.625rem; }
    .career-block .career-block-text .text p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 0.75rem;
      line-height: 1.25rem;
      color: #BE9A60;
      text-transform: uppercase; }
      .career-block .career-block-text .text p a {
        color: #131520; }
        .career-block .career-block-text .text p a:hover {
          color: #8a8a8a; }

.our-history {
  background: #F5F5F5;
  padding: 2.5rem 1.25rem 6.25rem 1.25rem;
  position: relative;
  z-index: 16; }
  @media print, screen and (min-width: 64em) {
    .our-history {
      min-height: 100vh;
      padding: 4.6875rem 0 0 0; } }
  .our-history .sitename-float {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .our-history .sitename-float {
        display: block; } }
  .our-history .top-menu-bar {
    display: none; }
    @media print, screen and (min-width: 64em) {
      .our-history .top-menu-bar {
        display: block; } }
  .our-history .block-title {
    padding-top: 7.1875rem; }
    .our-history .block-title h2 {
      color: #131520; }
      .our-history .block-title h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        display: block;
        background: #BE9A60;
        margin-top: 1.25rem; }
  .our-history .years-links {
    list-style: none;
    margin: 0;
    padding: 0;
    margin-top: 3.75rem;
    border-top: 0.0625rem solid #BE9A60;
    font-size: 0;
    display: -webkit-flex;
    display: -ms-flexbox;
    display: flex;
    -webkit-flex-wrap: nowrap;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
    -webkit-justify-content: space-between;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .our-history .years-links li {
      position: relative;
      -webkit-writing-mode: vertical-lr;
          -ms-writing-mode: tb-lr;
              writing-mode: vertical-lr;
      padding-bottom: 1.25rem;
      line-height: 1;
      -webkit-transform: rotate(-180deg);
          -ms-transform: rotate(-180deg);
              transform: rotate(-180deg); }
      .our-history .years-links li:before {
        content: '';
        height: 0.9375rem;
        width: 0.0625rem;
        background: #BE9A60;
        position: absolute;
        bottom: -0.4375rem;
        left: 50%;
        -webkit-transform: translateX(-50%);
            -ms-transform: translateX(-50%);
                transform: translateX(-50%); }
      .our-history .years-links li a {
        color: #131520;
        font-family: 'Amiri', serif;
        font-weight: 400;
        font-size: 1.5625rem;
        opacity: 0.2;
        letter-spacing: -0.06875rem;
        padding-right: 0.3125rem; }
        .our-history .years-links li a:hover, .our-history .years-links li a.active {
          opacity: 1; }
  .our-history .years-slider {
    position: relative;
    margin-top: 5rem; }
    .our-history .years-slider .years-container {
      height: 31.25rem;
      overflow: hidden;
      position: relative;
      z-index: 10; }
    .our-history .years-slider .control {
      position: absolute;
      z-index: 11;
      left: 50%;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); }
      .our-history .years-slider .control.control-prev {
        top: -3.125rem; }
      .our-history .years-slider .control.control-next {
        bottom: -3.125rem; }
    .our-history .years-slider .year {
      text-align: center;
      opacity: 1;
      position: relative;
      transition: all 0.5s; }
      .our-history .years-slider .year h2 {
        font-family: 'Amiri', serif;
        font-weight: 400;
        font-size: 8.125rem;
        line-height: 5rem;
        color: #131520;
        position: relative;
        z-index: 2; }
      .our-history .years-slider .year p {
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 1.125rem;
        line-height: 1.5625rem;
        color: #575757;
        position: relative;
        z-index: 2; }
      .our-history .years-slider .year .images {
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-justify-content: center;
            -ms-flex-pack: center;
                justify-content: center; }
        .our-history .years-slider .year .images img {
          padding: 0.3125rem; }
      .our-history .years-slider .year .before-image {
        position: absolute;
        z-index: 1; }
        .our-history .years-slider .year .before-image img {
          max-height: 8.125rem;
          width: auto;
          box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.5); }
        .our-history .years-slider .year .before-image.top_left {
          left: 0.9375rem;
          top: -5rem; }
        .our-history .years-slider .year .before-image.top_right {
          right: 0.9375rem;
          top: -5rem; }
        .our-history .years-slider .year .before-image.top_center {
          left: 50%;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%);
          top: -5rem; }
      .our-history .years-slider .year .after-image {
        position: absolute;
        z-index: 1; }
        .our-history .years-slider .year .after-image img {
          max-width: 12.5rem;
          height: auto;
          box-shadow: 0 0.25rem 0.375rem rgba(0, 0, 0, 0.5); }
        .our-history .years-slider .year .after-image.bottom_left {
          left: 0.9375rem;
          bottom: -3.125rem; }
        .our-history .years-slider .year .after-image.bottom_right {
          right: 0.9375rem;
          bottom: -3.125rem; }
        .our-history .years-slider .year .after-image.bottom_center {
          left: 50%;
          -webkit-transform: translateX(-50%);
              -ms-transform: translateX(-50%);
                  transform: translateX(-50%);
          bottom: -3.125rem; }
      .our-history .years-slider .year.active {
        padding-bottom: 3.125rem;
        position: absolute;
        width: 100%;
        top: 11.25rem; }
      .our-history .years-slider .year.after {
        opacity: 0;
        top: 62.4375rem;
        -webkit-transform: scale(0.5);
            -ms-transform: scale(0.5);
                transform: scale(0.5); }
      .our-history .years-slider .year.prev {
        opacity: 0;
        height: 0;
        -webkit-transform: scale(0.1);
            -ms-transform: scale(0.1);
                transform: scale(0.1); }
        .our-history .years-slider .year.prev p,
        .our-history .years-slider .year.prev img {
          display: none; }
      .our-history .years-slider .year.prev-1 {
        height: 3.75rem;
        -webkit-transform: scale(0.5);
            -ms-transform: scale(0.5);
                transform: scale(0.5);
        opacity: 0.7; }
      .our-history .years-slider .year.prev-2 {
        height: 3.125rem;
        -webkit-transform: scale(0.35);
            -ms-transform: scale(0.35);
                transform: scale(0.35);
        opacity: 0.5; }
      .our-history .years-slider .year.prev-3 {
        height: 2.5rem;
        -webkit-transform: scale(0.2);
            -ms-transform: scale(0.2);
                transform: scale(0.2);
        opacity: 0.3; }

.parallax-image {
  object-fit: cover;
  width: 100vw;
  height: 100vh;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1; }
  @media print, screen and (min-width: 64em) {
    .parallax-image {
      background-attachment: fixed; } }

.community-news {
  padding: 2.5rem 1.25rem;
  position: relative;
  z-index: 8;
  background: #fff; }
  @media print, screen and (min-width: 64em) {
    .community-news {
      padding: 9.375rem 0 8.125rem 0;
      min-height: 100vh; } }
  .community-news .slick-slider {
    position: relative; }
    .community-news .slick-slider .slick-track {
      margin: 0; }
    .community-news .slick-slider .slick-arrow {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      z-index: 1000; }
      .community-news .slick-slider .slick-arrow:before {
        /* use !important to prevent issues with browser extensions that change fonts */
        font-family: 'icomoon' !important;
        line-height: 1;
        color: #7A7A7A;
        opacity: 1;
        background: none;
        height: auto;
        width: auto; }
      .community-news .slick-slider .slick-arrow:hover:before {
        color: #131520; }
      .community-news .slick-slider .slick-arrow.slick-prev {
        left: -1.875rem; }
        .community-news .slick-slider .slick-arrow.slick-prev:before {
          content: "\e900"; }
      .community-news .slick-slider .slick-arrow.slick-next {
        right: -1.875rem; }
        .community-news .slick-slider .slick-arrow.slick-next:before {
          content: "\e900";
          -webkit-transform: rotate(180deg);
              -ms-transform: rotate(180deg);
                  transform: rotate(180deg); }
    .community-news .slick-slider .slick-dots {
      bottom: 0; }
      .community-news .slick-slider .slick-dots li button:before {
        font-size: 1.875rem;
        color: #BE9A60; }
      .community-news .slick-slider .slick-dots li.slick-active button:before {
        opacity: 1; }
  .community-news .slider-title h2 {
    color: #131520;
    margin-bottom: 2.5rem; }
    .community-news .slider-title h2:after {
      content: '';
      width: 1.5625rem;
      height: 0.0625rem;
      display: block;
      background: #BE9A60;
      margin-top: 1.25rem; }
  .community-news .slider-content {
    padding-bottom: 4.375rem; }
    .community-news .slider-content .category-news-item {
      background: #F9F9F9;
      padding: 1.375rem 1.375rem 2.75rem 1.375rem;
      position: relative;
      margin-bottom: 1.25rem; }
      .community-news .slider-content .category-news-item .category-news-item-details .date {
        text-align: right;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        color: #7A7A7A;
        font-size: 0.9375rem; }
      .community-news .slider-content .category-news-item .category-news-item-details h6 {
        text-align: right;
        font-family: 'Montserrat', sans-serif;
        font-weight: 400;
        color: #7A7A7A;
        font-size: 0.9375rem; }
      .community-news .slider-content .category-news-item .category-news-item-details .category-news-item-category img {
        margin-bottom: 0.625rem; }
      .community-news .slider-content .category-news-item .category-news-item-details .category-news-item-category span {
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        color: #BE9A60;
        font-size: 0.8125rem;
        text-transform: uppercase; }
        .community-news .slider-content .category-news-item .category-news-item-details .category-news-item-category span:after {
          content: '';
          width: 1.5625rem;
          height: 0.0625rem;
          display: block;
          background: #BE9A60;
          margin-top: 0.625rem; }
      .community-news .slider-content .category-news-item .category-news-item-details .category-news-item-content {
        padding-bottom: 1.875rem; }
        .community-news .slider-content .category-news-item .category-news-item-details .category-news-item-content h3 {
          margin: 1.25rem 0; }
          .community-news .slider-content .category-news-item .category-news-item-details .category-news-item-content h3 a {
            font-family: 'Amiri', serif;
            font-weight: 400;
            font-size: 2.1875rem;
            line-height: 2.1875rem;
            display: block;
            color: #131520; }
        .community-news .slider-content .category-news-item .category-news-item-details .category-news-item-content .excerpt {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 0.9375rem;
          line-height: 1.5625rem;
          color: #575757;
          padding-bottom: 1.875rem; }
      .community-news .slider-content .category-news-item .category-news-item-details .cta {
        position: absolute;
        bottom: 2.75rem; }
        .community-news .slider-content .category-news-item .category-news-item-details .cta a {
          font-family: 'Montserrat', sans-serif;
          font-weight: 400;
          font-size: 0.75rem;
          text-transform: uppercase;
          letter-spacing: 0.05625rem;
          color: #575757;
          border: 0.0625rem solid #BE9A60;
          height: 2.125rem;
          line-height: 2.125rem;
          padding: 0 1.875rem;
          display: inline-block;
          transition: all 0.3s linear; }
          .community-news .slider-content .category-news-item .category-news-item-details .cta a:hover {
            background: #BE9A60;
            color: #fefefe; }
      .community-news .slider-content .category-news-item:hover {
        box-shadow: 0 5px 10px rgba(0, 0, 0, 0.25), 0 10px 10px -10px rgba(0, 0, 0, 0.22); }

.representatives-active {
  padding: 3.125rem 0 4.375rem 0;
  background: rgba(240, 240, 241, 0.4); }
  .representatives-active .row {
    max-width: 70rem !important;
    margin: 0 auto; }
  .representatives-active .block-title {
    padding-top: 6.875rem; }
    .representatives-active .block-title h2 {
      color: #131520;
      margin-bottom: 1.25rem; }
      .representatives-active .block-title h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.4375rem; }
  .representatives-active .companies-grid {
    display: block;
    margin: 6.25rem 0; }
    @media print, screen and (min-width: 40em) {
      .representatives-active .companies-grid {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[2];
            grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 5rem;
        grid-row-gap: 6.25rem; } }
    @media print, screen and (min-width: 64em) {
      .representatives-active .companies-grid {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[4];
            grid-template-columns: repeat(4, 1fr);
        -ms-grid-rows: (1fr)[2];
            grid-template-rows: repeat(2, 1fr); } }
    .representatives-active .companies-grid .company {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      margin-bottom: 3.125rem; }
      @media print, screen and (min-width: 64em) {
        .representatives-active .companies-grid .company {
          margin: 0;
          -webkit-justify-content: start;
              -ms-flex-pack: start;
                  justify-content: start; } }
      .representatives-active .companies-grid .company .company-logo {
        text-align: center; }
        @media print, screen and (min-width: 64em) {
          .representatives-active .companies-grid .company .company-logo {
            text-align: left; } }
        .representatives-active .companies-grid .company .company-logo a img {
          -webkit-filter: grayscale(100%);
                  filter: grayscale(100%);
          max-width: 60%; }
          @media print, screen and (min-width: 40em) {
            .representatives-active .companies-grid .company .company-logo a img {
              max-width: 14.3125rem;
              max-height: 8.25rem;
              width: auto;
              height: auto; } }
        .representatives-active .companies-grid .company .company-logo a:hover img {
          -webkit-filter: grayscale(0);
                  filter: grayscale(0); }
      .representatives-active .companies-grid .company .company-popup {
        display: none;
        position: absolute;
        width: 100vw;
        background: #131520;
        padding: 1.875rem;
        box-shadow: 0.375rem 0.4375rem 0.75rem rgba(0, 0, 0, 0.5);
        z-index: 100;
        left: -0.625rem; }
        @media print, screen and (min-width: 40em) {
          .representatives-active .companies-grid .company .company-popup {
            width: 28.125rem;
            left: 0; } }
        .representatives-active .companies-grid .company .company-popup .close-popup {
          float: right;
          margin-right: -0.9375rem;
          margin-top: -0.9375rem;
          width: 0.8125rem;
          height: 0.8125rem;
          display: block; }
          .representatives-active .companies-grid .company .company-popup .close-popup:before {
            content: '';
            width: 1.125rem;
            height: 0.0625rem;
            background: #BE9A60;
            display: block;
            -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                    transform: rotate(45deg); }
          .representatives-active .companies-grid .company .company-popup .close-popup:after {
            content: '';
            width: 1.125rem;
            height: 0.0625rem;
            background: #BE9A60;
            display: block;
            -webkit-transform: rotate(-45deg);
                -ms-transform: rotate(-45deg);
                    transform: rotate(-45deg);
            margin-top: -0.0625rem; }
        .representatives-active .companies-grid .company .company-popup .popup-image {
          margin-bottom: 1.5625rem; }
          .representatives-active .companies-grid .company .company-popup .popup-image img {
            width: 100%;
            height: 11.875rem;
            object-fit: cover; }
        .representatives-active .companies-grid .company .company-popup .popup-details h5 {
          font-family: 'Montserrat', sans-serif;
          font-weight: 500;
          font-size: 0.9375rem;
          line-height: 1.5625rem;
          color: #F0F0F1;
          margin: 0; }
        .representatives-active .companies-grid .company .company-popup .popup-details p {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 0.9375rem;
          line-height: 1.5625rem;
          color: #F0F0F1;
          margin-bottom: 1.875rem; }
        .representatives-active .companies-grid .company .company-popup .popup-details a {
          display: inline-block;
          height: 2rem;
          line-height: 2rem;
          border: 0.0625rem solid #BE9A60;
          font-family: 'Montserrat', sans-serif;
          font-weight: 600;
          font-size: 0.75rem;
          padding: 0 1.5625rem;
          text-transform: uppercase;
          color: #F0F0F1;
          float: right; }
          .representatives-active .companies-grid .company .company-popup .popup-details a:hover {
            background: #BE9A60;
            color: #fefefe; }
  .representatives-active .companies {
    display: block;
    margin: 6.25rem 0; }
    @media print, screen and (min-width: 40em) {
      .representatives-active .companies {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[2];
            grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 5rem;
        grid-row-gap: 6.25rem; } }
    @media print, screen and (min-width: 64em) {
      .representatives-active .companies {
        display: -ms-grid;
        display: grid;
        -ms-grid-columns: (1fr)[4];
            grid-template-columns: repeat(4, 1fr);
        -ms-grid-rows: (1fr)[2];
            grid-template-rows: repeat(2, 1fr); } }
    .representatives-active .companies .company {
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      position: relative;
      margin-bottom: 3.125rem; }
      @media print, screen and (min-width: 64em) {
        .representatives-active .companies .company {
          margin: 0;
          -webkit-justify-content: start;
              -ms-flex-pack: start;
                  justify-content: start; } }
      @media print, screen and (min-width: 64em) {
        .representatives-active .companies .company:nth-child(1) {
          grid-area: 1 / 1 / 2 / 3; } }
      @media print, screen and (min-width: 64em) {
        .representatives-active .companies .company:nth-child(2) {
          grid-area: 1 / 3 / 2 / 4; } }
      @media print, screen and (min-width: 64em) {
        .representatives-active .companies .company:nth-child(3) {
          grid-area: 1 / 4 / 2 / 5; } }
      @media print, screen and (min-width: 64em) {
        .representatives-active .companies .company:nth-child(4) {
          grid-area: 2 / 1 / 3 / 2; } }
      @media print, screen and (min-width: 64em) {
        .representatives-active .companies .company:nth-child(5) {
          grid-area: 2 / 2 / 3 / 3; } }
      @media print, screen and (min-width: 64em) {
        .representatives-active .companies .company:nth-child(6) {
          grid-area: 2 / 3 / 3 / 4; } }
      @media print, screen and (min-width: 64em) {
        .representatives-active .companies .company:nth-child(7) {
          grid-area: 2 / 4 / 3 / 5; } }
      .representatives-active .companies .company .company-logo {
        text-align: center; }
        @media print, screen and (min-width: 64em) {
          .representatives-active .companies .company .company-logo {
            text-align: left; } }
        .representatives-active .companies .company .company-logo a img {
          -webkit-filter: grayscale(100%);
                  filter: grayscale(100%);
          max-width: 60%; }
          @media print, screen and (min-width: 40em) {
            .representatives-active .companies .company .company-logo a img {
              max-width: 20.5625rem;
              max-height: 9.5rem;
              width: auto;
              height: auto; } }
        .representatives-active .companies .company .company-logo a:hover img {
          -webkit-filter: grayscale(0);
                  filter: grayscale(0); }
      .representatives-active .companies .company .company-popup {
        display: none;
        position: absolute;
        width: 100vw;
        background: #131520;
        padding: 1.875rem;
        box-shadow: 0.375rem 0.4375rem 0.75rem rgba(0, 0, 0, 0.5);
        z-index: 100;
        left: -0.625rem; }
        @media print, screen and (min-width: 40em) {
          .representatives-active .companies .company .company-popup {
            width: 28.125rem;
            left: 0; } }
        .representatives-active .companies .company .company-popup .close-popup {
          float: right;
          margin-right: -0.9375rem;
          margin-top: -0.9375rem;
          width: 0.8125rem;
          height: 0.8125rem;
          display: block; }
          .representatives-active .companies .company .company-popup .close-popup:before {
            content: '';
            width: 1.125rem;
            height: 0.0625rem;
            background: #BE9A60;
            display: block;
            -webkit-transform: rotate(45deg);
                -ms-transform: rotate(45deg);
                    transform: rotate(45deg); }
          .representatives-active .companies .company .company-popup .close-popup:after {
            content: '';
            width: 1.125rem;
            height: 0.0625rem;
            background: #BE9A60;
            display: block;
            -webkit-transform: rotate(-45deg);
                -ms-transform: rotate(-45deg);
                    transform: rotate(-45deg);
            margin-top: -0.0625rem; }
        .representatives-active .companies .company .company-popup .popup-image {
          margin-bottom: 1.5625rem; }
          .representatives-active .companies .company .company-popup .popup-image img {
            width: 100%;
            height: 11.875rem;
            object-fit: cover; }
        .representatives-active .companies .company .company-popup .popup-details h5 {
          font-family: 'Montserrat', sans-serif;
          font-weight: 500;
          font-size: 0.9375rem;
          line-height: 1.5625rem;
          color: #F0F0F1;
          margin: 0; }
        .representatives-active .companies .company .company-popup .popup-details p {
          font-family: 'Montserrat', sans-serif;
          font-weight: 300;
          font-size: 0.9375rem;
          line-height: 1.5625rem;
          color: #F0F0F1;
          margin-bottom: 1.875rem; }
        .representatives-active .companies .company .company-popup .popup-details a {
          display: inline-block;
          height: 2rem;
          line-height: 2rem;
          border: 0.0625rem solid #BE9A60;
          font-family: 'Montserrat', sans-serif;
          font-weight: 600;
          font-size: 0.75rem;
          padding: 0 1.5625rem;
          text-transform: uppercase;
          color: #F0F0F1;
          float: right; }
          .representatives-active .companies .company .company-popup .popup-details a:hover {
            background: #BE9A60;
            color: #fefefe; }
  .representatives-active .block-note {
    text-align: center;
    font-family: 'Montserrat', sans-serif;
    font-weight: 500;
    border: 0.0625rem solid #BE9A60;
    padding: 1.5625rem;
    margin: 1.5625rem 0; }
    .representatives-active .block-note p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 1.5625rem;
      color: #575757;
      margin: 0; }
      .representatives-active .block-note p a {
        color: #BE9A60;
        text-decoration: underline; }

.transactions-types {
  background: #131520;
  padding: 2.5rem 1.25rem 0 1.25rem;
  position: relative;
  z-index: 11; }
  @media print, screen and (min-width: 64em) {
    .transactions-types {
      padding: 4.0625rem 0 0 0; } }
  .transactions-types .row {
    max-width: 70rem !important;
    margin: 0 auto; }
  .transactions-types .content-block {
    padding: 2.1875rem 2.8125rem;
    border: 0.0625rem solid #BE9A60;
    margin-bottom: 2.5rem; }
    @media print, screen and (min-width: 64em) {
      .transactions-types .content-block {
        margin-bottom: 4.0625rem; } }
    .transactions-types .content-block h4 {
      font-family: 'Montserrat', sans-serif;
      font-weight: 700;
      font-size: 1.25rem;
      line-height: 1.25rem;
      text-transform: uppercase;
      color: #BE9A60;
      text-align: center;
      border-bottom: 0.0625rem solid #BE9A60;
      padding-bottom: 0.9375rem;
      margin-bottom: 0.9375rem; }
    .transactions-types .content-block .content-text p {
      font-family: 'Montserrat', sans-serif;
      font-weight: 500;
      font-size: 0.9375rem;
      line-height: 1.5625rem;
      color: #F0F0F1; }
    .transactions-types .content-block .content-text ul {
      list-style: none;
      padding: 0;
      margin: 0; }
      .transactions-types .content-block .content-text ul li {
        position: relative;
        padding-left: 1.5625rem;
        font-family: 'Montserrat', sans-serif;
        font-weight: 300;
        font-size: 0.9375rem;
        line-height: 1.5625rem;
        color: #F0F0F1;
        margin-bottom: 0.75rem; }
        .transactions-types .content-block .content-text ul li:before {
          content: '•';
          position: absolute;
          left: 0; }
    .transactions-types .content-block:hover {
      background: rgba(122, 122, 122, 0.5); }

.team-block {
  padding: 2.5rem 1.25rem;
  position: relative; }
  @media print, screen and (min-width: 64em) {
    .team-block {
      padding: 2.75rem 0 6.25rem 0; } }
  .team-block .block-title {
    padding-top: 6.25rem; }
    .team-block .block-title h2 {
      color: #131520;
      margin-bottom: 1.25rem; }
      .team-block .block-title h2:after {
        content: '';
        width: 1.5625rem;
        height: 0.0625rem;
        background: #BE9A60;
        display: block;
        margin-top: 0.4375rem; }

.industry-focus {
  background: #131520;
  padding: 2.5rem 1.25rem 3.125rem 1.25rem;
  position: relative;
  z-index: 11; }
  @media print, screen and (min-width: 64em) {
    .industry-focus {
      padding: 4.0625rem 0 6.25rem 0; } }
  .industry-focus .row {
    max-width: 70rem !important;
    margin: 0 auto; }
  .industry-focus .block-title {
    text-align: center;
    margin-bottom: 7.5rem; }
    @media print, screen and (min-width: 64em) {
      .industry-focus .block-title {
        margin-bottom: 5rem; } }
    .industry-focus .block-title h3 {
      color: #BE9A60;
      font-family: 'Montserrat', sans-serif;
      font-weight: 700; }
    .industry-focus .block-title p {
      color: #fefefe;
      font-family: 'Montserrat', sans-serif;
      font-weight: 500; }
  .industry-focus .block-content .accordion {
    background: none;
    border-top: 1px solid #BE9A60; }
    .industry-focus .block-content .accordion .accordion-item {
      border-bottom: 1px solid #BE9A60; }
      .industry-focus .block-content .accordion .accordion-item .accordion-title {
        color: #BE9A60;
        font-family: 'Montserrat', sans-serif;
        font-weight: 700;
        font-size: 1.125rem;
        line-height: 1.75rem;
        text-transform: uppercase;
        border: none;
        text-decoration: none;
        padding: 1.25rem 2.5rem 1.5625rem 0; }
        @media print, screen and (min-width: 64em) {
          .industry-focus .block-content .accordion .accordion-item .accordion-title {
            font-size: 1.25rem; } }
        .industry-focus .block-content .accordion .accordion-item .accordion-title:hover, .industry-focus .block-content .accordion .accordion-item .accordion-title:focus {
          background: none;
          text-decoration: none; }
        .industry-focus .block-content .accordion .accordion-item .accordion-title:before {
          content: "\e903";
          font-family: 'icomoon';
          font-size: 0.875rem;
          font-weight: normal;
          color: #BE9A60;
          top: 1.25rem;
          margin-top: 0; }
      .industry-focus .block-content .accordion .accordion-item .accordion-content {
        border: none;
        background: none;
        padding: 0.9375rem 0.3125rem; }
        @media print, screen and (min-width: 64em) {
          .industry-focus .block-content .accordion .accordion-item .accordion-content {
            padding: 0.9375rem 0; } }
        .industry-focus .block-content .accordion .accordion-item .accordion-content .main-points ul {
          margin: 1.25rem 0 1.25rem 0.625rem; }
          @media print, screen and (min-width: 64em) {
            .industry-focus .block-content .accordion .accordion-item .accordion-content .main-points ul {
              margin: 1.25rem auto;
              width: 70%;
              columns: 2;
              -webkit-columns: 2;
              -moz-columns: 2; } }
          .industry-focus .block-content .accordion .accordion-item .accordion-content .main-points ul li {
            color: #fefefe;
            font-family: 'Montserrat', sans-serif;
            font-weight: 400;
            font-size: 1.125rem;
            line-height: 1.875rem; }
        @media print, screen and (min-width: 40em) {
          .industry-focus .block-content .accordion .accordion-item .accordion-content .key-themes {
            padding: 0 2.5rem 0 5rem; } }
        .industry-focus .block-content .accordion .accordion-item .accordion-content .key-themes h4 {
          color: #BE9A60;
          font-family: 'Montserrat', sans-serif;
          font-weight: 700;
          font-size: 1.125rem;
          line-height: 1.75rem; }
        .industry-focus .block-content .accordion .accordion-item .accordion-content .key-themes ul {
          margin: 1.25rem 0 1.25rem 0.625rem; }
          @media print, screen and (min-width: 40em) {
            .industry-focus .block-content .accordion .accordion-item .accordion-content .key-themes ul {
              list-style: none;
              margin: 1.25rem 0 1.25rem 0; } }
          .industry-focus .block-content .accordion .accordion-item .accordion-content .key-themes ul li {
            color: #fefefe;
            font-family: 'Montserrat', sans-serif;
            font-weight: 400;
            font-size: 1.125rem;
            line-height: 1.875rem;
            position: relative; }
            @media print, screen and (min-width: 40em) {
              .industry-focus .block-content .accordion .accordion-item .accordion-content .key-themes ul li {
                padding-left: 1.25rem; } }
            @media print, screen and (min-width: 40em) {
              .industry-focus .block-content .accordion .accordion-item .accordion-content .key-themes ul li:before {
                content: '.';
                font-size: 2.5rem;
                position: absolute;
                left: 0;
                top: -0.625rem; } }
        .industry-focus .block-content .accordion .accordion-item .accordion-content .logos {
          margin: 2.5rem 0 1.875rem 0; }
          @media print, screen and (min-width: 40em) {
            .industry-focus .block-content .accordion .accordion-item .accordion-content .logos {
              display: -webkit-flex;
              display: -ms-flexbox;
              display: flex;
              -webkit-flex-wrap: wrap;
                  -ms-flex-wrap: wrap;
                      flex-wrap: wrap;
              width: 80%;
              margin: 2.5rem auto; } }
          .industry-focus .block-content .accordion .accordion-item .accordion-content .logos .image {
            -webkit-flex-shrink: 0;
                -ms-flex-negative: 0;
                    flex-shrink: 0;
            border: 1px solid #BE9A60;
            padding: 1.25rem;
            margin: 0 0 1.875rem 0;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-align-items: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-justify-content: center;
                -ms-flex-pack: center;
                    justify-content: center;
            height: 7.5rem; }
            @media print, screen and (min-width: 40em) {
              .industry-focus .block-content .accordion .accordion-item .accordion-content .logos .image {
                width: 48%;
                margin: 0 0.625rem 1.875rem 0.625rem; } }
            @media print, screen and (min-width: 64em) {
              .industry-focus .block-content .accordion .accordion-item .accordion-content .logos .image {
                width: 31%; } }
            .industry-focus .block-content .accordion .accordion-item .accordion-content .logos .image img {
              max-height: 5rem;
              max-width: 13.75rem; }
        .industry-focus .block-content .accordion .accordion-item .accordion-content p {
          margin-bottom: 1.25rem;
          color: #0a0a0a; }
          .industry-focus .block-content .accordion .accordion-item .accordion-content p a {
            color: #0a0a0a; }
            .industry-focus .block-content .accordion .accordion-item .accordion-content p a:hover {
              text-decoration: underline; }
      .industry-focus .block-content .accordion .accordion-item.is-active .accordion-title {
        background: none; }
        .industry-focus .block-content .accordion .accordion-item.is-active .accordion-title:before {
          -webkit-transform: rotate(180deg);
              -ms-transform: rotate(180deg);
                  transform: rotate(180deg); }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3VuZGF0aW9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fbm9ybWFsaXplLW1peGluLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmFyaWFibGVzLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvX3ZlbmRvci9ub3JtYWxpemUtc2Nzcy9zYXNzL25vcm1hbGl6ZS9fdmVydGljYWwtcmh5dGhtLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9fZ2xvYmFsLnNjc3MiLCJfc2V0dGluZ3Muc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcm93LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL191bml0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19ndXR0ZXIuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2JyZWFrcG9pbnQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX3NpemUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2NvbHVtbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2xheW91dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9faGVscGVycy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYWxpZ25tZW50LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fdGV4dC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19oZWxwLXRleHQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2ZpZWxkc2V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fc2VsZWN0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2FjY29yZGlvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYWNjb3JkaW9uLW1lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19icmVhZGNydW1icy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnV0dG9uLWdyb3VwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYXJkLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jbG9zZS1idXR0b24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2ZsZXguc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJpbGxkb3duLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19kcm9wZG93bi5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fcmVzcG9uc2l2ZS1lbWJlZC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fbWF0aC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbGFiZWwuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb2ZmLWNhbnZhcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fb3JiaXQuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Byb2dyZXNzLWJhci5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc2xpZGVyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3JldmVhbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fc3dpdGNoLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdXRpbC9fY29sb3Iuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RhYnMuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGl0bGUtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b29sdGlwLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL192aXNpYmlsaXR5LnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19mbG9hdC5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX3RyYW5zaXRpb24uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9fY2xhc3Nlcy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3V0aWwvX2tleWZyYW1lLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NsaWRlLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy9lZmZlY3RzL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19oaW5nZS5zY3NzIiwiLi4vLi4vLi4vYm93ZXJfY29tcG9uZW50cy9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi8uLi8uLi9ib3dlcl9jb21wb25lbnRzL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX3NwaW4uc2NzcyIsIi4uLy4uLy4uL2Jvd2VyX2NvbXBvbmVudHMvbW90aW9uLXVpL3NyYy91dGlsL19hbmltYXRpb24uc2NzcyIsIl9mb250cy5zY3NzIiwiX2dsb2JhbC5zY3NzIiwiZ2xvYmFsL193b3JkcHJlc3Muc2NzcyIsImxheW91dC9faGVhZGVyLnNjc3MiLCJsYXlvdXQvX2Zvb3Rlci5zY3NzIiwiY29tcG9uZW50cy9fbW9iaWxlLW1lbnUuc2NzcyIsImNvbXBvbmVudHMvX2NvbnRlbnQtc2xpZGVyLnNjc3MiLCJjb21wb25lbnRzL19saW5lLWFuaW1hdGlvbi5zY3NzIiwiY29tcG9uZW50cy9fc3RhdGljLWxpbmVzLnNjc3MiLCJjb21wb25lbnRzL19zaW5nbGUtbWVtYmVyLnNjc3MiLCJjb21wb25lbnRzL19zaW5nbGUtaW5zaWdodC5zY3NzIiwiY29tcG9uZW50cy9fc2luZ2xlLWRyLWV2ZW50LnNjc3MiLCJjb21wb25lbnRzL19hYm91dC5zY3NzIiwiY29tcG9uZW50cy9fcGxhaW4uc2NzcyIsImNvbXBvbmVudHMvX2xpZmUtYXQteW9yay5zY3NzIiwicGx1Z2lucy9fc2xpY2suc2NzcyIsInBsdWdpbnMvX3NsaWNrLXRoZW1lLnNjc3MiLCJwbHVnaW5zL19jaGFydHMuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9sYW5kaW5nLWhlYWRlci9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL3doby13ZS1hcmUvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9mZWF0dXJlZC1wYWdlcy9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL2Fib3V0LXlvcmsvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy90ZWFtLWRldGFpbHMvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy90ZWFtLWJsb2NrL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvY29udGFjdC1tYXAvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9jb250YWN0LW9mZmljZS9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL2NvbnRhY3QtZm9ybS9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL3N1Yi1zdHJhdGVnaWVzL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3Mvb3VyLXByaW5jaXBsZXMvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9lc2ctY29tbWl0bWVudC9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL2NvbG9yZWQtYnJlYWRjcnVtYnMvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9tdWx0aXN0cmF0ZWd5LWludHJvL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3Mvc3RyYXRlZ2llcy1saW5rcy9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL2ludmVzdG1lbnQtY2FwYWJpbGl0aWVzL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvY29sbGFib3JhdGlvbi1iZW5lZml0L3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvY2F0ZWdvcmllcy1uZXdzL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3Mvd2h5LXlvcmsvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy90cnVzdC1nbG9iYWwvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9jbGllbnQtcmVsYXRpb25zL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3Mvc3Ryb25nLWhlcml0YWdlL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3Mvb3duZXJzaGlwLWN1bHR1cmUvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy95b3JrLWNhcmVzL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvZ3JlZW4teW9yay9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL2FkdmFuY2UtY2FyZWVyL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvY2FyZWVyLWJsb2NrL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3Mvb3VyLWhpc3Rvcnkvc2Nzcy9fc3R5bGUuc2NzcyIsIi4uLy4uLy4uL2Jsb2Nrcy9wYXJhbGxheC1pbWFnZS9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL2NvbW11bml0eS1uZXdzL3Njc3MvX3N0eWxlLnNjc3MiLCIuLi8uLi8uLi9ibG9ja3MvcmVwcmVzZW50YXRpdmVzLWFjdGl2ZS9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL3RyYW5zYWN0aW9ucy10eXBlcy9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL21lZXQtdGVhbS9zY3NzL19zdHlsZS5zY3NzIiwiLi4vLi4vLi4vYmxvY2tzL2luZHVzdHJ5LWZvY3VzL3Njc3MvX3N0eWxlLnNjc3MiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsaUJBQWlCO0FDQWpCOzs7OztHQUtHO0FDd0NELGlFQUFpRTtBQUcvRDtvRkFDZ0Y7QUFFaEY7Ozs7O09BS0c7QUFFSDtFQUNFLHdCQzFDdUI7RUQwQ1MsT0FBTztFQVFyQyxrQkFBaUI7RUFBRSxPQUFPO0VBRTVCLDJCQUEwQjtFQUFFLE9BQU87RUFDbkMsK0JBQThCO0VBQUUsT0FBTyxFQUN4Qzs7QUFJRDtvRkFDZ0Y7QUFFaEY7O09BRUc7QUFFSDtFQUNFLFVBQVMsRUFDVjs7QUFFRDs7T0FFRztBQUVIOzs7Ozs7RUFNRSxlQUFjLEVBQ2Y7O0FBRUQ7OztPQUdHO0FBRUg7RUU5RUYsZUFYdUM7RUZvR2pDLGlCQUFnQixFQUVuQjs7QUFvQ0Q7b0ZBQ2dGO0FBdUNoRjs7T0FFRztBQUVIOztFQUVFLGVBQWMsRUFDZjs7QUFFRDs7T0FFRztBQUVIO0VBS0ksaUJDdkxZLEVEeUxmOztBQUVEOzs7T0FHRztBQUVIO0VBQ0Usd0JBQXVCO0VBQUUsT0FBTztFQUNoQyxVQUFTO0VBQUUsT0FBTztFQUNsQixr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RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFTzdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQcUc5Qzs7QUFNSDtFTzlFSix1QkRicUQsRU42RmhEOztBQXBCRDtFS3hGSixXQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLFVBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsV0FIbUQsRVBxRzlDOztBQU1IO0VPOUVKLHVCRGJxRCxFTjZGaEQ7O0FBcEJEO0VLeEZKLGlCQ2VxRCxFTjJFaEQ7O0FBSUM7RU83RkosbUJBQWtCO0VBQ2xCLGdCQUhtRCxFUGlHOUM7O0FBRUQ7RU9qR0osbUJBQWtCO0VBQ2xCLGlCQUhtRCxFUHFHOUM7O0FBTUg7RU85RUosaUJEYnFELEVONkZoRDs7QUFwQkQ7RUt4RkosaUJDZXFELEVOMkVoRDs7QUFJQztFTzdGSixtQkFBa0I7RUFDbEIsZ0JBSG1ELEVQaUc5Qzs7QUFFRDtFT2pHSixtQkFBa0I7RUFDbEIsaUJBSG1ELEVQcUc5Qzs7QUFNSDtFTzlFSix1QkRicUQsRU42RmhEOztBQXBCRDtFS3hGSixZQ2VxRCxFTjJFaEQ7O0FBZ0JEO0VPOUVKLHVCRGJxRCxFTjZGaEQ7O0FBS0Q7RVF6R0YsWVgrRXVEO0VXOUV2RCxZQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELFdBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSd0VDO0VRekdGLFlYK0V1RDtFVzlFdkQsaUJBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSd0VDO0VRekdGLFlYK0V1RDtFVzlFdkQsV0FBdUIsRUFpQ3hCO0VSdUVHO0lRakZBLFlBQVcsRUFDWjtFUmdGQztJUTdFQSxZQUFXLEVBQ1o7RVI0RUM7SVF6RUEsWVgrQ3FELEVXOUN0RDs7QVJ3RUM7RVF6R0YsWVgrRXVEO0VXOUV2RCxXQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGlCQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGlCQUF1QixFQWlDeEI7RVJ1RUc7SVFqRkEsWUFBVyxFQUNaO0VSZ0ZDO0lRN0VBLFlBQVcsRUFDWjtFUjRFQztJUXpFQSxZWCtDcUQsRVc5Q3REOztBUndFQztFUXpHRixZWCtFdUQ7RVc5RXZELGFBQXVCLEVBaUN4QjtFUnVFRztJUWpGQSxZQUFXLEVBQ1o7RVJnRkM7SVE3RUEsWUFBVyxFQUNaO0VSNEVDO0lRekVBLFlYK0NxRCxFVzlDdEQ7O0FSOEVEO0VHL0dBLGlCRHVFUztFQ3RFVCxnQkRzRVMsRUZ5Q3VDOztBQURoRDtFQUlJLGdCQUFlO0VBQ2YsZUFBYyxFQUNmOztBQUdIO0VBQ0UsZ0JBQWU7RUFDZixlQUFjLEVBQ2Y7O0FBRUQ7RUc3SEEsd0JBRnFDO0VBR3JDLHVCQUhxQyxFSGdJb0I7O0FBSXpEO0VPaklBLG1CQUFrQjtFQUNsQixrQkFBaUIsRVBrSWhCO0VPdklEO0lBQ0UsWUFBVztJQUNYLFlBQVcsRUFDWjs7QVB1SUQ7OztFTzVIRixpQkFBZ0I7RUFDaEIsWUFBVztFQUNYLGdCQUFlO0VBQ2YsZUFBYyxFUDZIWDs7QUlOQztFSnJEQTtJS3hGSixnQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGVBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosZ0JEaEJnQyxFTmdHM0I7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixzQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLFdDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLGlCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLFdDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLGlCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLFdDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixVQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsV0FIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixpQkNlcUQsRU4yRWhEO0VBSUM7SU83RkosbUJBQWtCO0lBQ2xCLGdCQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsaUJBSG1ELEVQcUc5QztFQU1IO0lPOUVKLGlCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSix1QkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLFlDZXFELEVOMkVoRDtFQWdCRDtJTzlFSix1QkRicUQsRU42RmhEO0VBS0Q7SVF6R0YsWVgrRXVEO0lXOUV2RCxZQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsV0FBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGlCQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsYUFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUjhFRDtJRy9HQSxpQkR1RVM7SUN0RVQsZ0JEc0VTLEVGeUN1QztFQURoRDtJQUlJLGdCQUFlO0lBQ2YsZUFBYyxFQUNmO0VBR0g7SUFDRSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUVEO0lHN0hBLHlCQUZxQztJQUdyQyx3QkFIcUMsRUhnSW9CO0VBSXpEO0lPaklBLG1CQUFrQjtJQUNsQixrQkFBaUIsRVBrSWhCO0lPdklEO01BQ0UsWUFBVztNQUNYLFlBQVcsRUFDWjtFUHVJRDs7O0lPNUhGLGlCQUFnQjtJQUNoQixZQUFXO0lBQ1gsZ0JBQWU7SUFDZixlQUFjLEVQNkhYLEVBQUE7O0FJTkM7RUpyREE7SUt4RkosZ0JDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixlQUhtRCxFUGlHOUM7RUFFRDtJT2pHSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQcUc5QztFQU1IO0lPOUVKLGdCRGhCZ0MsRU5nRzNCO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosc0JEYnFELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixpQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixpQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixXQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsVUFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLFdBSG1ELEVQcUc5QztFQU1IO0lPOUVKLHVCRGJxRCxFTjZGaEQ7RUFwQkQ7SUt4RkosaUJDZXFELEVOMkVoRDtFQUlDO0lPN0ZKLG1CQUFrQjtJQUNsQixnQkFIbUQsRVBpRzlDO0VBRUQ7SU9qR0osbUJBQWtCO0lBQ2xCLGlCQUhtRCxFUHFHOUM7RUFNSDtJTzlFSixpQkRicUQsRU42RmhEO0VBcEJEO0lLeEZKLGlCQ2VxRCxFTjJFaEQ7RUFJQztJTzdGSixtQkFBa0I7SUFDbEIsZ0JBSG1ELEVQaUc5QztFQUVEO0lPakdKLG1CQUFrQjtJQUNsQixpQkFIbUQsRVBxRzlDO0VBTUg7SU85RUosdUJEYnFELEVONkZoRDtFQXBCRDtJS3hGSixZQ2VxRCxFTjJFaEQ7RUFnQkQ7SU85RUosdUJEYnFELEVONkZoRDtFQUtEO0lRekdGLFlYK0V1RDtJVzlFdkQsWUFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELFdBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxXQUF1QixFQWlDeEI7SVJ1RUc7TVFqRkEsWUFBVyxFQUNaO0lSZ0ZDO01RN0VBLFlBQVcsRUFDWjtJUjRFQztNUXpFQSxZWCtDcUQsRVc5Q3REO0VSd0VDO0lRekdGLFlYK0V1RDtJVzlFdkQsaUJBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVJ3RUM7SVF6R0YsWVgrRXVEO0lXOUV2RCxpQkFBdUIsRUFpQ3hCO0lSdUVHO01RakZBLFlBQVcsRUFDWjtJUmdGQztNUTdFQSxZQUFXLEVBQ1o7SVI0RUM7TVF6RUEsWVgrQ3FELEVXOUN0RDtFUndFQztJUXpHRixZWCtFdUQ7SVc5RXZELGFBQXVCLEVBaUN4QjtJUnVFRztNUWpGQSxZQUFXLEVBQ1o7SVJnRkM7TVE3RUEsWUFBVyxFQUNaO0lSNEVDO01RekVBLFlYK0NxRCxFVzlDdEQ7RVI4RUQ7SUcvR0EsaUJEdUVTO0lDdEVULGdCRHNFUyxFRnlDdUM7RUFEaEQ7SUFJSSxnQkFBZTtJQUNmLGVBQWMsRUFDZjtFQUdIO0lBQ0UsZ0JBQWU7SUFDZixlQUFjLEVBQ2Y7RUFFRDtJRzdIQSx5QkFGcUM7SUFHckMsd0JBSHFDLEVIZ0lvQjtFQUl6RDtJT2pJQSxtQkFBa0I7SUFDbEIsa0JBQWlCLEVQa0loQjtJT3ZJRDtNQUNFLFlBQVc7TUFDWCxZQUFXLEVBQ1o7RVB1SUQ7OztJTzVIRixpQkFBZ0I7SUFDaEIsWUFBVztJQUNYLGdCQUFlO0lBQ2YsZUFBYyxFUDZIWCxFQUFBOztBQUlIO0VHMUZFLHVCRGFxRCxFRitFdEQ7RUcxRkM7SUFDRSxpQkFBZ0IsRUFDakI7RUM0RUM7SUpVSjtNRzFGRSx3QkRhcUQsRUYrRXREO01HMUZDO1FBQ0UsaUJBQWdCLEVBQ2pCLEVBQUE7RUM0RUM7SUpVSjtNRzFGRSx3QkRhcUQsRUYrRXREO01HMUZDO1FBQ0UsaUJBQWdCLEVBQ2pCLEVBQUE7O0FNZ0xIOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0VBbUJFLFVBQVM7RUFDVCxXQUFVLEVBQ1g7O0FBR0Q7RUFDRSxvQlh0SDBCO0VXd0gxQixtQkFBa0I7RUFDbEIsaUJYMUhzQjtFVzJIdEIsbUNYekh5QyxFVzBIMUM7O0FBR0Q7O0VBRUUsbUJBQWtCO0VBQ2xCLHFCQUFvQixFQUNyQjs7QUFHRDs7RUFFRSxrQlgvTXFCO0VXZ05yQixxQkFBb0IsRUFDckI7O0FmZ0RDO0VlNUNBLGVYaEppQjtFV2lKakIscUJBQW9CLEVBQ3JCOztBQUdEOzs7Ozs7RUFNRSxvRVh0T3FFO0VXdU9yRSxtQlhwTHNCO0VXcUx0QixvQlhuT3lCO0VXb096QixlWHBMa0I7RVdxTGxCLG1DWGhLc0MsRVdzS3ZDO0VBaEJEOzs7Ozs7SUFhSSxlQUFjO0lBQ2QsZVhwUGUsRVdxUGhCOztBZjNORDtFZXVPUSxrQlB2UDZDO0VPbVE3QyxpQlhqTlc7RVd5TlgsY0FBYTtFQU9iLHNCWC9OaUIsRVdpT3BCOztBQWpDRDtFQUlJLG1CUHZQNkM7RU9tUTdDLGlCWGpOVztFV3lOWCxjQUFhO0VBT2Isc0JYL05pQixFV2lPcEI7O0FBakNEO0VBSUkscUJQdlA2QztFT21RN0MsaUJYak5XO0VXeU5YLGNBQWE7RUFPYixzQlgvTmlCLEVXaU9wQjs7QUFqQ0Q7RUFJSSxvQlB2UDZDO0VPbVE3QyxpQlhqTlc7RVd5TlgsY0FBYTtFQU9iLHNCWC9OaUIsRVdpT3BCOztBQWpDRDtFQUlJLHFCUHZQNkM7RU9tUTdDLGlCWGpOVztFV3lOWCxjQUFhO0VBT2Isc0JYL05pQixFV2lPcEI7O0FBakNEO0VBSUksZ0JQdlA2QztFT21RN0MsaUJYak5XO0VXeU5YLGNBQWE7RUFPYixzQlgvTmlCLEVXaU9wQjs7QUxqTkg7RVZuREY7SWV1T1EsZ0JQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxrQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLHFCUHZQNkMsRU9vUmhEO0VBakNEO0lBSUkscUJQdlA2QyxFT29SaEQ7RUFqQ0Q7SUFJSSxtQlB2UDZDLEVPb1JoRDtFQWpDRDtJQUlJLGdCUHZQNkMsRU9vUmhELEVBQUE7O0FmbkdMO0VlMEdBLHFCQUFvQjtFQUNwQixlWDdTYztFVzhTZCxzQlh6TXlCO0VXMk16QixnQkFBZSxFQWFoQjtFQWxCRDtJQVNJLGVYaE4yRCxFV29ONUQ7RUFiSDtJQWdCSSxVQUFTLEVBQ1Y7O0FmdktEO0VlNEtBLFlBQVc7RUFFWCxpQlBsVHFEO0VPbVRyRCxVQUFTO0VBQ1QscUJYNU55QjtFVzhOekIsY0FBYTtFQUNiLGdCQUFlO0VBQ2YsaUNYbFVpQjtFV21VakIsZUFBYyxFQUNmOztBQUdEOzs7RUFHRSxvQlh0UDBCO0VXdVAxQiw2QlhyT3lCO0VXc096QixpQlh6UHNCLEVXMFB2Qjs7QUFHRDtFQUNFLG1CQUFrQixFQUNuQjs7QUFHRDtFQUNFLHFCWC9Pc0I7RVdnUHRCLHNCWGxQa0IsRVdtUG5COztBQUdEO0VBQ0UscUJYclBzQixFV3NQdkI7O0FBR0Q7RUFFSSxxQlgxUDJCO0VXMlAzQixpQkFBZ0IsRUFDakI7O0FBSUg7RUFDRSxvQlhoUXlCLEVXc1ExQjtFQVBEO0lBSUksc0JYalE4QjtJV2tROUIsa0JYaldtQixFV2tXcEI7O0FBSUg7RUFDRSxpQlgvUjBCO0VXZ1MxQix1Q1AxV3FEO0VPMldyRCwrQlhyWGlCLEVXMlhsQjtFQVREO0lBTUksaUJYclNvQjtJV3NTcEIsZVh4WGEsRVd5WGQ7O0FBSUg7RUFDRSxlQUFjO0VBQ2QscUJQdFhxRDtFT3VYckQsZVhoWWUsRVdxWWhCO0VBUkQ7SUFNSSxjWG5SNkIsRUFBQTs7QVd3UmpDO0VBQ0Usa0NYeFlXO0VXeVlYLGVYellXO0VXMFlYLGFBQVksRUFDYjs7QWY3UUM7RWVpUkEsVUFBUyxFQUNWOztBQUdEO0VBQ0Usc0NQNVlxRDtFTzhZckQsMEJYeFppQjtFV3laakIsMEJYMVpnQjtFVzRaaEIsNkRYaldtRTtFV2tXbkUsb0JYalp5QjtFV2taekIsZVgzWlcsRVc0Wlo7O0FBR0Q7RUFDRSxVQUFTO0VBQ1QsNEJQcFpTO0VPc1pULDBCWHRhZ0I7RVd3YWhCLDZEWDdXbUU7RVc4V25FLGVYdGFXLEVXMmFaOztBQzVjRDtFQUNFLG1CWitKeUI7RVk5SnpCLHNCWitKNEI7RVk3SjVCLG9CWnNDeUI7RVlyQ3pCLGlCWndKc0I7RVl2SnRCLGVaMEJlLEVZekJoQjs7QUFHRDtFQUNFLGdCWmdKcUM7RVkvSXJD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ZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixXRi9Ca0M7RUlEbEMsNkJBQTRCLEVMRTNCOztBQVVEO0VHb0JBLFdGL0JxQyxFRGFwQzs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLDhCRjVCbUQ7TUU0Qm5ELDBCRjVCbUQ7VUU0Qm5ELHNCRjVCbUQ7RU1HakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUhvQ3JDLGdDRjNCcUQ7TUUyQnJELDRCRjNCcUQ7VUUyQnJELHdCRjNCcUQ7RU1FbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER25DaUM7VUhtQ2pDLDhDR25DaUM7RUhtQ2pDLGlDRjFCc0Q7TUUwQnRELDZCRjFCc0Q7VUUwQnRELHlCRjFCc0Q7RU1DcEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHNER2xDK0I7VUhrQy9CLDhDR2xDK0I7RUhrQy9CLCtCRnpCb0Q7TUV5QnBELDJCRnpCb0Q7VUV5QnBELHVCRnpCb0Q7RU1BbEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBMkIsRVBONUI7O0FBVUQ7RUdvQkEsb0RHVjRDO1VIVTVDLDRDR1Y0QztFQ0oxQyxXQUEyQixFUEo1Qjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLHVER3JDbUM7VUhxQ25DLCtDR3JDbUM7RUhxQ25DLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUEyQixFUE41Qjs7QUFVRDtFR29CQSxvREdWNEM7VUhVNUMsNENHVjRDO0VDSjFDLFdBQTJCLEVQSjVCOztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsdURHcENxQztVSG9DckMsK0NHcENxQztFSG9DckMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQTJCLEVQTjVCOztBQVVEO0VHb0JBLG9ER1Y0QztVSFU1Qyw0Q0dWNEM7RUNKMUMsV0FBMkIsRVBKNUI7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLDhCRnRCbUQ7TUVzQm5ELDBCRnRCbUQ7VUVzQm5ELHNCRnRCbUQ7RU1IakQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHckNtQztVSHFDbkMsK0NHckNtQztFQ3VCakMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGdDRnJCcUQ7TUVxQnJELDRCRnJCcUQ7VUVxQnJELHdCRnJCcUQ7RU1KbkQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsdURHcENxQztVSG9DckMsK0NHcENxQztFQ3NCbkMsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDRnBCc0Q7TUVvQnRELDZCRnBCc0Q7VUVvQnRELHlCRnBCc0Q7RU1McEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbkNpQztVSG1DakMsOENHbkNpQztFQ3FCL0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLCtCRm5Cb0Q7TUVtQnBELDJCRm5Cb0Q7VUVtQnBELHVCRm5Cb0Q7RU1ObEQsZ0RBQXVDO0VBQXZDLHdDQUF1QztFQUF2QywyREFBdUM7RUFDdkMsV0FBOEIsRVBOL0I7O0FBVUQ7RUdvQkEsc0RHbEMrQjtVSGtDL0IsOENHbEMrQjtFQ29CN0IsV0FBOEIsRVBKL0I7O0FBZEQ7RUNsQkYsMkJDa0JjO0VEakJkLG1DQ2lDZTtFQ2dCYixvREdSOEM7VUhROUMsNENHUjhDO0VIUTlDLGlDR0NlO01IRGYsNkJHQ2U7VUhEZix5QkdDZTtFQzFCYixnREFBdUM7RUFBdkMsd0NBQXVDO0VBQXZDLDJEQUF1QztFQUN2QyxXQUE4QixFUE4vQjs7QUFVRDtFR29CQSx1REdyQ21DO1VIcUNuQywrQ0dyQ21DO0VDdUJqQyxXQUE4QixFUEovQjs7QUFkRDtFQ2xCRiwyQkNrQmM7RURqQmQsbUNDaUNlO0VDZ0JiLG9ER1I4QztVSFE5Qyw0Q0dSOEM7RUhROUMsaUNHQ2U7TUhEZiw2QkdDZTtVSERmLHlCR0NlO0VDMUJiLGdEQUF1QztFQUF2Qyx3Q0FBdUM7RUFBdkMsMkRBQXVDO0VBQ3ZDLFdBQThCLEVQTi9COztBQVVEO0VHb0JBLHVER3BDcUM7VUhvQ3JDLCtDR3BDcUM7RUNzQm5DLFdBQThCLEVQSi9COztBQWREO0VDbEJGLDJCQ2tCYztFRGpCZCxtQ0NpQ2U7RUNnQmIsOEJBRnlCO01BRXpCLDBCQUZ5QjtVQUV6QixzQkFGeUI7RUszQnZCLGdEQUF1QztFQUF2Qyx3Q0FBdUM7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ekJQO1VBaUJVLGVUN0NHLEVTOENKO1FBbEJUO1VBb0JVLHFCNUV3QytDO1U0RXZDL0Msc0I1RXVDK0M7VTRFdEMvQyxtQkFBaUI7VUFDakIsZTVFcUMrQyxFNEVwQ2hEO0lBeEJUO01WdEJFLHNDQUFxQztNQUNyQyxpQlVrRDZCO01BQ3ZCLGVUMURLO01TMkRMLHFCNUU2QmlEO000RTVCakQsMEJBQXdCLEVBU3pCO01BekNQO1FBa0NVLFlBQVU7UUFDVixpQjVFeUIrQztRNEV4Qi9DLGtCNUV3QitDO1E0RXZCL0MsZUFBYTtRQUNiLG9CVGxFRztRU21FSCxxQjVFcUIrQyxFNEVwQmhEO0lBeENUO01WdEJFLHNDQUFxQztNQUNyQyxpQlVpRTJCO01BQ3ZCLGVBQWE7TUFDYixxQjVFY21ELEU0RWJwRDtJQS9DTDtNQWlETSxrQjVFZ0JPLEU0RVpSO01BckRMO1FBbURRLGVUOUVVLEVTK0VYO0lBcERQO01BdURNLGFBQVc7TVY3RWYsc0NBQXFDO01BQ3JDLGlCVTZFMkI7TUFDdkIscUI1RUdtRDtNNEVGbkQsMEJBQXdCO01BQ3hCLDJCNUVDbUQ7TTRFQW5ELGVBQWE7TUFDYixnQ1R6Rk87TVMwRlAsaUI1RUZtRDtNNEVHbkQsc0I1RUhtRDtNNEVJbkQsb0I1RUptRDtNNEVLbkQsc0JBQW9CO01BQ3BCLDRCQUEwQixFQVMzQjtNMUVvREM7UTBFL0hOO1VBb0VRLG1CNUVSaUQ7VTRFU2pELG1CNUVUaUQsRTRFZXBELEVBQUE7TUEzRUw7UUF3RVEsb0JUcEdLO1FTcUdMLGVoRnBCTyxFZ0ZxQlI7O0FBSVA7RUFDRSwwQjVFbkJ1RDtFNEVvQnZELG9CQUFrQjtFQUNsQixtQkFBaUI7RUFDakIsYUFBVyxFQWlEWjtFMUVKSztJMEVqRE47TUFNSSw0QjVFbkJTLEU0RWtFWixFQUFBO0VBckREO0lWcEdFLHNDQUFxQztJQUNyQyxpQlU0R3lCO0lBQ3ZCLHFCNUU1QnFEO0k0RTZCckQsdUI1RTdCcUQ7STRFOEJyRCxlVHJIYztJU3NIZCxpQjVFMUJTLEU0RTJCVjtFQWRIO0lWcEdFLHNDQUFxQztJQUNyQyxpQlVtSHlCO0lBQ3ZCLHFCNUVuQ3FEO0k0RW9DckQsdUI1RXBDcUQ7STRFcUNyRCxlQUFhO0lBQ2Isd0I1RXRDcUQsRTRFdUN0RDtFQXJCSDtJVnBHRSxzQ0FBcUM7SUFDckMsaUJVMkgyQjtJQUN2QixxQjVFM0NtRDtJNEU0Q25ELHVCNUU1Q21EO0k0RTZDbkQsZUFBYTtJQUNiLHdCNUU5Q21ELEU0RStDcEQ7RUE3Qkw7SVZwR0Usc0NBQXFDO0lBQ3JDLGlCVW1JeUI7SUFDdkIscUI1RW5EcUQ7STRFb0RyRCx1QjVFcERxRDtJNEVxRHJELGVBQWE7SUFDYix1Q0FBdUM7SUFDdkMseUI1RXZEcUQ7STRFd0RyRCx3QjVFeERxRCxFNEV5RHREO0VBdkNIO0lBeUNJLHdCNUUzRHFELEU0RXNFdEQ7SUFwREg7TUEyQ00sZ0JBQWMsRUFFZjtJQTdDTDtNVnBHRSxzQ0FBcUM7TUFDckMsaUJVa0oyQjtNQUN2QixxQjVFbEVtRDtNNEVtRW5ELGtCNUVuRW1EO000RW9FbkQsZUFBYSxFQUNkOztBQzdKTDtFQUNFLG1CQUFpQjtFQUNqQixvQkFBa0IsRUErRW5CO0VBakZEO0lYQ0UsNEJBQTJCO0lBQzNCLGlCV0VvQjtJQUNsQixlakYyRVcsRWlGMUVaO0VBTkg7SVhDRSw0QkFBMkI7SUFDM0IsaUJXTW9CO0lBQ2xCLG9CN0UrRXFEO0k2RTlFckQsc0I3RThFcUQ7STZFN0VyRCxlakZxRVcsRWlGcEVaO0VBWkg7SVhDRSw0QkFBMkI7SUFDM0IsaUJXWW9CO0lBQ2xCLG9CN0V5RXFEO0k2RXhFckQsdUI3RXdFcUQ7STZFdkVyRCxlVmhCYyxFVWlCZjtFQWxCSDtJWENFLDRCQUEyQjtJQUMzQixpQldrQm9CO0lBQ2xCLHFCN0VtRXFEO0k2RWxFckQsdUI3RWtFcUQ7STZFakVyRCxlVnRCYyxFVXVCZjtFQXhCSDtJWENFLDRCQUEyQjtJQUMzQixpQld3Qm9CO0lBQ2xCLGdCN0U2RHFEO0k2RTVEckQsdUI3RTREcUQ7STZFM0RyRCxlVjVCYyxFVTZCZjtFQTlCSDtJWENFLDRCQUEyQjtJQUMzQixpQlc4Qm9CO0lBQ2xCLGdC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UyxFbUYvRFY7RUFqQkw7SWJDRSw0QkFBMkI7SUFDM0IsaUJhaUJzQjtJQUNsQixvQi9Fb0VtRDtJK0VuRW5ELHVCL0VtRW1EO0krRWxFbkQsZVpyQlksRVlzQmI7RUF2Qkw7SWJDRSw0QkFBMkI7SUFDM0IsaUJhdUJzQjtJQUNsQixxQi9FOERtRDtJK0U3RG5ELHVCL0U2RG1EO0krRTVEbkQsZVozQlksRVk0QmI7RUE3Qkw7SWJDRSw0QkFBMkI7SUFDM0IsaUJhNkJzQjtJQUNsQixnQi9Fd0RtRDtJK0V2RG5ELHVCL0V1RG1EO0krRXREbkQsZVpqQ1ksRVlrQ2I7RUFuQ0w7SWJDRSw0QkFBMkI7SUFDM0IsaUJhbUNzQjtJQUNsQixnQi9Fa0RtRDtJK0VqRG5ELHFCL0VpRG1EO0krRWhEbkQsZUFBYSxFQU9kO0lBL0NMO01BMENRLGVaekNVLEVZNkNYO01BOUNQO1FBNENVLFlBQVUsRUFDWDtFQTdDVDs7SWJDRSw0QkFBMkI7SUFDM0IsaUJhaUR3QjtJQUNsQixnQi9Fb0NpRDtJK0VuQ2pELHFCL0VtQ2lEO0krRWxDakQsZUFBYSxFQU9kO0lBN0RQOztNQXdEVSxlWnZEUSxFWTJEVDtNQTVEVDs7UUEwRFksWUFBVSxFQUNYO0VBM0RYOztJQStEUSxpQkFBZTtJQUNmLG1CL0U2QkssRStFdEJOO0lBdkVQOztNQWtFVSx5Qi9Fc0IrQztNa0VsRnZELHNDQUFxQztNQUNyQyxpQmE0RCtCO01BQ3ZCLGdCL0VvQitDO00rRW5CL0MscUIvRW1CK0MsRStFbEJoRDtFQXRFVDtJYkNFLDRCQUEyQjtJQUMzQixpQmEyRTRCO0lBQ2xCLGdCL0VVNkM7SStFVDdDLHVCL0VTNkMsRStFUjlDO0VBaEZYO0liQ0UsNEJBQTJCO0lBQzNCLGlCYWdGNEI7SUFDbEIsZ0IvRUs2QztJK0VKN0MsdUIvRUk2QyxFK0VIOUM7RUFyRlg7SWJDRSw0QkFBMkI7SUFDM0IsaUJheUY0QjtJQUNsQixnQi9FSjZDO0krRUs3Qyx1Qi9FTDZDO0krRU03QyxvQkFBa0IsRUFJbkI7SUFsR1g7TUFnR2MscUIvRVIyQyxFK0VTNUM7O0FDakdi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QUFVO0lBQ1Ysd0IxRjZFbUQsRTBGeEVwRDtJeEYySUM7TXdGM0pOO1FBYVEsa0IxRjJFaUQ7UTBGMUVqRCxpQkFBZSxFQUVsQixFQUFBO0VBaEJMO0lBb0JNLGlCQUFlO0lBQ2YsVUFBUTtJQUNSLFdBQVMsRUErQlY7SUFyREw7TUF3QlEsdUIxRmdFaUQsRTBGcENsRDtNQXBEUDtRQTBCVSx3QjFGOEQrQyxFMEY3RGhEO01BM0JUO1F4Qk1FLHNDQUFxQztRQUNyQyxpQndCd0JpQztRQUN2QixldkI5Qk07UXVCK0JOLHFCMUZ1RDZDO1EwRnREN0MsdUIxRnNENkM7UTBGckQ3QyxVQUFTLEVBSVY7UUF2Q1g7VUFxQ2MsZXZCckNELEV1QnNDQTtNQXRDYjtReEJNRSxzQ0FBcUM7UUFDckMsaUJ3Qm9DaUM7UUFDdkIsZXZCMUNNO1F1QjJDTixxQjFGMkM2QztRMEYxQzdDLHVCMUYwQzZDLEUwRnRDOUM7UUFsRFg7VUFnRGMsZXZCaERELEV1QmlEQTtFQWpEYjtJQXlETSxldkJ6RE8sRXVCMERSOztBQzFETDs7RUFFRSxvQi9GK0VhO0UrRjlFYix3QjNGcUZ1RDtFMkZwRnZELG1CQUFrQixFQXdDbkI7RXpGK0dLO0l5RjNKTjs7TUFNSSwrQjNGdUZTLEUyRmpEWixFQUFBO0VBNUNEOztJQVNNLFVBQVE7SUFDUixXQUFTLEVBNEJaO0lBdENIOztNQWFVLHdCM0YyRStDLEUyRnRFbEQ7TUFsQlA7O1FBZ0JZLFlBQVUsRUFDYjtJQWpCVDs7TXpCTUUsc0NBQXFDO01BQ3JDLGlCeUJjaUM7TUFDdkIscUIzRmtFNkM7TTJGakU3Qyx1QjNGaUU2QztNMkZoRTdDLFVBQVM7TUFDVCxleEJ6QkMsRXdCMEJKO0lBMUJUOztNekJNRSxzQ0FBcUM7TUFDckMsaUJ5QnNCaUM7TUFDdkIsZXhCNUJNO013QjZCTixxQjNGeUQ2QztNMkZ4RDdDLHVCM0Z3RDZDLEUyRnBEOUM7TUFwQ1g7O1FBa0NjLGV4QmxDRCxFd0JtQ0E7RUFuQ2I7O0lBeUNNLGV4QnpDTyxFd0IwQ1I7O0FDMUNMO0VBQ0UseUI1RnVGdUQsRTRGMk14RDtF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QTlETDtRQXNCUSx3QjlGa0VpRCxFOEY3Q2xEO1E1RmdIRDtVNEYzSk47WUF3QlUsaUJBQWUsRUFtQmxCLEVBQUE7UUEzQ1A7VUEyQlUsZTNCMUJRLEUyQjJCVDtRQTVCVDtVNUJNRSxzQ0FBcUM7VUFDckMsaUI0QnVCK0I7VUFDdkIsbUI5RnlEK0M7VThGeEQvQyxxQjlGd0QrQztVOEZ2RC9DLGUzQmpDRztVMkJrQ0gsMEJBQXdCO1VBQ3hCLHdCOUZxRCtDLEU4RnBEaEQ7UUFwQ1Q7VTVCTUUsc0NBQXFDO1VBQ3JDLGlCNEIrQitCO1VBQ3ZCLHFCOUZpRCtDO1U4RmhEL0MsdUI5RmdEK0M7VThGL0MvQyxlM0J2Q1EsRTJCd0NUO01BMUNUO1FBNkNRLGtCOUYyQ2lELEU4RjNCbEQ7UUE3RFA7VUFpRGMsb0I5RnVDMkM7VThGdEMzQyxlM0JsREQsRTJCbURBO1FBbkRiO1VBd0RnQixXQUFTLEVBQ1Y7RTVGa0dUO0k0RjNKTjtNQW1FTSxrQkFBZ0IsRUFRbkIsRUFBQTtFQTNFSDtJNUJDRSw0QkFBMkI7SUFDM0IsaUI0Qm9Fc0I7SUFDbEIsa0I5RmlCbUQ7SThGaEJuRCxvQjlGZ0JtRDtJOEZmbkQsZTNCeEVZLEUyQnlFYjs7QUMxRUw7RUFDRSxvQkFBa0I7RUFDbEIseUIvRnNGdUQsRStGcEN4RDtFN0Z1R0s7STZGM0pOO01BSUksK0IvRnlGUyxFK0Z6Q1osRUFBQTtFQXBERDtJQU9JLDRCQUFtQztJQUNuQyxlQUFhLEVBQ2Q7RUFUSDtJQVdJLHdCL0Y2RXFELEUrRjNEdEQ7SUE3Qkg7TUFhTSxlNUJaWTtNNEJhWix3Qi9GMEVtRCxFK0ZsRXBEO01BdEJMO1FBZ0JRLFlBQVU7UUFDVixpQi9GdUVpRDtRK0Z0RWpELGtCL0ZzRWlEO1ErRnJFakQsb0I1Qm5CSztRNEJvQkwsZUFBYSxFQUNkO0lBckJQO003Qk1FLHNDQUFxQztNQUNyQyxpQjZCaUIyQjtNQUN2QixxQi9GK0RtRDtNK0Y5RG5ELHVCL0Y4RG1EO00rRjdEbkQsZTVCekJZLEU0QjBCYjtFQTVCTDtJQStCSSxpQi9GeURxRDtJK0Z4RHJELGdD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RkM7UStGM0pOO1VBeUNRLGFBQVc7VUFDWCx1QmpHbURLLEVpRzNCUixFQUFBO01BbEVMO1FBNkNRLGVBQWE7UUFDYixhakcwQ2lEO1FpR3pDakQsa0JqR3lDaUQ7UWlHeENqRCxnQzlCaERLO1FETVgsc0NBQXFDO1FBQ3JDLGlCK0IwQzZCO1FBQ3ZCLG1CakdzQ2lEO1FpR3JDakQscUJqR3FDaUQ7UWlHcENqRCwwQkFBd0I7UUFDeEIsZUFBYTtRQUNiLHVCakd1Q0s7UWlHdENMLG1CQUFpQjtRQUNqQixvQkFBa0IsRUFTbkI7US9GMEZEO1UrRjNKTjtZQTBEVSxzQkFBb0I7WUFDcEIsOEJqRzZCK0MsRWlHdkJsRCxFQUFBO1FBakVQO1VBOERVLG9COUI5REc7VThCK0RILGVyR2tCSyxFcUdqQk47SUFoRVQ7TS9CTUUsc0NBQXFDO01BQ3JDLGlCK0I2RDJCO01BQ3ZCLG1CakdtQm1EO01pR2xCbkQscUJqR2tCbUQ7TWlHakJuRCxlOUJ2RU87TThCd0VQLDBCQUF3QjtNQUN4Qix3QmpHZW1EO01pR2RuRCxpQkFBZSxFQUNoQjtJQTNFTDtNQTZFTSxlOUIzRVk7TURJaEIsc0NBQXFDO01BQ3JDLGlCK0J1RTJCO01BQ3ZCLG1CakdTbUQ7TWlHUm5ELHFCakdRbUQ7TWlHUG5ELGlCQUFlO01BQ2YscUJqR01tRCxFaUdMcEQ7SUFuRkw7TS9CTUUsc0NBQXFDO01BQ3JDLGlCK0I4RTJCO01BQ3ZCLHFCakdFbUQ7TWlHRG5ELHVCakdDbUQ7TWlHQW5ELGU5QnRGWSxFOEIwRmI7TS9GK0RDO1ErRjNKTjtVQTBGUSxpQmpHRmlELEVpR0lwRCxFQUFBO0lBNUZMO01BOEZNLFVBQVEsRUFVVDtNL0ZtREM7UStGM0pOO1VBZ0dRLGlCakdSaUQsRWlHZ0JwRCxFQUFBO01BeEdMO1EvQk1FLHNDQUFxQztRQUNyQyxpQitCNEY2QjtRQUN2QixxQmpHWmlEO1FpR2FqRCx1QmpHYmlEO1FpR2NqRCxlOUJwR1UsRThCcUdYO0VBdkdQO0lBMkdJLG1CQUFpQixFQXFEbEI7SUFoS0g7TUE2R00sbUJBQWlCO01BQ2pCLHdCakd0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RW1ELEVvR3pFcEQ7RUFmTDtJbENNRSxzQ0FBcUM7SUFDckMsaUJrQ1kyQjtJQUN2QixxQnBHb0VtRDtJb0duRW5ELHVCcEdtRW1EO0lvR2xFbkQsZWpDcEJZLEVpQ3FCYjtFQXZCTDtJQTJCUSxvQnBHNkRpRCxFb0c1RGxEO0VBNUJQO0lsQ01FLHNDQUFxQztJQUNyQyxpQmtDd0IyQjtJQUN2QixxQnBHd0RtRDtJb0d2RG5ELHVCcEd1RG1EO0lvR3REbkQsZWpDaENZO0lpQ2lDWixxQnBHcURtRDtJb0dwRG5ELFVBQVEsRUFTVDtJbEc4R0M7TWtHM0pOO1FBc0NRLHNCcEdrRGlELEVvRzNDcEQsRUFBQTtJbEc4R0M7TWtHM0pOO1FBMENVLGFwRzhDK0MsRW9HNUNsRCxFQUFBO0VBNUNQO0lBK0NNLGlCQUFlO0lBQ2YsV0FBUztJQUNULFVBQVEsRUF1Q1Q7SUF4Rkw7TUFtRFEsZUFBYSxFQW9DZDtNQXZGUDtRQXFEVSxjcEdtQytDO1FvR2xDL0Msb0JBQWtCO1FBQ2xCLGlCQUFlLEVBWWhCO1FsR3dGSDtVa0czSk47WUF5RFksZXBHK0I2QyxFb0dyQmhELEVBQUE7UUFuRVQ7VUE2RFkscUJwRzJCNkM7VW9HMUI3QyxpQnBHMEI2QyxFb0d0QjlDO1VsR3lGTDtZa0czSk47Y0FnRWMsc0JwR3dCMkMsRW9HdEI5QyxFQUFBO01BbEVYO1FBcUVVLG9CQUFrQixFQWlCbkI7UUF0RlQ7VWxDTUUsc0NBQXFDO1VBQ3JDLGlCa0NnRWlDO1VBQ3ZCLG1CcEdnQjZDO1VvR2Y3QyxxQnBHZTZDO1VvR2Q3QyxlakMxRUM7VWlDMkVELDBCQUF3QjtVQUN4QixVQUFRO1VBQ1Isd0JwR1c2QyxFb0dWOUM7UUE5RVg7VWxDTUUsc0NBQXFDO1VBQ3JDLGlCa0N5RWlDO1VBQ3ZCLHFCcEdPNkM7VW9HTjdDLHVCcEdNNkM7VW9HTDdDLGVqQ2pGTTtVaUNrRk4sVUFBUSxFQUNUO0VsR3NFTDtJa0czSk47TUE0RlUsb0JwR0orQyxFb0dNbEQsRUFBQTtFbEc2REQ7SWtHM0pOO01BbUdVLHNCcEdYK0MsRW9HYWxELEVBQUE7RUFyR1A7SUF5R0ksaUJBQWU7SUFDZixzQnBHbEJxRCxFb0d1Q3REO0lsRzRCRztNa0czSk47UUE0R00sa0JBQWdCO1FBQ2hCLHVCcEdyQm1ELEVvR3VDdEQsRUFBQTtJQS9ISDtNQWdITSxlakMvR1k7TURBaEIsNEJBQTJCO01BQzNCLGlCa0MrR3NCO01BQ2xCLGtCcEcxQm1EO01vRzJCbkQsb0JwRzNCbUQsRW9HK0JwRDtNQXZITDtRQXFIUSxlakNwSFUsRWlDcUhYO0lBdEhQO01BeUhNLGVqQ3ZIWTtNREloQixzQ0FBcUM7TUFDckMsaUJrQ21IMkI7TUFDdkIsbUJwR25DbUQ7TW9Hb0NuRCxxQnBHcENtRDtNb0dxQ25ELGlCQUFlLEVBQ2hCOztBQzlITDtFQUNFLHdCckd1RnVELEVxR25CeEQ7RW5Hc0ZLO0ltRzNKTjtNQUdJLCtCckcwRlMsRXFHeEJaLEVBQUE7RUFyRUQ7SUFNTSxtQkFBa0IsRUE4RHJCO0lBcEVIO01BUVEsVUFBUSxFQUNUO0lBVFA7TUFXVSxtQkFBa0I7TUFDbEIsU0FBUTtNQUNSLG9DQUEwQjtVQUExQixnQ0FBMEI7Y0FBMUIsNEJBQTBCO01BQzFCLGNBQWEsRUFtQ2hCO01BakRQO1FBaUJjLGdGQUFnRjtRQUM5RSxrQ0FBaUM7UUFDakMsZUFBYztRQUNkLGVBQWM7UUFDZCxXQUFTO1FBQ1QsaUJBQWdCO1FBQ2hCLGFBQVk7UUFDWixZQUFXLEVBQ2hCO01BekJYO1FBNkJZLGVsQzVCTSxFa0M2QlA7TUE5Qlg7UUFrQ2MsZ0JyR3NEMkMsRXFHakQ5QztRQXZDWDtVQXFDa0IsaUJBQWdCLEVBQ25CO01BdENmO1FBMENjLGlCckc4QzJDLEVxR3hDOUM7UUFoRFg7VUE2Q2dCLGlCQUFnQjtVQUNoQixrQ0FBd0I7Y0FBeEIsOEJBQXdCO2tCQUF4QiwwQkFBd0IsRUFDekI7SUEvQ2Y7TUFtRE0sVUFBUSxFQWdCVDtNQW5FTDtRQXVEWSxvQnJHaUM2QztRcUdoQzdDLGVsQ3hEQyxFa0N5REY7TUF6RFg7UUE4RGMsV0FBUyxFQUNWOztBQU9iO0VBR00sZWxDeEVZO0VrQ3lFWixzQnJHY21ELEVxR0xwRDtFQWJMO0lBTVEsWUFBVTtJQUNWLGlCckdXaUQ7SXFHVmpELGtCckdVaUQ7SXFHVGpELGVBQWE7SUFDYixvQmxDaEZLO0lrQ2lGTCxvQnJHT2lELEVxR05sRDs7QUFaUDtFQWdCSSx5QnJHRXFELEVxR21GdEQ7RUFyR0g7SUFrQk0sb0JBQWtCO0lBQ2xCLDRDckdEbUQ7SXFHRW5ELG9CckdGbUQ7SXFHR25ELG1CQUFpQjtJQUNqQix1QnJHSm1ELEVxR2tGcEQ7SUFwR0w7TUF5QlUsa0JBQWdCO01uQ3pGeEIsc0NBQXFDO01BQ3JDLGlCbUN5RitCO01BQ3ZCLGVBQWE7TUFDYixxQnJHVitDLEVxR1doRDtJQTdCVDtNQStCVSxrQkFBZ0I7TW5DL0Z4QixzQ0FBcUM7TUFDckMsaUJtQytGK0I7TUFDdkIsZUFBYTtNQUNiLHFCckdoQitDLEVxR2lCaEQ7SUFuQ1Q7TUFzQ1ksd0JyR3BCNkMsRXFHcUI5QztJQXZDWDtNbkNoRUUsc0NBQXFDO01BQ3JDLGlCbUN3R2lDO01BQ3ZCLGVsQ2hIQztNa0NpSEQscUJyR3pCNkM7TXFHMEI3QywwQkFBd0IsRUFTekI7TUFyRFg7UUE4Q2MsWUFBVTtRQUNWLGlCckc3QjJDO1FxRzhCM0Msa0JyRzlCMkM7UXFHK0IzQyxlQUFhO1FBQ2Isb0JsQ3hIRDtRa0N5SEMscUJyR2pDMkMsRXFHa0M1QztJQXBEYjtNQXdEVSx5QnJHdEMrQyxFcUd3RGhEO01BMUVUO1FBMERZLGtCckduQ0MsRXFHMkNGO1FBbEVYO1VuQ3JFRSw0QkFBMkI7VUFDM0IsaUJtQ2dJOEI7VUFDbEIscUJyRzNDMkM7VXFHNEMzQyx1QnJHNUMyQztVcUc2QzNDLGVBQWE7VUFDYixlbENySUksRWtDc0lMO01BakViO1FuQ2hFRSxzQ0FBcUM7UUFDckMsaUJtQ21JaUM7UUFDdkIscUJyR25ENkM7UXFHb0Q3Qyx1QnJHcEQ2QztRcUdxRDdDLGVBQWE7UUFDYix5QnJHdEQ2QyxFcUd1RDlDO0lBekVYO01BNEVVLG1CQUFpQjtNQUNqQixnQnJHM0QrQyxFcUc2RWhEO01BL0ZUO1FuQ2hFRSxzQ0FB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QnhHdkIrQyxFd0drQ2hEO1VBMUhUO1lBaUhZLHNCQUFvQjtZQUNwQixpQnhHMUI2QztZd0cyQjdDLGtCeEczQjZDO1l3RzRCN0MsdUJBQXFCO1lBQ3JCLHVCeEc3QjZDLEV3RzhCOUM7VUF0SFg7WUF3SFksYUFBVyxFQUNaOztBQ3pIWDtFQUNFLG9CQUFrQjtFQUNsQixrQ3pHc0Z1RDtFeUdyRnZELG1CQUFpQjtFQUNqQixZQUFVLEVBMkVYO0V2RzRFSztJdUczSk47TUFNSSx3QnpHa0ZxRCxFeUdUeEQsRUFBQTtFdkc0RUs7SXVHM0pOO01BU0ksa0JBQWlCO01BQ2pCLHlCekdtRlMsRXlHZFosRUFBQTtFQS9FRDtJQWFJLGNBQVksRUFJYjtJdkcwSUc7TXVHM0pOO1FBZU0sZUFBYSxFQUVoQixFQUFBO0VBakJIO0lBbUJJLGNBQVksRUFJYjtJdkdvSUc7TXVHM0pOO1FBcUJNLGVBQWEsRUFFaEIsRUFBQTtFQXZCSDtJQXlCSSxvQnpHK0RxRCxFeUd4QnREO0l2RzJGRztNdUczSk47UUEyQk0sdUJ6RzZEbUQsRXlHeEJ0RCxFQUFBO0l2RzJGRztNdUczSk47UUE4Qk0sdUJ6RzBEbUQsRXlHeEJ0RCxFQUFBO0lBaEVIO01BaUNNLGV0Q2hDWTtNc0NpQ1osdUJ6R3NEbUQsRXlHN0NwRDtNQTNDTDtRQW9DUSxZQUFVO1FBQ1YsaUJ6R21EaUQ7UXlHbERqRCxrQnpHa0RpRDtReUdqRGpELG9CdEN2Q0s7UXNDd0NMLGVBQWE7UUFDYixzQnpHK0NpRCxFeUc5Q2xEO0l2R2lIRDtNdUczSk47UUErQ1EsZXpHeUNpRCxFeUd6QnBELEVBQUE7SUEvREw7TXZDTUUsc0NBQXFDO01BQ3JDLGlCdUMyQzZCO01BQ3ZCLHFCekdxQ2lEO015R3BDakQsdUJ6R29DaUQ7TXlHbkNqRCxldENuRFUsRXNDb0RYO0lBdERQO012Q01FLHNDQUFxQztNQUNyQyxpQnVDaUQ2QjtNQUN2QixtQnpHK0JpRDtNeUc5QmpELHFCekc4QmlEO015RzdCakQsZXRDM0RLO01zQzRETCwwQkFBd0I7TUFDeEIsOEJ6R2dDSyxFeUcvQk47RXZH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Y0FBWixjQUFZO2NBQ1osd0JBQWU7a0JBQWYsb0JBQWU7c0JBQWYsZ0JBQWU7Y0FDZixXQUFTO2NBQ1Qsb0JBQXdCLEVBd0IzQixFQUFBO1VBNUpYO1lBdUljLHVCQUFhO2dCQUFiLHFCQUFhO29CQUFiLGVBQWE7WUFFYiwwQmxEeklEO1lrRDBJQyxpQnJIbEQyQztZcUhtRDNDLHVCckg5Q0Q7WXFIK0NDLHNCQUFZO1lBQVoscUJBQVk7WUFBWixjQUFZO1lBQ1osNEJBQW1CO2dCQUFuQix1QkFBbUI7b0JBQW5CLG9CQUFtQjtZQUNuQixnQ0FBdUI7Z0JBQXZCLHNCQUF1QjtvQkFBdkIsd0JBQXVCO1lBQ3ZCLGVySHZEMkMsRXFIbUU1QztZbkhBUDtjbUgzSk47Z0JBaUpnQixXQUFTO2dCQUNULHFDckgxRHlDLEVxSG1FNUMsRUFBQTtZbkhBUDtjbUgzSk47Z0JBcUpnQixXQUFTLEVBTVosRUFBQTtZQTNKYjtjQXdKZ0IsaUJySGhFeUM7Y3FIaUV6QyxvQnJIakV5QyxFcUhrRTFDO1FBMUpmO1VBOEpZLHVCckh0RTZDO1VxSHVFN0MsZXpIL0VHLEV5SHNGSjtVQXRLWDtZQWlLYyxlekhqRkMsRXlIcUZGO1lBcktiO2NBbUtnQiwyQkFBMEIsRUFDM0I7TUFwS2Y7UUEyS1ksaUJBQWUsRUFJaEI7UUEvS1g7VUE2S2Msa0NBQXdCO2NBQXhCLDhCQUF3QjtrQkFBeEIsMEJBQXdCLEVBQ3pCIiwiZmlsZSI6ImFwcC5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAY2hhcnNldCBcIlVURi04XCI7XG4vKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4zLjFcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG4vKiEgbm9ybWFsaXplLXNjc3MgfCBNSVQvR1BMdjIgTGljZW5zZSB8IGJpdC5seS9ub3JtYWxpemUtc2NzcyAqL1xuLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGxpbmUtaGVpZ2h0OiAxLjE1O1xuICAvKiAyICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAzICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMyAqLyB9XG5cbi8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmFydGljbGUsXG5hc2lkZSxcbmZvb3RlcixcbmhlYWRlcixcbm5hdixcbnNlY3Rpb24ge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBmb250IHNpemUgYW5kIG1hcmdpbiBvbiBgaDFgIGVsZW1lbnRzIHdpdGhpbiBgc2VjdGlvbmAgYW5kXG4gICAgICogYGFydGljbGVgIGNvbnRleHRzIGluIENocm9tZSwgRmlyZWZveCwgYW5kIFNhZmFyaS5cbiAgICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmZpZ2NhcHRpb24sXG5maWd1cmUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIEZpcmVmb3guXG4gICAgICogMi4gU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZSBhbmQgSUUuXG4gICAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAvKiAxICovXG4gIGhlaWdodDogMDtcbiAgLyogMSAqL1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xubWFpbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluaGVyaXRhbmNlIGFuZCBzY2FsaW5nIG9mIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb2RkIGBlbWAgZm9udCBzaXppbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xucHJlIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyogTGlua3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgb24gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgICAqIDIuIFJlbW92ZSBnYXBzIGluIGxpbmtzIHVuZGVybGluZSBpbiBpT1MgOCsgYW5kIFNhZmFyaSA4Ky5cbiAgICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgLyogMSAqL1xuICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lLXdpZHRoOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgYm90dG9tIGJvcmRlciBpbiBGaXJlZm94IDM5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdGV4dCBkZWNvcmF0aW9uIGluIENocm9tZSwgRWRnZSwgSUUsIE9wZXJhLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuYWJiclt0aXRsZV0ge1xuICBib3JkZXItYm90dG9tOiBub25lO1xuICAvKiAxICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAvKiAyICovXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lIGRvdHRlZDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgICAqIFByZXZlbnQgdGhlIGR1cGxpY2F0ZSBhcHBsaWNhdGlvbiBvZiBgYm9sZGVyYCBieSB0aGUgbmV4dCBydWxlIGluIFNhZmFyaSA2LlxuICAgICAqL1xuYixcbnN0cm9uZyB7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHdlaWdodCBpbiBDaHJvbWUsIEVkZ2UsIGFuZCBTYWZhcmkuXG4gICAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGRlcjsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbmNvZGUsXG5rYmQsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMWVtO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc3R5bGUgaW4gQW5kcm9pZCA0LjMtLlxuICAgICAqL1xuZGZuIHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBiYWNrZ3JvdW5kIGFuZCBjb2xvciBpbiBJRSA5LS5cbiAgICAgKi9cbm1hcmsge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICBjb2xvcjogIzAwMDsgfVxuXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgZWxlbWVudHMgZnJvbSBhZmZlY3RpbmcgdGhlIGxpbmUgaGVpZ2h0IGluXG4gICAgICogYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuc3VwIHtcbiAgdG9wOiAtMC41ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKi9cbmF1ZGlvLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cbmF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMDsgfVxuXG4vKipcbiAgICAgKiBSZW1vdmUgdGhlIGJvcmRlciBvbiBpbWFnZXMgaW5zaWRlIGxpbmtzIGluIElFIDEwLS5cbiAgICAgKi9cbmltZyB7XG4gIGJvcmRlci1zdHlsZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbnN2Zzpub3QoOnJvb3QpIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4vKiBGb3Jtc1xuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiAxLiBDaGFuZ2UgdGhlIGZvbnQgc3R5bGVzIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIFJlbW92ZSB0aGUgbWFyZ2luIGluIEZpcmVmb3ggYW5kIFNhZmFyaS5cbiAgICAgKi9cbmJ1dHRvbixcbmlucHV0LFxub3B0Z3JvdXAsXG5zZWxlY3QsXG50ZXh0YXJlYSB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIGZvbnQtc2l6ZTogMTAwJTtcbiAgLyogMSAqL1xuICBsaW5lLWhlaWdodDogMS4xNTtcbiAgLyogMSAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBTaG93IHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cbmJ1dHRvbiB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIC8qIDEgKi9cbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAgICogMS4gUHJldmVudCBhIFdlYktpdCBidWcgd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gIGFuZCBgdmlkZW9gXG4gICAgICogICAgY29udHJvbHMgaW4gQW5kcm9pZCA0LlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICovXG5idXR0b24sXG5odG1sIFt0eXBlPVwiYnV0dG9uXCJdLFxuW3R5cGU9XCJyZXNldFwiXSxcblt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi8gfVxuXG5idXR0b24sXG5bdHlwZT1cImJ1dHRvblwiXSxcblt0eXBlPVwicmVzZXRcIl0sXG5bdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC8qKlxuICAgICAgICogUmVtb3ZlIHRoZSBpbm5lciBib3JkZXIgYW5kIHBhZGRpbmcgaW4gRmlyZWZveC5cbiAgICAgICAqL1xuICAvKipcbiAgICAgICAqIFJlc3RvcmUgdGhlIGZvY3VzIHN0eWxlcyB1bnNldCBieSB0aGUgcHJldmlvdXMgcnVsZS5cbiAgICAgICAqLyB9XG4gIGJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbiAgW3R5cGU9XCJidXR0b25cIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwicmVzZXRcIl06Oi1tb3otZm9jdXMtaW5uZXIsXG4gIFt0eXBlPVwic3VibWl0XCJdOjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgcGFkZGluZzogMDsgfVxuICBidXR0b246LW1vei1mb2N1c3JpbmcsXG4gIFt0eXBlPVwiYnV0dG9uXCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInJlc2V0XCJdOi1tb3otZm9jdXNyaW5nLFxuICBbdHlwZT1cInN1Ym1pdFwiXTotbW96LWZvY3VzcmluZyB7XG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCBCdXR0b25UZXh0OyB9XG5cbi8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIEVkZ2UuXG4gICAgICovXG5pbnB1dCB7XG4gIG92ZXJmbG93OiB2aXNpYmxlOyB9XG5cbi8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuW3R5cGU9XCJjaGVja2JveFwiXSxcblt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5bdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcblt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIG9kZCBhcHBlYXJhbmNlIGluIENocm9tZSBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG91dGxpbmUgc3R5bGUgaW4gU2FmYXJpLlxuICAgICAqL1xuW3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgLyogMiAqL1xuICAvKipcbiAgICAgICAqIFJlbW92ZSB0aGUgaW5uZXIgcGFkZGluZyBhbmQgY2FuY2VsIGJ1dHRvbnMgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gbWFjT1MuXG4gICAgICAgKi8gfVxuICBbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbiwgW3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIHR5cGVzIGluIGlPUyBhbmQgU2FmYXJpLlxuICAgICAqIDIuIENoYW5nZSBmb250IHByb3BlcnRpZXMgdG8gYGluaGVyaXRgIGluIFNhZmFyaS5cbiAgICAgKi9cbjo6LXdlYmtpdC1maWxlLXVwbG9hZC1idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogQ2hhbmdlIHRoZSBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjMGMwYzA7XG4gIG1hcmdpbjogMCAycHg7XG4gIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTsgfVxuXG4vKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSB0ZXh0IHdyYXBwaW5nIGluIEVkZ2UgYW5kIElFLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGNvbG9yIGluaGVyaXRhbmNlIGZyb20gYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBJRS5cbiAgICAgKiAzLiBSZW1vdmUgdGhlIHBhZGRpbmcgc28gZGV2ZWxvcGVycyBhcmUgbm90IGNhdWdodCBvdXQgd2hlbiB0aGV5IHplcm8gb3V0XG4gICAgICogICAgYGZpZWxkc2V0YCBlbGVtZW50cyBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5sZWdlbmQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIGRpc3BsYXk6IHRhYmxlO1xuICAvKiAxICovXG4gIG1heC13aWR0aDogMTAwJTtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAzICovXG4gIGNvbG9yOiBpbmhlcml0O1xuICAvKiAyICovXG4gIHdoaXRlLXNwYWNlOiBub3JtYWw7XG4gIC8qIDEgKi8gfVxuXG4vKipcbiAgICAgKiAxLiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSA5LS5cbiAgICAgKiAyLiBBZGQgdGhlIGNvcnJlY3QgdmVydGljYWwgYWxpZ25tZW50IGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgICAqL1xucHJvZ3Jlc3Mge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cbnRleHRhcmVhIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLyogSW50ZXJhY3RpdmVcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBFZGdlLCBJRSwgYW5kIEZpcmVmb3guXG4gICAgICovXG5kZXRhaWxzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogbGlzdC1pdGVtOyB9XG5cbi8qXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5tZW51IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyogU2NyaXB0aW5nXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuY2FudmFzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5baGlkZGVuXSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQwZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9NzVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgZm9udC1zaXplOiAxMDAlOyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzBhMGEwYTtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogYXV0bztcbiAgLW1zLWludGVycG9sYXRpb24tbW9kZTogYmljdWJpYzsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgcGFkZGluZzogMDtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA3MHJlbTtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBtYXJnaW4tbGVmdDogYXV0bzsgfVxuICAucm93OjpiZWZvcmUsIC5yb3c6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAucm93OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW4sIC5yb3cuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnJvdyAucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTtcbiAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0wLjkzNzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjY4NzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC42ODc1cmVtOyB9IH1cbiAgICAucm93IC5yb3cuY29sbGFwc2Uge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gICAgLnJvdy5leHBhbmRlZCAucm93IHtcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gIC5yb3c6bm90KC5leHBhbmRlZCkgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuZ3V0dGVyLXNtYWxsID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItc21hbGwgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1uLCAucm93Lmd1dHRlci1tZWRpdW0gPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9XG4gIC5yb3cuZ3V0dGVyLWxhcmdlID4gLmNvbHVtbiwgLnJvdy5ndXR0ZXItbGFyZ2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42ODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42ODc1cmVtOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjY4NzVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjg3NXJlbTsgfSB9XG4gIC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5jb2x1bW4uZW5kOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCwgLmVuZC5jb2x1bW5zOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7IH1cblxuLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG4gIHBhZGRpbmctbGVmdDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIHdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC0xIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0wIHtcbiAgbWFyZ2luLWxlZnQ6IDAlOyB9XG5cbi5zbWFsbC0yIHtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0yIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXB1bGwtMiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogLTE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICB3aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1wdXNoLTMge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtcHVsbC0zIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICB3aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC00IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMyB7XG4gIG1hcmdpbi1sZWZ0OiAyNSU7IH1cblxuLnNtYWxsLTUge1xuICB3aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDQxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC01IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICB3aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1wdXNoLTYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtcHVsbC02IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICB3aWR0aDogNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1wdXNoLTcge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtcHVsbC03IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNTguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNiB7XG4gIG1hcmdpbi1sZWZ0OiA1MCU7IH1cblxuLnNtYWxsLTgge1xuICB3aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1wdXNoLTgge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDY2LjY2NjY3JTsgfVxuXG4uc21hbGwtcHVsbC04IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICB3aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1wdXNoLTkge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtcHVsbC05IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgd2lkdGg6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtcHVzaC0xMCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1wdWxsLTEwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtcHVzaC0xMSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1wdWxsLTExIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAtOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTAge1xuICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC0xMiB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMTAwJTsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKzEpLCAuc21hbGwtdXAtMSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDUwJTsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAuc21hbGwtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTIgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDNuKzEpLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTMgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNCA+IC5jb2x1bW4sIC5zbWFsbC11cC00ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDI1JTsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDRuKzEpLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDRuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDIwJTsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAuc21hbGwtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTUgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDZuKzEpLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDZuKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTYgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtNyA+IC5jb2x1bW4sIC5zbWFsbC11cC03ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDE0LjI4NTcxJTsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgY2xlYXI6IG5vbmU7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDduKzEpLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDduKzEpIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuc21hbGwtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLnNtYWxsLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbGVmdDsgfVxuXG4uc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICBmbG9hdDogbGVmdDtcbiAgd2lkdGg6IDEyLjUlOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICBjbGVhcjogbm9uZTsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5zbWFsbC11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAuc21hbGwtdXAtOCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1yaWdodDogMDtcbiAgcGFkZGluZy1sZWZ0OiAwOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSAucm93IHtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uZXhwYW5kZWQucm93IC5zbWFsbC1jb2xsYXBzZS5yb3cge1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG5cbi5zbWFsbC1jZW50ZXJlZCB7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgLnNtYWxsLWNlbnRlcmVkLCAuc21hbGwtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNtYWxsLXVuY2VudGVyZWQsXG4uc21hbGwtcHVzaC0wLFxuLnNtYWxsLXB1bGwtMCB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubWVkaXVtLXB1bGwtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0yNSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMiB7XG4gICAgbWFyZ2luLWxlZnQ6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICB3aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubWVkaXVtLXB1bGwtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC01MCU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtNSB7XG4gICAgbWFyZ2luLWxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdXNoLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1wdWxsLTcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICB3aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVzaC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLXB1bGwtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC03NSU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOCB7XG4gICAgbWFyZ2luLWxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tcHVzaC0xMCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLXB1bGwtMTAge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAtODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLm1lZGl1bS0xMSB7XG4gICAgd2lkdGg6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXB1c2gtMTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLTEyIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLXVwLTEgPiAuY29sdW1uLCAubWVkaXVtLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbisxKSwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTEgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgybisxKSwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoM24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg0bisxKSwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNCA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAyMCU7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg1bisxKSwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNSA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNm4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNC4yODU3MSU7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg3bisxKSwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5tZWRpdW0tdXAtNyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMi41JTsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDhuKzEpLCAubWVkaXVtLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSg4bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5tZWRpdW0tdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubWVkaXVtLWNvbGxhcHNlIC5yb3cge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAuZXhwYW5kZWQucm93IC5tZWRpdW0tY29sbGFwc2Uucm93IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cbiAgICAubWVkaXVtLWNlbnRlcmVkLCAubWVkaXVtLWNlbnRlcmVkOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAubWVkaXVtLXVuY2VudGVyZWQsXG4gIC5tZWRpdW0tcHVzaC0wLFxuICAubWVkaXVtLXB1bGwtMCB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC0xIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5sYXJnZS0yIHtcbiAgICB3aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXB1bGwtMiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IC0xNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMge1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXB1c2gtMyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtcHVsbC0zIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC00IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTMzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLmxhcmdlLTUge1xuICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtNSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC01IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXB1c2gtNiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtcHVsbC02IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIHdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLXB1c2gtNyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtcHVsbC03IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTU4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLmxhcmdlLTgge1xuICAgIHdpZHRoOiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLXB1c2gtOCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2UtcHVsbC04IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLXB1c2gtOSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtcHVsbC05IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICB3aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdXNoLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1wdWxsLTEwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICB3aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdXNoLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1wdWxsLTExIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgbGVmdDogLTkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS0xMiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4rMSksIC5sYXJnZS11cC0xID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTEgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOm50aC1vZi10eXBlKDJuKzEpLCAubGFyZ2UtdXAtMiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDJuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTIgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC0yID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpudGgtb2YtdHlwZSgzbisxKSwgLmxhcmdlLXVwLTMgPiAuY29sdW1uczpudGgtb2YtdHlwZSgzbisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtMyA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTQgPiAuY29sdW1uLCAubGFyZ2UtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMjUlOyB9XG4gICAgLmxhcmdlLXVwLTQgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoNG4rMSksIC5sYXJnZS11cC00ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoNG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTQgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDIwJTsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbjpudGgtb2YtdHlwZSgxbiksIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoMW4pIHtcbiAgICAgIGNsZWFyOiBub25lOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOm50aC1vZi10eXBlKDVuKzEpLCAubGFyZ2UtdXAtNSA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDVuKzEpIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLmxhcmdlLXVwLTUgPiAuY29sdW1uOmxhc3QtY2hpbGQsIC5sYXJnZS11cC01ID4gLmNvbHVtbnM6bGFzdC1jaGlsZCB7XG4gICAgICBmbG9hdDogbGVmdDsgfVxuICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxNi42NjY2NyU7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW46bnRoLW9mLXR5cGUoMW4pLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpudGgtb2YtdHlwZSg2bisxKSwgLmxhcmdlLXVwLTYgPiAuY29sdW1uczpudGgtb2YtdHlwZSg2bisxKSB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbjpsYXN0LWNoaWxkLCAubGFyZ2UtdXAtNiA+IC5jb2x1bW5zOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgLmxhcmdlLXVwLTcgPiAuY29sdW1uLCAubGFyZ2UtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTQuMjg1NzElOyB9XG4gICAgLmxhcmdlLXVwLTcgPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bnRoLW9mLXR5cGUoN24rMSksIC5sYXJnZS11cC03ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoN24rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTcgPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEyLjUlOyB9XG4gICAgLmxhcmdlLXVwLTggPiAuY29sdW1uOm50aC1vZi10eXBlKDFuKSwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpudGgtb2YtdHlwZSgxbikge1xuICAgICAgY2xlYXI6IG5vbmU7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bnRoLW9mLXR5cGUoOG4rMSksIC5sYXJnZS11cC04ID4gLmNvbHVtbnM6bnRoLW9mLXR5cGUoOG4rMSkge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW46bGFzdC1jaGlsZCwgLmxhcmdlLXVwLTggPiAuY29sdW1uczpsYXN0LWNoaWxkIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAubGFyZ2UtY29sbGFwc2UgLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5leHBhbmRlZC5yb3cgLmxhcmdlLWNvbGxhcHNlLnJvdyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1yaWdodDogMC42ODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMC42ODc1cmVtOyB9XG4gIC5sYXJnZS1jZW50ZXJlZCB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvOyB9XG4gICAgLmxhcmdlLWNlbnRlcmVkLCAubGFyZ2UtY2VudGVyZWQ6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC5sYXJnZS11bmNlbnRlcmVkLFxuICAubGFyZ2UtcHVzaC0wLFxuICAubGFyZ2UtcHVsbC0wIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMDsgfSB9XG5cbi5jb2x1bW4tYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb2x1bW4tYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH1cbiAgICAgIC5jb2x1bW4tYmxvY2sgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkhlbHZldGljYSBOZXVlXCIsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZjtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIGgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBjb2xvcjogI2NhY2FjYTsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMS41cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgbWFyZ2luLXRvcDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbmg2IHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogM3JlbTsgfVxuICBoMiB7XG4gICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS45Mzc1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG5hIHtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiAjMTc3OWJhO1xuICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogIzE0NjhhMDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgY2xlYXI6IGJvdGg7XG4gIG1heC13aWR0aDogNzByZW07XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gIGJvcmRlci10b3A6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1sZWZ0OiAwOyB9XG5cbnVsLFxub2wsXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxubGkge1xuICBmb250LXNpemU6IGluaGVyaXQ7IH1cblxudWwge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjOyB9XG5cbm9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxudWwgdWwsIG9sIHVsLCB1bCBvbCwgb2wgb2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5kbCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07IH1cbiAgZGwgZHQge1xuICAgIG1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG5ibG9ja3F1b3RlIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41NjI1cmVtIDEuMjVyZW0gMCAxLjE4NzVyZW07XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NhY2FjYTsgfVxuICBibG9ja3F1b3RlLCBibG9ja3F1b3RlIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgY29sb3I6ICM4YThhOGE7IH1cblxuY2l0ZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICM4YThhOGE7IH1cbiAgY2l0ZTpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oCUIFwiOyB9XG5cbmFiYnIge1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwYTBhMGE7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbmNvZGUge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBmb250LWZhbWlseTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7IH1cblxua2JkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uc3ViaGVhZGVyIHtcbiAgbWFyZ2luLXRvcDogMC4ycmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5sZWFkIHtcbiAgZm9udC1zaXplOiAxMjUlO1xuICBsaW5lLWhlaWdodDogMS42OyB9XG5cbi5zdGF0IHtcbiAgZm9udC1zaXplOiAyLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIHAgKyAuc3RhdCB7XG4gICAgbWFyZ2luLXRvcDogLTFyZW07IH1cblxuLm5vLWJ1bGxldCB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi50ZXh0LWxlZnQge1xuICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG5cbi50ZXh0LXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRleHQtY2VudGVyIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi50ZXh0LWp1c3RpZnkge1xuICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogYmxhY2sgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH1cbiAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgcGFnZS1icmVhay1pbnNpZGU6IGF1dG87IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICBmb250LXNpemU6IDAuOXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTQ2NzllO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzEyNjE5NTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM1ZTVlNWU7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAuYnV0dG9uLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uc3VjY2Vzczpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjJiYjViO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLndhcm5pbmc6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjOGIwMDtcbiAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5idXR0b24uYWxlcnQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmFsZXJ0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhNTNiMmE7XG4gICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzE3NzliYTtcbiAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjMGMzZDVkO1xuICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNzc5YmE7XG4gICAgICBjb2xvcjogIzE3NzliYTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzBjM2Q1ZDtcbiAgICAgICAgY29sb3I6ICMwYzNkNWQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjNzY3Njc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzNiM2IzYjtcbiAgICAgICAgY29sb3I6ICMzYjNiM2I7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzYWRiNzY7XG4gICAgICBjb2xvcjogIzNhZGI3NjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3VjY2Vzczpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzE1NzUzOTtcbiAgICAgICAgY29sb3I6ICMxNTc1Mzk7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmFlMDA7XG4gICAgICBjb2xvcjogI2ZmYWUwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwNTcwMDtcbiAgICAgICAgY29sb3I6ICM4MDU3MDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5hbGVydCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjY2M0YjM3O1xuICAgICAgY29sb3I6ICNjYzRiMzc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmFsZXJ0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5hbGVydDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY3MjUxYTtcbiAgICAgICAgY29sb3I6ICM2NzI1MWE7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF06Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnByaW1hcnksIC5idXR0b24uZGlzYWJsZWQucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC5wcmltYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5LCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXS5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5IHtcbiAgICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgICAuYnV0dG9uLmRpc2FibGVkLnNlY29uZGFyeSwgLmJ1dHRvbi5kaXNhYmxlZC5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuc2Vjb25kYXJ5OmZvY3VzLCAuYnV0dG9uW2Rpc2FibGVkXS5zZWNvbmRhcnksIC5idXR0b25bZGlzYWJsZWRdLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3Mge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuc3VjY2VzcywgLmJ1dHRvbi5kaXNhYmxlZC5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmRpc2FibGVkLnN1Y2Nlc3M6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3MsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZyB7XG4gICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgICAgLmJ1dHRvbi5kaXNhYmxlZC53YXJuaW5nLCAuYnV0dG9uLmRpc2FibGVkLndhcm5pbmc6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQud2FybmluZzpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZywgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0ud2FybmluZzpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZC5hbGVydCwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQge1xuICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAgIC5idXR0b24uZGlzYWJsZWQuYWxlcnQsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQuYWxlcnQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdLmFsZXJ0LCAuYnV0dG9uW2Rpc2FibGVkXS5hbGVydDpob3ZlciwgLmJ1dHRvbltkaXNhYmxlZF0uYWxlcnQ6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6ICNmZWZlZmUgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzE3NzliYTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5wcmltYXJ5OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzE3NzliYTsgfVxuICAuYnV0dG9uLmRyb3Bkb3duLmhvbGxvdy5zZWNvbmRhcnk6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjNzY3Njc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LnN1Y2Nlc3M6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93Lndhcm5pbmc6OmFmdGVyIHtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZhZTAwOyB9XG4gIC5idXR0b24uZHJvcGRvd24uaG9sbG93LmFsZXJ0OjphZnRlciB7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogI2NjNGIzNzsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICB0b3A6IC0wLjFlbTtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjQzNzVyZW07XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTtcbiAgYm94LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoMTAsIDEwLCAxMCwgMC4xKTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICMwYTBhMGE7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuICBhcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1cHggI2NhY2FjYTtcbiAgICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDAuNXMsIGJvcmRlci1jb2xvciAwLjI1cyBlYXNlLWluLW91dDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2FjYWNhOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuW3R5cGU9J3N1Ym1pdCddLFxuW3R5cGU9J2J1dHRvbiddIHtcbiAgYXBwZWFyYW5jZTogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5pbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuW3R5cGU9J2ZpbGUnXSxcblt0eXBlPSdjaGVja2JveCddLFxuW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG5cblt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG5bdHlwZT0ncmFkaW8nXSArIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBbdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsW2Zvcl0sXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWxbZm9yXSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG5cbmxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG5sYWJlbCA+IFt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuW3R5cGU9J2ZpbGUnXSB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbmxhYmVsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuODtcbiAgY29sb3I6ICMwYTBhMGE7IH1cbiAgbGFiZWwubWlkZGxlIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHBhZGRpbmc6IDAuNTYyNXJlbSAwOyB9XG5cbi5oZWxwLXRleHQge1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuXG4uaW5wdXQtZ3JvdXAge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cbiAgLmlucHV0LWdyb3VwID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpsYXN0LWNoaWxkID4gKiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwsIC5pbnB1dC1ncm91cC1maWVsZCwgLmlucHV0LWdyb3VwLWJ1dHRvbiwgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbi5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uLFxuLmlucHV0LWdyb3VwLWJ1dHRvbiBsYWJlbCB7XG4gIG1hcmdpbjogMDtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uaW5wdXQtZ3JvdXAtbGFiZWwge1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJpZ2h0OiAwOyB9XG4gIC5pbnB1dC1ncm91cC1sYWJlbDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItbGVmdDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtZmllbGQge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmbGV4OiAxIDEgMHB4O1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi13aWR0aDogMDsgfVxuXG4uaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZsZXg6IDAgMCBhdXRvOyB9XG4gIC5pbnB1dC1ncm91cC1idXR0b24gYSxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBpbnB1dCxcbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBidXR0b24sXG4gIC5pbnB1dC1ncm91cC1idXR0b24gbGFiZWwge1xuICAgIGhlaWdodDogMi41cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuXG5maWVsZHNldCB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5maWVsZHNldCB7XG4gIG1hcmdpbjogMS4xMjVyZW0gMDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NhY2FjYTsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLWxlZnQ6IC0wLjE4NzVyZW07XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuNDM3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBhcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBmb250LWZhbWlseTogaW5oZXJpdDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzBhMGEwYTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gICAgYm94LXNoYWRvdzogMCAwIDVweCAjY2FjYWNhO1xuICAgIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0OyB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gIHNlbGVjdDo6LW1zLWV4cGFuZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICBzZWxlY3RbbXVsdGlwbGVdIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG4uaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKSB7XG4gIGJvcmRlci1jb2xvcjogI2NjNGIzNztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZWNlYTsgfVxuICAuaXMtaW52YWxpZC1pbnB1dDpub3QoOmZvY3VzKTo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAjY2M0YjM3OyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNjYzRiMzc7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2NjNGIzNzsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGNvbG9yOiAjMTc3OWJhOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2O1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMXJlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICAgIGNvbnRlbnQ6ICcrJzsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDEzJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTNweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuXG4uYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIHBhZGRpbmc6IDAuM2VtO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMTc3OWJhO1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICM3Njc2NzY7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJhZGdlLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJhZGdlLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5icmVhZGNydW1icyB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuICAuYnJlYWRjcnVtYnM6OmJlZm9yZSwgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmJyZWFkY3J1bWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmJyZWFkY3J1bWJzIGxpIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBjb2xvcjogIzBhMGEwYTtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5icmVhZGNydW1icyBsaTpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDFweDtcbiAgICAgIG1hcmdpbjogMCAwLjc1cmVtO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgY29sb3I6ICNjYWNhY2E7IH1cbiAgLmJyZWFkY3J1bWJzIGEge1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLmJyZWFkY3J1bWJzIGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmJyZWFkY3J1bWJzIC5kaXNhYmxlZCB7XG4gICAgY29sb3I6ICNjYWNhY2E7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiBub3dyYXA7XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoOyB9XG4gIC5idXR0b24tZ3JvdXA6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBmbGV4LWJhc2lzOiAwO1xuICAgIG9yZGVyOiAxOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07XG4gICAgZmxleDogMCAwIGF1dG87IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnByaW1hcnkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTI2MTk1O1xuICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmJ1dHRvbi1ncm91cC5zZWNvbmRhcnkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzVlNWU1ZTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3O1xuICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2E1M2IyYTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTAsIDEwLCAxMCwgMC4yNSk7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6IHdoaXRlO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkN2VjZmE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWFlYWVhO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZTRlMTtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNhcmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBib3gtc2hhZG93OiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjb2xvcjogIzBhMGEwYTsgfVxuICAuY2FyZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jYXJkLWRpdmlkZXIge1xuICBmbGV4OiAwIDEgYXV0bztcbiAgcGFkZGluZzogMXJlbTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAuY2FyZC1kaXZpZGVyID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmNhcmQtc2VjdGlvbiB7XG4gIGZsZXg6IDEgMCBhdXRvO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC5jYXJkLXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY2xvc2UtYnV0dG9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBjb2xvcjogIzhhOGE4YTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5jbG9zZS1idXR0b24uc21hbGwge1xuICAgIHJpZ2h0OiAwLjY2cmVtO1xuICAgIHRvcDogMC4zM2VtO1xuICAgIGZvbnQtc2l6ZTogMS41ZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNsb3NlLWJ1dHRvbiwgLmNsb3NlLWJ1dHRvbi5tZWRpdW0ge1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtO1xuICAgIGZvbnQtc2l6ZTogMmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBmbGV4OiAwIDAgYXV0bzsgfVxuICAgIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAubWVudSA+IGxpIHtcbiAgICAgIG91dGxpbmU6IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuN3JlbSAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBzZWxlY3QsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gICAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51ID4gbGkgPiBhIGksXG4gICAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuICAubWVudSwgLm1lbnUuaG9yaXpvbnRhbCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAubWVudSA+IGxpLCAubWVudS5ob3Jpem9udGFsID4gbGkge1xuICAgICAgZmxleDogMCAwIGF1dG87IH1cbiAgLm1lbnUuZXhwYW5kZWQgPiBsaSB7XG4gICAgZmxleDogMSAxIDBweDsgfVxuICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5tZW51LnZlcnRpY2FsIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVudS52ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gICAgLm1lbnUudmVydGljYWwgPiBsaSA+IGEge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfVxuICAgICAgLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUubWVkaXVtLWV4cGFuZGVkID4gbGkge1xuICAgICAgZmxleDogMSAxIDBweDsgfVxuICAgIC5tZW51Lm1lZGl1bS1leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpID4gYSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvOyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9XG4gICAgLm1lbnUubGFyZ2UtZXhwYW5kZWQgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9IH1cbiAgLm1lbnUuc2ltcGxlIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAubWVudS5zaW1wbGUgYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAubWVudS5zaW1wbGUuYWxpZ24tcmlnaHQgbGkge1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudS5hbGlnbi1yaWdodCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZW51Lmljb24tdG9wLnZlcnRpY2FsIGEgPiBzcGFuIHtcbiAgICBtYXJnaW46IGF1dG87IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubWVudS5tZW51LWJvcmRlcmVkIGxpIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gICAgLm1lbnUubWVudS1ib3JkZXJlZCBsaTpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBib3JkZXItdG9wOiAwOyB9XG4gIC5tZW51Lm1lbnUtaG92ZXIgbGk6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7IH1cblxuLm1lbnUtdGV4dCB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC43cmVtIDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6IGluaGVyaXQ7IH1cblxuLm1lbnUtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICNmZWZlZmUsIDAgMTRweCAwICNmZWZlZmU7XG4gICAgY29udGVudDogJyc7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjYWNhY2E7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjY2FjYWNhLCAwIDE0cHggMCAjY2FjYWNhOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwYTBhMGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMGEwYTBhLCAwIDE0cHggMCAjMGEwYTBhO1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOGE4YThhLCAwIDE0cHggMCAjOGE4YThhOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmlzLWRyaWxsZG93bi5hbmltYXRlLWhlaWdodCB7XG4gICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtYWN0aXZlIHtcbiAgICB6LWluZGV4OiAxO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWNsb3Npbmcge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICBtaW4taGVpZ2h0OiAxMDAlOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cblxuLmRyb3Bkb3duLXBhbmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDMwMHB4O1xuICBwYWRkaW5nOiAxcmVtO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7XG4gIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuZHJvcGRvd24tcGFuZS5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlOyB9XG5cbi5kcm9wZG93bi1wYW5lLnRpbnkge1xuICB3aWR0aDogMTAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUuc21hbGwge1xuICB3aWR0aDogMjAwcHg7IH1cblxuLmRyb3Bkb3duLXBhbmUubGFyZ2Uge1xuICB3aWR0aDogNDAwcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDEwMCU7XG4gIHJpZ2h0OiAwO1xuICBsZWZ0OiBhdXRvOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGNvbnRlbnQ6ICcnO1xuICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICByaWdodDogNXB4O1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbltkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuZHJvcGRvd24ubWVudSBhIHtcbiAgb3V0bGluZTogMDsgfVxuXG4ubm8tanMgLmRyb3Bkb3duLm1lbnUgdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICB0b3A6IDA7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogMTAwJTtcbiAgbGVmdDogYXV0bzsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICByaWdodDogMTRweDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgY29udGVudDogJyc7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMxNzc5YmEgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNnB4O1xuICBjb250ZW50OiAnJztcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMxNzc5YmE7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgcmlnaHQ6IDA7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMTc3OWJhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzE3NzliYTsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgcmlnaHQ6IDA7XG4gIGxlZnQ6IGF1dG87IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtNnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogMTAwJTtcbiAgICBsZWZ0OiBhdXRvOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjYWNhY2E7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBjb250ZW50OiAnJztcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzE3NzliYSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMTc3OWJhOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuICAucmVzcG9uc2l2ZS1lbWJlZCBlbWJlZCxcbiAgLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4ubGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBmb250LXNpemU6IDAuOHJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYmFja2dyb3VuZDogIzE3NzliYTtcbiAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzc2NzY3NjtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzBhMGEwYTsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNjYzRiMzc7XG4gICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZsZXgtd3JhcDogbm93cmFwOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGZsZXg6IDAgMSBhdXRvOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWFpbi1zZWN0aW9uIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9XG5cbi5pcy1vZmYtY2FudmFzLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5qcy1vZmYtY2FudmFzLW92ZXJsYXkge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjVzIGVhc2UsIHZpc2liaWxpdHkgMC41cyBlYXNlO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjU0LCAyNTQsIDAuMjUpO1xuICBvcGFjaXR5OiAwO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy12aXNpYmxlIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheS5pcy1jbG9zYWJsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1hYnNvbHV0ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5qcy1vZmYtY2FudmFzLW92ZXJsYXkuaXMtb3ZlcmxheS1maXhlZCB7XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLm9mZi1jYW52YXMtYWJzb2x1dGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHotaW5kZXg6IDEyO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzLWFic29sdXRlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLWFic29sdXRlLmlzLXRyYW5zaXRpb24tb3ZlcmxhcCB7XG4gICAgei1pbmRleDogMTM7IH1cbiAgICAub2ZmLWNhbnZhcy1hYnNvbHV0ZS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7IH1cbiAgLm9mZi1jYW52YXMtYWJzb2x1dGUuaXMtb3BlbiB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgMCk7IH1cblxuLnBvc2l0aW9uLWxlZnQge1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAyNTBweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAucG9zaXRpb24tbGVmdC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMTAsIDEwLCAxMCwgMC43KTtcbiAgICBjb250ZW50OiBcIiBcIjsgfVxuICAucG9zaXRpb24tbGVmdC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tcmlnaHQge1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMjUwcHg7XG4gIGhlaWdodDogMTAwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDI1MHB4KTtcbiAgb3ZlcmZsb3cteTogYXV0bzsgfVxuICAucG9zaXRpb24tcmlnaHQuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLXB1c2g6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxcHg7XG4gICAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgxMCwgMTAsIDEwLCAwLjcpO1xuICAgIGNvbnRlbnQ6IFwiIFwiOyB9XG4gIC5wb3NpdGlvbi1yaWdodC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tdG9wIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0yNTBweCk7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy1vcGVuIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTsgfVxuICAucG9zaXRpb24tdG9wLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnBvc2l0aW9uLXRvcC5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ucG9zaXRpb24tYm90dG9tIHtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDI1MHB4KTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLW9wZW4gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTI1MHB4KTsgfVxuICAucG9zaXRpb24tYm90dG9tLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCByZ2JhKDEwLCAxMCwgMTAsIDAuNyk7XG4gICAgY29udGVudDogXCIgXCI7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgIHRyYW5zZm9ybTogbm9uZTsgfVxuXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi10b3A6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB7XG4gICAgdHJhbnNmb3JtOiBub25lO1xuICAgIHotaW5kZXg6IDEyOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAyNTBweDsgfVxuICAucG9zaXRpb24tdG9wLnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB6LWluZGV4OiAxMjsgfVxuICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLWJvdHRvbS5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgei1pbmRleDogMTI7IH1cbiAgICAucG9zaXRpb24tYm90dG9tLnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1MHB4OyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEwLCAxMCwgMTAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjYWNhY2E7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgY29udGVudDogJyAnO1xuICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgb3JkZXI6IDE7IH1cbiAgLnBhZ2luYXRpb246OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFnaW5hdGlvbiBsaTpsYXN0LWNoaWxkLCAucGFnaW5hdGlvbiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2FjYWNhO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICBjb250ZW50OiAnXFwwMGFiJzsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIGNvbnRlbnQ6ICdcXDAwYmInOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM3Njc2NzY7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M0YjM3OyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTc3OWJhOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmVmZWZlO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NhY2FjYTtcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMxNzc5YmE7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNDY3OWU7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTAsIDEwLCAxMCwgMC40NSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgei1pbmRleDogMTAwNjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2FjYWNhO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHdpZHRoOiA2MDBweDtcbiAgICAgIG1heC13aWR0aDogNzByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAucmV2ZWFsLnRpbnkge1xuICAgICAgd2lkdGg6IDMwJTtcbiAgICAgIG1heC13aWR0aDogNzByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogNzByZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogNzByZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIGhlaWdodDogMnJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdXRsaW5lOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICNmZWZlZmU7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjY2FjYWNhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuICBjb2xvcjogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICBjb250ZW50OiAnJzsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICMxNzc5YmE7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkge1xuICBoZWlnaHQ6IDEuNXJlbTsgfVxuICAuc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cbiAgLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgd2lkdGg6IDFyZW07XG4gICAgaGVpZ2h0OiAxcmVtOyB9XG4gIC5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwge1xuICBoZWlnaHQ6IDEuNzVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZSB7XG4gICAgd2lkdGg6IDMuNXJlbTtcbiAgICBoZWlnaHQ6IDEuNzVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgbGVmdDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07IH1cbiAgLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBsZWZ0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2Uge1xuICBoZWlnaHQ6IDIuNXJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogNXJlbTtcbiAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHdpZHRoOiAycmVtO1xuICAgIGhlaWdodDogMnJlbTsgfVxuICAuc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjFmMWYxO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjFmMWYxO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIHRoZWFkIHRyLFxuICB0Zm9vdCB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgdGhlYWQgdGgsXG4gIHRoZWFkIHRkLFxuICB0Zm9vdCB0aCxcbiAgdGZvb3QgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRoLFxuICB0Ym9keSB0ZCB7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjFmMWYxOyB9XG4gIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZlZmVmZTsgfVxuICAgIHRhYmxlLnVuc3RyaXBlZCB0Ym9keSB0ciB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMWYxZjE7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICB0YWJsZS5zdGFjayB0aGVhZCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICB0YWJsZS5zdGFjayB0cixcbiAgdGFibGUuc3RhY2sgdGgsXG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDsgfSB9XG5cbnRhYmxlLnNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuXG50YWJsZS5ob3ZlciB0aGVhZCB0cjpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmM2YzZjM7IH1cblxudGFibGUuaG92ZXIgdGZvb3QgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbnRhYmxlLmhvdmVyIHRib2R5IHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Y5ZjlmOTsgfVxuXG50YWJsZS5ob3Zlcjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG5cbi50YWJsZS1zY3JvbGwge1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG4gIC50YWJsZS1zY3JvbGwgdGFibGUge1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzIHtcbiAgbWFyZ2luOiAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLnRhYnM6OmJlZm9yZSwgLnRhYnM6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZmxleC1iYXNpczogMDtcbiAgICBvcmRlcjogMTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IG5vbmU7XG4gIHdpZHRoOiBhdXRvOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogIzE3NzliYTsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogIzE2NzNiMTsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiAjMTc3OWJhOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gICAgICBjb2xvcjogIzE0NjhhMDsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgY29sb3I6ICMxNzc5YmE7IH1cblxuLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci10b3A6IDA7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIGNvbG9yOiAjMGEwYTBhO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWxbYXJpYS1oaWRkZW49XCJmYWxzZVwiXSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBib3JkZXI6IHNvbGlkIDRweCAjZmVmZWZlO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBib3gtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgxMCwgMTAsIDEwLCAwLjIpO1xuICBsaW5lLWhlaWdodDogMDsgfVxuXG5hLnRodW1ibmFpbCB7XG4gIHRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7IH1cbiAgYS50aHVtYm5haWw6aG92ZXIsIGEudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDIzLCAxMjEsIDE4NiwgMC41KTsgfVxuICBhLnRodW1ibmFpbCBpbWFnZSB7XG4gICAgYm94LXNoYWRvdzogbm9uZTsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMC41cmVtO1xuICBiYWNrZ3JvdW5kOiAjMGEwYTBhO1xuICBjb2xvcjogI2ZlZmVmZTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC50aXRsZS1iYXIgLm1lbnUtaWNvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuMjVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtOyB9XG5cbi50aXRsZS1iYXItbGVmdCxcbi50aXRsZS1iYXItcmlnaHQge1xuICBmbGV4OiAxIDEgMHB4OyB9XG5cbi50aXRsZS1iYXItcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzBhMGEwYTtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgY29udGVudDogJyc7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwYTBhMGE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMGEwYTBhO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjMGEwYTBhIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udG9wLWJhciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogbm93cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC50b3AtYmFyLFxuICAudG9wLWJhciB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAudG9wLWJhciBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cbiAgLnRvcC1iYXIgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnRvcC1iYXIgaW5wdXQuYnV0dG9uIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnRvcC1iYXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH1cbiAgICAgIC50b3AtYmFyIC50b3AtYmFyLWxlZnQge1xuICAgICAgICBmbGV4OiAxIDEgYXV0bzsgfVxuICAgICAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBmbGV4OiAwIDEgYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDc0LjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1hcmdpbjogMC41cmVtIDFyZW0gMC41cmVtIDA7IH1cblxuLnRvcC1iYXItbGVmdCxcbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxleDogMCAwIGF1dG87IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogMzkuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAzOS45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA3NC45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNzVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgd2lkdGg6IGF1dG87XG4gIGhlaWdodDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgbWFyZ2luLWxlZnQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBkaXNwbGF5OiB0YWJsZTtcbiAgY29udGVudDogJyAnO1xuICBmbGV4LWJhc2lzOiAwO1xuICBvcmRlcjogMTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAxO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXRvcC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiByaWdodDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogYm90dG9tO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWJvdHRvbS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMC43NXR1cm4pO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2xvdyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4uc2hha2Uge1xuICBhbmltYXRpb24tbmFtZTogc2hha2UtNzsgfVxuXG5Aa2V5ZnJhbWVzIHNoYWtlLTcge1xuICAwJSwgMTAlLCAyMCUsIDMwJSwgNDAlLCA1MCUsIDYwJSwgNzAlLCA4MCUsIDkwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDclKTsgfVxuICA1JSwgMTUlLCAyNSUsIDM1JSwgNDUlLCA1NSUsIDY1JSwgNzUlLCA4NSUsIDk1JSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC03JSk7IH0gfVxuXG4uc3Bpbi1jdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtMXR1cm4pOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNwaW4tY2N3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDF0dXJuKTsgfSB9XG5cbi53aWdnbGUge1xuICBhbmltYXRpb24tbmFtZTogd2lnZ2xlLTdkZWc7IH1cblxuQGtleWZyYW1lcyB3aWdnbGUtN2RlZyB7XG4gIDQwJSwgNTAlLCA2MCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDdkZWcpOyB9XG4gIDM1JSwgNDUlLCA1NSUsIDY1JSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTdkZWcpOyB9XG4gIDAlLCAzMCUsIDcwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc2hha2UsXG4uc3Bpbi1jdyxcbi5zcGluLWNjdyxcbi53aWdnbGUge1xuICBhbmltYXRpb24tZHVyYXRpb246IDUwMG1zOyB9XG5cbi5pbmZpbml0ZSB7XG4gIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbi5zbG93IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiAyNTBtcyAhaW1wb3J0YW50OyB9XG5cbi5saW5lYXIge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4gIWltcG9ydGFudDsgfVxuXG4uZWFzZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiAzMDBtcyAhaW1wb3J0YW50OyB9XG5cbi5sb25nLWRlbGF5IHtcbiAgYW5pbWF0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogJ2ljb21vb24nO1xuICBzcmM6IHVybChcIi4uL2ZvbnRzL2ljb21vb24uZW90P25kdWg3a1wiKTtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9pY29tb29uLmVvdD9uZHVoN2sjaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24ud29mZjI/bmR1aDdrXCIpIGZvcm1hdChcIndvZmYyXCIpLCB1cmwoXCIuLi9mb250cy9pY29tb29uLnR0Zj9uZHVoN2tcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL2ljb21vb24ud29mZj9uZHVoN2tcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi4vZm9udHMvaWNvbW9vbi5zdmc/bmR1aDdrI2ljb21vb25cIikgZm9ybWF0KFwic3ZnXCIpO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtZGlzcGxheTogYmxvY2s7IH1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICAvKiBCZXR0ZXIgRm9udCBSZW5kZXJpbmcgPT09PT09PT09PT0gKi9cbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiOyB9XG5cbi5pY29uLWFycm93cy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAxXCI7IH1cblxuLmljb24tc2Nyb2xsLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDJcIjsgfVxuXG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7IH1cblxuLmljb24tYXJyb3ctdXA6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDRcIjsgfVxuXG4uaWNvbi1saW5rZWRpbjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNVwiOyB9XG5cbmJvZHksIGh0bWwge1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBib2R5IC5jb2x1bW46bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSwgYm9keSAuY29sdW1uczpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCBib2R5IC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIGh0bWwgLmNvbHVtbjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpLCBodG1sIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIGh0bWwgLmNvbHVtbnM6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgYm9keSBwOmVtcHR5LCBodG1sIHA6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgYm9keSAubG9nbywgaHRtbCAubG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBib2R5IC5sb2dvIGEsIGh0bWwgLmxvZ28gYSB7XG4gICAgICBoZWlnaHQ6IDIuNjg3NXJlbTtcbiAgICAgIHdpZHRoOiAyNXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICBib2R5IC5sb2dvIGEgaW1nLCBodG1sIC5sb2dvIGEgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICBsZWZ0OiAwOyB9XG4gICAgICAgIGJvZHkgLmxvZ28gYSBpbWcubG9nby1pbWcsIGh0bWwgLmxvZ28gYSBpbWcubG9nby1pbWcge1xuICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAgIGJvZHkgLmxvZ28gYSBpbWcuc2hvdy1vbi1ob3ZlciwgaHRtbCAubG9nbyBhIGltZy5zaG93LW9uLWhvdmVyIHtcbiAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIGJvZHkgLmxvZ28gYSBpbWcuc2hvdy1vbi1ob3ZlciwgaHRtbCAubG9nbyBhIGltZy5zaG93LW9uLWhvdmVyIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjsgfSB9XG4gICAgICBib2R5IC5sb2dvIGE6aG92ZXIgaW1nLnNob3ctb24taG92ZXIsIGh0bWwgLmxvZ28gYTpob3ZlciBpbWcuc2hvdy1vbi1ob3ZlciB7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICBib2R5IC5sb2dvIGE6aG92ZXIgaW1nLnNob3ctb24taG92ZXIsIGh0bWwgLmxvZ28gYTpob3ZlciBpbWcuc2hvdy1vbi1ob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgYm9keSAuYnJlYWRjcnVtYnMtd3JhcHBlciwgaHRtbCAuYnJlYWRjcnVtYnMtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAzLjQzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuNDM3NXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGJhY2tncm91bmQ6ICMzNDM5NDE7XG4gICAgY29sb3I6ICNmZWZlZmU7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICBib2R5IC5icmVhZGNydW1icy13cmFwcGVyLCBodG1sIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIGJvZHkgLmJyZWFkY3J1bWJzLXdyYXBwZXIgYSwgaHRtbCAuYnJlYWRjcnVtYnMtd3JhcHBlciBhIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIGJvZHkgLmhlYWRlci1tb2JpbGUtbWVudSwgaHRtbCAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyO1xuICAgIHotaW5kZXg6IDk5OTk7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keSAuaGVhZGVyLW1vYmlsZS1tZW51LCBodG1sIC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgICAgICB0b3A6IDEuNTYyNXJlbTtcbiAgICAgICAgcmlnaHQ6IDEuODc1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgYm9keSAuaGVhZGVyLW1vYmlsZS1tZW51LCBodG1sIC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgICAgICB0b3A6IDQuNjg3NXJlbTtcbiAgICAgICAgcmlnaHQ6IDNyZW07IH0gfVxuICAgIGJvZHkgLmhlYWRlci1tb2JpbGUtbWVudSBhIC5oYW1idXJnZXItbWVudSwgaHRtbCAuaGVhZGVyLW1vYmlsZS1tZW51IGEgLmhhbWJ1cmdlci1tZW51IHtcbiAgICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICAgIGhlaWdodDogMS42MjVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDk5OTk7IH1cbiAgICAgIGJvZHkgLmhlYWRlci1tb2JpbGUtbWVudSBhIC5oYW1idXJnZXItbWVudSBzcGFuLCBodG1sIC5oZWFkZXItbW9iaWxlLW1lbnUgYSAuaGFtYnVyZ2VyLW1lbnUgc3BhbiB7XG4gICAgICAgIGhlaWdodDogMC4xMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjOTc5Nzk3O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAgIGJvZHkgLmhlYWRlci1tb2JpbGUtbWVudSBhIC5oYW1idXJnZXItbWVudSBzcGFuOm50aC1jaGlsZCgyKSwgaHRtbCAuaGVhZGVyLW1vYmlsZS1tZW51IGEgLmhhbWJ1cmdlci1tZW51IHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB0b3A6IDAuNzVyZW07XG4gICAgICAgICAgd2lkdGg6IDIuMTU2MjVyZW07IH1cbiAgICAgICAgYm9keSAuaGVhZGVyLW1vYmlsZS1tZW51IGEgLmhhbWJ1cmdlci1tZW51IHNwYW46bnRoLWNoaWxkKDMpLCBodG1sIC5oZWFkZXItbW9iaWxlLW1lbnUgYSAuaGFtYnVyZ2VyLW1lbnUgc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIHRvcDogMS41cmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjA5Mzc1cmVtOyB9XG4gIGJvZHkgLnNpdGVuYW1lLWZsb2F0LCBodG1sIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHotaW5kZXg6IDU1OyB9XG4gICAgYm9keSAuc2l0ZW5hbWUtZmxvYXQgLnNpdGVuYW1lLWZsb2F0LXRleHQsIGh0bWwgLnNpdGVuYW1lLWZsb2F0IC5zaXRlbmFtZS1mbG9hdC10ZXh0IHtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAtNS4zMTI1cmVtO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtcmw7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0FEQURBRDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjFyZW07XG4gICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gIGJvZHkubWVudS1vcGVuLCBodG1sLm1lbnUtb3BlbiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgYm9keS5tZW51LW9wZW4gLmhlYWRlci1tb2JpbGUtbWVudSwgaHRtbC5tZW51LW9wZW4gLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgICAgei1pbmRleDogOTk5OTsgfVxuICAgICAgYm9keS5tZW51LW9wZW4gLmhlYWRlci1tb2JpbGUtbWVudSBhIC5oYW1idXJnZXItbWVudSwgaHRtbC5tZW51LW9wZW4gLmhlYWRlci1tb2JpbGUtbWVudSBhIC5oYW1idXJnZXItbWVudSB7XG4gICAgICAgIHotaW5kZXg6IDk5OTk7IH1cbiAgICAgICAgYm9keS5tZW51LW9wZW4gLmhlYWRlci1tb2JpbGUtbWVudSBhIC5oYW1idXJnZXItbWVudSBzcGFuLCBodG1sLm1lbnUtb3BlbiAuaGVhZGVyLW1vYmlsZS1tZW51IGEgLmhhbWJ1cmdlci1tZW51IHNwYW4ge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTsgfVxuICAgICAgICAgIGJvZHkubWVudS1vcGVuIC5oZWFkZXItbW9iaWxlLW1lbnUgYSAuaGFtYnVyZ2VyLW1lbnUgc3BhbjpudGgtY2hpbGQoMiksIGh0bWwubWVudS1vcGVuIC5oZWFkZXItbW9iaWxlLW1lbnUgYSAuaGFtYnVyZ2VyLW1lbnUgc3BhbjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgIGxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAgICAgYm9keS5tZW51LW9wZW4gLmhlYWRlci1tb2JpbGUtbWVudSBhIC5oYW1idXJnZXItbWVudSBzcGFuOm50aC1jaGlsZCgzKSwgaHRtbC5tZW51LW9wZW4gLmhlYWRlci1tb2JpbGUtbWVudSBhIC5oYW1idXJnZXItbWVudSBzcGFuOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgICByaWdodDogMC44MTI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMC44MTI1cmVtOyB9XG4gICAgYm9keS5tZW51LW9wZW4gLm1vYmlsZS1tZW51LCBodG1sLm1lbnUtb3BlbiAubW9iaWxlLW1lbnUge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAtd2Via2l0LWFuaW1hdGlvbjogc2NhbGUtdXAtdHIgMC44cyBjdWJpYy1iZXppZXIoMC4zOSwgMC41NzUsIDAuNTY1LCAxKSBib3RoO1xuICAgICAgYW5pbWF0aW9uOiBzY2FsZS11cC10ciAwLjhzIGN1YmljLWJlemllcigwLjM5LCAwLjU3NSwgMC41NjUsIDEpIGJvdGg7IH1cbiAgYm9keSBoMiwgaHRtbCBoMiB7XG4gICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07IH1cbiAgYm9keSBoNS53aXRoLXNtYWxsLWJvcmRlciwgaHRtbCBoNS53aXRoLXNtYWxsLWJvcmRlciB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgYm9keSBoNS53aXRoLXNtYWxsLWJvcmRlcjphZnRlciwgaHRtbCBoNS53aXRoLXNtYWxsLWJvcmRlcjphZnRlciB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDAuNDM3NXJlbTsgfVxuICBib2R5IC53cC1ibG9jay1pbWFnZSwgaHRtbCAud3AtYmxvY2staW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgYm9keSAubm90LWZvdW5kLCBodG1sIC5ub3QtZm91bmQge1xuICAgIHBhZGRpbmc6IDkuMzc1cmVtIDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keSAubm90LWZvdW5kLCBodG1sIC5ub3QtZm91bmQge1xuICAgICAgICBwYWRkaW5nOiA5LjM3NXJlbSAxLjI1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHZoOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgYm9keSAubm90LWZvdW5kLCBodG1sIC5ub3QtZm91bmQge1xuICAgICAgICBwYWRkaW5nOiA5LjM3NXJlbSAwOyB9IH1cbiAgICBib2R5IC5ub3QtZm91bmQgaDMsIGh0bWwgLm5vdC1mb3VuZCBoMyB7XG4gICAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgY29sb3I6ICMyMjYwOTI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIGJvZHkgLm5vdC1mb3VuZCBwLCBodG1sIC5ub3QtZm91bmQgcCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBjb2xvcjogIzU3NTc1NzsgfVxuICAgICAgYm9keSAubm90LWZvdW5kIHAgYSwgaHRtbCAubm90LWZvdW5kIHAgYSB7XG4gICAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG4gICAgICAgIGJvZHkgLm5vdC1mb3VuZCBwIGE6aG92ZXIsIGh0bWwgLm5vdC1mb3VuZCBwIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjMzczNzM3OyB9XG5cbi5vdmVybGF5IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA5OTk7XG4gIGhlaWdodDogMmVtO1xuICB3aWR0aDogMmVtO1xuICBvdmVyZmxvdzogc2hvdztcbiAgbWFyZ2luOiBhdXRvO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcmlnaHQ6IDA7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLm92ZXJsYXk6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTsgfVxuICAub3ZlcmxheTpub3QoOnJlcXVpcmVkKSB7XG4gICAgLyogaGlkZSBcImxvYWRpbmcuLi5cIiB0ZXh0ICovXG4gICAgZm9udDogMC8wIGE7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDsgfVxuICAub3ZlcmxheTpub3QoOnJlcXVpcmVkKTphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHdpZHRoOiAxZW07XG4gICAgaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLXRvcDogLTAuNWVtO1xuICAgIC13ZWJraXQtYW5pbWF0aW9uOiBzcGlubmVyIDE1MDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgLW1vei1hbmltYXRpb246IHNwaW5uZXIgMTUwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgICAtbXMtYW5pbWF0aW9uOiBzcGlubmVyIDE1MDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgLW8tYW5pbWF0aW9uOiBzcGlubmVyIDE1MDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgYW5pbWF0aW9uOiBzcGlubmVyIDE1MDBtcyBpbmZpbml0ZSBsaW5lYXI7XG4gICAgYm9yZGVyLXJhZGl1czogMC41ZW07XG4gICAgLXdlYmtpdC1ib3gtc2hhZG93OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIDEuNWVtIDAgMCAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIDEuMWVtIDEuMWVtIDAgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAwIDEuNWVtIDAgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAtMS4xZW0gMS4xZW0gMCAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgLTEuNWVtIDAgMCAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgLTEuMWVtIC0xLjFlbSAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMCAtMS41ZW0gMCAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIDEuMWVtIC0xLjFlbSAwIDA7XG4gICAgYm94LXNoYWRvdzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAxLjVlbSAwIDAgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAxLjFlbSAxLjFlbSAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMCAxLjVlbSAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgLTEuMWVtIDEuMWVtIDAgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAtMS41ZW0gMCAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgLTEuMWVtIC0xLjFlbSAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMCAtMS41ZW0gMCAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIDEuMWVtIC0xLjFlbSAwIDA7IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNwaW5uZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkAtbW96LWtleWZyYW1lcyBzcGlubmVyIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7IH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5ALW8ta2V5ZnJhbWVzIHNwaW5uZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgc3Bpbm5lciB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpOyB9IH1cblxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlLXVwLXRyIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwJTsgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwJTsgfSB9XG5cbkBrZXlmcmFtZXMgc2NhbGUtdXAtdHIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDAlOyB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIC13ZWJraXQtdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwJTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDAlOyB9IH1cblxuLmFsaWduZnVsbCB7XG4gIG1hcmdpbi1sZWZ0OiBjYWxjKCAtMTAwdncgLyAyICsgMTAwJSAvIDIpO1xuICBtYXJnaW4tcmlnaHQ6IGNhbGMoIC0xMDB2dyAvIDIgKyAxMDAlIC8gMik7XG4gIG1heC13aWR0aDogMTAwdnc7IH1cblxuLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6ICNGMUYyRjM7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTsgfVxuICAuaGVhZGVyLmZ1bGwge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiAjRjFGMkYzO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgIGhlaWdodDogMzcuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyLmZ1bGwge1xuICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuaGVhZGVyLmZ1bGwgLnRvcC1tZW51LWJhciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBsZWZ0OiAxLjI1cmVtO1xuICAgICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgICB0b3A6IDEuNTYyNXJlbTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVhZGVyLmZ1bGwgLnRvcC1tZW51LWJhciB7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICB0b3A6IDQuNjg3NXJlbTsgfSB9XG4gIC5oZWFkZXIgLnRvcC1tZW51LWJhciB7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyIC50b3AtbWVudS1iYXIge1xuICAgICAgICBwYWRkaW5nOiA0LjM3NXJlbSAwIDEuNTYyNXJlbSAwOyB9IH1cbiAgICAuaGVhZGVyIC50b3AtbWVudS1iYXIgLmxvZ28ge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5oZWFkZXIgLnRvcC1tZW51LWJhciAubG9nbyBhIHtcbiAgICAgICAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICAgIHdpZHRoOiAyNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgICAuaGVhZGVyIC50b3AtbWVudS1iYXIgLmxvZ28gYSBpbWcge1xuICAgICAgICAgIGhlaWdodDogMi42ODc1cmVtO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgbGVmdDogMDsgfVxuICAgICAgICAgIC5oZWFkZXIgLnRvcC1tZW51LWJhciAubG9nbyBhIGltZy5sb2dvLWltZyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAgICAgLmhlYWRlciAudG9wLW1lbnUtYmFyIC5sb2dvIGEgaW1nLnNob3ctb24taG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgICAgLmhlYWRlciAudG9wLW1lbnUtYmFyIC5sb2dvIGEgaW1nLnNob3ctb24taG92ZXIge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyLjY4NzVyZW07XG4gICAgICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9IH1cbiAgICAgICAgLmhlYWRlciAudG9wLW1lbnUtYmFyIC5sb2dvIGE6aG92ZXIgaW1nLnNob3ctb24taG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmhlYWRlciAudG9wLW1lbnUtYmFyIC5sb2dvIGE6aG92ZXIgaW1nLnNob3ctb24taG92ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxOyB9IH1cbiAgICAuaGVhZGVyIC50b3AtbWVudS1iYXIgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhlYWRlciAudG9wLW1lbnUtYmFyIC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICAgIHRvcDogMy4xMjVyZW07XG4gICAgICAgICAgcmlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICB6LWluZGV4OiA5OTk5OSAhaW1wb3J0YW50OyB9IH1cbiAgICAgIC5oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1vYmlsZS1tZW51LnNob3cge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1lbnUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmhlYWRlciAudG9wLW1lbnUtYmFyIC5oZWFkZXItbWVudSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAuaGVhZGVyIC50b3AtbWVudS1iYXIgLmhlYWRlci1tZW51IHVsIGxpIGEge1xuICAgICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAuNzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1lbnUgdWwgbGkgYTphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgd2lkdGg6IDA7XG4gICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgICAgICAgdHJhbnNpdGlvbjogd2lkdGggLjNzOyB9XG4gICAgICAgIC5oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1lbnUgdWwgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1lbnUgdWwgbGk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgLmhlYWRlciAudG9wLW1lbnUtYmFyIC5oZWFkZXItbWVudSB1bCBsaS5jdXJyZW50X3BhZ2VfaXRlbSBhOmFmdGVyLCAuaGVhZGVyIC50b3AtbWVudS1iYXIgLmhlYWRlci1tZW51IHVsIGxpLmN1cnJlbnQtcGFnZS1hbmNlc3RvciBhOmFmdGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLmhlYWRlciAuaGVhZGVyLWludHJvLXRleHQge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDE1LjYyNXJlbTtcbiAgICByaWdodDogMi41cmVtO1xuICAgIGxlZnQ6IDIuNXJlbTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5oZWFkZXIgLmhlYWRlci1pbnRyby10ZXh0IHtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuICAgIC5oZWFkZXIgLmhlYWRlci1pbnRyby10ZXh0IGgxIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDMuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiA0OyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuaGVhZGVyIC5oZWFkZXItaW50cm8tdGV4dCBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiA0LjM3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogNC4wNjI1cmVtOyB9IH1cbiAgLmhlYWRlciAuc2Nyb2xsLWRvd24ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIGJvdHRvbTogNi41NjI1cmVtO1xuICAgIHotaW5kZXg6IDI7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaGVhZGVyIC5zY3JvbGwtZG93biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuaGVhZGVyIC5zY3JvbGwtZG93biBhIHtcbiAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBsaW5lYXI7IH1cbiAgICAgIC5oZWFkZXIgLnNjcm9sbC1kb3duIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzIyNjA5MjsgfVxuXG4uZm9vdGVyIHtcbiAgYmFja2dyb3VuZDogIzM0Mzk0MTtcbiAgcGFkZGluZzogMi44MTI1cmVtIDEuMjVyZW0gMS44NzVyZW0gMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXIge1xuICAgICAgcGFkZGluZzogNS45Mzc1cmVtIDAgMy43NXJlbSAwOyB9IH1cbiAgLmZvb3RlciAuZm9vdGVyLWxvZ28ge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyIC5mb290ZXItbG9nbyB7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZm9vdGVyIC5vZmZpY2UgaDUge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgY29sb3I6ICNEOEQ4RDg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3RlciAub2ZmaWNlIGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgLmZvb3RlciAub2ZmaWNlIC5vZmZpY2UtZGV0YWlscyBwIHtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGNvbG9yOiAjRDhEOEQ4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXIgLm9mZmljZSAub2ZmaWNlLWRldGFpbHMgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTsgfSB9XG4gICAgLmZvb3RlciAub2ZmaWNlIC5vZmZpY2UtZGV0YWlscyBwIGEge1xuICAgICAgY29sb3I6ICNEOEQ4RDg7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyIC5mb290ZXItbWVudSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAuZm9vdGVyIC5mb290ZXItbWVudSAubWVudSB7XG4gICAgY29sdW1uLWNvdW50OiAxO1xuICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLW1lbnUgLm1lbnUge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGNvbHVtbi1nYXA6IDAuNjI1cmVtOyB9IH1cbiAgICAuZm9vdGVyIC5mb290ZXItbWVudSAubWVudSBsaSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNEOEQ4RDg7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBsaW5lYXI7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1tZW51IC5tZW51IGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtOyB9IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1tZW51IC5tZW51IGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI0JFOUE2MDsgfVxuICAuZm9vdGVyIC5mb290ZXItY29weXJpZ2h0cyB7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmZvb3RlciAuZm9vdGVyLWNvcHlyaWdodHMge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHRzIC5zb2NpYWwtbGlua3Mge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvcHlyaWdodHMgLnNvY2lhbC1saW5rcyBhIHtcbiAgICAgIGNvbG9yOiAjQjZCNkI2O1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgbGluZWFyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9vdGVyIC5mb290ZXItY29weXJpZ2h0cyAuc29jaWFsLWxpbmtzIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHRzIC5zb2NpYWwtbGlua3MgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG4gICAgLmZvb3RlciAuZm9vdGVyLWNvcHlyaWdodHMgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAjQURBREFEO1xuICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9vdGVyIC5mb290ZXItY29weXJpZ2h0cyBzcGFuIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjgxMjVyZW07IH0gfVxuICAgIC5mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHRzIHVsIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBsaXN0LXN0eWxlOiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuZm9vdGVyIC5mb290ZXItY29weXJpZ2h0cyB1bCB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAgIC5mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHRzIHVsIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHRzIHVsIGxpIGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjQURBREFEO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMC4wNjI1cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgbGluZWFyOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHRzIHVsIGxpIGEge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMC44MTI1cmVtOyB9IH1cbiAgICAgICAgICAuZm9vdGVyIC5mb290ZXItY29weXJpZ2h0cyB1bCBsaSBhOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiAnfCc7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgICAgICAgICAuZm9vdGVyIC5mb290ZXItY29weXJpZ2h0cyB1bCBsaSBhOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG4gICAgICAgIC5mb290ZXIgLmZvb3Rlci1jb3B5cmlnaHRzIHVsIGxpOmZpcnN0LWNoaWxkIGE6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBub25lO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuZm9vdGVyIC5mb290ZXItY29weXJpZ2h0cyB1bCBsaTpmaXJzdC1jaGlsZCBhOmJlZm9yZSB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6ICd8JztcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtOyB9IH1cblxuI2Zvb3RlciB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZm9vdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogLTM3LjVyZW07XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7IH0gfVxuICAjZm9vdGVyIC5jbG9zZS1mb290ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2Zvb3RlciAuY2xvc2UtZm9vdGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICB0b3A6IDIuNXJlbTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICBjb2xvcjogI0ExQTFBMTsgfSB9XG4gICAgI2Zvb3RlciAuY2xvc2UtZm9vdGVyOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG5cbkBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGJvZHkuZm9vdGVyLW9uICNmb290ZXIge1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiA5OTk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9IH1cblxuQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgYm9keS5mb290ZXItb2ZmICNmb290ZXIge1xuICAgIGJvdHRvbTogLTM3LjVyZW07XG4gICAgei1pbmRleDogLTE7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9IH1cblxuLm1vYmlsZS1tZW51IHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBwYWRkaW5nOiAwO1xuICB6LWluZGV4OiA5OTk7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyMjYwOTI7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgLyogdGhpcyBmaXhlcyB0aGUgYnVnZ3kgc2Nyb2xsaW5nIG9uIHdlYmtpdCBicm93c2VycyAtIG1vYmlsZSBkZXZpY2VzIG9ubHkgLSB3aGVuIG92ZXJmbG93IHByb3BlcnR5IGlzIGFwcGxpZWQgKi9cbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb246IHZpc2liaWxpdHkgMHMsIG9wYWNpdHkgLjNzOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm1vYmlsZS1tZW51IHtcbiAgICAgIHJpZ2h0OiA4Ljc1cmVtOyB9IH1cbiAgLm1vYmlsZS1tZW51IC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgIHotaW5kZXg6IDk5OTk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIG1hcmdpbi10b3A6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm1vYmlsZS1tZW51IC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLm1vYmlsZS1tZW51IC5tZW51IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubW9iaWxlLW1lbnUgLm1lbnUge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuICAgIC5tb2JpbGUtbWVudSAubWVudSBsaSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAubW9iaWxlLW1lbnUgLm1lbnUgbGkgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogY29sb3IgMC4zcyBsaW5lYXI7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAubW9iaWxlLW1lbnUgLm1lbnUgbGkgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNC4zNzVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5tb2JpbGUtbWVudSAubWVudSBsaSBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1LjYyNXJlbTsgfSB9XG4gICAgICAgIC5tb2JpbGUtbWVudSAubWVudSBsaSBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI0JFOUE2MDsgfVxuICAgICAgLm1vYmlsZS1tZW51IC5tZW51IGxpLmN1cnJlbnRfcGFnZV9pdGVtIGEge1xuICAgICAgICBjb2xvcjogI0JFOUE2MDsgfVxuXG4uY29udGVudC1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGVudC1zbGlkZXIge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7IH0gfVxuICAuY29udGVudC1zbGlkZXIgdWwuY29udHJvbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbnRlbnQtc2xpZGVyIHVsLmNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIHJpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGVudC1zbGlkZXIgdWwuY29udHJvbHM6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogMTAuMzc1cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDAuMDc4MTJyZW07XG4gICAgICAgIGJvcmRlci1yaWdodDogMC4wNzgxMnJlbSBkYXNoZWQgI0YwRjBGMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwLjM3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb250ZW50LXNsaWRlciB1bC5jb250cm9sczphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDEwLjM3NXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAwLjA3ODEycmVtO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDAuMDc4MTJyZW0gZGFzaGVkICNGMEYwRjE7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH0gfVxuICAgIC5jb250ZW50LXNsaWRlciB1bC5jb250cm9scy5kYXJrLWJvcmRlcjpiZWZvcmUsIC5jb250ZW50LXNsaWRlciB1bC5jb250cm9scy5kYXJrLWJvcmRlcjphZnRlciB7XG4gICAgICBib3JkZXItY29sb3I6ICM5Nzk3OTc7IH1cbiAgICAuY29udGVudC1zbGlkZXIgdWwuY29udHJvbHMsXG4gICAgLmNvbnRlbnQtc2xpZGVyIHVsLmNvbnRyb2xzIGxpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jb250ZW50LXNsaWRlciB1bC5jb250cm9scyxcbiAgICAgICAgLmNvbnRlbnQtc2xpZGVyIHVsLmNvbnRyb2xzIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmNvbnRlbnQtc2xpZGVyIHVsLmNvbnRyb2xzIGEsXG4gICAgLmNvbnRlbnQtc2xpZGVyIHVsLmNvbnRyb2xzIGJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwLjcwMzEycmVtO1xuICAgICAgaGVpZ2h0OiAwLjcwMzEycmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjRDhEOEQ4OyB9XG4gICAgLmNvbnRlbnQtc2xpZGVyIHVsLmNvbnRyb2xzID4gbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29udGVudC1zbGlkZXIgdWwuY29udHJvbHMgPiBsaS5hY3RpdmUgYSxcbiAgICAuY29udGVudC1zbGlkZXIgdWwuY29udHJvbHMgPiBsaS5hY3RpdmUgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7IH1cbiAgLmNvbnRlbnQtc2xpZGVyIC5zbGlkZS1udW1iZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbnRlbnQtc2xpZGVyIC5zbGlkZS1udW1iZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMy4xMjVyZW07XG4gICAgICAgIGJvdHRvbTogNi4yNXJlbTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogI0JFOUE2MDsgfSB9XG4gIC5jb250ZW50LXNsaWRlciAuYXJyb3dzLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbnRlbnQtc2xpZGVyIC5hcnJvd3MtZG93biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgYm90dG9tOiAyLjVyZW07XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgLmNvbnRlbnQtc2xpZGVyIC5hcnJvd3MtZG93biBhIHtcbiAgICAgIGNvbG9yOiAjQTFBMUExOyB9XG4gICAgICAuY29udGVudC1zbGlkZXIgLmFycm93cy1kb3duIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogI0JFOUE2MDsgfVxuICAuY29udGVudC1zbGlkZXIgLmNvbnRlbnQtc2xpZGUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNvbnRlbnQtc2xpZGVyIC5jb250ZW50LXNsaWRlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgLmNvbnRlbnQtc2xpZGVyIC5jb250ZW50LXNsaWRlLmZpcnN0LCAuY29udGVudC1zbGlkZXIgLmNvbnRlbnQtc2xpZGUuaW4tdmlld3BvcnQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6IDE7IH1cblxuLmdyb3VwLWxpbmVzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IDE2LjI1cmVtO1xuICByaWdodDogMDsgfVxuICAuZ3JvdXAtbGluZXMgLmxpbmVzIHtcbiAgICByaWdodDogLTMuNzVyZW07XG4gICAgdG9wOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIGFuaW1hdGlvbi1uYW1lOiBhbmltYXRlZExpbmU7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IDE7IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMC4wNjI1cmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzBkZWcpOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICByaWdodDogMS4yNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAyKSB7XG4gICAgcmlnaHQ6IDIuNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAzKSB7XG4gICAgcmlnaHQ6IDMuNzVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgNCkge1xuICAgIHJpZ2h0OiA1cmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDUpIHtcbiAgICByaWdodDogNi4yNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyA2KSB7XG4gICAgcmlnaHQ6IDcuNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyA3KSB7XG4gICAgcmlnaHQ6IDguNzVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgOCkge1xuICAgIHJpZ2h0OiAxMHJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyA5KSB7XG4gICAgcmlnaHQ6IDExLjI1cmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDEwKSB7XG4gICAgcmlnaHQ6IDEyLjVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMTEpIHtcbiAgICByaWdodDogMTMuNzVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMTIpIHtcbiAgICByaWdodDogMTVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMTMpIHtcbiAgICByaWdodDogMTYuMjVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMTQpIHtcbiAgICByaWdodDogMTcuNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAxNSkge1xuICAgIHJpZ2h0OiAxOC43NXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAxNikge1xuICAgIHJpZ2h0OiAyMHJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAxNykge1xuICAgIHJpZ2h0OiAyMS4yNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAxOCkge1xuICAgIHJpZ2h0OiAyMi41cmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDE5KSB7XG4gICAgcmlnaHQ6IDIzLjc1cmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDIwKSB7XG4gICAgcmlnaHQ6IDI1cmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDIxKSB7XG4gICAgcmlnaHQ6IDI2LjI1cmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDIyKSB7XG4gICAgcmlnaHQ6IDI3LjVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMjMpIHtcbiAgICByaWdodDogMjguNzVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMjQpIHtcbiAgICByaWdodDogMzByZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMjUpIHtcbiAgICByaWdodDogMzEuMjVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMjYpIHtcbiAgICByaWdodDogMzIuNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAyNykge1xuICAgIHJpZ2h0OiAzMy43NXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAyOCkge1xuICAgIHJpZ2h0OiAzNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAyOSkge1xuICAgIHJpZ2h0OiAzNi4yNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAzMCkge1xuICAgIHJpZ2h0OiAzNy41cmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDMxKSB7XG4gICAgcmlnaHQ6IDM4Ljc1cmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDMyKSB7XG4gICAgcmlnaHQ6IDQwcmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDMzKSB7XG4gICAgcmlnaHQ6IDQxLjI1cmVtOyB9XG4gIC5ncm91cC1saW5lcyAuYW5pbWF0ZWRMaW5lOm50aC1jaGlsZCgzbiArIDM0KSB7XG4gICAgcmlnaHQ6IDQyLjVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMzUpIHtcbiAgICByaWdodDogNDMuNzVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMzYpIHtcbiAgICByaWdodDogNDVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMzcpIHtcbiAgICByaWdodDogNDYuMjVyZW07IH1cbiAgLmdyb3VwLWxpbmVzIC5hbmltYXRlZExpbmU6bnRoLWNoaWxkKDNuICsgMzgpIHtcbiAgICByaWdodDogNDcuNXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAzOSkge1xuICAgIHJpZ2h0OiA0OC43NXJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyA0MCkge1xuICAgIHJpZ2h0OiA1MHJlbTsgfVxuICAuZ3JvdXAtbGluZXMgLmFuaW1hdGVkTGluZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICBib3R0b206IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7IH1cbiAgLmdyb3VwLWxpbmVzIC5iaWdMaW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRvcDogMy43NXJlbTtcbiAgICByaWdodDogNTByZW07XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogMTIuNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogc2tldygtMzBkZWcpOyB9XG4gICAgLmdyb3VwLWxpbmVzIC5iaWdMaW5lOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDBkZWcsIHJnYmEoMjE3LCAxMjksIDE5NCwgMCkgMCUsIHJnYmEoMTkzLCAxNTYsIDk4LCAwLjIpIDEwMCUpO1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIGFuaW1hdGlvbi1uYW1lOiBmYWRlSW5PcGFjaXR5O1xuICAgICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTtcbiAgICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW47XG4gICAgICBhbmltYXRpb24tZHVyYXRpb246IDJzOyB9XG5cbkBrZXlmcmFtZXMgYW5pbWF0ZWRMaW5lIHtcbiAgMCUge1xuICAgIHJpZ2h0OiAtMTUuNjI1cmVtOyB9XG4gIDEwMCUge1xuICAgIHJpZ2h0OiAwOyB9IH1cblxuQGtleWZyYW1lcyBmYWRlSW5PcGFjaXR5IHtcbiAgMCUge1xuICAgIG9wYWNpdHk6IDA7IH1cbiAgMTAwJSB7XG4gICAgb3BhY2l0eTogMTsgfSB9XG5cbi5zdGF0aWMtbGluZXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDIuODEyNXJlbTtcbiAgYm90dG9tOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5zdGF0aWMtbGluZXMgLnNsaW5lcyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDM7XG4gICAgbGVmdDogNi4yNXJlbTtcbiAgICBhbmltYXRpb24tbmFtZTogYW5pbWF0ZWRMaW5lO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNHM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogMTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGhlaWdodDogMzEuMjVyZW07XG4gICAgd2lkdGg6IDAuMDYyNXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDMwZGVnKTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDEpIHtcbiAgICBsZWZ0OiAxLjI1cmVtOyB9XG4gIC5zdGF0aWMtbGluZXMgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgMikge1xuICAgIGxlZnQ6IDIuNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDMpIHtcbiAgICBsZWZ0OiAzLjc1cmVtOyB9XG4gIC5zdGF0aWMtbGluZXMgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgNCkge1xuICAgIGxlZnQ6IDVyZW07IH1cbiAgLnN0YXRpYy1saW5lcyAuc3RhdGljTGluZTpudGgtY2hpbGQoM24gKyA1KSB7XG4gICAgbGVmdDogNi4yNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDYpIHtcbiAgICBsZWZ0OiA3LjVyZW07IH1cbiAgLnN0YXRpYy1saW5lcyAuc3RhdGljTGluZTpudGgtY2hpbGQoM24gKyA3KSB7XG4gICAgbGVmdDogOC43NXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDgpIHtcbiAgICBsZWZ0OiAxMHJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDkpIHtcbiAgICBsZWZ0OiAxMS4yNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDEwKSB7XG4gICAgbGVmdDogMTIuNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDExKSB7XG4gICAgbGVmdDogMTMuNzVyZW07IH1cbiAgLnN0YXRpYy1saW5lcyAuc3RhdGljTGluZTpudGgtY2hpbGQoM24gKyAxMikge1xuICAgIGxlZnQ6IDE1cmVtOyB9XG4gIC5zdGF0aWMtbGluZXMgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgMTMpIHtcbiAgICBsZWZ0OiAxNi4yNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDE0KSB7XG4gICAgbGVmdDogMTcuNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDE1KSB7XG4gICAgbGVmdDogMTguNzVyZW07IH1cbiAgLnN0YXRpYy1saW5lcyAuc3RhdGljTGluZTpudGgtY2hpbGQoM24gKyAxNikge1xuICAgIGxlZnQ6IDIwcmVtOyB9XG4gIC5zdGF0aWMtbGluZXMgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgMTcpIHtcbiAgICBsZWZ0OiAyMS4yNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDE4KSB7XG4gICAgbGVmdDogMjIuNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDE5KSB7XG4gICAgbGVmdDogMjMuNzVyZW07IH1cbiAgLnN0YXRpYy1saW5lcyAuc3RhdGljTGluZTpudGgtY2hpbGQoM24gKyAyMCkge1xuICAgIGxlZnQ6IDI1cmVtOyB9XG4gIC5zdGF0aWMtbGluZXMgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgMjEpIHtcbiAgICBsZWZ0OiAyNi4yNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDIyKSB7XG4gICAgbGVmdDogMjcuNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDIzKSB7XG4gICAgbGVmdDogMjguNzVyZW07IH1cbiAgLnN0YXRpYy1saW5lcyAuc3RhdGljTGluZTpudGgtY2hpbGQoM24gKyAyNCkge1xuICAgIGxlZnQ6IDMwcmVtOyB9XG4gIC5zdGF0aWMtbGluZXMgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgMjUpIHtcbiAgICBsZWZ0OiAzMS4yNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDI2KSB7XG4gICAgbGVmdDogMzIuNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDI3KSB7XG4gICAgbGVmdDogMzMuNzVyZW07IH1cbiAgLnN0YXRpYy1saW5lcyAuc3RhdGljTGluZTpudGgtY2hpbGQoM24gKyAyOCkge1xuICAgIGxlZnQ6IDM1cmVtOyB9XG4gIC5zdGF0aWMtbGluZXMgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgMjkpIHtcbiAgICBsZWZ0OiAzNi4yNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDMwKSB7XG4gICAgbGVmdDogMzcuNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDMxKSB7XG4gICAgbGVmdDogMzguNzVyZW07IH1cbiAgLnN0YXRpYy1saW5lcyAuc3RhdGljTGluZTpudGgtY2hpbGQoM24gKyAzMikge1xuICAgIGxlZnQ6IDQwcmVtOyB9XG4gIC5zdGF0aWMtbGluZXMgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgMzMpIHtcbiAgICBsZWZ0OiA0MS4yNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDM0KSB7XG4gICAgbGVmdDogNDIuNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOm50aC1jaGlsZCgzbiArIDM1KSB7XG4gICAgbGVmdDogNDMuNzVyZW07IH1cbiAgLnN0YXRpYy1saW5lcyAuc3RhdGljTGluZTpudGgtY2hpbGQoM24gKyAzNikge1xuICAgIGxlZnQ6IDQ1cmVtOyB9XG4gIC5zdGF0aWMtbGluZXMgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgMzcpIHtcbiAgICBsZWZ0OiA0Ni4yNXJlbTsgfVxuICAuc3RhdGljLWxpbmVzIC5zdGF0aWNMaW5lOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0Q4RDhEODsgfVxuXG5Aa2V5ZnJhbWVzIGFuaW1hdGVkTGluZSB7XG4gIDAlIHtcbiAgICBsZWZ0OiAzNTBweDsgfVxuICAyMCUge1xuICAgIGxlZnQ6IDMwMHB4OyB9XG4gIDQwJSB7XG4gICAgbGVmdDogMjUwcHg7IH1cbiAgNjAlIHtcbiAgICBsZWZ0OiAyMDBweDsgfVxuICA4MCUge1xuICAgIGxlZnQ6IDE1MHB4OyB9XG4gIDEwMCUge1xuICAgIGxlZnQ6IDEwMHB4OyB9IH1cblxuYm9keS5zaW5nbGUtbWVtYmVyIC5tb2JpbGUtbWVudSAubWVudSAudGVhbS1wYWdlLWxpbmsgYSB7XG4gIGNvbG9yOiAjQkU5QTYwOyB9XG5cbmJvZHkuc2luZ2xlLW1lbWJlciAuaGVhZGVyIC50b3AtbWVudS1iYXIgLmhlYWRlci1tZW51IC5tZW51IC50ZWFtLXBhZ2UtbGluayBhOmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuYm9keS5zaW5nbGUtbWVtYmVyIC5zaW5nbGUtbWVtYmVyLXBhZ2Uge1xuICBiYWNrZ3JvdW5kOiAjRjFGMkYzOyB9XG4gIGJvZHkuc2luZ2xlLW1lbWJlciAuc2luZ2xlLW1lbWJlci1wYWdlIC5zaW5nbGUtbWVtYmVyLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgYm9keS5zaW5nbGUtbWVtYmVyIC5zaW5nbGUtbWVtYmVyLXBhZ2UgLnNpbmdsZS1tZW1iZXItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICBib2R5LnNpbmdsZS1tZW1iZXIgLnNpbmdsZS1tZW1iZXItcGFnZSAuc2luZ2xlLW1lbWJlci1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAyLjVyZW0gMCAwIDA7IH0gfVxuICAgIGJvZHkuc2luZ2xlLW1lbWJlciAuc2luZ2xlLW1lbWJlci1wYWdlIC5zaW5nbGUtbWVtYmVyLWNvbnRhaW5lciAubWVtYmVyLXBob3RvIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjQkU5QTYwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIGJvZHkuc2luZ2xlLW1lbWJlciAuc2luZ2xlLW1lbWJlci1wYWdlIC5zaW5nbGUtbWVtYmVyLWNvbnRhaW5lciAubWVtYmVyLXBob3RvIHtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgbWluLWhlaWdodDogNDcuODEyNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgICAgYm9keS5zaW5nbGUtbWVtYmVyIC5zaW5nbGUtbWVtYmVyLXBhZ2UgLnNpbmdsZS1tZW1iZXItY29udGFpbmVyIC5tZW1iZXItcGhvdG8gaW1nIHtcbiAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgYm9keS5zaW5nbGUtbWVtYmVyIC5zaW5nbGUtbWVtYmVyLXBhZ2UgLnNpbmdsZS1tZW1iZXItY29udGFpbmVyIC5tZW1iZXItcGhvdG8gaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzEuMjVyZW07IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIGJvZHkuc2luZ2xlLW1lbWJlciAuc2luZ2xlLW1lbWJlci1wYWdlIC5zaW5nbGUtbWVtYmVyLWNvbnRhaW5lciAubWVtYmVyLXBob3RvIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ3LjgxMjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICBib2R5LnNpbmdsZS1tZW1iZXIgLnNpbmdsZS1tZW1iZXItcGFnZSAuc2luZ2xlLW1lbWJlci1jb250YWluZXIgLmJhY2stdG8ge1xuICAgICAgbWFyZ2luOiAyLjE4NzVyZW0gMCAzLjc1cmVtIDA7IH1cbiAgICAgIGJvZHkuc2luZ2xlLW1lbWJlciAuc2luZ2xlLW1lbWJlci1wYWdlIC5zaW5nbGUtbWVtYmVyLWNvbnRhaW5lciAuYmFjay10byBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGNvbG9yOiAjN0E3QTdBOyB9XG4gICAgICAgIGJvZHkuc2luZ2xlLW1lbWJlciAuc2luZ2xlLW1lbWJlci1wYWdlIC5zaW5nbGUtbWVtYmVyLWNvbnRhaW5lciAuYmFjay10byBhOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjogI0JFOUE2MDsgfVxuICAgICAgICBib2R5LnNpbmdsZS1tZW1iZXIgLnNpbmdsZS1tZW1iZXItcGFnZSAuc2luZ2xlLW1lbWJlci1jb250YWluZXIgLmJhY2stdG8gYSBpIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogMC4xODc1cmVtOyB9XG4gICAgYm9keS5zaW5nbGUtbWVtYmVyIC5zaW5nbGUtbWVtYmVyLXBhZ2UgLnNpbmdsZS1tZW1iZXItY29udGFpbmVyIC5vZmZpY2Uge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgY29sb3I6ICNCRTlBNjA7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cbiAgICBib2R5LnNpbmdsZS1tZW1iZXIgLnNpbmdsZS1tZW1iZXItcGFnZSAuc2luZ2xlLW1lbWJlci1jb250YWluZXIgLm5hbWUge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICAgIGNvbG9yOiAjNTc1NzU3OyB9XG4gICAgYm9keS5zaW5nbGUtbWVtYmVyIC5zaW5nbGUtbWVtYmVyLXBhZ2UgLnNpbmdsZS1tZW1iZXItY29udGFpbmVyIC5yb2xlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBib2R5LnNpbmdsZS1tZW1iZXIgLnNpbmdsZS1tZW1iZXItcGFnZSAuc2luZ2xlLW1lbWJlci1jb250YWluZXIgLmJpbyB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfVxuXG5ib2R5LnNpbmdsZS1wb3N0IC5tb2JpbGUtbWVudSAubWVudSAuaW5zaWdodHMtcGFnZS1saW5rIGEge1xuICBjb2xvcjogI0JFOUE2MDsgfVxuXG5ib2R5LnNpbmdsZS1wb3N0IC5oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1lbnUgLm1lbnUgLmluc2lnaHRzLXBhZ2UtbGluayBhOmFmdGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBvc3QtaGVhZGVyIHtcbiAgYmFja2dyb3VuZDogI0Y5RjlGOTtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wb3N0LWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiA0LjY4NzVyZW0gMCAzLjc1cmVtIDA7IH0gfVxuICAucG9zdC1oZWFkZXIgLnBvc3QtaGVhZGVyLWRldGFpbHMge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0OyB9XG4gICAgLnBvc3QtaGVhZGVyIC5wb3N0LWhlYWRlci1kZXRhaWxzIC5iYWNrLXRvIHtcbiAgICAgIG1hcmdpbjogMCAwIDYuMjVyZW0gMDsgfVxuICAgICAgLnBvc3QtaGVhZGVyIC5wb3N0LWhlYWRlci1kZXRhaWxzIC5iYWNrLXRvIGEge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgY29sb3I6ICM3QTdBN0E7IH1cbiAgICAgICAgLnBvc3QtaGVhZGVyIC5wb3N0LWhlYWRlci1kZXRhaWxzIC5iYWNrLXRvIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG4gICAgICAgIC5wb3N0LWhlYWRlciAucG9zdC1oZWFkZXItZGV0YWlscyAuYmFjay10byBhIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAwLjE4NzVyZW07IH1cbiAgICAucG9zdC1oZWFkZXIgLnBvc3QtaGVhZGVyLWRldGFpbHMgLmNhdGVnb3J5IGg1IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICNCRTlBNjA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIC5wb3N0LWhlYWRlciAucG9zdC1oZWFkZXItZGV0YWlscyAuY2F0ZWdvcnkgaDU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAgIC5wb3N0LWhlYWRlciAucG9zdC1oZWFkZXItZGV0YWlscyAuZGF0ZSB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjN0E3QTdBO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAucG9zdC1oZWFkZXIgLnBvc3QtaGVhZGVyLWRldGFpbHMgLnBvc3QtdGl0bGUge1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIDA7IH1cbiAgICAgIC5wb3N0LWhlYWRlciAucG9zdC1oZWFkZXItZGV0YWlscyAucG9zdC10aXRsZSBoMiB7XG4gICAgICAgIGNvbG9yOiAjMjI2MDkyOyB9XG4gICAgLnBvc3QtaGVhZGVyIC5wb3N0LWhlYWRlci1kZXRhaWxzIC5wZGYtZG93bmxvYWQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMC4wNTYyNXJlbTtcbiAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0JFOUE2MDtcbiAgICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAucG9zdC1oZWFkZXIgLnBvc3QtaGVhZGVyLWRldGFpbHMgLnBkZi1kb3dubG9hZCB7XG4gICAgICAgICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgICAucG9zdC1oZWFkZXIgLnBvc3QtaGVhZGVyLWRldGFpbHMgLnBkZi1kb3dubG9hZDpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG5cbi5zaW5nbGUtaW5zaWdodCB7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQ6ICNGOUY5Rjk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNpbmdsZS1pbnNpZ2h0IHtcbiAgICAgIHBhZGRpbmc6IDQuMDYyNXJlbSAwIDVyZW0gMDsgfSB9XG4gIC5zaW5nbGUtaW5zaWdodCBoMyB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjA2MjVyZW07XG4gICAgY29sb3I6ICMyMjYwOTI7XG4gICAgbWFyZ2luOiAyLjVyZW0gMDsgfVxuICAuc2luZ2xlLWluc2lnaHQgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgY29sb3I6ICM1NzU3NTc7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgLnNpbmdsZS1pbnNpZ2h0IHVsIGxpIHtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICBjb2xvcjogIzU3NTc1NztcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAuc2luZ2xlLWluc2lnaHQgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgIGNvbG9yOiAjN0E3QTdBO1xuICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjMDMyNDM3O1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAuc2luZ2xlLWluc2lnaHQgLndwLWJsb2NrLWltYWdlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIC5zaW5nbGUtaW5zaWdodCAud3AtYmxvY2staW1hZ2UgaW1nIHtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAgIC5zaW5nbGUtaW5zaWdodCAud3AtYmxvY2staW1hZ2UgZmlnY2FwdGlvbiB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICBjb2xvcjogIzdBN0E3QTsgfVxuXG4uc2luZ2xlLWRyLWV2ZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjRjBGMEYxOyB9XG4gIC5zaW5nbGUtZHItZXZlbnQgaDEge1xuICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5zaW5nbGUtZHItZXZlbnQgaDIge1xuICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gIC5zaW5nbGUtZHItZXZlbnQgaDMge1xuICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuMDYyNXJlbTtcbiAgICBjb2xvcjogIzIyNjA5MjsgfVxuICAuc2luZ2xlLWRyLWV2ZW50IGg0IHtcbiAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4wNjI1cmVtO1xuICAgIGNvbG9yOiAjMjI2MDkyOyB9XG4gIC5zaW5nbGUtZHItZXZlbnQgaDUge1xuICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgIGNvbG9yOiAjMjI2MDkyOyB9XG4gIC5zaW5nbGUtZHItZXZlbnQgcCB7XG4gICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgIGNvbG9yOiAjNTc1NzU3OyB9XG4gICAgLnNpbmdsZS1kci1ldmVudCBwIGEge1xuICAgICAgY29sb3I6ICMyMjYwOTI7IH1cbiAgICAgIC5zaW5nbGUtZHItZXZlbnQgcCBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM3Nzc7IH1cbiAgLnNpbmdsZS1kci1ldmVudCAucGFnZS1sb2dvIGltZyB7XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMDsgfVxuICAuc2luZ2xlLWRyLWV2ZW50IC5sYXN0LW1vZGlmaWVkIHtcbiAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgY29sb3I6ICM3QTdBN0E7IH1cbiAgLnNpbmdsZS1kci1ldmVudCAuYW5ub3VuY2VtZW50cyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMC4wNjI1cmVtIHNvbGlkICNDQUNBQ0E7XG4gICAgcGFkZGluZzogMS44NzVyZW0gMDsgfVxuICAuc2luZ2xlLWRyLWV2ZW50IC5zdWJ0aXRsZSwgLnNpbmdsZS1kci1ldmVudCAuc3VidGl0bGUgcCB7XG4gICAgY29sb3I6ICNkZjExMTE7IH1cbiAgLnNpbmdsZS1kci1ldmVudCAuc2VjdGlvbnMgZGl2LnNlY3Rpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjQ0FDQUNBO1xuICAgIHBhZGRpbmc6IDEuODc1cmVtIDA7IH1cbiAgICAuc2luZ2xlLWRyLWV2ZW50IC5zZWN0aW9ucyBkaXYuc2VjdGlvbjpsYXN0LW9mLXR5cGUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogbm9uZTsgfVxuICAgIC5zaW5nbGUtZHItZXZlbnQgLnNlY3Rpb25zIGRpdi5zZWN0aW9uIC5yZWQgcCB7XG4gICAgICBjb2xvcjogI2RmMTExMTsgfVxuXG4uYWJvdXQtc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFib3V0LXNsaWRlciB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDsgfSB9XG4gIC5hYm91dC1zbGlkZXIgdWwuY29udHJvbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFib3V0LXNsaWRlciB1bC5jb250cm9scyB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogOTk5O1xuICAgICAgICByaWdodDogMy4xMjVyZW07XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH0gfVxuICAgIC5hYm91dC1zbGlkZXIgdWwuY29udHJvbHM6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hYm91dC1zbGlkZXIgdWwuY29udHJvbHM6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICBoZWlnaHQ6IDEwLjM3NXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB3aWR0aDogMC4wNzgxMnJlbTtcbiAgICAgICAgICBib3JkZXItcmlnaHQ6IDAuMDc4MTJyZW0gZGFzaGVkICM5Nzk3OTc7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtOyB9IH1cbiAgICAuYWJvdXQtc2xpZGVyIHVsLmNvbnRyb2xzOmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5hYm91dC1zbGlkZXIgdWwuY29udHJvbHM6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGhlaWdodDogMTAuMzc1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwLjA3ODEycmVtO1xuICAgICAgICAgIGJvcmRlci1yaWdodDogMC4wNzgxMnJlbSBkYXNoZWQgIzk3OTc5NztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH0gfVxuICAgIC5hYm91dC1zbGlkZXIgdWwuY29udHJvbHMsXG4gICAgLmFib3V0LXNsaWRlciB1bC5jb250cm9scyBsaSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuYWJvdXQtc2xpZGVyIHVsLmNvbnRyb2xzLFxuICAgICAgICAuYWJvdXQtc2xpZGVyIHVsLmNvbnRyb2xzIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmFib3V0LXNsaWRlciB1bC5jb250cm9scyBhLFxuICAgIC5hYm91dC1zbGlkZXIgdWwuY29udHJvbHMgYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDAuNzAzMTJyZW07XG4gICAgICBoZWlnaHQ6IDAuNzAzMTJyZW07XG4gICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZTtcbiAgICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7IH1cbiAgICAuYWJvdXQtc2xpZGVyIHVsLmNvbnRyb2xzID4gbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuYWJvdXQtc2xpZGVyIHVsLmNvbnRyb2xzID4gbGkuYWN0aXZlIGEsXG4gICAgLmFib3V0LXNsaWRlciB1bC5jb250cm9scyA+IGxpLmFjdGl2ZSBidXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDsgfVxuICAuYWJvdXQtc2xpZGVyIC5zbGlkZS1udW1iZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFib3V0LXNsaWRlciAuc2xpZGUtbnVtYmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICBib3R0b206IDYuMjVyZW07XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgY29sb3I6ICNCRTlBNjA7IH0gfVxuICAuYWJvdXQtc2xpZGVyIC5hcnJvd3MtZG93biB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYWJvdXQtc2xpZGVyIC5hcnJvd3MtZG93biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgYm90dG9tOiAyLjVyZW07XG4gICAgICAgIHotaW5kZXg6IDU7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gICAgLmFib3V0LXNsaWRlciAuYXJyb3dzLWRvd24gYSB7XG4gICAgICBjb2xvcjogI0ExQTFBMTsgfVxuICAgICAgLmFib3V0LXNsaWRlciAuYXJyb3dzLWRvd24gYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG4gIC5hYm91dC1zbGlkZXIgLmFib3V0LXNsaWRlIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hYm91dC1zbGlkZXIgLmFib3V0LXNsaWRlIHtcbiAgICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgLmFib3V0LXNsaWRlciAuYWJvdXQtc2xpZGUuZmlyc3QsIC5hYm91dC1zbGlkZXIgLmFib3V0LXNsaWRlLmluLXZpZXdwb3J0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAxOyB9XG5cbi5wbGFpbi1wYWdlIHtcbiAgcGFkZGluZzogNi4yNXJlbSAwO1xuICBiYWNrZ3JvdW5kOiAjRjBGMEYxOyB9XG4gIC5wbGFpbi1wYWdlIC5wYWdlLXRpdGxlIGgxIHtcbiAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDMuMTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjgxMjVyZW07XG4gICAgY29sb3I6ICMyMjYwOTI7IH1cbiAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCBoMiB7XG4gICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCBoMyB7XG4gICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMi4wNjI1cmVtO1xuICAgIGNvbG9yOiAjMjI2MDkyOyB9XG4gIC5wbGFpbi1wYWdlIC5wYWdlLWNvbnRlbnQgaDQge1xuICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyLjA2MjVyZW07XG4gICAgY29sb3I6ICMyMjYwOTI7IH1cbiAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCBoNSB7XG4gICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQzNzVyZW07XG4gICAgY29sb3I6ICMyMjYwOTI7IH1cbiAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCBwIHtcbiAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgY29sb3I6ICM1NzU3NTc7IH1cbiAgICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IHAgYSB7XG4gICAgICBjb2xvcjogIzIyNjA5MjsgfVxuICAgICAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCBwIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzc3NzsgfVxuICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IHVsIGxpLFxuICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IG9sIGxpIHtcbiAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgY29sb3I6ICM1NzU3NTc7IH1cbiAgICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IHVsIGxpIGEsXG4gICAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCBvbCBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMjI2MDkyOyB9XG4gICAgICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IHVsIGxpIGE6aG92ZXIsXG4gICAgICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IG9sIGxpIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzc3NzsgfVxuICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IHVsLm1haW4tbGlzdCxcbiAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCBvbC5tYWluLWxpc3Qge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAxLjg3NXJlbSAwOyB9XG4gICAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCB1bC5tYWluLWxpc3QgbGksXG4gICAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCBvbC5tYWluLWxpc3QgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTsgfVxuICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IHRhYmxlIHRoZWFkIHRyIHRoIHtcbiAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTsgfVxuICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IHRhYmxlIHRoZWFkIHRyIHRkIHtcbiAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTsgfVxuICAucGxhaW4tcGFnZSAucGFnZS1jb250ZW50IHRhYmxlIHRib2R5IHRyIHRkIHtcbiAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gICAgLnBsYWluLXBhZ2UgLnBhZ2UtY29udGVudCB0YWJsZSB0Ym9keSB0ciB0ZCB1bCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuXG4ubGlmZS1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlmZS1zbGlkZXIge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7IH0gfVxuICAubGlmZS1zbGlkZXIgdWwuY29udHJvbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpZmUtc2xpZGVyIHVsLmNvbnRyb2xzIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG4gICAgICAgIHJpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfSB9XG4gICAgLmxpZmUtc2xpZGVyIHVsLmNvbnRyb2xzOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIGhlaWdodDogMTAuMzc1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMC4wNzgxMnJlbTtcbiAgICAgIGJvcmRlci1yaWdodDogMC4wNzgxMnJlbSBkYXNoZWQgIzk3OTc5NztcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuMzc1cmVtOyB9XG4gICAgLmxpZmUtc2xpZGVyIHVsLmNvbnRyb2xzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgaGVpZ2h0OiAxMC4zNzVyZW07XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwLjA3ODEycmVtO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwLjA3ODEycmVtIGRhc2hlZCAjOTc5Nzk3O1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMC4zNzVyZW07IH1cbiAgICAubGlmZS1zbGlkZXIgdWwuY29udHJvbHMsXG4gICAgLmxpZmUtc2xpZGVyIHVsLmNvbnRyb2xzIGxpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5saWZlLXNsaWRlciB1bC5jb250cm9scyxcbiAgICAgICAgLmxpZmUtc2xpZGVyIHVsLmNvbnRyb2xzIGxpIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtIDA7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmxpZmUtc2xpZGVyIHVsLmNvbnRyb2xzIGEsXG4gICAgLmxpZmUtc2xpZGVyIHVsLmNvbnRyb2xzIGJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAwLjcwMzEycmVtO1xuICAgICAgaGVpZ2h0OiAwLjcwMzEycmVtO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiAjRDhEOEQ4OyB9XG4gICAgLmxpZmUtc2xpZGVyIHVsLmNvbnRyb2xzID4gbGk6YmVmb3JlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAubGlmZS1zbGlkZXIgdWwuY29udHJvbHMgPiBsaS5hY3RpdmUgYSxcbiAgICAubGlmZS1zbGlkZXIgdWwuY29udHJvbHMgPiBsaS5hY3RpdmUgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7IH1cbiAgLmxpZmUtc2xpZGVyIC5zbGlkZS1udW1iZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpZmUtc2xpZGVyIC5zbGlkZS1udW1iZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMy4xMjVyZW07XG4gICAgICAgIGJvdHRvbTogNi4yNXJlbTtcbiAgICAgICAgei1pbmRleDogNTtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBjb2xvcjogI0JFOUE2MDsgfSB9XG4gIC5saWZlLXNsaWRlciAuYXJyb3dzLWRvd24ge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmxpZmUtc2xpZGVyIC5hcnJvd3MtZG93biB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAzLjEyNXJlbTtcbiAgICAgICAgYm90dG9tOiAyLjVyZW07XG4gICAgICAgIHotaW5kZXg6IDI1O1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAgIC5saWZlLXNsaWRlciAuYXJyb3dzLWRvd24gYSB7XG4gICAgICBjb2xvcjogI0ExQTFBMTsgfVxuICAgICAgLmxpZmUtc2xpZGVyIC5hcnJvd3MtZG93biBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNCRTlBNjA7IH1cbiAgLmxpZmUtc2xpZGVyIC5saWZlLXNsaWRlIHtcbiAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5saWZlLXNsaWRlciAubGlmZS1zbGlkZSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgIC5saWZlLXNsaWRlciAubGlmZS1zbGlkZS5maXJzdCwgLmxpZmUtc2xpZGVyIC5saWZlLXNsaWRlLmluLXZpZXdwb3J0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAxOyB9XG5cbi8qIFNsaWRlciAqL1xuLnNsaWNrLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC13ZWJraXQtdG91Y2gtY2FsbG91dDogbm9uZTtcbiAgLXdlYmtpdC11c2VyLXNlbGVjdDogbm9uZTtcbiAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICAtbXMtdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4uc2xpY2stbGlzdCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDsgfVxuICAuc2xpY2stbGlzdDpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAuc2xpY2stbGlzdC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1tb3otdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIC1vLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7IH1cblxuLnNsaWNrLXRyYWNrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIC5zbGljay10cmFjazpiZWZvcmUsIC5zbGljay10cmFjazphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1zbGlkZSB7XG4gICAgZmxvYXQ6IHJpZ2h0OyB9XG4gIC5zbGljay1zbGlkZSBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAuc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAuc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7IH1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLyogU2xpZGVyICovXG4uc2xpY2stbG9hZGluZyAuc2xpY2stbGlzdCB7XG4gIGJhY2tncm91bmQ6ICNmZmYgdXJsKFwiLi8uLi9pbWcvYWpheC1sb2FkZXIuZ2lmXCIpIG5vLXJlcGVhdCBjZW50ZXIgY2VudGVyOyB9XG5cbi8qIEljb25zICovXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgc3JjOiB1cmwoXCIuLi9mb250cy9zbGljay5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi4vZm9udHMvc2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4uL2ZvbnRzL3NsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4vKiBBcnJvd3MgKi9cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIHdpZHRoOiAxLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgZm9udC1zaXplOiAwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG9wOiA1MCU7XG4gIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIC1tcy10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5zbGljay1wcmV2OmhvdmVyLCAuc2xpY2stcHJldjpmb2N1cyxcbiAgLnNsaWNrLW5leHQ6aG92ZXIsXG4gIC5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zbGljay1wcmV2OmhvdmVyOmJlZm9yZSwgLnNsaWNrLXByZXY6Zm9jdXM6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmhvdmVyOmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpmb2N1czpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDpiZWZvcmUsXG4gIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNTsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUsXG4gIC5zbGljay1uZXh0OmJlZm9yZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6IHdoaXRlO1xuICAgIG9wYWNpdHk6IDAuNzU7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IDEuNTYyNXJlbTtcbiAgei1pbmRleDogNTU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMjVweDsgfVxuICAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9wcmV2LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIHdpZHRoOiAxLjEyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdG9wOiAwLjMxMjVyZW07XG4gICAgbGVmdDogMC4zMTI1cmVtOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAxLjU2MjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltZy9uZXh0LnN2Z1wiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBjb250ZW50OiAnJztcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIHdpZHRoOiAxLjEyNXJlbTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwLjMxMjVyZW07XG4gICAgbGVmdDogMC4zMTI1cmVtOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnNsaWNrLWRvdHMgbGkge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAuc2xpY2stZG90cyBsaSBidXR0b24ge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICBmb250LXNpemU6IDBweDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLCAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3ZlcjpiZWZvcmUsIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1czpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBibGFjaztcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBjb2xvcjogYmxhY2s7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbkBrZXlmcmFtZXMgY2hhcnRqcy1yZW5kZXItYW5pbWF0aW9uIHtcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogLjk5OyB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxOyB9IH1cblxuLmNoYXJ0anMtcmVuZGVyLW1vbml0b3Ige1xuICBhbmltYXRpb246IGNoYXJ0anMtcmVuZGVyLWFuaW1hdGlvbiAxbXM7IH1cblxuLmNoYXJ0anMtc2l6ZS1tb25pdG9yLFxuLmNoYXJ0anMtc2l6ZS1tb25pdG9yLWV4cGFuZCxcbi5jaGFydGpzLXNpemUtbW9uaXRvci1zaHJpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpcmVjdGlvbjogbHRyO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IC0xOyB9XG5cbi5jaGFydGpzLXNpemUtbW9uaXRvci1leHBhbmQgPiBkaXYge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAwMDAwcHg7XG4gIGhlaWdodDogMTAwMDAwMHB4O1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7IH1cblxuLmNoYXJ0anMtc2l6ZS1tb25pdG9yLXNocmluayA+IGRpdiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIwMCU7XG4gIGhlaWdodDogMjAwJTtcbiAgbGVmdDogMDtcbiAgdG9wOiAwOyB9XG5cbi5sYW5kaW5nLWhlYWRlciB7XG4gIGhlaWdodDogMzcuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBwYWRkaW5nOiAwIDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGFuZGluZy1oZWFkZXIge1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAubGFuZGluZy1oZWFkZXIgLnRvcC1tZW51LWJhciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDEuMjVyZW07XG4gICAgcmlnaHQ6IDEuMjVyZW07XG4gICAgdG9wOiAxLjU2MjVyZW07XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubGFuZGluZy1oZWFkZXIgLnRvcC1tZW51LWJhciB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDQuNjg3NXJlbTsgfSB9XG4gICAgLmxhbmRpbmctaGVhZGVyIC50b3AtbWVudS1iYXIgLmxvZ28ge1xuICAgICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICAgIC5sYW5kaW5nLWhlYWRlciAudG9wLW1lbnUtYmFyIC5sb2dvIGEge1xuICAgICAgICBoZWlnaHQ6IDIuNjg3NXJlbTtcbiAgICAgICAgd2lkdGg6IDI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgIC5sYW5kaW5nLWhlYWRlciAudG9wLW1lbnUtYmFyIC5sb2dvIGEgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6IDIuNjg3NXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7IH1cbiAgICAgICAgICAubGFuZGluZy1oZWFkZXIgLnRvcC1tZW51LWJhciAubG9nbyBhIGltZy5sb2dvLWltZyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAgICAgLmxhbmRpbmctaGVhZGVyIC50b3AtbWVudS1iYXIgLmxvZ28gYSBpbWcuc2hvdy1vbi1ob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwOyB9XG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAubGFuZGluZy1oZWFkZXIgLnRvcC1tZW51LWJhciAubG9nbyBhIGltZy5zaG93LW9uLWhvdmVyIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMi42ODc1cmVtO1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjsgfSB9XG4gICAgICAgIC5sYW5kaW5nLWhlYWRlciAudG9wLW1lbnUtYmFyIC5sb2dvIGE6aG92ZXIgaW1nLnNob3ctb24taG92ZXIge1xuICAgICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmxhbmRpbmctaGVhZGVyIC50b3AtbWVudS1iYXIgLmxvZ28gYTpob3ZlciBpbWcuc2hvdy1vbi1ob3ZlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDE7IH0gfVxuICAgIC5sYW5kaW5nLWhlYWRlciAudG9wLW1lbnUtYmFyIC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5sYW5kaW5nLWhlYWRlciAudG9wLW1lbnUtYmFyIC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLmxhbmRpbmctaGVhZGVyIC50b3AtbWVudS1iYXIgLmhlYWRlci1tb2JpbGUtbWVudSBhIC5oYW1idXJnZXItbWVudSBzcGFuIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTsgfVxuICAgIC5sYW5kaW5nLWhlYWRlciAudG9wLW1lbnUtYmFyIC5oZWFkZXItbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubGFuZGluZy1oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1lbnUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfSB9XG4gICAgICAubGFuZGluZy1oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1lbnUgdWwgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMC43NXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmxhbmRpbmctaGVhZGVyIC50b3AtbWVudS1iYXIgLmhlYWRlci1tZW51IHVsIGxpIGE6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4zczsgfVxuICAgICAgICAubGFuZGluZy1oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1lbnUgdWwgbGkgYTpob3ZlcjphZnRlciB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5sYW5kaW5nLWhlYWRlciAudG9wLW1lbnUtYmFyIC5oZWFkZXItbWVudSB1bCBsaTpsYXN0LWNoaWxkIGEge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAubGFuZGluZy1oZWFkZXIgLnRvcC1tZW51LWJhciAuaGVhZGVyLW1lbnUgdWwgbGkuY3VycmVudF9wYWdlX2l0ZW0gYTphZnRlciB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYW5kaW5nLWhlYWRlciB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB6LWluZGV4OiAxO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMzcuNXJlbTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAubGFuZGluZy1oZWFkZXIgdmlkZW8ge1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIGhlaWdodDogMTAwdmg7IH0gfVxuICAubGFuZGluZy1oZWFkZXIgLmhlYWRlci1pbnRyby1kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6IDM7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmxhbmRpbmctaGVhZGVyIC5oZWFkZXItaW50cm8tZGV0YWlscyB7XG4gICAgICAgIHdpZHRoOiAyOS42ODc1cmVtOyB9IH1cbiAgICAubGFuZGluZy1oZWFkZXIgLmhlYWRlci1pbnRyby1kZXRhaWxzOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IHVybChcIi4uL2ltZy9saW5lLWJnLnN2Z1wiKTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogLTIuNXJlbTtcbiAgICAgIHJpZ2h0OiAzLjc1cmVtO1xuICAgICAgei1pbmRleDogMTsgfVxuICAgIC5sYW5kaW5nLWhlYWRlciAuaGVhZGVyLWludHJvLWRldGFpbHMgaDEge1xuICAgICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDQ7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5sYW5kaW5nLWhlYWRlciAuaGVhZGVyLWludHJvLWRldGFpbHMgaDEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAgIC5sYW5kaW5nLWhlYWRlciAuaGVhZGVyLWludHJvLWRldGFpbHMgcCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogNDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLmxhbmRpbmctaGVhZGVyIC5oZWFkZXItaW50cm8tZGV0YWlscyBwIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAubGFuZGluZy1oZWFkZXIgLmhlYWRlci1pbnRyby1kZXRhaWxzIC5jdGEge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0JFOUE2MDtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDQ7IH1cbiAgICAgIC5sYW5kaW5nLWhlYWRlciAuaGVhZGVyLWludHJvLWRldGFpbHMgLmN0YTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7IH1cbiAgLmxhbmRpbmctaGVhZGVyIC5zY3JvbGwtZG93biB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYm90dG9tOiAxLjU2MjVyZW07XG4gICAgei1pbmRleDogMjtcbiAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5sYW5kaW5nLWhlYWRlciAuc2Nyb2xsLWRvd24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYm90dG9tOiA2LjU2MjVyZW07IH0gfVxuICAgIC5sYW5kaW5nLWhlYWRlciAuc2Nyb2xsLWRvd24gYSB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjsgfVxuICAgICAgLmxhbmRpbmctaGVhZGVyIC5zY3JvbGwtZG93biBhOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNCRTlBNjA7IH1cblxuLndoby13ZS1hcmUge1xuICBiYWNrZ3JvdW5kOiAjRjFGMkYzO1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA1OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLndoby13ZS1hcmUge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBwYWRkaW5nOiA0LjY4NzVyZW0gMCA1LjMxMjVyZW0gMDsgfSB9XG4gIC53aG8td2UtYXJlIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAud2hvLXdlLWFyZSAuc2l0ZW5hbWUtZmxvYXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC53aG8td2UtYXJlIC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLndoby13ZS1hcmUgLnRvcC1tZW51LWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLndoby13ZS1hcmUgLm1haW4tc2xpZGUtZGV0YWlscy13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAyLjVyZW07IH1cbiAgICAud2hvLXdlLWFyZSAubWFpbi1zbGlkZS1kZXRhaWxzLXdyYXBwZXIgLm1lZGl1bS0zIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC53aG8td2UtYXJlIC5tYWluLXNsaWRlLWRldGFpbHMtd3JhcHBlciAubWFpbi1zbGlkZS1kZXRhaWxzIGg1IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgIC53aG8td2UtYXJlIC5tYWluLXNsaWRlLWRldGFpbHMtd3JhcHBlciAubWFpbi1zbGlkZS1kZXRhaWxzIGg1OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC40Mzc1cmVtOyB9XG4gICAgLndoby13ZS1hcmUgLm1haW4tc2xpZGUtZGV0YWlscy13cmFwcGVyIC5tYWluLXNsaWRlLWRldGFpbHMgaDIge1xuICAgICAgd2lkdGg6IDE4Ljc1cmVtO1xuICAgICAgY29sb3I6ICMyMjYwOTI7IH1cbiAgICAud2hvLXdlLWFyZSAubWFpbi1zbGlkZS1kZXRhaWxzLXdyYXBwZXIgLm1haW4tc2xpZGUtZGV0YWlscyBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjI1cmVtOyB9XG4gICAgLndoby13ZS1hcmUgLm1haW4tc2xpZGUtZGV0YWlscy13cmFwcGVyIC5tYWluLXNsaWRlLWRldGFpbHMgaDYge1xuICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG4gICAgLndoby13ZS1hcmUgLm1haW4tc2xpZGUtZGV0YWlscy13cmFwcGVyIC5udW1iZXJzLWNvbnRhaW5lciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC53aG8td2UtYXJlIC5tYWluLXNsaWRlLWRldGFpbHMtd3JhcHBlciAubnVtYmVycy1jb250YWluZXIgLnN0YXQtbnVtYmVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAud2hvLXdlLWFyZSAubWFpbi1zbGlkZS1kZXRhaWxzLXdyYXBwZXIgLm51bWJlcnMtY29udGFpbmVyIC5zdGF0LW51bWJlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAud2hvLXdlLWFyZSAubWFpbi1zbGlkZS1kZXRhaWxzLXdyYXBwZXIgLm51bWJlcnMtY29udGFpbmVyIC5zdGF0LW51bWJlci5zdGF0LW51bWJlci0xIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNi44NzVyZW07IH0gfVxuICAgICAgICAud2hvLXdlLWFyZSAubWFpbi1zbGlkZS1kZXRhaWxzLXdyYXBwZXIgLm51bWJlcnMtY29udGFpbmVyIC5zdGF0LW51bWJlciBoNCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICBjb2xvcjogI0JFOUE2MDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC53aG8td2UtYXJlIC5tYWluLXNsaWRlLWRldGFpbHMtd3JhcHBlciAubnVtYmVycy1jb250YWluZXIgLnN0YXQtbnVtYmVyIGg0IHtcbiAgICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTsgfSB9XG4gICAgICAgIC53aG8td2UtYXJlIC5tYWluLXNsaWRlLWRldGFpbHMtd3JhcHBlciAubnVtYmVycy1jb250YWluZXIgLnN0YXQtbnVtYmVyIGgzIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICBmb250LXNpemU6IDVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAtMC4zNzVyZW07IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLndoby13ZS1hcmUgLm1haW4tc2xpZGUtZGV0YWlscy13cmFwcGVyIC5udW1iZXJzLWNvbnRhaW5lciAuc3RhdC1udW1iZXIgaDMge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDguMTI1cmVtOyB9IH1cbiAgICAgICAgLndoby13ZS1hcmUgLm1haW4tc2xpZGUtZGV0YWlscy13cmFwcGVyIC5udW1iZXJzLWNvbnRhaW5lciAuc3RhdC1udW1iZXIgcCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLndoby13ZS1hcmUgLm1haW4tc2xpZGUtZGV0YWlscy13cmFwcGVyIC5udW1iZXJzLWNvbnRhaW5lciAuc3RhdC1udW1iZXIgcCB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07IH0gfVxuICAgICAgICAud2hvLXdlLWFyZSAubWFpbi1zbGlkZS1kZXRhaWxzLXdyYXBwZXIgLm51bWJlcnMtY29udGFpbmVyIC5zdGF0LW51bWJlcjpob3ZlciBoMyB7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6IDAgMC4yNXJlbSAwLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLmZlYXR1cmVkLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAzLjc1cmVtIDEuMjVyZW0gNi4yNXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZlYXR1cmVkLWNvbnRlbnQge1xuICAgICAgYmFja2dyb3VuZDogI0YxRjJGMztcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgcGFkZGluZzogNC42ODc1cmVtIDAgNS4zMTI1cmVtIDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxMDsgfSB9XG4gIC5mZWF0dXJlZC1jb250ZW50IC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZmVhdHVyZWQtY29udGVudCAuc2l0ZW5hbWUtZmxvYXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5mZWF0dXJlZC1jb250ZW50IC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZlYXR1cmVkLWNvbnRlbnQgLnRvcC1tZW51LWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmZlYXR1cmVkLWNvbnRlbnQgLmZlYXR1cmVkLXBhZ2VzIHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZmVhdHVyZWQtY29udGVudCAuZmVhdHVyZWQtcGFnZXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogNi4yNXJlbTsgfSB9XG4gICAgLmZlYXR1cmVkLWNvbnRlbnQgLmZlYXR1cmVkLXBhZ2VzIC5mZWF0dXJlZC1pdGVtIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLmZlYXR1cmVkLWNvbnRlbnQgLmZlYXR1cmVkLXBhZ2VzIC5mZWF0dXJlZC1pdGVtIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgIC5mZWF0dXJlZC1jb250ZW50IC5mZWF0dXJlZC1wYWdlcyAuZmVhdHVyZWQtaXRlbSBoNS53aXRoLXNtYWxsLWJvcmRlcjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuZmVhdHVyZWQtY29udGVudCAuZmVhdHVyZWQtcGFnZXMgLmZlYXR1cmVkLWl0ZW0gaDUud2l0aC1zbWFsbC1ib3JkZXI6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogJyc7IH0gfVxuICAgICAgLmZlYXR1cmVkLWNvbnRlbnQgLmZlYXR1cmVkLXBhZ2VzIC5mZWF0dXJlZC1pdGVtIC5pY29uLXdyYXBwZXIge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAuZmVhdHVyZWQtY29udGVudCAuZmVhdHVyZWQtcGFnZXMgLmZlYXR1cmVkLWl0ZW0gLmljb24td3JhcHBlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAgICAgICAuZmVhdHVyZWQtY29udGVudCAuZmVhdHVyZWQtcGFnZXMgLmZlYXR1cmVkLWl0ZW0gLmljb24td3JhcHBlciBoMiB7XG4gICAgICAgICAgY29sb3I6ICMyMjYwOTI7XG4gICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLmZlYXR1cmVkLWNvbnRlbnQgLmZlYXR1cmVkLXBhZ2VzIC5mZWF0dXJlZC1pdGVtIC5pY29uLXdyYXBwZXIgaDIge1xuICAgICAgICAgICAgICBmb250LXNpemU6IDMuMTI1cmVtO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07IH0gfVxuICAgICAgICAuZmVhdHVyZWQtY29udGVudCAuZmVhdHVyZWQtcGFnZXMgLmZlYXR1cmVkLWl0ZW0gLmljb24td3JhcHBlciBpbWcge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgaGVpZ2h0OiAwOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5mZWF0dXJlZC1jb250ZW50IC5mZWF0dXJlZC1wYWdlcyAuZmVhdHVyZWQtaXRlbSAuaWNvbi13cmFwcGVyIGltZyB7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgICAgIG9wYWNpdHk6IDA7IH0gfVxuICAgICAgLmZlYXR1cmVkLWNvbnRlbnQgLmZlYXR1cmVkLXBhZ2VzIC5mZWF0dXJlZC1pdGVtIHAge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmZlYXR1cmVkLWNvbnRlbnQgLmZlYXR1cmVkLXBhZ2VzIC5mZWF0dXJlZC1pdGVtIC5jdGEge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjQkU5QTYwO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7IH1cbiAgICAgICAgLmZlYXR1cmVkLWNvbnRlbnQgLmZlYXR1cmVkLXBhZ2VzIC5mZWF0dXJlZC1pdGVtIC5jdGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgICAgIC5mZWF0dXJlZC1jb250ZW50IC5mZWF0dXJlZC1wYWdlcyAuZmVhdHVyZWQtaXRlbTpob3ZlciAuaWNvbi13cmFwcGVyIGgyIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5mZWF0dXJlZC1jb250ZW50IC5mZWF0dXJlZC1wYWdlcyAuZmVhdHVyZWQtaXRlbTpob3ZlciAuaWNvbi13cmFwcGVyIGgyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDA7IH0gfVxuICAgICAgLmZlYXR1cmVkLWNvbnRlbnQgLmZlYXR1cmVkLXBhZ2VzIC5mZWF0dXJlZC1pdGVtOmhvdmVyIC5pY29uLXdyYXBwZXIgaW1nIHtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5mZWF0dXJlZC1jb250ZW50IC5mZWF0dXJlZC1wYWdlcyAuZmVhdHVyZWQtaXRlbTpob3ZlciAuaWNvbi13cmFwcGVyIGltZyB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMi41cmVtOyB9IH1cbiAgLmZlYXR1cmVkLWNvbnRlbnQgLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogLTMuMTI1cmVtOyB9XG4gICAgLmZlYXR1cmVkLWNvbnRlbnQgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgY29sb3I6ICNCRTlBNjA7IH1cbiAgICAuZmVhdHVyZWQtY29udGVudCAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG5cbi5hYm91dC15b3JrIHtcbiAgYmFja2dyb3VuZDogIzM0Mzk0MTtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWJvdXQteW9yayB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwIDUuMzEyNXJlbSAwOyB9IH1cbiAgLmFib3V0LXlvcmsgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hYm91dC15b3JrIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmFib3V0LXlvcmsgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuYWJvdXQteW9yayAudG9wLW1lbnUtYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuYWJvdXQteW9yayAuYWJvdXQteW9yay1xdW90ZSB7XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmFib3V0LXlvcmsgLmFib3V0LXlvcmstcXVvdGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogNi4yNXJlbTsgfSB9XG4gICAgLmFib3V0LXlvcmsgLmFib3V0LXlvcmstcXVvdGUgLmFib3V0LXlvcmstcXVvdGUtdGV4dCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBwYWRkaW5nLXRvcDogMy4xMjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWcvbGluZS1iZy0yLnN2Z1wiKSBuby1yZXBlYXQgdG9wIGNlbnRlcjtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJSAxMDAlOyB9XG4gICAgICAuYWJvdXQteW9yayAuYWJvdXQteW9yay1xdW90ZSAuYWJvdXQteW9yay1xdW90ZS10ZXh0IHAge1xuICAgICAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMi41cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmFib3V0LXlvcmsgLmFib3V0LXlvcmstcXVvdGUgLmFib3V0LXlvcmstcXVvdGUtdGV4dCBwIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi44MTI1cmVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiAzLjc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAgICAgLmFib3V0LXlvcmsgLmFib3V0LXlvcmstcXVvdGUgLmFib3V0LXlvcmstcXVvdGUtdGV4dCAuY3RhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDEuMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0JFOUE2MDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAgIC5hYm91dC15b3JrIC5hYm91dC15b3JrLXF1b3RlIC5hYm91dC15b3JrLXF1b3RlLXRleHQgLmN0YTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuXG4udGVhbS1kZXRhaWxzIHtcbiAgYmFja2dyb3VuZDogI0YxRjJGMztcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZWFtLWRldGFpbHMge1xuICAgICAgcGFkZGluZzogMy43NXJlbSAwIDYuMjVyZW0gMDsgfSB9XG4gIC50ZWFtLWRldGFpbHMgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiA3MHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudGVhbS1kZXRhaWxzIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGVhbS1kZXRhaWxzIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnRlYW0tZGV0YWlscyAudG9wLW1lbnUtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50ZWFtLWRldGFpbHMgLnRvcC1tZW51LWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGVhbS1kZXRhaWxzIC50ZWFtLWRldGFpbHMtYmxvY2tzIHtcbiAgICAgIHBhZGRpbmctdG9wOiA2LjI1cmVtOyB9IH1cbiAgLnRlYW0tZGV0YWlscyAudGVhbS1kZXRhaWxzLWJsb2NrcyAucm93IC5zaXRlbmFtZS1mbG9hdC10ZXh0IHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAudGVhbS1kZXRhaWxzIC50ZWFtLWRldGFpbHMtYmxvY2tzIC5mZWF0dXJlZC1wYXJhZ3JhcGggcCB7XG4gICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICBjb2xvcjogIzIyNjA5MjsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGVhbS1kZXRhaWxzIC50ZWFtLWRldGFpbHMtYmxvY2tzIC5mZWF0dXJlZC1wYXJhZ3JhcGggcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzLjEyNXJlbTsgfSB9XG4gICAgLnRlYW0tZGV0YWlscyAudGVhbS1kZXRhaWxzLWJsb2NrcyAuZmVhdHVyZWQtcGFyYWdyYXBoIHA6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7IH1cbiAgLnRlYW0tZGV0YWlscyAudGVhbS1kZXRhaWxzLWJsb2NrcyAuc21hbGwtcGFyYWdyYXBoIHAge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIGNvbG9yOiAjNTc1NzU3OyB9XG5cbi50ZWFtLWJsb2NrIHtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZWFtLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDIuNzVyZW0gMCAxMi41cmVtIDA7IH0gfVxuICAudGVhbS1ibG9jayAuZmlsdGVycyAuZmlsdGVyLWJveC5vZmZpY2VzLWJveCB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGVhbS1ibG9jayAuZmlsdGVycyAuZmlsdGVyLWJveC5vZmZpY2VzLWJveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMy4xMjVyZW07IH0gfVxuICAudGVhbS1ibG9jayAuZmlsdGVycyAuZmlsdGVyLWJveCBoNSB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cbiAgLnRlYW0tYmxvY2sgLmZpbHRlcnMgLmZpbHRlci1ib3ggLmNiLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBjb2xvcjogIzdBN0E3QTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgIC50ZWFtLWJsb2NrIC5maWx0ZXJzIC5maWx0ZXItYm94IC5jYi1jb250YWluZXIgLmNoZWNrbWFyayB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDAuMzEyNXJlbTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgaGVpZ2h0OiAwLjg3NXJlbTtcbiAgICAgIHdpZHRoOiAwLjg3NXJlbTtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiBpbnNldCAwIDAuMDYyNXJlbSAwLjEyNXJlbSAwIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgIC13ZWJraXQtYm94LXNoYWRvdzogaW5zZXQgMCAwLjA2MjVyZW0gMC4xMjVyZW0gMCByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICAudGVhbS1ibG9jayAuZmlsdGVycyAuZmlsdGVyLWJveCAuY2ItY29udGFpbmVyIGlucHV0IHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICB3aWR0aDogMDsgfVxuICAgICAgLnRlYW0tYmxvY2sgLmZpbHRlcnMgLmZpbHRlci1ib3ggLmNiLWNvbnRhaW5lciBpbnB1dDpjaGVja2VkIH4gLmNoZWNrbWFyayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBREFEQUQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7IH1cbiAgICAgIC50ZWFtLWJsb2NrIC5maWx0ZXJzIC5maWx0ZXItYm94IC5jYi1jb250YWluZXIgaW5wdXQ6Y2hlY2tlZCB+IC5jaGVja21hcms6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC50ZWFtLWJsb2NrIC5maWx0ZXJzIC5maWx0ZXItYm94IC5jYi1jb250YWluZXI6aG92ZXIgaW5wdXQgfiAuY2hlY2ttYXJrIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBREFEQUQ7XG4gICAgICBib3gtc2hhZG93OiBub25lOyB9XG4gIC50ZWFtLWJsb2NrIC5maWx0ZXJzIC5maWx0ZXItYnRuIHtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAudGVhbS1ibG9jayAuZmlsdGVycyAuZmlsdGVyLWJ0biB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gICAgLnRlYW0tYmxvY2sgLmZpbHRlcnMgLmZpbHRlci1idG4gYnV0dG9uIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjQkU5QTYwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDAgMy4xMjVyZW07XG4gICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGxpbmVhcjtcbiAgICAgIGN1cnNvcjogaGFuZDsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLnRlYW0tYmxvY2sgLmZpbHRlcnMgLmZpbHRlci1idG4gYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgICAgLnRlYW0tYmxvY2sgLmZpbHRlcnMgLmZpbHRlci1idG4gYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cbiAgLnRlYW0tYmxvY2sgLm1lbWJlcnMge1xuICAgIHBhZGRpbmctdG9wOiAzLjc1cmVtOyB9XG4gICAgLnRlYW0tYmxvY2sgLm1lbWJlcnMgLnRlYW0tbWVtYmVycy13cmFwcGVyIC5zaW5nbGUtbWVtYmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cbiAgICAgIC50ZWFtLWJsb2NrIC5tZW1iZXJzIC50ZWFtLW1lbWJlcnMtd3JhcHBlciAuc2luZ2xlLW1lbWJlcjpob3ZlciAubWVtYmVyLWltYWdlIGltZyB7XG4gICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDAlKTsgfVxuICAgICAgLnRlYW0tYmxvY2sgLm1lbWJlcnMgLnRlYW0tbWVtYmVycy13cmFwcGVyIC5zaW5nbGUtbWVtYmVyIC5tZW1iZXItaW1hZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjgxMjVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjQkU5QTYwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAudGVhbS1ibG9jayAubWVtYmVycyAudGVhbS1tZW1iZXJzLXdyYXBwZXIgLnNpbmdsZS1tZW1iZXIgLm1lbWJlci1pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5LjM3NXJlbTsgfSB9XG4gICAgICAgIC50ZWFtLWJsb2NrIC5tZW1iZXJzIC50ZWFtLW1lbWJlcnMtd3JhcHBlciAuc2luZ2xlLW1lbWJlciAubWVtYmVyLWltYWdlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyO1xuICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC50ZWFtLWJsb2NrIC5tZW1iZXJzIC50ZWFtLW1lbWJlcnMtd3JhcHBlciAuc2luZ2xlLW1lbWJlciAubWVtYmVyLWltYWdlIGltZyB7XG4gICAgICAgICAgICAgIGhlaWdodDogMTkuMzc1cmVtO1xuICAgICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfSB9XG4gICAgICAudGVhbS1ibG9jayAubWVtYmVycyAudGVhbS1tZW1iZXJzLXdyYXBwZXIgLnNpbmdsZS1tZW1iZXIgLm1lbWJlci1kZXRhaWxzIC5vZmZpY2Uge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTsgfVxuICAgICAgLnRlYW0tYmxvY2sgLm1lbWJlcnMgLnRlYW0tbWVtYmVycy13cmFwcGVyIC5zaW5nbGUtbWVtYmVyIC5tZW1iZXItZGV0YWlscyBoMyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGNvbG9yOiAjNTc1NzU3OyB9XG4gICAgICAudGVhbS1ibG9jayAubWVtYmVycyAudGVhbS1tZW1iZXJzLXdyYXBwZXIgLnNpbmdsZS1tZW1iZXIgLm1lbWJlci1kZXRhaWxzIHAge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cbiAgLnRlYW0tYmxvY2sgLmxvYWQtbW9yZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRlYW0tYmxvY2sgLmxvYWQtbW9yZSAubW9yZS1idXR0b24ge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzIyNjA5MjtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAudGVhbS1ibG9jayAubG9hZC1tb3JlIC5tb3JlLWJ1dHRvbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAgIC50ZWFtLWJsb2NrIC5sb2FkLW1vcmUgLm1vcmUtYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNCRTlBNjA7IH1cbiAgICAudGVhbS1ibG9jayAubG9hZC1tb3JlIC5zZWUtYWxsIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgY29sb3I6ICMyMzFGMjA7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAudGVhbS1ibG9jayAubG9hZC1tb3JlIC5zZWUtYWxsOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNCRTlBNjA7IH1cblxuLmNvbnRhY3QtbWFwIHtcbiAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb250YWN0LW1hcCB7XG4gICAgICBwYWRkaW5nOiA5LjM3NXJlbSAwIDQuMzc1cmVtIDA7IH0gfVxuICAuY29udGFjdC1tYXAgLm1hcCAjbWFwIHtcbiAgICBoZWlnaHQ6IDI5LjM3NXJlbTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29udGFjdC1tYXAgLm1hcCAjbWFwIHtcbiAgICAgICAgaGVpZ2h0OiAyOS4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAuY29udGFjdC1tYXAgLm9mZmljZXMgdWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAuY29udGFjdC1tYXAgLm9mZmljZXMgdWwgbGkge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy43NXJlbTsgfVxuICAgICAgLmNvbnRhY3QtbWFwIC5vZmZpY2VzIHVsIGxpOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmNvbnRhY3QtbWFwIC5vZmZpY2VzIHVsIGxpIGg1IGEge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAuY29udGFjdC1tYXAgLm9mZmljZXMgdWwgbGkgaDUgYS5hY3RpdmUge1xuICAgICAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG4gICAgICAuY29udGFjdC1tYXAgLm9mZmljZXMgdWwgbGkgLm9mZmljZS1kZXRhaWxzIHAge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cbiAgICAgICAgLmNvbnRhY3QtbWFwIC5vZmZpY2VzIHVsIGxpIC5vZmZpY2UtZGV0YWlscyBwIGEge1xuICAgICAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG4gIC5jb250YWN0LW1hcCAuc29jaWFsLWxpbmtzIGEge1xuICAgIGNvbG9yOiAjQkU5QTYwOyB9XG5cbi5jb250YWN0LW1hcCxcbi5jb250YWN0LW9mZmljZSB7XG4gIGJhY2tncm91bmQ6ICNmZWZlZmU7XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29udGFjdC1tYXAsXG4gICAgLmNvbnRhY3Qtb2ZmaWNlIHtcbiAgICAgIHBhZGRpbmc6IDkuMzc1cmVtIDAgNC4zNzVyZW0gMDsgfSB9XG4gIC5jb250YWN0LW1hcCAub2ZmaWNlcyxcbiAgLmNvbnRhY3Qtb2ZmaWNlIC5vZmZpY2VzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jb250YWN0LW1hcCAub2ZmaWNlcyAub2ZmaWNlLFxuICAgIC5jb250YWN0LW9mZmljZSAub2ZmaWNlcyAub2ZmaWNlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuY29udGFjdC1tYXAgLm9mZmljZXMgLm9mZmljZTpudGgtb2YtdHlwZSgzbisxKSxcbiAgICAgIC5jb250YWN0LW9mZmljZSAub2ZmaWNlcyAub2ZmaWNlOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAuY29udGFjdC1tYXAgLm9mZmljZXMgaDUsXG4gICAgLmNvbnRhY3Qtb2ZmaWNlIC5vZmZpY2VzIGg1IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgY29sb3I6ICNCRTlBNjA7IH1cbiAgICAuY29udGFjdC1tYXAgLm9mZmljZXMgLm9mZmljZS1kZXRhaWxzIHAsXG4gICAgLmNvbnRhY3Qtb2ZmaWNlIC5vZmZpY2VzIC5vZmZpY2UtZGV0YWlscyBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07IH1cbiAgICAgIC5jb250YWN0LW1hcCAub2ZmaWNlcyAub2ZmaWNlLWRldGFpbHMgcCBhLFxuICAgICAgLmNvbnRhY3Qtb2ZmaWNlIC5vZmZpY2VzIC5vZmZpY2UtZGV0YWlscyBwIGEge1xuICAgICAgICBjb2xvcjogI0JFOUE2MDsgfVxuICAuY29udGFjdC1tYXAgLnNvY2lhbC1saW5rcyBhLFxuICAuY29udGFjdC1vZmZpY2UgLnNvY2lhbC1saW5rcyBhIHtcbiAgICBjb2xvcjogI0JFOUE2MDsgfVxuXG4uY29udGFjdC1mb3JtIHtcbiAgcGFkZGluZy1ib3R0b206IDkuMzc1cmVtOyB9XG4gIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIHtcbiAgICBtYXJnaW46IDAuMjVyZW0gMCAwIDA7IH1cbiAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlci5nZm9ybV92YWxpZGF0aW9uX2Vycm9yIHtcbiAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDAuMjVyZW0gMCAwIDA7IH1cbiAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciAuZ2Zvcm1fYW5jaG9yIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmX2xlZnRfaGFsZiB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZl9sZWZ0X2hhbGYge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjQzNzVyZW07IH0gfVxuICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmX3JpZ2h0X2hhbGYge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNDM3NXJlbTsgfSB9XG4gICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLnNob3ctbGFiZWwgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuY2hlY2tib3gtZmllbGQgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNCRTlBNjA7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDAuMjVyZW07XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmNoZWNrYm94LWZpZWxkIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwLjQzNzVyZW07XG4gICAgICAgICAgbGVmdDogMC4xODc1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuY2hlY2tib3gtZmllbGQgbGFiZWwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS40Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxLjU2MjVyZW07XG4gICAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICAgICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmNoZWNrYm94LWZpZWxkIGxhYmVsIGEge1xuICAgICAgICAgICAgY29sb3I6ICMwYTBhMGE7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5jaGVja2JveC1maWVsZCBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjI1cmVtO1xuICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmNoZWNrYm94LWZpZWxkIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuY2hlY2tib3gtZmllbGQgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLnJhZGlvLWZpZWxkID4gbGFiZWwge1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMS4yNXJlbTtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLnJhZGlvLWZpZWxkIC5naW5wdXRfY29udGFpbmVyIC5nZmllbGRfcmFkaW8gbGkge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH1cbiAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQucmFkaW8tZmllbGQgLmdpbnB1dF9jb250YWluZXIgbGFiZWw6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgIHdpZHRoOiAxcmVtO1xuICAgICAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNCRTlBNjA7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICB0b3A6IDAuMjVyZW07XG4gICAgICAgICAgei1pbmRleDogMDtcbiAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlOyB9XG4gICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLnJhZGlvLWZpZWxkIC5naW5wdXRfY29udGFpbmVyIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICBoZWlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwLjYyNXJlbTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgdG9wOiAwLjQzNzVyZW07XG4gICAgICAgICAgbGVmdDogMC4xODc1cmVtO1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7IH1cbiAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQucmFkaW8tZmllbGQgLmdpbnB1dF9jb250YWluZXIgbGFiZWwge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTg3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMC44NzVyZW07XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDEuNTYyNXJlbTtcbiAgICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG4gICAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQucmFkaW8tZmllbGQgLmdpbnB1dF9jb250YWluZXIgbGFiZWwgYSB7XG4gICAgICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLnJhZGlvLWZpZWxkIC5naW5wdXRfY29udGFpbmVyIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICAgICAgICBoZWlnaHQ6IDFyZW07XG4gICAgICAgICAgd2lkdGg6IDFyZW07XG4gICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQucmFkaW8tZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXRbdHlwZT1cInJhZGlvXCJdICsgbGFiZWwge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5yYWRpby1maWVsZCAuZ2lucHV0X2NvbnRhaW5lciBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIGxhYmVsOmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgIGJvcmRlcjogbm9uZTsgfVxuICAgICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZF9lcnJvciAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtOyB9XG4gICAgICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb250YWluZXIgaW5wdXQsXG4gICAgICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZC5nZmllbGRfZXJyb3IgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0LFxuICAgICAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQuZ2ZpZWxkX2Vycm9yIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgIzIyNjA5MjsgfVxuICAgICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkLmdmaWVsZF9lcnJvciAudmFsaWRhdGlvbl9tZXNzYWdlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICBjb2xvcjogIzBhMGEwYTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNDM3NXJlbTsgfSB9XG4gICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXQsXG4gICAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0LFxuICAgICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhIHtcbiAgICAgICAgICAgIGhlaWdodDogMi42ODc1cmVtO1xuICAgICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjI1cmVtO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAuMDYyNXJlbSAwLjEyNXJlbSAwIGluc2V0IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXQ6OnBsYWNlaG9sZGVyLFxuICAgICAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgc2VsZWN0OjpwbGFjZWhvbGRlcixcbiAgICAgICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgIGNvbG9yOiAjQURBREFEO1xuICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgaW5wdXQ6Zm9jdXMsXG4gICAgICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciBzZWxlY3Q6Zm9jdXMsXG4gICAgICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2lucHV0X2NvbnRhaW5lciB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogI0JFOUE2MDsgfVxuICAgICAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2JvZHkgLmdmb3JtX2ZpZWxkcyAuZ2ZpZWxkIC5naW5wdXRfY29udGFpbmVyIHNlbGVjdCB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgIGNvbG9yOiAjQURBREFEOyB9XG4gICAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fYm9keSAuZ2Zvcm1fZmllbGRzIC5nZmllbGQgLmdpbnB1dF9jb250YWluZXIgdGV4dGFyZWEge1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDEzLjMxMjVyZW07XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9ib2R5IC5nZm9ybV9maWVsZHMgLmdmaWVsZCAuZ2ZpZWxkX2Rlc2NyaXB0aW9uIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjMjI2MDkyOyB9XG4gICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXI6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJyogQWxsIGZpZWxkcyBhcmUgcmVxdWlyZWQuJztcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgY29sb3I6ICM1NzU3NTc7IH1cbiAgICAgIC5jb250YWN0LWZvcm0gLnRoZS1mb3JtIC5nZm9ybV93cmFwcGVyIGZvcm0gLmdmb3JtX2Zvb3RlciAuZ2Zvcm1fYnV0dG9uIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGhlaWdodDogMi4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0JFOUE2MDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xuICAgICAgICBwYWRkaW5nOiAwIDIuMTI1cmVtO1xuICAgICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAuY29udGFjdC1mb3JtIC50aGUtZm9ybSAuZ2Zvcm1fd3JhcHBlciBmb3JtIC5nZm9ybV9mb290ZXIgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICAgICAgLmNvbnRhY3QtZm9ybSAudGhlLWZvcm0gLmdmb3JtX3dyYXBwZXIgZm9ybSAuZ2Zvcm1fZm9vdGVyIC5nZm9ybV9idXR0b246aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgICAgY29sb3I6ICNmZWZlZmU7IH1cblxuLnN1Yi1zdHJhdGVnaWVzIHtcbiAgYmFja2dyb3VuZDogI0Y5RjlGOTtcbiAgcGFkZGluZzogMy43NXJlbSAxLjI1cmVtIDEuODc1cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMztcbiAgbWFyZ2luLWJvdHRvbTogMi44MTI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN1Yi1zdHJhdGVnaWVzIHtcbiAgICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwIDE1LjYyNXJlbSAwOyB9IH1cbiAgLnN1Yi1zdHJhdGVnaWVzIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3ViLXN0cmF0ZWdpZXMgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuc3ViLXN0cmF0ZWdpZXMgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3ViLXN0cmF0ZWdpZXMgLnRvcC1tZW51LWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnN1Yi1zdHJhdGVnaWVzIC5yb3cge1xuICAgIG1heC13aWR0aDogNzByZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuc3ViLXN0cmF0ZWdpZXMgLnN1Yi1zdHJhdGVnaWVzLWhlYWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zdWItc3RyYXRlZ2llcyAuc3ViLXN0cmF0ZWdpZXMtaGVhZCAudG9wLW1lbnUtYmFyIC5sb2dvIHtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnN1Yi1zdHJhdGVnaWVzIC5zdWItc3RyYXRlZ2llcy1oZWFkIC50b3AtbWVudS1iYXIgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN1Yi1zdHJhdGVnaWVzIC5zdWItc3RyYXRlZ2llcy1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAxNC4zNzVyZW07IH0gfVxuICAuc3ViLXN0cmF0ZWdpZXMgLnN1Yi1zdHJhdGVnaWVzLWNvbnRlbnQgLnNpbmdsZS1jb250ZW50LWl0ZW0ge1xuICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdWItc3RyYXRlZ2llcyAuc3ViLXN0cmF0ZWdpZXMtY29udGVudCAuc2luZ2xlLWNvbnRlbnQtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIC5zdWItc3RyYXRlZ2llcyAuc3ViLXN0cmF0ZWdpZXMtY29udGVudCAuc2luZ2xlLWNvbnRlbnQtaXRlbSBoMyB7XG4gICAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAyLjgxMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi44MTI1cmVtO1xuICAgICAgY29sb3I6ICMyMjYwOTI7IH1cbiAgICAuc3ViLXN0cmF0ZWdpZXMgLnN1Yi1zdHJhdGVnaWVzLWNvbnRlbnQgLnNpbmdsZS1jb250ZW50LWl0ZW0gaHIge1xuICAgICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICAgIGJvcmRlci1jb2xvcjogI0JFOUE2MDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgLnN1Yi1zdHJhdGVnaWVzIC5zdWItc3RyYXRlZ2llcy1jb250ZW50IC5zaW5nbGUtY29udGVudC1pdGVtIHAge1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgbWFyZ2luLXRvcDogMS41NjI1cmVtOyB9XG4gIC5zdWItc3RyYXRlZ2llcyAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHJpZ2h0OiAzcmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjtcbiAgICB6LWluZGV4OiA5OTk5OyB9XG4gICAgLnN1Yi1zdHJhdGVnaWVzIC5oZWFkZXItbW9iaWxlLW1lbnUgYSAuaGFtYnVyZ2VyLW1lbnUge1xuICAgICAgd2lkdGg6IDMuMTI1cmVtO1xuICAgICAgaGVpZ2h0OiAxLjYyNXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTk5OTsgfVxuICAgICAgLnN1Yi1zdHJhdGVnaWVzIC5oZWFkZXItbW9iaWxlLW1lbnUgYSAuaGFtYnVyZ2VyLW1lbnUgc3BhbiB7XG4gICAgICAgIGhlaWdodDogMC4xMjVyZW07XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjOTc5Nzk3O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAzLjEyNXJlbTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAgIC5zdWItc3RyYXRlZ2llcyAuaGVhZGVyLW1vYmlsZS1tZW51IGEgLmhhbWJ1cmdlci1tZW51IHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICB0b3A6IDAuNzVyZW07XG4gICAgICAgICAgd2lkdGg6IDIuMTU2MjVyZW07IH1cbiAgICAgICAgLnN1Yi1zdHJhdGVnaWVzIC5oZWFkZXItbW9iaWxlLW1lbnUgYSAuaGFtYnVyZ2VyLW1lbnUgc3BhbjpudGgtY2hpbGQoMykge1xuICAgICAgICAgIHRvcDogMS41cmVtO1xuICAgICAgICAgIHdpZHRoOiAxLjA5Mzc1cmVtOyB9XG4gIC5zdWItc3RyYXRlZ2llcyAuc3ViLXN0cmF0ZWdpZXMtbWVudSB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3ViLXN0cmF0ZWdpZXMgLnN1Yi1zdHJhdGVnaWVzLW1lbnUgdWwge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogLTVyZW07XG4gICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA0MHB4KTtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMHJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdWItc3RyYXRlZ2llcyAuc3ViLXN0cmF0ZWdpZXMtbWVudSB1bCB7XG4gICAgICAgIHdpZHRoOiA3MHJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5zdWItc3RyYXRlZ2llcyAuc3ViLXN0cmF0ZWdpZXMtbWVudSB1bCBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH0gfVxuICAgIC5zdWItc3RyYXRlZ2llcyAuc3ViLXN0cmF0ZWdpZXMtbWVudSB1bCBsaSBkaXYge1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc3ViLXN0cmF0ZWdpZXMgLnN1Yi1zdHJhdGVnaWVzLW1lbnUgdWwgbGkgZGl2IHtcbiAgICAgICAgICBoZWlnaHQ6IDUuNjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1LjYyNXJlbTtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLnN1Yi1zdHJhdGVnaWVzIC5zdWItc3RyYXRlZ2llcy1tZW51IHVsIGxpIGRpdiBhIHtcbiAgICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgaGVpZ2h0OiA1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5zdWItc3RyYXRlZ2llcyAuc3ViLXN0cmF0ZWdpZXMtbWVudSB1bCBsaSBkaXYgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDUuNjI1cmVtOyB9IH1cbiAgICAgICAgLnN1Yi1zdHJhdGVnaWVzIC5zdWItc3RyYXRlZ2llcy1tZW51IHVsIGxpIGRpdiBhIHNwYW4ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICAuc3ViLXN0cmF0ZWdpZXMgLnN1Yi1zdHJhdGVnaWVzLW1lbnUgdWwgbGkgZGl2IGEgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjM3NXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5zdWItc3RyYXRlZ2llcyAuc3ViLXN0cmF0ZWdpZXMtbWVudSB1bCBsaSBkaXYgYSBpIHtcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3ViLXN0cmF0ZWdpZXMgLnN1Yi1zdHJhdGVnaWVzLW1lbnUgdWwgbGk6aG92ZXIgZGl2IHtcbiAgICAgICAgcGFkZGluZzogMi4xODc1cmVtIDA7IH0gfVxuXG4ub3VyLXByaW5jaXBsZXMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vdXItcHJpbmNpcGxlcyB7XG4gICAgICBwYWRkaW5nOiAxNC4zNzVyZW0gMCAxMi41cmVtIDA7IH0gfVxuICAub3VyLXByaW5jaXBsZXMgLmJsb2NrLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzLjc1cmVtOyB9XG4gICAgLm91ci1wcmluY2lwbGVzIC5ibG9jay10aXRsZSBoMiB7XG4gICAgICBjb2xvcjogIzIyNjA5MjsgfVxuICAub3VyLXByaW5jaXBsZXMgLnByaW5jaXBsZXMge1xuICAgIG1hcmdpbi1ib3R0b206IDMuNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm91ci1wcmluY2lwbGVzIC5wcmluY2lwbGVzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTByZW07IH0gfVxuICAgIC5vdXItcHJpbmNpcGxlcyAucHJpbmNpcGxlcyAucHJpbmNpcGxlcy1zbGlkZXIge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5vdXItcHJpbmNpcGxlcyAucHJpbmNpcGxlcyAucHJpbmNpcGxlcy1zbGlkZXIgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5vdXItcHJpbmNpcGxlcyAucHJpbmNpcGxlcyAucHJpbmNpcGxlcy1zbGlkZXIgbGkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgICAgIC5vdXItcHJpbmNpcGxlcyAucHJpbmNpcGxlcyAucHJpbmNpcGxlcy1zbGlkZXIgbGkgaDIge1xuICAgICAgICAgIGNvbG9yOiAjMjI2MDkyOyB9XG4gICAgICAgIC5vdXItcHJpbmNpcGxlcyAucHJpbmNpcGxlcyAucHJpbmNpcGxlcy1zbGlkZXIgbGkgaDUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgY29sb3I6ICNCRTlBNjA7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTsgfVxuICAgICAgICAub3VyLXByaW5jaXBsZXMgLnByaW5jaXBsZXMgLnByaW5jaXBsZXMtc2xpZGVyIGxpIHAge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjNTc1NzU3OyB9XG4gICAgICAub3VyLXByaW5jaXBsZXMgLnByaW5jaXBsZXMgLnByaW5jaXBsZXMtc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOiAtMy4xMjVyZW07IH1cbiAgICAgICAgLm91ci1wcmluY2lwbGVzIC5wcmluY2lwbGVzIC5wcmluY2lwbGVzLXNsaWRlciAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG4gICAgICAgIC5vdXItcHJpbmNpcGxlcyAucHJpbmNpcGxlcyAucHJpbmNpcGxlcy1zbGlkZXIgLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAub3VyLXByaW5jaXBsZXMgLmJsb2NrLWVuZC10ZXh0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgLm91ci1wcmluY2lwbGVzIC5ibG9jay1lbmQtdGV4dCBoMyB7XG4gICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICBjb2xvcjogIzIyNjA5MjsgfVxuXG4uZXNnLWNvbW1pdG1lbnQge1xuICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xuICBwYWRkaW5nOiAzLjc1cmVtIDEuMjVyZW07IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZXNnLWNvbW1pdG1lbnQge1xuICAgICAgcGFkZGluZzogMTIuNXJlbSAwIDE0LjM3NXJlbSAwOyB9IH1cbiAgLmVzZy1jb21taXRtZW50IC5yb3cge1xuICAgIG1heC13aWR0aDogNzByZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuZXNnLWNvbW1pdG1lbnQgLmJsb2NrLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0LjM3NXJlbTsgfVxuICAgIC5lc2ctY29tbWl0bWVudCAuYmxvY2stdGl0bGUgaDIge1xuICAgICAgY29sb3I6ICMyMjYwOTI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgLmVzZy1jb21taXRtZW50IC5ibG9jay10aXRsZSBoMjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuZXNnLWNvbW1pdG1lbnQgLmJsb2NrLXRpdGxlIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBjb2xvcjogIzU3NTc1NzsgfVxuICAuZXNnLWNvbW1pdG1lbnQgLnNpbmdsZS1jb250ZW50LWl0ZW0ge1xuICAgIGhlaWdodDogOS4xMjVyZW07XG4gICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0JFOUE2MDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgMS4zNzVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICMyMjYwOTI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmVzZy1jb21taXRtZW50IC5zaW5nbGUtY29udGVudC1pdGVtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmVzZy1jb21taXRtZW50IC5zaW5nbGUtY29udGVudC1pdGVtOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNEOEQ4RDg7XG4gICAgICBib3JkZXItY29sb3I6ICNEOEQ4RDg7IH1cblxuLmNvbG9yZWQtYnJlYWRjcnVtYiB7XG4gIGhlaWdodDogMy40Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMy40Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBiYWNrZ3JvdW5kOiAjOUFCODU4O1xuICBjb2xvcjogI2ZlZmVmZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb2xvcmVkLWJyZWFkY3J1bWIge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuY29sb3JlZC1icmVhZGNydW1iLnRlYWwge1xuICAgIGJhY2tncm91bmQ6ICM1OEI2Qjg7IH1cbiAgICAuY29sb3JlZC1icmVhZGNydW1iLnRlYWwgLmJyZWFkY3J1bWJzLWxpbmtzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM1OEI2Qjg7IH1cbiAgLmNvbG9yZWQtYnJlYWRjcnVtYi5saWdodC1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTBDQkZBOyB9XG4gICAgLmNvbG9yZWQtYnJlYWRjcnVtYi5saWdodC1ibHVlIC5icmVhZGNydW1icy1saW5rcyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjOTBDQkZBOyB9XG4gIC5jb2xvcmVkLWJyZWFkY3J1bWIuZGFyay1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTk3OEM0OyB9XG4gICAgLmNvbG9yZWQtYnJlYWRjcnVtYi5kYXJrLWJsdWUgLmJyZWFkY3J1bWJzLWxpbmtzIHtcbiAgICAgIGJhY2tncm91bmQ6ICMxOTc4QzQ7IH1cbiAgLmNvbG9yZWQtYnJlYWRjcnVtYi5ncmVlbiB7XG4gICAgYmFja2dyb3VuZDogIzlBQjg1ODsgfVxuICAgIC5jb2xvcmVkLWJyZWFkY3J1bWIuZ3JlZW4gLmJyZWFkY3J1bWJzLWxpbmtzIHtcbiAgICAgIGJhY2tncm91bmQ6ICM5QUI4NTg7IH1cbiAgLmNvbG9yZWQtYnJlYWRjcnVtYiAucm93IHtcbiAgICBtYXgtd2lkdGg6IDcwcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLmNvbG9yZWQtYnJlYWRjcnVtYiAuYnJlYWRjcnVtYnMtbGlua3Mge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA2O1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH1cbiAgICAuY29sb3JlZC1icmVhZGNydW1iIC5icmVhZGNydW1icy1saW5rcyBhIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gIC5jb2xvcmVkLWJyZWFkY3J1bWIgLm90aGVyLXBhZ2VzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb2xvcmVkLWJyZWFkY3J1bWIgLm90aGVyLXBhZ2VzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgZm9udC1zaXplOiAwOyB9IH1cbiAgICAuY29sb3JlZC1icmVhZGNydW1iIC5vdGhlci1wYWdlcyBhIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiAyLjMxMjVyZW07XG4gICAgICBoZWlnaHQ6IDMuNDM3NXJlbTtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuY29sb3JlZC1icmVhZGNydW1iIC5vdGhlci1wYWdlcyBhIHAge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMy40Mzc1cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jb2xvcmVkLWJyZWFkY3J1bWIgLm90aGVyLXBhZ2VzIGEgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuMzEyNXJlbTtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgcGFkZGluZzogMCAwLjMxMjVyZW07XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAvKiBTYWZhcmkgKi9cbiAgICAgICAgLW1vei10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIC8qIEZpcmVmb3ggMy42IEZpcmVmb3ggNCAqL1xuICAgICAgICAvKi1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyAqL1xuICAgICAgICAtbXMtdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAvKiBJRTkgKi9cbiAgICAgICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKSByb3RhdGUoOTBkZWcpO1xuICAgICAgICAvKiBPcGVyYSAqL1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSg5MGRlZyk7XG4gICAgICAgIC8qIFczQyAqL1xuICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtbW96LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAtbXMtdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTsgfVxuICAgICAgLmNvbG9yZWQtYnJlYWRjcnVtYiAub3RoZXItcGFnZXMgYTpob3ZlciBwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cblxuLm11bHRpLXN0cmF0ZWd5LWludHJvIHtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIGJhY2tncm91bmQ6ICNGMEYwRjE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyB7XG4gICAgICBwYWRkaW5nOiA4LjEyNXJlbSAwIDVyZW0gMDsgfSB9XG4gIC5tdWx0aS1zdHJhdGVneS1pbnRybyAucm93IHtcbiAgICBtYXgtd2lkdGg6IDcwcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgICAubXVsdGktc3RyYXRlZ3ktaW50cm8gLnJvdyAuc2l0ZW5hbWUtZmxvYXQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAucm93IC5zaXRlbmFtZS1mbG9hdCAuc2l0ZW5hbWUtZmxvYXQtdGV4dCB7XG4gICAgICAgIHRvcDogMTByZW07IH1cbiAgLm11bHRpLXN0cmF0ZWd5LWludHJvIC5tYWluLXNsaWRlLWRldGFpbHMge1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICAubXVsdGktc3RyYXRlZ3ktaW50cm8gLm1haW4tc2xpZGUtZGV0YWlscyBoMiB7XG4gICAgICBjb2xvcjogIzIyNjA5MjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubWFpbi1zbGlkZS1kZXRhaWxzIGgyIHtcbiAgICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG4gICAgICAubXVsdGktc3RyYXRlZ3ktaW50cm8gLm1haW4tc2xpZGUtZGV0YWlscyBoMjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNDM3NXJlbTsgfVxuICAgICAgLm11bHRpLXN0cmF0ZWd5LWludHJvIC5tYWluLXNsaWRlLWRldGFpbHMgaDIud2l0aC1zbWFsbC1ib3JkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1LjYyNXJlbTsgfVxuICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubWFpbi1zbGlkZS1kZXRhaWxzIC5saW5rcyB7XG4gICAgICBtYXJnaW46IDIuNXJlbSAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAubXVsdGktc3RyYXRlZ3ktaW50cm8gLm1haW4tc2xpZGUtZGV0YWlscyAubGlua3Mge1xuICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMCAwOyB9IH1cbiAgICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubWFpbi1zbGlkZS1kZXRhaWxzIC5saW5rcyBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMnJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNCRTlBNjA7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgcGFkZGluZzogMCAxLjU2MjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbSAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAubXVsdGktc3RyYXRlZ3ktaW50cm8gLm1haW4tc2xpZGUtZGV0YWlscyAubGlua3MgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbSAwLjYyNXJlbTsgfSB9XG4gICAgICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubWFpbi1zbGlkZS1kZXRhaWxzIC5saW5rcyBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLm11bHRpLXN0cmF0ZWd5LWludHJvIC5tYWluLXNsaWRlLWRldGFpbHMgaDUge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubWFpbi1zbGlkZS1kZXRhaWxzIGg2IHtcbiAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfVxuICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubWFpbi1zbGlkZS1kZXRhaWxzIHAge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBjb2xvcjogIzU3NTc1NzsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLm11bHRpLXN0cmF0ZWd5LWludHJvIC5tYWluLXNsaWRlLWRldGFpbHMgcCB7XG4gICAgICAgICAgd2lkdGg6IDI4LjEyNXJlbTsgfSB9XG4gICAgLm11bHRpLXN0cmF0ZWd5LWludHJvIC5tYWluLXNsaWRlLWRldGFpbHMgdWwge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAubXVsdGktc3RyYXRlZ3ktaW50cm8gLm1haW4tc2xpZGUtZGV0YWlscyB1bCB7XG4gICAgICAgICAgd2lkdGg6IDI4LjEyNXJlbTsgfSB9XG4gICAgICAubXVsdGktc3RyYXRlZ3ktaW50cm8gLm1haW4tc2xpZGUtZGV0YWlscyB1bCBsaSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICBjb2xvcjogIzU3NTc1NzsgfVxuICAubXVsdGktc3RyYXRlZ3ktaW50cm8gLm51bWJlcnMtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubXVsdGktc3RyYXRlZ3ktaW50cm8gLm51bWJlcnMtY29udGFpbmVyIC5zdGF0LW51bWJlciB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuICAgICAgLm11bHRpLXN0cmF0ZWd5LWludHJvIC5udW1iZXJzLWNvbnRhaW5lciAuc3RhdC1udW1iZXIubmFycm93IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cbiAgICAgICAgLm11bHRpLXN0cmF0ZWd5LWludHJvIC5udW1iZXJzLWNvbnRhaW5lciAuc3RhdC1udW1iZXIubmFycm93OmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvdHdvLnN2Z1wiKTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDIuNXJlbSBhdXRvO1xuICAgICAgICAgIHdpZHRoOiAxLjkzNzVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAyLjkzNzVyZW07IH1cbiAgICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubnVtYmVycy1jb250YWluZXIgLnN0YXQtbnVtYmVyLndpZGU6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiB1cmwoXCIuLi9pbWcvdHdvLXdpZGUuc3ZnXCIpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAyLjVyZW0gYXV0bztcbiAgICAgICAgd2lkdGg6IDQuMzc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDIuOTM3NXJlbTsgfVxuICAgICAgLm11bHRpLXN0cmF0ZWd5LWludHJvIC5udW1iZXJzLWNvbnRhaW5lciAuc3RhdC1udW1iZXIgaDQge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICBjb2xvcjogI0JFOUE2MDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVyZW07IH1cbiAgICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubnVtYmVycy1jb250YWluZXIgLnN0YXQtbnVtYmVyIGgzIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDUuNjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMjVyZW07IH1cbiAgICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubnVtYmVycy1jb250YWluZXIgLnN0YXQtbnVtYmVyIHAge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgICAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cbiAgICAgIC5tdWx0aS1zdHJhdGVneS1pbnRybyAubnVtYmVycy1jb250YWluZXIgLnN0YXQtbnVtYmVyOmhvdmVyIGgzIHtcbiAgICAgICAgdGV4dC1zaGFkb3c6IDAgMC4yNXJlbSAwLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLm1lZXQtdGhlLXRlYW0ge1xuICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEzLjc1cmVtO1xuICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMS4zNzVyZW0gMXJlbTtcbiAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogMC4xcmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7XG4gIHotaW5kZXg6IDk5OyB9XG4gIC5tZWV0LXRoZS10ZWFtOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjI2MDkyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5zdHJhdGVnaWVzLWxpbmtzIHtcbiAgYmFja2dyb3VuZDogIzM0Mzk0MTtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc3RyYXRlZ2llcy1saW5rcyB7XG4gICAgICBwYWRkaW5nOiA5LjM3NXJlbSAwIDEwcmVtIDA7IH0gfVxuICAuc3RyYXRlZ2llcy1saW5rcyAucm93IHtcbiAgICBtYXgtd2lkdGg6IDcwcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnN0cmF0ZWdpZXMtbGlua3MgLnNpbmdsZS1jb250ZW50LWl0ZW0ge1xuICAgIGhlaWdodDogMTIuNXJlbTtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjQkU5QTYwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgLnN0cmF0ZWdpZXMtbGlua3MgLnNpbmdsZS1jb250ZW50LWl0ZW0gaDIge1xuICAgICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS44NzVyZW07XG4gICAgICBjb2xvcjogI0Q4RDhEODtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgcGFkZGluZzogMCAxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuc3RyYXRlZ2llcy1saW5rcyAuc2luZ2xlLWNvbnRlbnQtaXRlbSBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc3RyYXRlZ2llcy1saW5rcyAuc2luZ2xlLWNvbnRlbnQtaXRlbSBoMiB7XG4gICAgICAgICAgZm9udC1zaXplOiAzLjEyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMy4xMjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMCAyLjE4NzVyZW07IH0gfVxuICAgIC5zdHJhdGVnaWVzLWxpbmtzIC5zaW5nbGUtY29udGVudC1pdGVtIGg1IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICBwYWRkaW5nOiAwIDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC5zdHJhdGVnaWVzLWxpbmtzIC5zaW5nbGUtY29udGVudC1pdGVtIGg1IHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEuODc1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zdHJhdGVnaWVzLWxpbmtzIC5zaW5nbGUtY29udGVudC1pdGVtIGg1IHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDMuMTI1cmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTsgfSB9XG4gICAgLnN0cmF0ZWdpZXMtbGlua3MgLnNpbmdsZS1jb250ZW50LWl0ZW06aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI0Q4RDhEODtcbiAgICAgIGJvcmRlci1jb2xvcjogI0Q4RDhEODsgfVxuICAgICAgLnN0cmF0ZWdpZXMtbGlua3MgLnNpbmdsZS1jb250ZW50LWl0ZW06aG92ZXIgaDIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAuc3RyYXRlZ2llcy1saW5rcyAuc2luZ2xlLWNvbnRlbnQtaXRlbTpob3ZlciBoNSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgLnN0cmF0ZWdpZXMtbGlua3MgLnNpbmdsZS1jb250ZW50LWl0ZW0ub25lLW9mLTQgaDIge1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMi41cmVtO1xuICAgICAgcGFkZGluZzogMCAwLjkzNzVyZW07IH1cbiAgICAuc3RyYXRlZ2llcy1saW5rcyAuc2luZ2xlLWNvbnRlbnQtaXRlbS5vbmUtb2YtNCBoNSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMS4yNXJlbTsgfVxuXG4uaW52ZXN0bWVudC1jYXBhYmlsaXRpZXMge1xuICBiYWNrZ3JvdW5kOiAjOUFCODU4O1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5pbnZlc3RtZW50LWNhcGFiaWxpdGllcyB7XG4gICAgICBwYWRkaW5nOiA3LjVyZW0gMCAzLjc1cmVtIDA7IH0gfVxuICAuaW52ZXN0bWVudC1jYXBhYmlsaXRpZXMgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiA3MHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5pbnZlc3RtZW50LWNhcGFiaWxpdGllcyAuYmxvY2stdGV4dCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMy4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuMTI1cmVtO1xuICAgIGNvbG9yOiAjRjBGMEYxO1xuICAgIGJvcmRlci1ib3R0b206IDAuMTI1cmVtIHNvbGlkICMyMjYwOTI7XG4gICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gIC5pbnZlc3RtZW50LWNhcGFiaWxpdGllcyAuc2luZ2xlLWNvbnRlbnQtaXRlbSB7XG4gICAgcGFkZGluZzogMi41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5pbnZlc3RtZW50LWNhcGFiaWxpdGllcyAuc2luZ2xlLWNvbnRlbnQtaXRlbSB7XG4gICAgICAgIHBhZGRpbmc6IDQuMzc1cmVtIDQuMzc1cmVtIDQuMzc1cmVtIDQuMzc1cmVtO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7IH0gfVxuICAgIC5pbnZlc3RtZW50LWNhcGFiaWxpdGllcyAuc2luZ2xlLWNvbnRlbnQtaXRlbSBoNSB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgICAgaGVpZ2h0OiAzLjA2MjVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuaW52ZXN0bWVudC1jYXBhYmlsaXRpZXMgLnNpbmdsZS1jb250ZW50LWl0ZW0gcCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5pbnZlc3RtZW50LWNhcGFiaWxpdGllcyAuc2luZ2xlLWNvbnRlbnQtaXRlbTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjRjBGMEYxOyB9XG4gICAgICAuaW52ZXN0bWVudC1jYXBhYmlsaXRpZXMgLnNpbmdsZS1jb250ZW50LWl0ZW06aG92ZXIgcCB7XG4gICAgICAgIGNvbG9yOiAjNTc1NzU3OyB9XG5cbi5jb2xsYWJvcmF0aW9uLWJlbmVmaXQge1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTtcbiAgYmFja2dyb3VuZDogI0YwRjBGMTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbGxhYm9yYXRpb24tYmVuZWZpdCB7XG4gICAgICBwYWRkaW5nOiA4LjQzNzVyZW0gMCAxMC42MjVyZW0gMDsgfSB9XG4gIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiA3MHJlbSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLmJsb2NrLXRpdGxlIGgyIHtcbiAgICBjb2xvcjogIzIyNjA5MjtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLmJsb2NrLWRlc2NyaXB0aW9uIHAge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIGNvbG9yOiAjNTc1NzU3OyB9XG4gIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLnN0cmF0ZWd5LWZ1bmRzLnR3by1jb2xzIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLnN0cmF0ZWd5LWZ1bmRzID4gcCB7XG4gICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICBmb250LXdlaWdodDogMzAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgY29sb3I6ICM1NzU3NTc7XG4gICAgcGFkZGluZy1sZWZ0OiA0LjVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLnN0cmF0ZWd5LWZ1bmRzID4gcCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNS43NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLnN0cmF0ZWd5LWZ1bmRzID4gcC5uYXJyb3cge1xuICAgICAgICB3aWR0aDogMjVyZW07IH0gfVxuICAuY29sbGFib3JhdGlvbi1iZW5lZml0IC5zdHJhdGVneS1mdW5kcyB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLnN0cmF0ZWd5LWZ1bmRzIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAuY29sbGFib3JhdGlvbi1iZW5lZml0IC5zdHJhdGVneS1mdW5kcyB1bCBsaSAuaW1hZ2Uge1xuICAgICAgICB3aWR0aDogNC41cmVtO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmNvbGxhYm9yYXRpb24tYmVuZWZpdCAuc3RyYXRlZ3ktZnVuZHMgdWwgbGkgLmltYWdlIHtcbiAgICAgICAgICAgIHdpZHRoOiA1Ljc1cmVtOyB9IH1cbiAgICAgICAgLmNvbGxhYm9yYXRpb24tYmVuZWZpdCAuc3RyYXRlZ3ktZnVuZHMgdWwgbGkgLmltYWdlIGltZyB7XG4gICAgICAgICAgcGFkZGluZy10b3A6IDEuMjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAzLjEyNXJlbTsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgICAuY29sbGFib3JhdGlvbi1iZW5lZml0IC5zdHJhdGVneS1mdW5kcyB1bCBsaSAuaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjc1cmVtOyB9IH1cbiAgICAgIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLnN0cmF0ZWd5LWZ1bmRzIHVsIGxpIC5kZXRhaWxzIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgICAgICAuY29sbGFib3JhdGlvbi1iZW5lZml0IC5zdHJhdGVneS1mdW5kcyB1bCBsaSAuZGV0YWlscyBoNSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICBjb2xvcjogI0JFOUE2MDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogMC4wNXJlbTsgfVxuICAgICAgICAuY29sbGFib3JhdGlvbi1iZW5lZml0IC5zdHJhdGVneS1mdW5kcyB1bCBsaSAuZGV0YWlscyBwIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sbGFib3JhdGlvbi1iZW5lZml0IC5zdHJhdGVneS1mdW5kcy50d28tY29scyB1bCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAuY29sbGFib3JhdGlvbi1iZW5lZml0IC5zdHJhdGVneS1mdW5kcy5zZWNvbmQtY29sIHVsIHtcbiAgICAgIHBhZGRpbmctdG9wOiAzLjEyNXJlbTsgfSB9XG4gIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLmJsb2NrLWVuZC10ZXh0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi10b3A6IDQuNjg3NXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY29sbGFib3JhdGlvbi1iZW5lZml0IC5ibG9jay1lbmQtdGV4dCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMC45Mzc1cmVtOyB9IH1cbiAgICAuY29sbGFib3JhdGlvbi1iZW5lZml0IC5ibG9jay1lbmQtdGV4dCBoMyB7XG4gICAgICBjb2xvcjogIzIyNjA5MjtcbiAgICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07IH1cbiAgICAgIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLmJsb2NrLWVuZC10ZXh0IGgzIGEge1xuICAgICAgICBjb2xvcjogIzIyNjA5MjsgfVxuICAgIC5jb2xsYWJvcmF0aW9uLWJlbmVmaXQgLmJsb2NrLWVuZC10ZXh0IGg2IHtcbiAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLmNhdGVnb3JpZXMtbmV3cyB7XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNhdGVnb3JpZXMtbmV3cyB7XG4gICAgICBwYWRkaW5nOiA5LjM3NXJlbSAwIDguMTI1cmVtIDA7IH0gfVxuICAuY2F0ZWdvcmllcy1uZXdzIC5zbGljay1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYXRlZ29yaWVzLW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2sge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNhdGVnb3JpZXMtbmV3cyAuc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAgIC5jYXRlZ29yaWVzLW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3c6YmVmb3JlIHtcbiAgICAgICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICAgICAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgY29sb3I6ICM3QTdBN0E7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIC5jYXRlZ29yaWVzLW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3c6aG92ZXI6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMyMjYwOTI7IH1cbiAgICAgIC5jYXRlZ29yaWVzLW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3cuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IC0xLjg3NXJlbTsgfVxuICAgICAgICAuY2F0ZWdvcmllcy1uZXdzIC5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93LnNsaWNrLXByZXY6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwMFwiOyB9XG4gICAgICAuY2F0ZWdvcmllcy1uZXdzIC5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93LnNsaWNrLW5leHQge1xuICAgICAgICByaWdodDogLTEuODc1cmVtOyB9XG4gICAgICAgIC5jYXRlZ29yaWVzLW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3cuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5jYXRlZ29yaWVzLW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyB7XG4gICAgICBib3R0b206IDA7IH1cbiAgICAgIC5jYXRlZ29yaWVzLW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaSBidXR0b246YmVmb3JlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICAgICAgY29sb3I6ICNCRTlBNjA7IH1cbiAgICAgIC5jYXRlZ29yaWVzLW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cblxuLnNsaWRlci1uZXdzIC5zbGlkZXItdGl0bGUgaDIge1xuICBjb2xvcjogIzIyNjA5MjtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gIC5zbGlkZXItbmV3cyAuc2xpZGVyLXRpdGxlIGgyOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG4uc2xpZGVyLW5ld3MgLnNsaWRlci1jb250ZW50IHtcbiAgcGFkZGluZy1ib3R0b206IDQuMzc1cmVtOyB9XG4gIC5zbGlkZXItbmV3cyAuc2xpZGVyLWNvbnRlbnQgLmNhdGVnb3J5LW5ld3MtaXRlbSB7XG4gICAgYmFja2dyb3VuZDogI0Y5RjlGOTtcbiAgICBwYWRkaW5nOiAxLjM3NXJlbSAxLjM3NXJlbSAyLjc1cmVtIDEuMzc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMzLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAuc2xpZGVyLW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5kYXRlIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzdBN0E3QTtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgLnNsaWRlci1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyBoNiB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICM3QTdBN0E7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIC5zbGlkZXItbmV3cyAuc2xpZGVyLWNvbnRlbnQgLmNhdGVnb3J5LW5ld3MtaXRlbSAuY2F0ZWdvcnktbmV3cy1pdGVtLWRldGFpbHMgLmNhdGVnb3J5LW5ld3MtaXRlbS1jYXRlZ29yeSBpbWcge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cbiAgICAuc2xpZGVyLW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5jYXRlZ29yeS1uZXdzLWl0ZW0tY2F0ZWdvcnkgc3BhbiB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAuc2xpZGVyLW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5jYXRlZ29yeS1uZXdzLWl0ZW0tY2F0ZWdvcnkgc3BhbjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gICAgLnNsaWRlci1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyAuY2F0ZWdvcnktbmV3cy1pdGVtLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuc2xpZGVyLW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5jYXRlZ29yeS1uZXdzLWl0ZW0tY29udGVudCBoMyB7XG4gICAgICAgIG1hcmdpbjogMS4yNXJlbSAwOyB9XG4gICAgICAgIC5zbGlkZXItbmV3cyAuc2xpZGVyLWNvbnRlbnQgLmNhdGVnb3J5LW5ld3MtaXRlbSAuY2F0ZWdvcnktbmV3cy1pdGVtLWRldGFpbHMgLmNhdGVnb3J5LW5ld3MtaXRlbS1jb250ZW50IGgzIGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyLjE4NzVyZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgY29sb3I6ICMyMjYwOTI7IH1cbiAgICAgIC5zbGlkZXItbmV3cyAuc2xpZGVyLWNvbnRlbnQgLmNhdGVnb3J5LW5ld3MtaXRlbSAuY2F0ZWdvcnktbmV3cy1pdGVtLWRldGFpbHMgLmNhdGVnb3J5LW5ld3MtaXRlbS1jb250ZW50IC5leGNlcnB0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAuc2xpZGVyLW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5jdGEge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgYm90dG9tOiAyLjc1cmVtOyB9XG4gICAgICAuc2xpZGVyLW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5jdGEgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgbGV0dGVyLXNwYWNpbmc6IDAuMDU2MjVyZW07XG4gICAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjQkU5QTYwO1xuICAgICAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAgIC5zbGlkZXItbmV3cyAuc2xpZGVyLWNvbnRlbnQgLmNhdGVnb3J5LW5ld3MtaXRlbSAuY2F0ZWdvcnktbmV3cy1pdGVtLWRldGFpbHMgLmN0YSBhOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgLnNsaWRlci1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtOmhvdmVyIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLCAwLCAwLCAwLjI1KSwgMCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLCAwLCAwLCAwLjIyKTsgfVxuXG4ud2h5LXlvcmsge1xuICBiYWNrZ3JvdW5kOiAjRjlGOUY5O1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbSAwIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC53aHkteW9yayB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwIDAgMDsgfSB9XG4gIC53aHkteW9yayAuc2l0ZW5hbWUtZmxvYXQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLndoeS15b3JrIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLndoeS15b3JrIC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLndoeS15b3JrIC50b3AtbWVudS1iYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLndoeS15b3JrIC53aHkteW9yay1kZXRhaWxzIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC53aHkteW9yayAud2h5LXlvcmstZGV0YWlscyAud2h5LXlvcmstdGV4dCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgd2lkdGg6IDI1LjYyNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiA2LjU2MjVyZW07IH0gfVxuICAud2h5LXlvcmsgLndoeS15b3JrLWRldGFpbHMgLndoeS15b3JrLXRleHQgaDIge1xuICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAud2h5LXlvcmsgLndoeS15b3JrLWRldGFpbHMgLndoeS15b3JrLXRleHQgaDI6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyc7XG4gICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwLjQzNzVyZW07IH1cbiAgLndoeS15b3JrIC53aHkteW9yay1kZXRhaWxzIC53aHkteW9yay10ZXh0IC50ZXh0IHAge1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIGNvbG9yOiAjNTc1NzU3OyB9XG4gIC53aHkteW9yayAud2h5LXlvcmstZGV0YWlscyAud2h5LXlvcmstaW1hZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgIC53aHkteW9yayAud2h5LXlvcmstZGV0YWlscyAud2h5LXlvcmstaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMDsgfSB9XG4gICAgLndoeS15b3JrIC53aHkteW9yay1kZXRhaWxzIC53aHkteW9yay1pbWFnZSBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgxMDAlKTsgfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgLndoeS15b3JrIC53aHkteW9yay1kZXRhaWxzIC53aHkteW9yay1pbWFnZSBpbWcge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAud2h5LXlvcmsgLndoeS15b3JrLWRldGFpbHMgLndoeS15b3JrLWltYWdlIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OiA0NC4zNzVyZW07XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLnRydWUtZ2xvYmFsIHtcbiAgYmFja2dyb3VuZDogI0Y0RjRGNTtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50cnVlLWdsb2JhbCB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwIDAgMDsgfSB9XG4gIC50cnVlLWdsb2JhbCAuc2l0ZW5hbWUtZmxvYXQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRydWUtZ2xvYmFsIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnRydWUtZ2xvYmFsIC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRydWUtZ2xvYmFsIC50b3AtbWVudS1iYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnRydWUtZ2xvYmFsIC50cnVlLWdsb2JhbC1kZXRhaWxzIC50cnVlLWdsb2JhbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgICAgdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudHJ1ZS1nbG9iYWwgLnRydWUtZ2xvYmFsLWRldGFpbHMgLnRydWUtZ2xvYmFsLXRleHQge1xuICAgICAgICAgIHdpZHRoOiAyNi4zNzVyZW07XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgIHotaW5kZXg6IDEwOyB9IH1cbiAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtdGV4dCBoMiB7XG4gICAgICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtdGV4dCBoMjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDAuNDM3NXJlbTsgfVxuICAgICAgLnRydWUtZ2xvYmFsIC50cnVlLWdsb2JhbC1kZXRhaWxzIC50cnVlLWdsb2JhbC10ZXh0IC50ZXh0IHAge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgY29sb3I6ICM1NzU3NTc7IH1cbiAgICAudHJ1ZS1nbG9iYWwgLnRydWUtZ2xvYmFsLWRldGFpbHMgLnRydWUtZ2xvYmFsLW1hcCB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtbWFwIHtcbiAgICAgICAgICB3aWR0aDogNDYuNTYyNXJlbTtcbiAgICAgICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAudHJ1ZS1nbG9iYWwgLnRydWUtZ2xvYmFsLWRldGFpbHMgLnRydWUtZ2xvYmFsLW1hcCB7XG4gICAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cbiAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtbWFwIC50aGUtbWFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgLnRydWUtZ2xvYmFsIC50cnVlLWdsb2JhbC1kZXRhaWxzIC50cnVlLWdsb2JhbC1tYXAgLnRoZS1tYXAge1xuICAgICAgICAgICAgd2lkdGg6IDQ2LjU2MjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDQ2LjU2MjVyZW07IH0gfVxuICAgICAgICAudHJ1ZS1nbG9iYWwgLnRydWUtZ2xvYmFsLWRldGFpbHMgLnRydWUtZ2xvYmFsLW1hcCAudGhlLW1hcCBzdmcgYSB7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjsgfVxuICAgICAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtbWFwIC50aGUtbWFwIHN2ZyBhLm1haW4tb2ZmaWNlIHtcbiAgICAgICAgICAgIHdpZHRoOiAyLjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtbWFwIC50aGUtbWFwIHN2ZyBhLm1haW4tb2ZmaWNlIGcge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgZmlsbDogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAgICAgLnRydWUtZ2xvYmFsIC50cnVlLWdsb2JhbC1kZXRhaWxzIC50cnVlLWdsb2JhbC1tYXAgLnRoZS1tYXAgc3ZnIGEubWFpbi1vZmZpY2UgZyBjaXJjbGUge1xuICAgICAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHN0cm9rZTogI0JFOUE2MDsgfVxuICAgICAgICAgICAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtbWFwIC50aGUtbWFwIHN2ZyBhLm1haW4tb2ZmaWNlIGcgY2lyY2xlLnN0MSB7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAjQkU5QTYwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICBzdHJva2U6IHRyYW5zcGFyZW50OyB9XG4gICAgICAgICAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtbWFwIC50aGUtbWFwIHN2ZyBhLm1haW4tb2ZmaWNlIGc6aG92ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZpbGw6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIHN0cm9rZTogdHJhbnNwYXJlbnQ7IH1cbiAgICAgICAgICAgICAgICAudHJ1ZS1nbG9iYWwgLnRydWUtZ2xvYmFsLWRldGFpbHMgLnRydWUtZ2xvYmFsLW1hcCAudGhlLW1hcCBzdmcgYS5tYWluLW9mZmljZSBnOmhvdmVyIGNpcmNsZSB7XG4gICAgICAgICAgICAgICAgICBzdHJva2U6ICMyMjYwOTI7XG4gICAgICAgICAgICAgICAgICBmaWxsOiAjMjI2MDkyO1xuICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgICAgICAgICAgICAudHJ1ZS1nbG9iYWwgLnRydWUtZ2xvYmFsLWRldGFpbHMgLnRydWUtZ2xvYmFsLW1hcCAudGhlLW1hcCBzdmcgYS5tYWluLW9mZmljZSBnOmhvdmVyIGNpcmNsZS5zdDAge1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiB0cmFuc3BhcmVudDsgfVxuICAgICAgICAgICAgICAgICAgLnRydWUtZ2xvYmFsIC50cnVlLWdsb2JhbC1kZXRhaWxzIC50cnVlLWdsb2JhbC1tYXAgLnRoZS1tYXAgc3ZnIGEubWFpbi1vZmZpY2UgZzpob3ZlciBjaXJjbGUuc3QxIHtcbiAgICAgICAgICAgICAgICAgICAgZmlsbDogIzIyNjA5MiAhaW1wb3J0YW50OyB9XG4gICAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtbWFwIC50aGUtbWFwIHN2ZyBjaXJjbGUge1xuICAgICAgICAgIHRyYW5zaXRpb246IGNvbG9yIDAuM3MgbGluZWFyOyB9XG4gICAgICAgICAgLnRydWUtZ2xvYmFsIC50cnVlLWdsb2JhbC1kZXRhaWxzIC50cnVlLWdsb2JhbC1tYXAgLnRoZS1tYXAgc3ZnIGNpcmNsZTpob3ZlciB7XG4gICAgICAgICAgICBzdHJva2U6ICMyMjYwOTI7XG4gICAgICAgICAgICBmaWxsOiAjMjI2MDkyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAgICAgICAudHJ1ZS1nbG9iYWwgLnRydWUtZ2xvYmFsLWRldGFpbHMgLnRydWUtZ2xvYmFsLW1hcCAudGhlLW1hcCBzdmcgY2lyY2xlOmhvdmVyLnN0MCB7XG4gICAgICAgICAgICAgIGZpbGw6IG5vbmU7IH1cbiAgICAgICAgLnRydWUtZ2xvYmFsIC50cnVlLWdsb2JhbC1kZXRhaWxzIC50cnVlLWdsb2JhbC1tYXAgLnRoZS1tYXAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2ZlZmVmZTtcbiAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMS4yNXJlbTtcbiAgICAgICAgICB6LWluZGV4OiA5MDA7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgYm94LXNoYWRvdzogMC4yNXJlbSAwLjI1cmVtIDAuNDM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICAgLnRydWUtZ2xvYmFsIC50cnVlLWdsb2JhbC1kZXRhaWxzIC50cnVlLWdsb2JhbC1tYXAgLnRoZS1tYXAgLmRlc2NyaXB0aW9uOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDkwMDsgfVxuICAgICAgICAgIC50cnVlLWdsb2JhbCAudHJ1ZS1nbG9iYWwtZGV0YWlscyAudHJ1ZS1nbG9iYWwtbWFwIC50aGUtbWFwIC5kZXNjcmlwdGlvbi5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAudHJ1ZS1nbG9iYWwgLnRydWUtZ2xvYmFsLWRldGFpbHMgLnRydWUtZ2xvYmFsLW1hcCAudGhlLW1hcCAuZGVzY3JpcHRpb24gaDUge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDAuODc1cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgICAgLnRydWUtZ2xvYmFsIC50cnVlLWdsb2JhbC1kZXRhaWxzIC50cnVlLWdsb2JhbC1tYXAgLnRoZS1tYXAgLmRlc2NyaXB0aW9uIHAge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC44NzVyZW07XG4gICAgICAgICAgICBjb2xvcjogIzU3NTc1NztcbiAgICAgICAgICAgIG1hcmdpbjogMDsgfVxuXG4uY2xpZW50LXJlbGF0aW9ucyB7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEyOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNsaWVudC1yZWxhdGlvbnMge1xuICAgICAgYmFja2dyb3VuZDogI0Y0RjRGNTtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgcGFkZGluZzogNC42ODc1cmVtIDAgMCAwOyB9IH1cbiAgLmNsaWVudC1yZWxhdGlvbnMgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jbGllbnQtcmVsYXRpb25zIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLmNsaWVudC1yZWxhdGlvbnMgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2xpZW50LXJlbGF0aW9ucyAudG9wLW1lbnUtYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jbGllbnQtcmVsYXRpb25zIC5mbGV4LXJvdyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5jbGllbnQtcmVsYXRpb25zIC5jbGllbnQtcmVsYXRpb25zLXRleHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jbGllbnQtcmVsYXRpb25zIC5jbGllbnQtcmVsYXRpb25zLXRleHQge1xuICAgICAgICB3aWR0aDogMjUuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMS44NzVyZW07IH0gfVxuICAgIC5jbGllbnQtcmVsYXRpb25zIC5jbGllbnQtcmVsYXRpb25zLXRleHQgaDIge1xuICAgICAgY29sb3I6ICMyMjYwOTI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuY2xpZW50LXJlbGF0aW9ucyAuY2xpZW50LXJlbGF0aW9ucy10ZXh0IGgyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC40Mzc1cmVtOyB9XG4gICAgLmNsaWVudC1yZWxhdGlvbnMgLmNsaWVudC1yZWxhdGlvbnMtdGV4dCAudGV4dCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgY29sb3I6ICM1NzU3NTc7IH1cbiAgLmNsaWVudC1yZWxhdGlvbnMgLmNsaWVudC1yZWxhdGlvbnMtY2hhcnQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi10b3A6IDMuNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLmNsaWVudC1yZWxhdGlvbnMgLmNsaWVudC1yZWxhdGlvbnMtY2hhcnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNsaWVudC1yZWxhdGlvbnMgLmNsaWVudC1yZWxhdGlvbnMtY2hhcnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDIyLjMxMjVyZW07IH0gfVxuICAgIC5jbGllbnQtcmVsYXRpb25zIC5jbGllbnQtcmVsYXRpb25zLWNoYXJ0IGg1IHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgIC5jbGllbnQtcmVsYXRpb25zIC5jbGllbnQtcmVsYXRpb25zLWNoYXJ0IHAge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgY29sb3I6ICM4YThhOGE7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICAuY2xpZW50LXJlbGF0aW9ucyAuY2xpZW50LXJlbGF0aW9ucy1jaGFydCAuY2hhcnQtY2FudmFzIHtcbiAgICAgIHdpZHRoOiAyMi4xODc1cmVtO1xuICAgICAgaGVpZ2h0OiAyMi4xODc1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgIC5jbGllbnQtcmVsYXRpb25zIC5jbGllbnQtcmVsYXRpb25zLWNoYXJ0IC5jaGFydC1sYWJlbHMge1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAuY2xpZW50LXJlbGF0aW9ucyAuY2xpZW50LXJlbGF0aW9ucy1jaGFydCAuY2hhcnQtbGFiZWxzIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzLjc1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jbGllbnQtcmVsYXRpb25zIC5jbGllbnQtcmVsYXRpb25zLWNoYXJ0IC5jaGFydC1sYWJlbHMge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9IH1cbiAgICAgIC5jbGllbnQtcmVsYXRpb25zIC5jbGllbnQtcmVsYXRpb25zLWNoYXJ0IC5jaGFydC1sYWJlbHMgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICAuY2xpZW50LXJlbGF0aW9ucyAuY2xpZW50LXJlbGF0aW9ucy1jaGFydCAuY2hhcnQtbGFiZWxzIHVsIGxpIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgICAgIGhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07IH1cbiAgICAgICAgICAuY2xpZW50LXJlbGF0aW9ucyAuY2xpZW50LXJlbGF0aW9ucy1jaGFydCAuY2hhcnQtbGFiZWxzIHVsIGxpIC5jb2xvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMC44MTI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjgxMjVyZW07XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgICAgIC5jbGllbnQtcmVsYXRpb25zIC5jbGllbnQtcmVsYXRpb25zLWNoYXJ0IC5jaGFydC1sYWJlbHMgdWwgbGkgLnZhbHVlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDsgfVxuXG4uc3Ryb25nLWhlcml0YWdlIHtcbiAgYmFja2dyb3VuZDogI0ZGRkZGRjtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW0gMCAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDE1OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0cm9uZy1oZXJpdGFnZSB7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnN0cm9uZy1oZXJpdGFnZSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwIDAgMDsgfSB9XG4gIC5zdHJvbmctaGVyaXRhZ2UgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdHJvbmctaGVyaXRhZ2UgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuc3Ryb25nLWhlcml0YWdlIC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0cm9uZy1oZXJpdGFnZSAudG9wLW1lbnUtYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuc3Ryb25nLWhlcml0YWdlIC5zdHJvbmctaGVyaXRhZ2UtdGV4dCB7XG4gICAgcGFkZGluZy10b3A6IDIuNXJlbTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAuc3Ryb25nLWhlcml0YWdlIC5zdHJvbmctaGVyaXRhZ2UtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA0LjA2MjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3Ryb25nLWhlcml0YWdlIC5zdHJvbmctaGVyaXRhZ2UtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2LjU2MjVyZW07IH0gfVxuICAgIC5zdHJvbmctaGVyaXRhZ2UgLnN0cm9uZy1oZXJpdGFnZS10ZXh0IGgyIHtcbiAgICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLnN0cm9uZy1oZXJpdGFnZSAuc3Ryb25nLWhlcml0YWdlLXRleHQgaDI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjQzNzVyZW07IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgLnN0cm9uZy1oZXJpdGFnZSAuc3Ryb25nLWhlcml0YWdlLXRleHQgLnRleHQge1xuICAgICAgICB3aWR0aDogMjguNXJlbTsgfSB9XG4gICAgLnN0cm9uZy1oZXJpdGFnZSAuc3Ryb25nLWhlcml0YWdlLXRleHQgLnRleHQgcCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIGNvbG9yOiAjNTc1NzU3OyB9XG4gICAgLnN0cm9uZy1oZXJpdGFnZSAuc3Ryb25nLWhlcml0YWdlLXRleHQgLnRleHQgaDUge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgIG1hcmdpbjogMS44NzVyZW0gMCAwLjYyNXJlbSAwOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0cm9uZy1oZXJpdGFnZSAuc3Ryb25nLWhlcml0YWdlLWltYWdlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnN0cm9uZy1oZXJpdGFnZSAuc3Ryb25nLWhlcml0YWdlLWltYWdlIGltZyB7XG4gICAgICBoZWlnaHQ6IDQ0LjM3NXJlbTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLm93bmVyc2hpcC1jdWx0dXJlIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMzsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgIC5vd25lcnNoaXAtY3VsdHVyZSB7XG4gICAgICBwYWRkaW5nOiA1cmVtIDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm93bmVyc2hpcC1jdWx0dXJlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgcGFkZGluZzogNC42ODc1cmVtIDAgMCAwOyB9IH1cbiAgLm93bmVyc2hpcC1jdWx0dXJlIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAub3duZXJzaGlwLWN1bHR1cmUgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAub3duZXJzaGlwLWN1bHR1cmUgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAub3duZXJzaGlwLWN1bHR1cmUgLnRvcC1tZW51LWJhciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm93bmVyc2hpcC1jdWx0dXJlIC5zaXRlbmFtZS1mbG9hdCAuc2l0ZW5hbWUtZmxvYXQtdGV4dCB7XG4gICAgY29sb3I6ICNGMEYwRjE7IH1cbiAgLm93bmVyc2hpcC1jdWx0dXJlIC50b3AtbWVudS1iYXIgLmxvZ28ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA1OyB9XG4gIC5vd25lcnNoaXAtY3VsdHVyZSAub3duZXJzaGlwLWN1bHR1cmUtdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm93bmVyc2hpcC1jdWx0dXJlIC5vd25lcnNoaXAtY3VsdHVyZS10ZXh0IHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwLjMxMjVyZW07IH0gfVxuICAgIC5vd25lcnNoaXAtY3VsdHVyZSAub3duZXJzaGlwLWN1bHR1cmUtdGV4dCBoMiB7XG4gICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgICBmb250LXNpemU6IDQuMzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07IH1cbiAgICAgIC5vd25lcnNoaXAtY3VsdHVyZSAub3duZXJzaGlwLWN1bHR1cmUtdGV4dCBoMjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC40Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5vd25lcnNoaXAtY3VsdHVyZSAub3duZXJzaGlwLWN1bHR1cmUtdGV4dCAudGV4dCB7XG4gICAgICAgIHdpZHRoOiAyMS42MjVyZW07IH0gfVxuICAgIC5vd25lcnNoaXAtY3VsdHVyZSAub3duZXJzaGlwLWN1bHR1cmUtdGV4dCAudGV4dCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgY29sb3I6ICNGMEYwRjE7IH1cblxuLnlvcmstY2FyZXMge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA0OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLnlvcmstY2FyZXMge1xuICAgICAgcGFkZGluZzogNXJlbSAyLjVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC55b3JrLWNhcmVzIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgcGFkZGluZzogNC42ODc1cmVtIDAgMCAwOyB9IH1cbiAgLnlvcmstY2FyZXMgLnNpdGVuYW1lLWZsb2F0IC5zaXRlbmFtZS1mbG9hdC10ZXh0IHtcbiAgICBjb2xvcjogI0YwRjBGMTsgfVxuICAueW9yay1jYXJlcyAuc2l0ZW5hbWUtZmxvYXQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnlvcmstY2FyZXMgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAueW9yay1jYXJlcyAudG9wLW1lbnUtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC55b3JrLWNhcmVzIC50b3AtbWVudS1iYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC55b3JrLWNhcmVzIC50b3AtbWVudS1iYXIge1xuICAgIHBhZGRpbmctYm90dG9tOiA3LjgxMjVyZW07IH1cbiAgICAueW9yay1jYXJlcyAudG9wLW1lbnUtYmFyIC5sb2dvIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDY7IH1cbiAgLnlvcmstY2FyZXMgLnlvcmstY2FyZXMtdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDY7IH1cbiAgICAueW9yay1jYXJlcyAueW9yay1jYXJlcy10ZXh0IGgyIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy43NXJlbTsgfVxuICAgICAgLnlvcmstY2FyZXMgLnlvcmstY2FyZXMtdGV4dCBoMjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMTI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC40Mzc1cmVtOyB9XG4gICAgLnlvcmstY2FyZXMgLnlvcmstY2FyZXMtdGV4dCAudGV4dCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgY29sb3I6ICNGMEYwRjE7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnlvcmstY2FyZXMgLnlvcmstY2FyZXMtdGV4dCAudGV4dC5vcmdhbml6YXRpb25zIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07IH0gfVxuICAgIC55b3JrLWNhcmVzIC55b3JrLWNhcmVzLXRleHQgLnRleHQub3JnYW5pemF0aW9ucyBzdHJvbmcge1xuICAgICAgY29sb3I6ICNCRTlBNjA7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uZ3JlZW4teW9yayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNzsgfVxuXG4uYWR2YW5jZS1jYXJlZXIge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nOiAyLjVyZW0gMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA3OyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmFkdmFuY2UtY2FyZWVyIHtcbiAgICAgIHBhZGRpbmc6IDVyZW0gMi41cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWR2YW5jZS1jYXJlZXIge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBwYWRkaW5nOiA0LjY4NzVyZW0gMCAwIDA7IH0gfVxuICAuYWR2YW5jZS1jYXJlZXIgLnNpdGVuYW1lLWZsb2F0IC5zaXRlbmFtZS1mbG9hdC10ZXh0IHtcbiAgICBjb2xvcjogI0YwRjBGMTsgfVxuICAuYWR2YW5jZS1jYXJlZXIgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hZHZhbmNlLWNhcmVlciAuc2l0ZW5hbWUtZmxvYXQge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5hZHZhbmNlLWNhcmVlciAudG9wLW1lbnUtYmFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5hZHZhbmNlLWNhcmVlciAudG9wLW1lbnUtYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuYWR2YW5jZS1jYXJlZXIgLnRvcC1tZW51LWJhciB7XG4gICAgcGFkZGluZy1ib3R0b206IDkuMzc1cmVtOyB9XG4gICAgLmFkdmFuY2UtY2FyZWVyIC50b3AtbWVudS1iYXIgLmxvZ28ge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgei1pbmRleDogOTsgfVxuICAuYWR2YW5jZS1jYXJlZXIgLmFkdmFuY2UtY2FyZWVyLXRleHQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OyB9XG4gICAgLmFkdmFuY2UtY2FyZWVyIC5hZHZhbmNlLWNhcmVlci10ZXh0IGgyIHtcbiAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgIGZvbnQtc2l6ZTogNC4zNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMy43NXJlbTsgfVxuICAgICAgLmFkdmFuY2UtY2FyZWVyIC5hZHZhbmNlLWNhcmVlci10ZXh0IGgyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICAgIGhlaWdodDogMC4xMjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjQzNzVyZW07IH1cbiAgICAuYWR2YW5jZS1jYXJlZXIgLmFkdmFuY2UtY2FyZWVyLXRleHQgLnRleHQgcCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgIGNvbG9yOiAjRjBGMEYxOyB9XG4gICAgLmFkdmFuY2UtY2FyZWVyIC5hZHZhbmNlLWNhcmVlci10ZXh0IC5jdGEge1xuICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAgIC5hZHZhbmNlLWNhcmVlciAuYWR2YW5jZS1jYXJlZXItdGV4dCAuY3RhIGEge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICBoZWlnaHQ6IDIuMTI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW07XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0JFOUE2MDtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAgIC5hZHZhbmNlLWNhcmVlciAuYWR2YW5jZS1jYXJlZXItdGV4dCAuY3RhIGE6aG92ZXIge1xuICAgICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7IH1cblxuLmNhcmVlci1ibG9jayB7XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEzO1xuICBiYWNrZ3JvdW5kOiAjZmVmZWZlOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgLmNhcmVlci1ibG9jayB7XG4gICAgICBwYWRkaW5nOiA1cmVtIDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNhcmVlci1ibG9jayB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwIDAgMDsgfSB9XG4gIC5jYXJlZXItYmxvY2sgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJlZXItYmxvY2sgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY2FyZWVyLWJsb2NrIC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmVlci1ibG9jayAudG9wLW1lbnUtYmFyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAuY2FyZWVyLWJsb2NrIC5jYXJlZXItYmxvY2stdGV4dCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNhcmVlci1ibG9jayAuY2FyZWVyLWJsb2NrLXRleHQge1xuICAgICAgICBwYWRkaW5nLXRvcDogNi44NzVyZW07IH0gfVxuICAgIC5jYXJlZXItYmxvY2sgLmNhcmVlci1ibG9jay10ZXh0IGgyIHtcbiAgICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgZm9udC1zaXplOiA0LjM3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtOyB9XG4gICAgICAuY2FyZWVyLWJsb2NrIC5jYXJlZXItYmxvY2stdGV4dCBoMjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICB3aWR0aDogMS41NjI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG4gICAgLmNhcmVlci1ibG9jayAuY2FyZWVyLWJsb2NrLXRleHQgLnRleHQgcCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgY29sb3I6ICNCRTlBNjA7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAuY2FyZWVyLWJsb2NrIC5jYXJlZXItYmxvY2stdGV4dCAudGV4dCBwIGEge1xuICAgICAgICBjb2xvcjogIzIyNjA5MjsgfVxuICAgICAgICAuY2FyZWVyLWJsb2NrIC5jYXJlZXItYmxvY2stdGV4dCAudGV4dCBwIGE6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbi5vdXItaGlzdG9yeSB7XG4gIGJhY2tncm91bmQ6ICNGNUY1RjU7XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtIDYuMjVyZW0gMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxNjsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vdXItaGlzdG9yeSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIHBhZGRpbmc6IDQuNjg3NXJlbSAwIDAgMDsgfSB9XG4gIC5vdXItaGlzdG9yeSAuc2l0ZW5hbWUtZmxvYXQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm91ci1oaXN0b3J5IC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLm91ci1oaXN0b3J5IC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLm91ci1oaXN0b3J5IC50b3AtbWVudS1iYXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5vdXItaGlzdG9yeSAuYmxvY2stdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiA3LjE4NzVyZW07IH1cbiAgICAub3VyLWhpc3RvcnkgLmJsb2NrLXRpdGxlIGgyIHtcbiAgICAgIGNvbG9yOiAjMjI2MDkyOyB9XG4gICAgICAub3VyLWhpc3RvcnkgLmJsb2NrLXRpdGxlIGgyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAub3VyLWhpc3RvcnkgLnllYXJzLWxpbmtzIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbi10b3A6IDMuNzVyZW07XG4gICAgYm9yZGVyLXRvcDogMC4wNjI1cmVtIHNvbGlkICNCRTlBNjA7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLm91ci1oaXN0b3J5IC55ZWFycy1saW5rcyBsaSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLWxyO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC0xODBkZWcpOyB9XG4gICAgICAub3VyLWhpc3RvcnkgLnllYXJzLWxpbmtzIGxpOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgd2lkdGg6IDAuMDYyNXJlbTtcbiAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICBib3R0b206IC0wLjQzNzVyZW07XG4gICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gICAgICAub3VyLWhpc3RvcnkgLnllYXJzLWxpbmtzIGxpIGEge1xuICAgICAgICBjb2xvcjogIzIyNjA5MjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdBbWlyaScsIHNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICAgICAgb3BhY2l0eTogMC4yO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuMDY4NzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAgICAgICAub3VyLWhpc3RvcnkgLnllYXJzLWxpbmtzIGxpIGE6aG92ZXIsIC5vdXItaGlzdG9yeSAueWVhcnMtbGlua3MgbGkgYS5hY3RpdmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLm91ci1oaXN0b3J5IC55ZWFycy1zbGlkZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOiA1cmVtOyB9XG4gICAgLm91ci1oaXN0b3J5IC55ZWFycy1zbGlkZXIgLnllYXJzLWNvbnRhaW5lciB7XG4gICAgICBoZWlnaHQ6IDMxLjI1cmVtO1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgLm91ci1oaXN0b3J5IC55ZWFycy1zbGlkZXIgLmNvbnRyb2wge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgei1pbmRleDogMTE7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cbiAgICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC5jb250cm9sLmNvbnRyb2wtcHJldiB7XG4gICAgICAgIHRvcDogLTMuMTI1cmVtOyB9XG4gICAgICAub3VyLWhpc3RvcnkgLnllYXJzLXNsaWRlciAuY29udHJvbC5jb250cm9sLW5leHQge1xuICAgICAgICBib3R0b206IC0zLjEyNXJlbTsgfVxuICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC55ZWFyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0cmFuc2l0aW9uOiBhbGwgMC41czsgfVxuICAgICAgLm91ci1oaXN0b3J5IC55ZWFycy1zbGlkZXIgLnllYXIgaDIge1xuICAgICAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogOC4xMjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA1cmVtO1xuICAgICAgICBjb2xvcjogIzIyNjA5MjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAub3VyLWhpc3RvcnkgLnllYXJzLXNsaWRlciAueWVhciBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLm91ci1oaXN0b3J5IC55ZWFycy1zbGlkZXIgLnllYXIgLmltYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC55ZWFyIC5pbWFnZXMgaW1nIHtcbiAgICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW07IH1cbiAgICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC55ZWFyIC5iZWZvcmUtaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgICAgLm91ci1oaXN0b3J5IC55ZWFycy1zbGlkZXIgLnllYXIgLmJlZm9yZS1pbWFnZSBpbWcge1xuICAgICAgICAgIG1heC1oZWlnaHQ6IDguMTI1cmVtO1xuICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMC4yNXJlbSAwLjM3NXJlbSByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cbiAgICAgICAgLm91ci1oaXN0b3J5IC55ZWFycy1zbGlkZXIgLnllYXIgLmJlZm9yZS1pbWFnZS50b3BfbGVmdCB7XG4gICAgICAgICAgbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgIHRvcDogLTVyZW07IH1cbiAgICAgICAgLm91ci1oaXN0b3J5IC55ZWFycy1zbGlkZXIgLnllYXIgLmJlZm9yZS1pbWFnZS50b3BfcmlnaHQge1xuICAgICAgICAgIHJpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgdG9wOiAtNXJlbTsgfVxuICAgICAgICAub3VyLWhpc3RvcnkgLnllYXJzLXNsaWRlciAueWVhciAuYmVmb3JlLWltYWdlLnRvcF9jZW50ZXIge1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgdG9wOiAtNXJlbTsgfVxuICAgICAgLm91ci1oaXN0b3J5IC55ZWFycy1zbGlkZXIgLnllYXIgLmFmdGVyLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC55ZWFyIC5hZnRlci1pbWFnZSBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogMTIuNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwLjI1cmVtIDAuMzc1cmVtIHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgICAgICAub3VyLWhpc3RvcnkgLnllYXJzLXNsaWRlciAueWVhciAuYWZ0ZXItaW1hZ2UuYm90dG9tX2xlZnQge1xuICAgICAgICAgIGxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICBib3R0b206IC0zLjEyNXJlbTsgfVxuICAgICAgICAub3VyLWhpc3RvcnkgLnllYXJzLXNsaWRlciAueWVhciAuYWZ0ZXItaW1hZ2UuYm90dG9tX3JpZ2h0IHtcbiAgICAgICAgICByaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgIGJvdHRvbTogLTMuMTI1cmVtOyB9XG4gICAgICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC55ZWFyIC5hZnRlci1pbWFnZS5ib3R0b21fY2VudGVyIHtcbiAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIGJvdHRvbTogLTMuMTI1cmVtOyB9XG4gICAgICAub3VyLWhpc3RvcnkgLnllYXJzLXNsaWRlciAueWVhci5hY3RpdmUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHRvcDogMTEuMjVyZW07IH1cbiAgICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC55ZWFyLmFmdGVyIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdG9wOiA2Mi40Mzc1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7IH1cbiAgICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC55ZWFyLnByZXYge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBoZWlnaHQ6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKTsgfVxuICAgICAgICAub3VyLWhpc3RvcnkgLnllYXJzLXNsaWRlciAueWVhci5wcmV2IHAsXG4gICAgICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC55ZWFyLnByZXYgaW1nIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAub3VyLWhpc3RvcnkgLnllYXJzLXNsaWRlciAueWVhci5wcmV2LTEge1xuICAgICAgICBoZWlnaHQ6IDMuNzVyZW07XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAgICAgb3BhY2l0eTogMC43OyB9XG4gICAgICAub3VyLWhpc3RvcnkgLnllYXJzLXNsaWRlciAueWVhci5wcmV2LTIge1xuICAgICAgICBoZWlnaHQ6IDMuMTI1cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzUpO1xuICAgICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAgIC5vdXItaGlzdG9yeSAueWVhcnMtc2xpZGVyIC55ZWFyLnByZXYtMyB7XG4gICAgICAgIGhlaWdodDogMi41cmVtO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMik7XG4gICAgICAgIG9wYWNpdHk6IDAuMzsgfVxuXG4ucGFyYWxsYXgtaW1hZ2Uge1xuICBoZWlnaHQ6IDM3LjVyZW07XG4gIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGFyYWxsYXgtaW1hZ2Uge1xuICAgICAgYmFja2dyb3VuZC1hdHRhY2htZW50OiBmaXhlZDsgfSB9XG5cbi5jb21tdW5pdHktbmV3cyB7XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDg7XG4gIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tbXVuaXR5LW5ld3Mge1xuICAgICAgcGFkZGluZzogOS4zNzVyZW0gMCA4LjEyNXJlbSAwO1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7IH0gfVxuICAuY29tbXVuaXR5LW5ld3MgLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbW11bml0eS1uZXdzIC5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jb21tdW5pdHktbmV3cyAuc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIHotaW5kZXg6IDEwMDA7IH1cbiAgICAgIC5jb21tdW5pdHktbmV3cyAuc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdzpiZWZvcmUge1xuICAgICAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBjb2xvcjogIzdBN0E3QTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgLmNvbW11bml0eS1uZXdzIC5zbGljay1zbGlkZXIgLnNsaWNrLWFycm93OmhvdmVyOmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMjI2MDkyOyB9XG4gICAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3cuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IC0xLjg3NXJlbTsgfVxuICAgICAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3cuc2xpY2stcHJldjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7IH1cbiAgICAgIC5jb21tdW5pdHktbmV3cyAuc2xpY2stc2xpZGVyIC5zbGljay1hcnJvdy5zbGljay1uZXh0IHtcbiAgICAgICAgcmlnaHQ6IC0xLjg3NXJlbTsgfVxuICAgICAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stYXJyb3cuc2xpY2stbmV4dDpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAgIC5jb21tdW5pdHktbmV3cyAuc2xpY2stc2xpZGVyIC5zbGljay1kb3RzIHtcbiAgICAgIGJvdHRvbTogMDsgfVxuICAgICAgLmNvbW11bml0eS1uZXdzIC5zbGljay1zbGlkZXIgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgICAgIGNvbG9yOiAjQkU5QTYwOyB9XG4gICAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWNrLXNsaWRlciAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLmNvbW11bml0eS1uZXdzIC5zbGlkZXItdGl0bGUgaDIge1xuICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuICAgIC5jb21tdW5pdHktbmV3cyAuc2xpZGVyLXRpdGxlIGgyOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAuY29tbXVuaXR5LW5ld3MgLnNsaWRlci1jb250ZW50IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogNC4zNzVyZW07IH1cbiAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0ge1xuICAgICAgYmFja2dyb3VuZDogI0Y5RjlGOTtcbiAgICAgIHBhZGRpbmc6IDEuMzc1cmVtIDEuMzc1cmVtIDIuNzVyZW0gMS4zNzVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5kYXRlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGNvbG9yOiAjN0E3QTdBO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgLmNvbW11bml0eS1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyBoNiB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBjb2xvcjogIzdBN0E3QTtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgIC5jb21tdW5pdHktbmV3cyAuc2xpZGVyLWNvbnRlbnQgLmNhdGVnb3J5LW5ld3MtaXRlbSAuY2F0ZWdvcnktbmV3cy1pdGVtLWRldGFpbHMgLmNhdGVnb3J5LW5ld3MtaXRlbS1jYXRlZ29yeSBpbWcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbW11bml0eS1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyAuY2F0ZWdvcnktbmV3cy1pdGVtLWNhdGVnb3J5IHNwYW4ge1xuICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBjb2xvcjogI0JFOUE2MDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgICAgLmNvbW11bml0eS1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyAuY2F0ZWdvcnktbmV3cy1pdGVtLWNhdGVnb3J5IHNwYW46YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbW11bml0eS1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyAuY2F0ZWdvcnktbmV3cy1pdGVtLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICAgICAgLmNvbW11bml0eS1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyAuY2F0ZWdvcnktbmV3cy1pdGVtLWNvbnRlbnQgaDMge1xuICAgICAgICAgIG1hcmdpbjogMS4yNXJlbSAwOyB9XG4gICAgICAgICAgLmNvbW11bml0eS1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyAuY2F0ZWdvcnktbmV3cy1pdGVtLWNvbnRlbnQgaDMgYSB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogJ0FtaXJpJywgc2VyaWY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyLjE4NzVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMi4xODc1cmVtO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBjb2xvcjogIzIyNjA5MjsgfVxuICAgICAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5jYXRlZ29yeS1uZXdzLWl0ZW0tY29udGVudCAuZXhjZXJwdCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gICAgICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5jdGEge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIGJvdHRvbTogMi43NXJlbTsgfVxuICAgICAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW0gLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIC5jdGEgYSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGxldHRlci1zcGFjaW5nOiAwLjA1NjI1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjNTc1NzU3O1xuICAgICAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNCRTlBNjA7XG4gICAgICAgICAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMi4xMjVyZW07XG4gICAgICAgICAgcGFkZGluZzogMCAxLjg3NXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgbGluZWFyOyB9XG4gICAgICAgICAgLmNvbW11bml0eS1uZXdzIC5zbGlkZXItY29udGVudCAuY2F0ZWdvcnktbmV3cy1pdGVtIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyAuY3RhIGE6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI0JFOUE2MDtcbiAgICAgICAgICAgIGNvbG9yOiAjZmVmZWZlOyB9XG4gICAgICAuY29tbXVuaXR5LW5ld3MgLnNsaWRlci1jb250ZW50IC5jYXRlZ29yeS1uZXdzLWl0ZW06aG92ZXIge1xuICAgICAgICBib3gtc2hhZG93OiAwIDVweCAxMHB4IHJnYmEoMCwgMCwgMCwgMC4yNSksIDAgMTBweCAxMHB4IC0xMHB4IHJnYmEoMCwgMCwgMCwgMC4yMik7IH1cblxuLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUge1xuICBwYWRkaW5nOiAzLjEyNXJlbSAwIDQuMzc1cmVtIDA7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQwLCAyNDAsIDI0MSwgMC40KTsgfVxuICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAucm93IHtcbiAgICBtYXgtd2lkdGg6IDcwcmVtICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87IH1cbiAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmJsb2NrLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDogNi44NzVyZW07IH1cbiAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuYmxvY2stdGl0bGUgaDIge1xuICAgICAgY29sb3I6ICMyMjYwOTI7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuYmxvY2stdGl0bGUgaDI6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgd2lkdGg6IDEuNTYyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiAwLjQzNzVyZW07IH1cbiAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcy1ncmlkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDYuMjVyZW0gMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzLWdyaWQge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgICBncmlkLWNvbHVtbi1nYXA6IDVyZW07XG4gICAgICAgIGdyaWQtcm93LWdhcDogNi4yNXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMtZ3JpZCB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDFmcik7IH0gfVxuICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMtZ3JpZCAuY29tcGFueSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMtZ3JpZCAuY29tcGFueSB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3RhcnQ7IH0gfVxuICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcy1ncmlkIC5jb21wYW55IC5jb21wYW55LWxvZ28ge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzLWdyaWQgLmNvbXBhbnkgLmNvbXBhbnktbG9nbyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcy1ncmlkIC5jb21wYW55IC5jb21wYW55LWxvZ28gYSBpbWcge1xuICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgICAgICAgIG1heC13aWR0aDogNjAlOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMtZ3JpZCAuY29tcGFueSAuY29tcGFueS1sb2dvIGEgaW1nIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNC4zMTI1cmVtO1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA4LjI1cmVtO1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcy1ncmlkIC5jb21wYW55IC5jb21wYW55LWxvZ28gYTpob3ZlciBpbWcge1xuICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApOyB9XG4gICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzLWdyaWQgLmNvbXBhbnkgLmNvbXBhbnktcG9wdXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgYmFja2dyb3VuZDogIzM0Mzk0MTtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgICAgIGJveC1zaGFkb3c6IDAuMzc1cmVtIDAuNDM3NXJlbSAwLjc1cmVtIHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICBsZWZ0OiAtMC42MjVyZW07IH1cbiAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzLWdyaWQgLmNvbXBhbnkgLmNvbXBhbnktcG9wdXAge1xuICAgICAgICAgICAgd2lkdGg6IDI4LjEyNXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDA7IH0gfVxuICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzLWdyaWQgLmNvbXBhbnkgLmNvbXBhbnktcG9wdXAgLmNsb3NlLXBvcHVwIHtcbiAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAtMC45Mzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IC0wLjkzNzVyZW07XG4gICAgICAgICAgd2lkdGg6IDAuODEyNXJlbTtcbiAgICAgICAgICBoZWlnaHQ6IDAuODEyNXJlbTtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMtZ3JpZCAuY29tcGFueSAuY29tcGFueS1wb3B1cCAuY2xvc2UtcG9wdXA6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7IH1cbiAgICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzLWdyaWQgLmNvbXBhbnkgLmNvbXBhbnktcG9wdXAgLmNsb3NlLXBvcHVwOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuMDYyNXJlbTsgfVxuICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzLWdyaWQgLmNvbXBhbnkgLmNvbXBhbnktcG9wdXAgLnBvcHVwLWltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzLWdyaWQgLmNvbXBhbnkgLmNvbXBhbnktcG9wdXAgLnBvcHVwLWltYWdlIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIGhlaWdodDogMTEuODc1cmVtO1xuICAgICAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7IH1cbiAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcy1ncmlkIC5jb21wYW55IC5jb21wYW55LXBvcHVwIC5wb3B1cC1kZXRhaWxzIGg1IHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICBjb2xvcjogI0YwRjBGMTtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcy1ncmlkIC5jb21wYW55IC5jb21wYW55LXBvcHVwIC5wb3B1cC1kZXRhaWxzIHAge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjRjBGMEYxO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMtZ3JpZCAuY29tcGFueSAuY29tcGFueS1wb3B1cCAucG9wdXAtZGV0YWlscyBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAycmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAycmVtO1xuICAgICAgICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNCRTlBNjA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEuNTYyNXJlbTtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgIGNvbG9yOiAjRjBGMEYxO1xuICAgICAgICAgIGZsb2F0OiByaWdodDsgfVxuICAgICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMtZ3JpZCAuY29tcGFueSAuY29tcGFueS1wb3B1cCAucG9wdXAtZGV0YWlscyBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDYuMjVyZW0gMDsgfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMWZyKTtcbiAgICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiA1cmVtO1xuICAgICAgICBncmlkLXJvdy1nYXA6IDYuMjVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoNCwgMWZyKTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMWZyKTsgfSB9XG4gICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMgLmNvbXBhbnkge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMgLmNvbXBhbnk6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICBncmlkLWFyZWE6IDEgLyAxIC8gMiAvIDM7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueTpudGgtY2hpbGQoMikge1xuICAgICAgICAgIGdyaWQtYXJlYTogMSAvIDMgLyAyIC8gNDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIC5jb21wYW55Om50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiAxIC8gNCAvIDIgLyA1OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMgLmNvbXBhbnk6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgICBncmlkLWFyZWE6IDIgLyAxIC8gMyAvIDI7IH0gfVxuICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueTpudGgtY2hpbGQoNSkge1xuICAgICAgICAgIGdyaWQtYXJlYTogMiAvIDIgLyAzIC8gMzsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIC5jb21wYW55Om50aC1jaGlsZCg2KSB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiAyIC8gMyAvIDMgLyA0OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMgLmNvbXBhbnk6bnRoLWNoaWxkKDcpIHtcbiAgICAgICAgICBncmlkLWFyZWE6IDIgLyA0IC8gMyAvIDU7IH0gfVxuICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueSAuY29tcGFueS1sb2dvIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueSAuY29tcGFueS1sb2dvIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIC5jb21wYW55IC5jb21wYW55LWxvZ28gYSBpbWcge1xuICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgICAgICAgIG1heC13aWR0aDogNjAlOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMgLmNvbXBhbnkgLmNvbXBhbnktbG9nbyBhIGltZyB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMjAuNTYyNXJlbTtcbiAgICAgICAgICAgICAgbWF4LWhlaWdodDogOS41cmVtO1xuICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueSAuY29tcGFueS1sb2dvIGE6aG92ZXIgaW1nIHtcbiAgICAgICAgICBmaWx0ZXI6IGdyYXlzY2FsZSgwKTsgfVxuICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueSAuY29tcGFueS1wb3B1cCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICBiYWNrZ3JvdW5kOiAjMzQzOTQxO1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICAgICAgYm94LXNoYWRvdzogMC4zNzVyZW0gMC40Mzc1cmVtIDAuNzVyZW0gcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgIGxlZnQ6IC0wLjYyNXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMgLmNvbXBhbnkgLmNvbXBhbnktcG9wdXAge1xuICAgICAgICAgICAgd2lkdGg6IDI4LjEyNXJlbTtcbiAgICAgICAgICAgIGxlZnQ6IDA7IH0gfVxuICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIC5jb21wYW55IC5jb21wYW55LXBvcHVwIC5jbG9zZS1wb3B1cCB7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAtMC45Mzc1cmVtO1xuICAgICAgICAgIHdpZHRoOiAwLjgxMjVyZW07XG4gICAgICAgICAgaGVpZ2h0OiAwLjgxMjVyZW07XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIC5jb21wYW55IC5jb21wYW55LXBvcHVwIC5jbG9zZS1wb3B1cDpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgICAgICB3aWR0aDogMS4xMjVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDAuMDYyNXJlbTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTsgfVxuICAgICAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5jb21wYW5pZXMgLmNvbXBhbnkgLmNvbXBhbnktcG9wdXAgLmNsb3NlLXBvcHVwOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICAgICAgd2lkdGg6IDEuMTI1cmVtO1xuICAgICAgICAgICAgaGVpZ2h0OiAwLjA2MjVyZW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuMDYyNXJlbTsgfVxuICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIC5jb21wYW55IC5jb21wYW55LXBvcHVwIC5wb3B1cC1pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueSAuY29tcGFueS1wb3B1cCAucG9wdXAtaW1hZ2UgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMS44NzVyZW07XG4gICAgICAgICAgICBvYmplY3QtZml0OiBjb3ZlcjsgfVxuICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIC5jb21wYW55IC5jb21wYW55LXBvcHVwIC5wb3B1cC1kZXRhaWxzIGg1IHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICBjb2xvcjogI0YwRjBGMTtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueSAuY29tcGFueS1wb3B1cCAucG9wdXAtZGV0YWlscyBwIHtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgICBjb2xvcjogI0YwRjBGMTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuICAgICAgICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuY29tcGFuaWVzIC5jb21wYW55IC5jb21wYW55LXBvcHVwIC5wb3B1cC1kZXRhaWxzIGEge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDJyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgICAgICAgYm9yZGVyOiAwLjA2MjVyZW0gc29saWQgI0JFOUE2MDtcbiAgICAgICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMS41NjI1cmVtO1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgY29sb3I6ICNGMEYwRjE7XG4gICAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9XG4gICAgICAgICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmNvbXBhbmllcyAuY29tcGFueSAuY29tcGFueS1wb3B1cCAucG9wdXAtZGV0YWlscyBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNCRTlBNjA7XG4gICAgICAgICAgICBjb2xvcjogI2ZlZmVmZTsgfVxuICAucmVwcmVzZW50YXRpdmVzLWFjdGl2ZSAuYmxvY2stbm90ZSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXI6IDAuMDYyNXJlbSBzb2xpZCAjQkU5QTYwO1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW46IDEuNTYyNXJlbSAwOyB9XG4gICAgLnJlcHJlc2VudGF0aXZlcy1hY3RpdmUgLmJsb2NrLW5vdGUgcCB7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgY29sb3I6ICM1NzU3NTc7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIC5ibG9jay1ub3RlIHAgYSB7XG4gICAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4udHJhbnNhY3Rpb25zLXR5cGVzIHtcbiAgYmFja2dyb3VuZDogIzM0Mzk0MTtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW0gMCAxLjI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDExOyB9XG4gIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRyYW5zYWN0aW9ucy10eXBlcyB7XG4gICAgICBwYWRkaW5nOiA0LjA2MjVyZW0gMCAwIDA7IH0gfVxuICAudHJhbnNhY3Rpb25zLXR5cGVzIC5yb3cge1xuICAgIG1heC13aWR0aDogNzByZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAudHJhbnNhY3Rpb25zLXR5cGVzIC5jb250ZW50LWJsb2NrIHtcbiAgICBwYWRkaW5nOiAyLjE4NzVyZW0gMi44MTI1cmVtO1xuICAgIGJvcmRlcjogMC4wNjI1cmVtIHNvbGlkICNCRTlBNjA7XG4gICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50cmFuc2FjdGlvbnMtdHlwZXMgLmNvbnRlbnQtYmxvY2sge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjA2MjVyZW07IH0gfVxuICAgIC50cmFuc2FjdGlvbnMtdHlwZXMgLmNvbnRlbnQtYmxvY2sgaDQge1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICBjb2xvcjogI0JFOUE2MDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIGJvcmRlci1ib3R0b206IDAuMDYyNXJlbSBzb2xpZCAjQkU5QTYwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIC50cmFuc2FjdGlvbnMtdHlwZXMgLmNvbnRlbnQtYmxvY2sgLmNvbnRlbnQtdGV4dCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgY29sb3I6ICNGMEYwRjE7IH1cbiAgICAudHJhbnNhY3Rpb25zLXR5cGVzIC5jb250ZW50LWJsb2NrIC5jb250ZW50LXRleHQgdWwge1xuICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC50cmFuc2FjdGlvbnMtdHlwZXMgLmNvbnRlbnQtYmxvY2sgLmNvbnRlbnQtdGV4dCB1bCBsaSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2MjVyZW07XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICBjb2xvcjogI0YwRjBGMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTsgfVxuICAgICAgICAudHJhbnNhY3Rpb25zLXR5cGVzIC5jb250ZW50LWJsb2NrIC5jb250ZW50LXRleHQgdWwgbGk6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiAn4oCiJztcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgbGVmdDogMDsgfVxuICAgIC50cmFuc2FjdGlvbnMtdHlwZXMgLmNvbnRlbnQtYmxvY2s6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgxMjIsIDEyMiwgMTIyLCAwLjUpOyB9XG5cbi50ZWFtLWJsb2NrIHtcbiAgcGFkZGluZzogMi41cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50ZWFtLWJsb2NrIHtcbiAgICAgIHBhZGRpbmc6IDIuNzVyZW0gMCA2LjI1cmVtIDA7IH0gfVxuICAudGVhbS1ibG9jayAuYmxvY2stdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOiA2LjI1cmVtOyB9XG4gICAgLnRlYW0tYmxvY2sgLmJsb2NrLXRpdGxlIGgyIHtcbiAgICAgIGNvbG9yOiAjMjI2MDkyO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgLnRlYW0tYmxvY2sgLmJsb2NrLXRpdGxlIGgyOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIHdpZHRoOiAxLjU2MjVyZW07XG4gICAgICAgIGhlaWdodDogMC4wNjI1cmVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiAjQkU5QTYwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogMC40Mzc1cmVtOyB9XG5cbi5pbmR1c3RyeS1mb2N1cyB7XG4gIGJhY2tncm91bmQ6ICMzNDM5NDE7XG4gIHBhZGRpbmc6IDIuNXJlbSAxLjI1cmVtIDMuMTI1cmVtIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMTE7IH1cbiAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaW5kdXN0cnktZm9jdXMge1xuICAgICAgcGFkZGluZzogNC4wNjI1cmVtIDAgNi4yNXJlbSAwOyB9IH1cbiAgLmluZHVzdHJ5LWZvY3VzIC5yb3cge1xuICAgIG1heC13aWR0aDogNzByZW0gIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLXRpdGxlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNy41cmVtOyB9XG4gICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtOyB9IH1cbiAgICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLXRpdGxlIGgzIHtcbiAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLXRpdGxlIHAge1xuICAgICAgY29sb3I6ICNmZWZlZmU7XG4gICAgICBmb250LWZhbWlseTogJ01vbnRzZXJyYXQnLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLWNvbnRlbnQgLmFjY29yZGlvbiB7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI0JFOUE2MDsgfVxuICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI0JFOUE2MDsgfVxuICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGUge1xuICAgICAgICBjb2xvcjogI0JFOUE2MDtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIGJvcmRlcjogbm9uZTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDIuNXJlbSAxLjU2MjVyZW0gMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG4gICAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tdGl0bGU6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTkwM1wiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbic7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgIGNvbG9yOiAjQkU5QTYwO1xuICAgICAgICAgIHRvcDogMS4yNXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC4zMTI1cmVtOyB9XG4gICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMDsgfSB9XG4gICAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLm1haW4tcG9pbnRzIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDEuMjVyZW0gMCAxLjI1cmVtIDAuNjI1cmVtOyB9XG4gICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLm1haW4tcG9pbnRzIHVsIHtcbiAgICAgICAgICAgICAgbWFyZ2luOiAxLjI1cmVtIGF1dG87XG4gICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgICAgICAgIC13ZWJraXQtY29sdW1uczogMjtcbiAgICAgICAgICAgICAgLW1vei1jb2x1bW5zOiAyOyB9IH1cbiAgICAgICAgICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5tYWluLXBvaW50cyB1bCBsaSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZlZmVmZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmtleS10aGVtZXMge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyLjVyZW0gMCA1cmVtOyB9IH1cbiAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAua2V5LXRoZW1lcyBoNCB7XG4gICAgICAgICAgY29sb3I6ICNCRTlBNjA7XG4gICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07IH1cbiAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAua2V5LXRoZW1lcyB1bCB7XG4gICAgICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMS4yNXJlbSAwLjYyNXJlbTsgfVxuICAgICAgICAgIEBtZWRpYSBwcmludCwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0MGVtKSB7XG4gICAgICAgICAgICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5rZXktdGhlbWVzIHVsIHtcbiAgICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMS4yNXJlbSAwOyB9IH1cbiAgICAgICAgICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5rZXktdGhlbWVzIHVsIGxpIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmVmZWZlO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6ICdNb250c2VycmF0Jywgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODc1cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5rZXktdGhlbWVzIHVsIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH0gfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAua2V5LXRoZW1lcyB1bCBsaTpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICcuJztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IC0wLjYyNXJlbTsgfSB9XG4gICAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmxvZ29zIHtcbiAgICAgICAgICBtYXJnaW46IDIuNXJlbSAwIDEuODc1cmVtIDA7IH1cbiAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDBlbSkge1xuICAgICAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAubG9nb3Mge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgIG1hcmdpbjogMi41cmVtIGF1dG87IH0gfVxuICAgICAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgLmxvZ29zIC5pbWFnZSB7XG4gICAgICAgICAgICBmbGV4LXNocmluazogMDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNCRTlBNjA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW0gMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDcuNXJlbTsgfVxuICAgICAgICAgICAgQG1lZGlhIHByaW50LCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQwZW0pIHtcbiAgICAgICAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAubG9nb3MgLmltYWdlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDglO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjYyNXJlbSAxLjg3NXJlbSAwLjYyNXJlbTsgfSB9XG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgICAgICAuaW5kdXN0cnktZm9jdXMgLmJsb2NrLWNvbnRlbnQgLmFjY29yZGlvbiAuYWNjb3JkaW9uLWl0ZW0gLmFjY29yZGlvbi1jb250ZW50IC5sb2dvcyAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMSU7IH0gfVxuICAgICAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCAubG9nb3MgLmltYWdlIGltZyB7XG4gICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDVyZW07XG4gICAgICAgICAgICAgIG1heC13aWR0aDogMTMuNzVyZW07IH1cbiAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgICAgICAgIGNvbG9yOiAjMGEwYTBhOyB9XG4gICAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtIC5hY2NvcmRpb24tY29udGVudCBwIGEge1xuICAgICAgICAgICAgY29sb3I6ICMwYTBhMGE7IH1cbiAgICAgICAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbSAuYWNjb3JkaW9uLWNvbnRlbnQgcCBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5pbmR1c3RyeS1mb2N1cyAuYmxvY2stY29udGVudCAuYWNjb3JkaW9uIC5hY2NvcmRpb24taXRlbS5pcy1hY3RpdmUgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG5vbmU7IH1cbiAgICAgICAgLmluZHVzdHJ5LWZvY3VzIC5ibG9jay1jb250ZW50IC5hY2NvcmRpb24gLmFjY29yZGlvbi1pdGVtLmlzLWFjdGl2ZSAuYWNjb3JkaW9uLXRpdGxlOmJlZm9yZSB7XG4gICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMy4xXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBEZXBlbmRlbmNpZXNcbkBpbXBvcnQgJy4uL192ZW5kb3Ivbm9ybWFsaXplLXNjc3Mvc2Fzcy9ub3JtYWxpemUnO1xuQGltcG9ydCAnLi4vX3ZlbmRvci9zYXNzeS1saXN0cy9zdHlsZXNoZWV0cy9oZWxwZXJzL21pc3NpbmctZGVwZW5kZW5jaWVzJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvaGVscGVycy90cnVlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3B1cmdlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3JlbW92ZSc7XG5AaW1wb3J0ICcuLi9fdmVuZG9yL3Nhc3N5LWxpc3RzL3N0eWxlc2hlZXRzL2Z1bmN0aW9ucy9yZXBsYWNlJztcbkBpbXBvcnQgJy4uL192ZW5kb3Ivc2Fzc3ktbGlzdHMvc3R5bGVzaGVldHMvZnVuY3Rpb25zL3RvLWxpc3QnO1xuXG4vLyBTZXR0aW5nc1xuLy8gaW1wb3J0IHlvdXIgb3duIGBzZXR0aW5nc2AgaGVyZSBvclxuLy8gaW1wb3J0IGFuZCBtb2RpZnkgdGhlIGRlZmF1bHQgc2V0dGluZ3MgdGhyb3VnaFxuLy8gQGltcG9ydCAnc2V0dGluZ3Mvc2V0dGluZ3MnO1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2NhcmQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jbG9zZS1idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcmlsbGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bi1tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmVzcG9uc2l2ZS1lbWJlZCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2xhYmVsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVkaWEtb2JqZWN0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUtaWNvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL29mZi1jYW52YXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9vcmJpdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3BhZ2luYXRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9wcm9ncmVzcy1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9yZXZlYWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9zbGlkZXInO1xuQGltcG9ydCAnY29tcG9uZW50cy9zdGlja3knO1xuQGltcG9ydCAnY29tcG9uZW50cy9zd2l0Y2gnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJsZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy90aXRsZS1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90b3AtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGh1bWJuYWlsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9vbHRpcCc7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWV2ZXJ5dGhpbmcoJGZsZXg6IGZhbHNlKSB7XG4gIEBpZiAkZmxleCB7XG4gICAgJGdsb2JhbC1mbGV4Ym94OiB0cnVlICFnbG9iYWw7XG4gIH1cblxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdsb2JhbC1zdHlsZXM7XG4gIEBpZiBub3QgJGZsZXgge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZ3JpZDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWdyaWQ7XG4gIH1cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10eXBvZ3JhcGh5O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZvcm1zO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYmFkZ2U7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnJlYWRjcnVtYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNhbGxvdXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FyZDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEhlbHBlciBmdW5jdGlvbiBmb3IgdGhlIG5vcm1hbGl6ZSgpIG1peGluLlxuQGZ1bmN0aW9uIF9ub3JtYWxpemUtaW5jbHVkZSgkc2VjdGlvbiwgJGV4Y2x1ZGU6IG51bGwpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgZ2xvYmFsIHZhcmlhYmxlcyBuZWVkZWQgYnkgdGhpcyBmdW5jdGlvbi5cbiAgQGlmIG5vdCBnbG9iYWxfdmFyaWFibGVfZXhpc3RzKF9ub3JtYWxpemUtaW5jbHVkZSkge1xuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6ICgpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogKCkgIWdsb2JhbDtcbiAgfVxuICAvLyBTaW5jZSB3ZSBhcmUgZ2l2ZW4gMiBwYXJhbWV0ZXJzLCBzZXQgdGhlIGdsb2JhbCB2YXJpYWJsZXMuXG4gIEBpZiAkZXhjbHVkZSAhPSBudWxsIHtcbiAgICAkaW5jbHVkZTogJHNlY3Rpb247XG4gICAgLy8gU2FzcyBkb2Vzbid0IGhhdmUgc3RhdGljIHZhcmlhYmxlcywgc28gdGhlIHdvcmstYXJvdW5kIGlzIHRvIHN0dWZmIHRoZXNlXG4gICAgLy8gdmFsdWVzIGludG8gZ2xvYmFsIHZhcmlhYmxlcyBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gaW4gZnV0dXJlIGNhbGxzLlxuICAgICRfbm9ybWFsaXplLWluY2x1ZGU6IGlmKHR5cGUtb2YoJGluY2x1ZGUpID09ICdsaXN0JywgJGluY2x1ZGUsICgkaW5jbHVkZSkpICFnbG9iYWw7XG4gICAgJF9ub3JtYWxpemUtZXhjbHVkZTogaWYodHlwZS1vZigkZXhjbHVkZSkgPT0gJ2xpc3QnLCAkZXhjbHVkZSwgKCRleGNsdWRlKSkgIWdsb2JhbDtcbiAgICBAcmV0dXJuIHRydWU7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkc2VjdGlvbiBpcyBpbiB0aGUgJGluY2x1ZGUgbGlzdC5cbiAgQGlmIGluZGV4KCRfbm9ybWFsaXplLWluY2x1ZGUsICRzZWN0aW9uKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIC8vIElmICRpbmNsdWRlIGlzIHNldCB0byAoYWxsKSwgbWFrZSBzdXJlICRzZWN0aW9uIGlzIG5vdCBpbiAkZXhjbHVkZS5cbiAgQGVsc2UgaWYgbm90IGluZGV4KCRfbm9ybWFsaXplLWV4Y2x1ZGUsICRzZWN0aW9uKSBhbmQgaW5kZXgoJF9ub3JtYWxpemUtaW5jbHVkZSwgYWxsKSB7XG4gICAgQHJldHVybiB0cnVlO1xuICB9XG4gIEByZXR1cm4gZmFsc2U7XG59XG5cbkBtaXhpbiBub3JtYWxpemUoJGluY2x1ZGU6IChhbGwpLCAkZXhjbHVkZTogKCkpIHtcbiAgLy8gSW5pdGlhbGl6ZSB0aGUgaGVscGVyIGZ1bmN0aW9uIGJ5IHBhc3NpbmcgaXQgdGhpcyBtaXhpbidzIHBhcmFtZXRlcnMuXG4gICRpbml0OiBfbm9ybWFsaXplLWluY2x1ZGUoJGluY2x1ZGUsICRleGNsdWRlKTtcblxuICAvLyBJZiB3ZSd2ZSBjdXN0b21pemVkIGFueSBmb250IHZhcmlhYmxlcywgd2UnbGwgbmVlZCBleHRyYSBwcm9wZXJ0aWVzLlxuICBAaWYgJGJhc2UtZm9udC1zaXplICE9IDE2cHhcbiAgICBvciAkYmFzZS1saW5lLWhlaWdodCAhPSAyNHB4XG4gICAgb3IgJGJhc2UtdW5pdCAhPSAnZW0nXG4gICAgb3IgJGgxLWZvbnQtc2l6ZSAhPSAyICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgyLWZvbnQtc2l6ZSAhPSAxLjUgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGgzLWZvbnQtc2l6ZSAhPSAxLjE3ICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg0LWZvbnQtc2l6ZSAhPSAxICAgICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg1LWZvbnQtc2l6ZSAhPSAwLjgzICogJGJhc2UtZm9udC1zaXplXG4gICAgb3IgJGg2LWZvbnQtc2l6ZSAhPSAwLjY3ICogJGJhc2UtZm9udC1zaXplIHtcbiAgICAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgLyohIG5vcm1hbGl6ZS1zY3NzIHwgTUlUL0dQTHYyIExpY2Vuc2UgfCBiaXQubHkvbm9ybWFsaXplLXNjc3MgKi9cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGRvY3VtZW50KSB7XG4gICAgLyogRG9jdW1lbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gQ2hhbmdlIHRoZSBkZWZhdWx0IGZvbnQgZmFtaWx5IGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIGxpbmUgaGVpZ2h0IGluIGFsbCBicm93c2Vycy5cbiAgICAgKiAzLiBQcmV2ZW50IGFkanVzdG1lbnRzIG9mIGZvbnQgc2l6ZSBhZnRlciBvcmllbnRhdGlvbiBjaGFuZ2VzIGluXG4gICAgICogICAgSUUgb24gV2luZG93cyBQaG9uZSBhbmQgaW4gaU9TLlxuICAgICAqL1xuXG4gICAgaHRtbCB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAgIC8vIENvcnJlY3Qgb2xkIGJyb3dzZXIgYnVnIHRoYXQgcHJldmVudGVkIGFjY2Vzc2libGUgcmVzaXppbmcgb2YgdGV4dFxuICAgICAgICAvLyB3aGVuIHJvb3QgZm9udC1zaXplIGlzIHNldCB3aXRoIHB4IG9yIGVtLlxuICAgICAgICBmb250LXNpemU6ICgkYmFzZS1mb250LXNpemUgLyAxNnB4KSAqIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAoJGJhc2UtbGluZS1oZWlnaHQgLyAkYmFzZS1mb250LXNpemUpICogMWVtOyAvKiAyICovXG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1OyAvKiAyICovXG4gICAgICB9XG4gICAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMyAqL1xuICAgICAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlOyAvKiAzICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzZWN0aW9ucykge1xuICAgIC8qIFNlY3Rpb25zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgbWFyZ2luIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgYm9keSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhcnRpY2xlLFxuICAgIGFzaWRlLFxuICAgIGZvb3RlcixcbiAgICBoZWFkZXIsXG4gICAgbmF2LFxuICAgIHNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQ29ycmVjdCB0aGUgZm9udCBzaXplIGFuZCBtYXJnaW4gb24gYGgxYCBlbGVtZW50cyB3aXRoaW4gYHNlY3Rpb25gIGFuZFxuICAgICAqIGBhcnRpY2xlYCBjb250ZXh0cyBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBub3JtYWxpemUtZm9udC1zaXplKCRoMS1mb250LXNpemUpO1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLWxpbmUtaGVpZ2h0KCRoMS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBAaWYgJG5vcm1hbGl6ZS12ZXJ0aWNhbC1yaHl0aG0ge1xuICAgICAgICAvKiBTZXQgMSB1bml0IG9mIHZlcnRpY2FsIHJoeXRobSBvbiB0aGUgdG9wIGFuZCBib3R0b20gbWFyZ2lucy4gKi9cbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMS1mb250LXNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBtYXJnaW46IDAuNjdlbSAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgyLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDItZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMi1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGgzLWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDMtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoMy1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg0LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDQtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNC1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg1LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDUtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNS1mb250LXNpemUpO1xuICAgICAgfVxuXG4gICAgICBoNiB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1mb250LXNpemUoJGg2LWZvbnQtc2l6ZSk7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1saW5lLWhlaWdodCgkaDYtZm9udC1zaXplKTtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxIDAsICRoNi1mb250LXNpemUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoZ3JvdXBpbmcpIHtcbiAgICAvKiBHcm91cGluZyBjb250ZW50XG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgYmxvY2txdW90ZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAkaW5kZW50LWFtb3VudCk7XG4gICAgICB9XG5cbiAgICAgIGRsLFxuICAgICAgb2wsXG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cblxuICAgICAgLyoqXG4gICAgICAgKiBUdXJuIG9mZiBtYXJnaW5zIG9uIG5lc3RlZCBsaXN0cy5cbiAgICAgICAqL1xuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgb2wsXG4gICAgICAgIHVsIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgZGQge1xuICAgICAgICBtYXJnaW46IDAgMCAwICRpbmRlbnQtYW1vdW50O1xuICAgICAgfVxuXG4gICAgICBvbCxcbiAgICAgIHVsIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBmaWdjYXB0aW9uLFxuICAgIGZpZ3VyZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgbWFyZ2luIGluIElFIDguXG4gICAgICovXG5cbiAgICBmaWd1cmUge1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgQGluY2x1ZGUgbm9ybWFsaXplLW1hcmdpbigxICRpbmRlbnQtYW1vdW50KTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbWFyZ2luOiAxZW0gJGluZGVudC1hbW91bnQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGJveCBzaXppbmcgaW4gRmlyZWZveC5cbiAgICAgKiAyLiBTaG93IHRoZSBvdmVyZmxvdyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKi9cblxuICAgIGhyIHtcbiAgICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAxICovXG4gICAgICBoZWlnaHQ6IDA7IC8qIDEgKi9cbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUuXG4gICAgICovXG5cbiAgICBtYWluIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIEBpZiAkbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobSB7XG4gICAgICAvKipcbiAgICAgICAqIFNldCAxIHVuaXQgb2YgdmVydGljYWwgcmh5dGhtIG9uIHRoZSB0b3AgYW5kIGJvdHRvbSBtYXJnaW4uXG4gICAgICAgKi9cblxuICAgICAgcCxcbiAgICAgIHByZSB7XG4gICAgICAgIEBpbmNsdWRlIG5vcm1hbGl6ZS1tYXJnaW4oMSAwKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIHByZSB7XG4gICAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMWVtOyAvKiAyICovXG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShsaW5rcykge1xuICAgIC8qIExpbmtzXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIG9uIGFjdGl2ZSBsaW5rcyBpbiBJRSAxMC5cbiAgICAgKiAyLiBSZW1vdmUgZ2FwcyBpbiBsaW5rcyB1bmRlcmxpbmUgaW4gaU9TIDgrIGFuZCBTYWZhcmkgOCsuXG4gICAgICovXG5cbiAgICBhIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyAvKiAxICovXG4gICAgICAtd2Via2l0LXRleHQtZGVjb3JhdGlvbi1za2lwOiBvYmplY3RzOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBvdXRsaW5lIG9uIGZvY3VzZWQgbGlua3Mgd2hlbiB0aGV5IGFyZSBhbHNvIGFjdGl2ZSBvciBob3ZlcmVkXG4gICAgICogaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICovXG5cbiAgICBhOmFjdGl2ZSxcbiAgICBhOmhvdmVyIHtcbiAgICAgIG91dGxpbmUtd2lkdGg6IDA7XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZSh0ZXh0KSB7XG4gICAgLyogVGV4dC1sZXZlbCBzZW1hbnRpY3NcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogMS4gUmVtb3ZlIHRoZSBib3R0b20gYm9yZGVyIGluIEZpcmVmb3ggMzktLlxuICAgICAqIDIuIEFkZCB0aGUgY29ycmVjdCB0ZXh0IGRlY29yYXRpb24gaW4gQ2hyb21lLCBFZGdlLCBJRSwgT3BlcmEsIGFuZCBTYWZhcmkuXG4gICAgICovXG5cbiAgICBhYmJyW3RpdGxlXSB7XG4gICAgICBib3JkZXItYm90dG9tOiBub25lOyAvKiAxICovXG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgLyogMiAqL1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmUgZG90dGVkOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUHJldmVudCB0aGUgZHVwbGljYXRlIGFwcGxpY2F0aW9uIG9mIGBib2xkZXJgIGJ5IHRoZSBuZXh0IHJ1bGUgaW4gU2FmYXJpIDYuXG4gICAgICovXG5cbiAgICBiLFxuICAgIHN0cm9uZyB7XG4gICAgICBmb250LXdlaWdodDogaW5oZXJpdDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZm9udCB3ZWlnaHQgaW4gQ2hyb21lLCBFZGdlLCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYixcbiAgICBzdHJvbmcge1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGRlcjtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBDb3JyZWN0IHRoZSBpbmhlcml0YW5jZSBhbmQgc2NhbGluZyBvZiBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqIDIuIENvcnJlY3QgdGhlIG9kZCBgZW1gIGZvbnQgc2l6aW5nIGluIGFsbCBicm93c2Vycy5cbiAgICAgKi9cblxuICAgIGNvZGUsXG4gICAga2JkLFxuICAgIHNhbXAge1xuICAgICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlOyAvKiAxICovXG4gICAgICBmb250LXNpemU6IDFlbTsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBmb250IHN0eWxlIGluIEFuZHJvaWQgNC4zLS5cbiAgICAgKi9cblxuICAgIGRmbiB7XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGJhY2tncm91bmQgYW5kIGNvbG9yIGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWFyayB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmYwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzbWFsbCB7XG4gICAgICBmb250LXNpemU6IDgwJTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBlbGVtZW50cyBmcm9tIGFmZmVjdGluZyB0aGUgbGluZSBoZWlnaHQgaW5cbiAgICAgKiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdWIsXG4gICAgc3VwIHtcbiAgICAgIGZvbnQtc2l6ZTogNzUlO1xuICAgICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgfVxuXG4gICAgc3ViIHtcbiAgICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgICB9XG5cbiAgICBzdXAge1xuICAgICAgdG9wOiAtMC41ZW07XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShlbWJlZGRlZCkge1xuICAgIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBhdWRpbyxcbiAgICB2aWRlbyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gaU9TIDQtNy5cbiAgICAgKi9cblxuICAgIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiAwO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgYm9yZGVyIG9uIGltYWdlcyBpbnNpZGUgbGlua3MgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgaW1nIHtcbiAgICAgIGJvcmRlci1zdHlsZTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBIaWRlIHRoZSBvdmVyZmxvdyBpbiBJRS5cbiAgICAgKi9cblxuICAgIHN2Zzpub3QoOnJvb3QpIHtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShmb3Jtcykge1xuICAgIC8qIEZvcm1zXG4gICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAgIC8qKlxuICAgICAqIDEuIENoYW5nZSB0aGUgZm9udCBzdHlsZXMgaW4gYWxsIGJyb3dzZXJzIChvcGluaW9uYXRlZCkuXG4gICAgICogMi4gUmVtb3ZlIHRoZSBtYXJnaW4gaW4gRmlyZWZveCBhbmQgU2FmYXJpLlxuICAgICAqL1xuXG4gICAgYnV0dG9uLFxuICAgIGlucHV0LFxuICAgIG9wdGdyb3VwLFxuICAgIHNlbGVjdCxcbiAgICB0ZXh0YXJlYSB7XG4gICAgICBmb250LWZhbWlseTogJGJhc2UtZm9udC1mYW1pbHk7IC8qIDEgKi9cbiAgICAgIGZvbnQtc2l6ZTogMTAwJTsgLyogMSAqL1xuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICgkYmFzZS1saW5lLWhlaWdodCAvICRiYXNlLWZvbnQtc2l6ZSkgKiAxZW07IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTU7IC8qIDEgKi9cbiAgICAgIH1cbiAgICAgIG1hcmdpbjogMDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFNob3cgdGhlIG92ZXJmbG93IGluIElFLlxuICAgICAqL1xuXG4gICAgYnV0dG9uIHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRWRnZSwgRmlyZWZveCwgYW5kIElFLlxuICAgICAqIDEuIFJlbW92ZSB0aGUgaW5oZXJpdGFuY2Ugb2YgdGV4dCB0cmFuc2Zvcm0gaW4gRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBzZWxlY3QgeyAvKiAxICovXG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiAxLiBQcmV2ZW50IGEgV2ViS2l0IGJ1ZyB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2AgYW5kIGB2aWRlb2BcbiAgICAgKiAgICBjb250cm9scyBpbiBBbmRyb2lkIDQuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSB0eXBlcyBpbiBpT1MgYW5kIFNhZmFyaS5cbiAgICAgKi9cblxuICAgIGJ1dHRvbixcbiAgICBodG1sIFt0eXBlPVwiYnV0dG9uXCJdLCAvKiAxICovXG4gICAgW3R5cGU9XCJyZXNldFwiXSxcbiAgICBbdHlwZT1cInN1Ym1pdFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIH1cblxuICAgIGJ1dHRvbixcbiAgICBbdHlwZT1cImJ1dHRvblwiXSxcbiAgICBbdHlwZT1cInJlc2V0XCJdLFxuICAgIFt0eXBlPVwic3VibWl0XCJdIHtcblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIGJvcmRlciBhbmQgcGFkZGluZyBpbiBGaXJlZm94LlxuICAgICAgICovXG5cbiAgICAgICY6Oi1tb3otZm9jdXMtaW5uZXIge1xuICAgICAgICBib3JkZXItc3R5bGU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB9XG5cbiAgICAgIC8qKlxuICAgICAgICogUmVzdG9yZSB0aGUgZm9jdXMgc3R5bGVzIHVuc2V0IGJ5IHRoZSBwcmV2aW91cyBydWxlLlxuICAgICAgICovXG5cbiAgICAgICY6LW1vei1mb2N1c3Jpbmcge1xuICAgICAgICBvdXRsaW5lOiAxcHggZG90dGVkIEJ1dHRvblRleHQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogU2hvdyB0aGUgb3ZlcmZsb3cgaW4gRWRnZS5cbiAgICAgKi9cblxuICAgIGlucHV0IHtcbiAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIEFkZCB0aGUgY29ycmVjdCBib3ggc2l6aW5nIGluIElFIDEwLS5cbiAgICAgKiAyLiBSZW1vdmUgdGhlIHBhZGRpbmcgaW4gSUUgMTAtLlxuICAgICAqL1xuXG4gICAgW3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBDb3JyZWN0IHRoZSBjdXJzb3Igc3R5bGUgb2YgaW5jcmVtZW50IGFuZCBkZWNyZW1lbnQgYnV0dG9ucyBpbiBDaHJvbWUuXG4gICAgICovXG5cbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICBbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgb2RkIGFwcGVhcmFuY2UgaW4gQ2hyb21lIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ29ycmVjdCB0aGUgb3V0bGluZSBzdHlsZSBpbiBTYWZhcmkuXG4gICAgICovXG5cbiAgICBbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7IC8qIDIgKi9cblxuICAgICAgLyoqXG4gICAgICAgKiBSZW1vdmUgdGhlIGlubmVyIHBhZGRpbmcgYW5kIGNhbmNlbCBidXR0b25zIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIG1hY09TLlxuICAgICAgICovXG5cbiAgICAgICY6Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG4gICAgICAmOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIDEuIENvcnJlY3QgdGhlIGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgdHlwZXMgaW4gaU9TIGFuZCBTYWZhcmkuXG4gICAgICogMi4gQ2hhbmdlIGZvbnQgcHJvcGVydGllcyB0byBgaW5oZXJpdGAgaW4gU2FmYXJpLlxuICAgICAqL1xuXG4gICAgOjotd2Via2l0LWZpbGUtdXBsb2FkLWJ1dHRvbiB7XG4gICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMSAqL1xuICAgICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIENoYW5nZSB0aGUgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nIGluIGFsbCBicm93c2VycyAob3BpbmlvbmF0ZWQpLlxuICAgICAqL1xuXG4gICAgZmllbGRzZXQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICAgIG1hcmdpbjogMCAycHg7XG4gICAgICBwYWRkaW5nOiAwLjM1ZW0gMC42MjVlbSAwLjc1ZW07XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQ29ycmVjdCB0aGUgdGV4dCB3cmFwcGluZyBpbiBFZGdlIGFuZCBJRS5cbiAgICAgKiAyLiBDb3JyZWN0IHRoZSBjb2xvciBpbmhlcml0YW5jZSBmcm9tIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gSUUuXG4gICAgICogMy4gUmVtb3ZlIHRoZSBwYWRkaW5nIHNvIGRldmVsb3BlcnMgYXJlIG5vdCBjYXVnaHQgb3V0IHdoZW4gdGhleSB6ZXJvIG91dFxuICAgICAqICAgIGBmaWVsZHNldGAgZWxlbWVudHMgaW4gYWxsIGJyb3dzZXJzLlxuICAgICAqL1xuXG4gICAgbGVnZW5kIHtcbiAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IC8qIDEgKi9cbiAgICAgIGRpc3BsYXk6IHRhYmxlOyAvKiAxICovXG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IC8qIDEgKi9cbiAgICAgIHBhZGRpbmc6IDA7IC8qIDMgKi9cbiAgICAgIGNvbG9yOiBpbmhlcml0OyAvKiAyICovXG4gICAgICB3aGl0ZS1zcGFjZTogbm9ybWFsOyAvKiAxICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogMS4gQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICogMi4gQWRkIHRoZSBjb3JyZWN0IHZlcnRpY2FsIGFsaWdubWVudCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICAgKi9cblxuICAgIHByb2dyZXNzIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogUmVtb3ZlIHRoZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRS5cbiAgICAgKi9cblxuICAgIHRleHRhcmVhIHtcbiAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIEBpZiBfbm9ybWFsaXplLWluY2x1ZGUoaW50ZXJhY3RpdmUpIHtcbiAgICAvKiBJbnRlcmFjdGl2ZVxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIEVkZ2UsIElFLCBhbmQgRmlyZWZveC5cbiAgICAgKi9cblxuICAgIGRldGFpbHMge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLypcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBhbGwgYnJvd3NlcnMuXG4gICAgICovXG5cbiAgICBzdW1tYXJ5IHtcbiAgICAgIGRpc3BsYXk6IGxpc3QtaXRlbTtcbiAgICB9XG5cbiAgICAvKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFIDktLlxuICAgICAqL1xuXG4gICAgbWVudSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgQGlmICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHtcbiAgICAgICAgLypcbiAgICAgICAgICogMS4gU2V0IDEgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHRvcCBhbmQgYm90dG9tIG1hcmdpbi5cbiAgICAgICAgICogMi4gU2V0IGNvbnNpc3RlbnQgc3BhY2UgZm9yIHRoZSBsaXN0IHN0eWxlIGltYWdlLlxuICAgICAgICAgKi9cblxuICAgICAgICBAaW5jbHVkZSBub3JtYWxpemUtbWFyZ2luKDEgMCk7IC8qIDEgKi9cbiAgICAgICAgcGFkZGluZzogMCAwIDAgJGluZGVudC1hbW91bnQ7IC8qIDIgKi9cblxuICAgICAgICAvKipcbiAgICAgICAgICogVHVybiBvZmYgbWFyZ2lucyBvbiBuZXN0ZWQgbGlzdHMuXG4gICAgICAgICAqL1xuXG4gICAgICAgIG1lbnUgJixcbiAgICAgICAgb2wgJixcbiAgICAgICAgdWwgJiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmIF9ub3JtYWxpemUtaW5jbHVkZShzY3JpcHRpbmcpIHtcbiAgICAvKiBTY3JpcHRpbmdcbiAgICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gICAgLyoqXG4gICAgICogQWRkIHRoZSBjb3JyZWN0IGRpc3BsYXkgaW4gSUUgOS0uXG4gICAgICovXG5cbiAgICBjYW52YXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEFkZCB0aGUgY29ycmVjdCBkaXNwbGF5IGluIElFLlxuICAgICAqL1xuXG4gICAgdGVtcGxhdGUge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICBAaWYgX25vcm1hbGl6ZS1pbmNsdWRlKGhpZGRlbikge1xuICAgIC8qIEhpZGRlblxuICAgICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgICAvKipcbiAgICAgKiBBZGQgdGhlIGNvcnJlY3QgZGlzcGxheSBpbiBJRSAxMC0uXG4gICAgICovXG5cbiAgICBbaGlkZGVuXSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxufVxuIiwiLy9cbi8vIFZhcmlhYmxlc1xuLy9cbi8vIFlvdSBjYW4gb3ZlcnJpZGUgdGhlIGRlZmF1bHQgdmFsdWVzIGJ5IHNldHRpbmcgdGhlIHZhcmlhYmxlcyBpbiB5b3VyIFNhc3Ncbi8vIGJlZm9yZSBpbXBvcnRpbmcgdGhlIG5vcm1hbGl6ZS1zY3NzIGxpYnJhcnkuXG5cbi8vIFRoZSBmb250IHNpemUgc2V0IG9uIHRoZSByb290IGh0bWwgZWxlbWVudC5cbiRiYXNlLWZvbnQtc2l6ZTogMTZweCAhZGVmYXVsdDtcblxuLy8gVGhlIGJhc2UgbGluZSBoZWlnaHQgZGV0ZXJtaW5lcyB0aGUgYmFzaWMgdW5pdCBvZiB2ZXJ0aWNhbCByaHl0aG0uXG4kYmFzZS1saW5lLWhlaWdodDogMjRweCAhZGVmYXVsdDtcblxuLy8gVGhlIGxlbmd0aCB1bml0IGluIHdoaWNoIHRvIG91dHB1dCB2ZXJ0aWNhbCByaHl0aG0gdmFsdWVzLlxuLy8gU3VwcG9ydGVkIHZhbHVlczogcHgsIGVtLCByZW0uXG4kYmFzZS11bml0OiAnZW0nICFkZWZhdWx0O1xuXG4vLyBUaGUgZGVmYXVsdCBmb250IGZhbWlseS5cbiRiYXNlLWZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9udCBzaXplcyBmb3IgaDEtaDYuXG4kaDEtZm9udC1zaXplOiAyICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGgyLWZvbnQtc2l6ZTogMS41ICAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoMy1mb250LXNpemU6IDEuMTcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG4kaDQtZm9udC1zaXplOiAxICAgICogJGJhc2UtZm9udC1zaXplICFkZWZhdWx0O1xuJGg1LWZvbnQtc2l6ZTogMC44MyAqICRiYXNlLWZvbnQtc2l6ZSAhZGVmYXVsdDtcbiRoNi1mb250LXNpemU6IDAuNjcgKiAkYmFzZS1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vIFRoZSBhbW91bnQgbGlzdHMgYW5kIGJsb2NrcXVvdGVzIGFyZSBpbmRlbnRlZC5cbiRpbmRlbnQtYW1vdW50OiA0MHB4ICFkZWZhdWx0O1xuXG4vLyBUaGUgZm9sbG93aW5nIHZhcmlhYmxlIGNvbnRyb2xzIHdoZXRoZXIgbm9ybWFsaXplLXNjc3Mgd2lsbCBvdXRwdXRcbi8vIGZvbnQtc2l6ZXMsIGxpbmUtaGVpZ2h0cyBhbmQgYmxvY2stbGV2ZWwgdG9wL2JvdHRvbSBtYXJnaW5zIHRoYXQgZm9ybSBhIGJhc2ljXG4vLyB2ZXJ0aWNhbCByaHl0aG0gb24gdGhlIHBhZ2UsIHdoaWNoIGRpZmZlcnMgZnJvbSB0aGUgb3JpZ2luYWwgTm9ybWFsaXplLmNzcy5cbi8vIEhvd2V2ZXIsIGNoYW5naW5nIGFueSBvZiB0aGUgdmFyaWFibGVzIGFib3ZlIHdpbGwgY2F1c2Vcbi8vICRub3JtYWxpemUtdmVydGljYWwtcmh5dGhtIHRvIGJlIGF1dG9tYXRpY2FsbHkgc2V0IHRvIHRydWUuXG4kbm9ybWFsaXplLXZlcnRpY2FsLXJoeXRobTogZmFsc2UgIWRlZmF1bHQ7XG4iLCIvL1xuLy8gVmVydGljYWwgUmh5dGhtXG4vL1xuLy8gVGhpcyBpcyB0aGUgbWluaW1hbCBhbW91bnQgb2YgY29kZSBuZWVkZWQgdG8gY3JlYXRlIHZlcnRpY2FsIHJoeXRobSBpbiBvdXJcbi8vIENTUy4gSWYgeW91IGFyZSBsb29raW5nIGZvciBhIHJvYnVzdCBzb2x1dGlvbiwgbG9vayBhdCB0aGUgZXhjZWxsZW50IFR5cGV5XG4vLyBsaWJyYXJ5LiBAc2VlIGh0dHBzOi8vZ2l0aHViLmNvbS9qcHRhcmFudG8vdHlwZXlcblxuQGZ1bmN0aW9uIG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG86ICRiYXNlLWZvbnQtc2l6ZSwgJHVuaXQ6ICRiYXNlLXVuaXQpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSBweCB7XG4gICAgQGVycm9yIFwiVGhlIG5vcm1hbGl6ZSB2ZXJ0aWNhbC1yaHl0aG0gbW9kdWxlIG9ubHkgc3VwcG9ydHMgcHggaW5wdXRzLiBUaGUgdHlwZXkgbGlicmFyeSBpcyBiZXR0ZXIuXCI7XG4gIH1cbiAgQGlmICR1bml0ID09IHJlbSB7XG4gICAgQHJldHVybiAoJHZhbHVlIC8gJGJhc2UtZm9udC1zaXplKSAqIDFyZW07XG4gIH1cbiAgQGVsc2UgaWYgJHVuaXQgPT0gZW0ge1xuICAgIEByZXR1cm4gKCR2YWx1ZSAvICRyZWxhdGl2ZS10bykgKiAxZW07XG4gIH1cbiAgQGVsc2UgeyAvLyAkdW5pdCA9PSBweFxuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG59XG5cbkBtaXhpbiBub3JtYWxpemUtZm9udC1zaXplKCR2YWx1ZSwgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncHgnIHtcbiAgICBAZXJyb3IgXCJub3JtYWxpemUtZm9udC1zaXplKCkgb25seSBzdXBwb3J0cyBweCBpbnB1dHMuIFRoZSB0eXBleSBsaWJyYXJ5IGlzIGJldHRlci5cIjtcbiAgfVxuICBmb250LXNpemU6IG5vcm1hbGl6ZS1yaHl0aG0oJHZhbHVlLCAkcmVsYXRpdmUtdG8pO1xufVxuXG5AbWl4aW4gbm9ybWFsaXplLXJoeXRobSgkcHJvcGVydHksICR2YWx1ZXMsICRyZWxhdGl2ZS10bzogJGJhc2UtZm9udC1zaXplKSB7XG4gICR2YWx1ZS1saXN0OiAkdmFsdWVzO1xuICAkc2VwOiBzcGFjZTtcbiAgQGlmIHR5cGUtb2YoJHZhbHVlcykgPT0gJ2xpc3QnIHtcbiAgICAkc2VwOiBsaXN0LXNlcGFyYXRvcigkdmFsdWVzKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgJHZhbHVlLWxpc3Q6IGFwcGVuZCgoKSwgJHZhbHVlcyk7XG4gIH1cblxuICAkbm9ybWFsaXplZC12YWx1ZXM6ICgpO1xuICBAZWFjaCAkdmFsdWUgaW4gJHZhbHVlLWxpc3Qge1xuICAgIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAkdmFsdWUgIT0gMCB7XG4gICAgICAkdmFsdWU6ICR2YWx1ZSAqIG5vcm1hbGl6ZS1yaHl0aG0oJGJhc2UtbGluZS1oZWlnaHQsICRyZWxhdGl2ZS10byk7XG4gICAgfVxuICAgICRub3JtYWxpemVkLXZhbHVlczogYXBwZW5kKCRub3JtYWxpemVkLXZhbHVlcywgJHZhbHVlLCAkc2VwKTtcbiAgfVxuICAjeyRwcm9wZXJ0eX06ICRub3JtYWxpemVkLXZhbHVlcztcbn1cblxuQG1peGluIG5vcm1hbGl6ZS1tYXJnaW4oJHZhbHVlcywgJHJlbGF0aXZlLXRvOiAkYmFzZS1mb250LXNpemUpIHtcbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShtYXJnaW4sICR2YWx1ZXMsICRyZWxhdGl2ZS10byk7XG59XG5cbkBtaXhpbiBub3JtYWxpemUtbGluZS1oZWlnaHQoJGZvbnQtc2l6ZSwgJG1pbi1saW5lLXBhZGRpbmc6IDJweCkge1xuICAkbGluZXM6IGNlaWwoJGZvbnQtc2l6ZSAvICRiYXNlLWxpbmUtaGVpZ2h0KTtcbiAgLy8gSWYgbGluZXMgYXJlIGNyYW1wZWQgaW5jbHVkZSBzb21lIGV4dHJhIGxlYWRpbmcuXG4gIEBpZiAoJGxpbmVzICogJGJhc2UtbGluZS1oZWlnaHQgLSAkZm9udC1zaXplKSA8ICgkbWluLWxpbmUtcGFkZGluZyAqIDIpIHtcbiAgICAkbGluZXM6ICRsaW5lcyArIDE7XG4gIH1cbiAgQGluY2x1ZGUgbm9ybWFsaXplLXJoeXRobShsaW5lLWhlaWdodCwgJGxpbmVzLCAkZm9udC1zaXplKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzYXNzLWxpbnQ6ZGlzYWJsZSBmb3JjZS1hdHRyaWJ1dGUtbmVzdGluZywgZm9yY2UtcHNldWRvLW5lc3RpbmcsIG5vLWNvbG9yLWxpdGVyYWxzLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMTc3OWJhLFxuICBzZWNvbmRhcnk6ICM3Njc2NzYsXG4gIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gIHdhcm5pbmc6ICNmZmFlMDAsXG4gIGFsZXJ0OiAjY2M0YjM3LFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGxpZ2h0IGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsaWdodC1ncmF5OiAjZTZlNmU2ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbWVkaXVtIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRtZWRpdW0tZ3JheTogI2NhY2FjYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGRhcmsgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGRhcmstZ3JheTogIzhhOGE4YSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIGJsYWNrIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxhY2s6ICMwYTBhMGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciB3aGl0ZSB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHdoaXRlOiAjZmVmZWZlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBDb2xvclxuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayBvZiB0aGUgYm9keS5cbi8vLyBAdHlwZSBMaXN0XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmICFkZWZhdWx0O1xuXG4vLy8gU2V0IHRvIGB0cnVlYCB0byBlbmFibGUgYW50aWFsaWFzZWQgdHlwZSwgdXNpbmcgdGhlIGAtd2Via2l0LWZvbnQtc21vb3RoaW5nYCBhbmQgYC1tb3otb3N4LWZvbnQtc21vb3RoaW5nYCBDU1MgcHJvcGVydGllcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYm9keS1hbnRpYWxpYXNlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBtYXJnaW4gb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIHBhZGRpbmcgb24gY29tcG9uZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBub3JtYWwgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCBmb250IHdlaWdodCB1c2VkIGZvciBib2xkIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBhbGwgZWxlbWVudHMgdGhhdCBoYXZlIGEgYm9yZGVyIHJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtcmFkaXVzOiAwICFkZWZhdWx0O1xuXG4vLy8gU2V0cyB0aGUgdGV4dCBkaXJlY3Rpb24gb2YgdGhlIENTUy4gQ2FuIGJlIGVpdGhlciBgbHRyYCBvciBgcnRsYC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZ2xvYmFsLXRleHQtZGlyZWN0aW9uOiBsdHIgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggZm9yIGNvbXBvbmVudHMgdGhhdCBzdXBwb3J0IGl0LlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRnbG9iYWwtZmxleGJveDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBpZiBub3QgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBnZXQtY29sb3IocHJpbWFyeSk7XG4kc2Vjb25kYXJ5LWNvbG9yOiBnZXQtY29sb3Ioc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBnZXQtY29sb3Ioc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogZ2V0LWNvbG9yKHdhcm5pbmcpO1xuJGFsZXJ0LWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZTtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkYm9keS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1pZHNcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgcGFkZGluZzogMDtcblxuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuXG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBQcmV2ZW50IHRleHQgb3ZlcmZsb3cgb24gcHJlXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICBAaW5jbHVkZSBub3JtYWxpemUoKTtcbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDYXJkXG4vLyAgMTUuIENsb3NlIEJ1dHRvblxuLy8gIDE2LiBEcmlsbGRvd25cbi8vICAxNy4gRHJvcGRvd25cbi8vICAxOC4gRHJvcGRvd24gTWVudVxuLy8gIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gIDIwLiBGb3Jtc1xuLy8gIDIxLiBMYWJlbFxuLy8gIDIyLiBNZWRpYSBPYmplY3Rcbi8vICAyMy4gTWVudVxuLy8gIDI0LiBNZXRlclxuLy8gIDI1LiBPZmYtY2FudmFzXG4vLyAgMjYuIE9yYml0XG4vLyAgMjcuIFBhZ2luYXRpb25cbi8vICAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjkuIFByb3RvdHlwZSBBcnJvd1xuLy8gIDMwLiBQcm90b3R5cGUgQm9yZGVyLUJveFxuLy8gIDMxLiBQcm90b3R5cGUgQm9yZGVyLU5vbmVcbi8vICAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAgMzMuIFByb3RvdHlwZSBEaXNwbGF5XG4vLyAgMzQuIFByb3RvdHlwZSBGb250LVN0eWxpbmdcbi8vICAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gIDM2LiBQcm90b3R5cGUgT3ZlcmZsb3dcbi8vICAzNy4gUHJvdG90eXBlIFBvc2l0aW9uXG4vLyAgMzguIFByb3RvdHlwZSBSb3VuZGVkXG4vLyAgMzkuIFByb3RvdHlwZSBTZXBhcmF0b3Jcbi8vICA0MC4gUHJvdG90eXBlIFNoYWRvd1xuLy8gIDQxLiBQcm90b3R5cGUgU2l6aW5nXG4vLyAgNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAgNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vICA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vICA0NS4gUHJvdG90eXBlIFRleHQtVXRpbGl0aWVzXG4vLyAgNDYuIFJlc3BvbnNpdmUgRW1iZWRcbi8vICA0Ny4gUmV2ZWFsXG4vLyAgNDguIFNsaWRlclxuLy8gIDQ5LiBTd2l0Y2hcbi8vICA1MC4gVGFibGVcbi8vICA1MS4gVGFic1xuLy8gIDUyLiBUaHVtYm5haWxcbi8vICA1My4gVGl0bGUgQmFyXG4vLyAgNTQuIFRvb2x0aXBcbi8vICA1NS4gVG9wIEJhclxuLy8gIDU2LiBYeSBHcmlkXG5cbkBpbXBvcnQgJ3V0aWwvdXRpbCc7XG5cbi8vIDEuIEdsb2JhbFxuLy8gLS0tLS0tLS0tXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlO1xuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTEyMCk7XG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNTtcbiRmb3VuZGF0aW9uLXBhbGV0dGU6IChcbiAgcHJpbWFyeTogIzE3NzliYSxcbiAgc2Vjb25kYXJ5OiAjNzY3Njc2LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2NjNGIzNyxcbik7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRtZWRpdW0tZ3JheTogI2NhY2FjYTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kYmxhY2s6ICMwYTBhMGE7XG4kd2hpdGU6ICNmZWZlZmU7XG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2s7XG4kYm9keS1mb250LWZhbWlseTogJ0hlbHZldGljYSBOZXVlJywgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtcG9zaXRpb246IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtbWVudS1wYWRkaW5nOiAwLjdyZW0gMXJlbTtcbiRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luOiAxcmVtO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiB0cnVlO1xuJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM6IGZhbHNlO1xuJGdsb2JhbC1idXR0b24tY3Vyc29yOiBhdXRvO1xuJGdsb2JhbC1jb2xvci1waWNrLWNvbnRyYXN0LXRvbGVyYW5jZTogMDtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcblxuQGluY2x1ZGUgYWRkLWZvdW5kYXRpb24tY29sb3JzO1xuXG4vLyAyLiBCcmVha3BvaW50c1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRwcmludC1icmVha3BvaW50OiBsYXJnZTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgc21hbGw6IDIwcHgsXG4gIG1lZGl1bTogMzBweCxcbiAgbGFyZ2U6IDIycHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kZ3JpZC1jb2x1bW4tYWxpYXM6ICdjb2x1bW5zJztcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHk7XG4kaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kaGVhZGVyLWZvbnQtc3R5bGU6IG5vcm1hbDtcbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgQ291cmllciwgbW9ub3NwYWNlO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXN0eWxlczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6ICgnZm9udC1zaXplJzogMjQpLFxuICAgICdoMic6ICgnZm9udC1zaXplJzogMjApLFxuICAgICdoMyc6ICgnZm9udC1zaXplJzogMTkpLFxuICAgICdoNCc6ICgnZm9udC1zaXplJzogMTgpLFxuICAgICdoNSc6ICgnZm9udC1zaXplJzogMTcpLFxuICAgICdoNic6ICgnZm9udC1zaXplJzogMTYpLFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDQ4KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDQwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDMxKSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDI1KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbik7XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmU7XG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG87XG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b207XG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGU7XG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbTtcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpO1xuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRjaXRlLXBzZXVkby1jb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogZ2V0LWNvbG9yKGFsZXJ0KTtcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IGdldC1jb2xvcihhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4kYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1jb250ZW50LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJGFjY29yZGlvbi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDguIEFjY29yZGlvbiBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9ubWVudS1wYWRkaW5nOiAkZ2xvYmFsLW1lbnUtcGFkZGluZztcbiRhY2NvcmRpb25tZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS1wYWRkaW5nOiAkYWNjb3JkaW9ubWVudS1wYWRkaW5nO1xuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGFjY29yZGlvbm1lbnUtaXRlbS1iYWNrZ3JvdW5kOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtYm9yZGVyOiBudWxsO1xuJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtYmFja2dyb3VuZDogbnVsbDtcbiRhY2NvcmRpb24tc3VibWVudS10b2dnbGUtYm9yZGVyOiAkYWNjb3JkaW9ubWVudS1ib3JkZXI7XG4kYWNjb3JkaW9ubWVudS1zdWJtZW51LXRvZ2dsZS13aWR0aDogNDBweDtcbiRhY2NvcmRpb25tZW51LXN1Ym1lbnUtdG9nZ2xlLWhlaWdodDogJGFjY29yZGlvbm1lbnUtc3VibWVudS10b2dnbGUtd2lkdGg7XG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDkuIEJhZGdlXG4vLyAtLS0tLS0tLVxuXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYmFkZ2UtY29sb3I6ICR3aGl0ZTtcbiRiYWRnZS1jb2xvci1hbHQ6ICRibGFjaztcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJhZGdlLXBhZGRpbmc6IDAuM2VtO1xuJGJhZGdlLW1pbndpZHRoOiAyLjFlbTtcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbTtcblxuLy8gMTAuIEJyZWFkY3J1bWJzXG4vLyAtLS0tLS0tLS0tLS0tLS1cblxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDA7XG4kYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjaztcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW07XG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3I6IHRydWU7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItaXRlbTogJy8nO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2VwYXJhdG9yLWl0ZW0tcnRsOiAnXFxcXCc7XG4kYnJlYWRjcnVtYnMtaXRlbS1zZXBhcmF0b3ItY29sb3I6ICRtZWRpdW0tZ3JheTtcblxuLy8gMTEuIEJ1dHRvblxuLy8gLS0tLS0tLS0tLVxuXG4kYnV0dG9uLWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGU7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1ob2xsb3ctYm9yZGVyLXdpZHRoOiAxcHg7XG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLWxpZ2h0bmVzczogLTIwJTtcbiRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzczogLTUwJTtcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4kYnV0dG9uLXJlc3BvbnNpdmUtZXhwYW5kZWQ6IGZhbHNlO1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbic7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcbiRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaDogdHJ1ZTtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENhcmRcbi8vIC0tLS0tLS0tXG5cbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FyZC1kaXZpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNhcmQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kY2FyZC1zaGFkb3c6IG5vbmU7XG4kY2FyZC1ib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYXJkLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRjYXJkLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuXG4vLyAxNS4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbik7XG4kY2xvc2VidXR0b24tc2l6ZTogKFxuICBzbWFsbDogMS41ZW0sXG4gIG1lZGl1bTogMmVtLFxuKTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE2LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLXBhZGRpbmc6ICRnbG9iYWwtbWVudS1wYWRkaW5nO1xuJGRyaWxsZG93bi1uZXN0ZWQtbWFyZ2luOiAwO1xuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJpbGxkb3duLXN1Ym1lbnUtcGFkZGluZzogJGRyaWxsZG93bi1wYWRkaW5nO1xuJGRyaWxsZG93bi1zdWJtZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcmlsbGRvd24tYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGRyaWxsZG93bi1hcnJvdy1zaXplOiA2cHg7XG5cbi8vIDE3LiBEcm9wZG93blxuLy8gLS0tLS0tLS0tLS0tXG5cbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtO1xuJGRyb3Bkb3duLWJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxOC4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHg7XG4kZHJvcGRvd25tZW51LWFycm93LXBhZGRpbmc6IDEuNXJlbTtcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweDtcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlO1xuJGRyb3Bkb3dubWVudS1zdWJtZW51LWJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiRkcm9wZG93bm1lbnUtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kZHJvcGRvd25tZW51LW5lc3RlZC1tYXJnaW46IDA7XG4kZHJvcGRvd25tZW51LXN1Ym1lbnUtcGFkZGluZzogJGRyb3Bkb3dubWVudS1wYWRkaW5nO1xuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpO1xuJGRyb3Bkb3duLW1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogdHJhbnNwYXJlbnQ7XG5cbi8vIDE5LiBGbGV4Ym94IFV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4LXNvdXJjZS1vcmRlcmluZy1jb3VudDogNjtcbiRmbGV4Ym94LXJlc3BvbnNpdmUtYnJlYWtwb2ludHM6IHRydWU7XG5cbi8vIDIwLiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRpbnB1dC1saW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSk7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwIDAgNXB4ICRtZWRpdW0tZ3JheTtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IG5vdC1hbGxvd2VkO1xuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0O1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGZvcm0tYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBMYWJlbFxuLy8gLS0tLS0tLS0tXG5cbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRsYWJlbC1jb2xvcjogJHdoaXRlO1xuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrO1xuJGxhYmVsLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGU7XG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW07XG4kbGFiZWwtcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4kbGFiZWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjIuIE1lZGlhIE9iamVjdFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJTtcblxuLy8gMjMuIE1lbnVcbi8vIC0tLS0tLS0tXG5cbiRtZW51LW1hcmdpbjogMDtcbiRtZW51LW5lc3RlZC1tYXJnaW46ICRnbG9iYWwtbWVudS1uZXN0ZWQtbWFyZ2luO1xuJG1lbnUtaXRlbXMtcGFkZGluZzogJGdsb2JhbC1tZW51LXBhZGRpbmc7XG4kbWVudS1zaW1wbGUtbWFyZ2luOiAxcmVtO1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IGdldC1jb2xvcihwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kbWVudS1zdGF0ZS1iYWNrLWNvbXBhdDogdHJ1ZTtcbiRtZW51LWNlbnRlcmVkLWJhY2stY29tcGF0OiB0cnVlO1xuJG1lbnUtaWNvbnMtYmFjay1jb21wYXQ6IHRydWU7XG5cbi8vIDI0LiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjUuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtdmVydGljYWwtc2l6ZXM6IChcbiAgc21hbGw6IDI1MHB4LFxuKTtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNyk7XG4kb2ZmY2FudmFzLWlubmVyLXNoYWRvdy1zaXplOiAyMHB4O1xuJG9mZmNhbnZhcy1pbm5lci1zaGFkb3ctY29sb3I6IHJnYmEoJGJsYWNrLCAwLjI1KTtcbiRvZmZjYW52YXMtb3ZlcmxheS16aW5kZXg6IDExO1xuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4OiAxMztcbiRvZmZjYW52YXMtcmV2ZWFsLXppbmRleDogMTI7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCc7XG5cbi8vIDI2LiBPcmJpdFxuLy8gLS0tLS0tLS0tXG5cbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheTtcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSk7XG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtO1xuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMDtcblxuLy8gMjcuIFBhZ2luYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2s7XG4kcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc6IHJlbS1jYWxjKDMgMTApO1xuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKTtcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1jdXJyZW50OiAkd2hpdGU7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLW1vYmlsZS1jdXJyZW50LWl0ZW06IGZhbHNlO1xuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlO1xuXG4vLyAyOC4gUHJvZ3Jlc3MgQmFyXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm9ncmVzcy1oZWlnaHQ6IDFyZW07XG4kcHJvZ3Jlc3MtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHByb2dyZXNzLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb2dyZXNzLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDI5LiBQcm90b3R5cGUgQXJyb3dcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1hcnJvdy1kaXJlY3Rpb25zOiAoXG4gIGRvd24sXG4gIHVwLFxuICByaWdodCxcbiAgbGVmdFxuKTtcbiRwcm90b3R5cGUtYXJyb3ctc2l6ZTogMC40Mzc1cmVtO1xuJHByb3RvdHlwZS1hcnJvdy1jb2xvcjogJGJsYWNrO1xuXG4vLyAzMC4gUHJvdG90eXBlIEJvcmRlci1Cb3hcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWJvcmRlci1ib3gtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMS4gUHJvdG90eXBlIEJvcmRlci1Ob25lXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyLW5vbmUtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuXG4vLyAzMi4gUHJvdG90eXBlIEJvcmRlcmVkXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtYm9yZGVyZWQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1ib3JkZXItd2lkdGg6IHJlbS1jYWxjKDEpO1xuJHByb3RvdHlwZS1ib3JkZXItdHlwZTogc29saWQ7XG4kcHJvdG90eXBlLWJvcmRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuXG4vLyAzMy4gUHJvdG90eXBlIERpc3BsYXlcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWRpc3BsYXktYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1kaXNwbGF5OiAoXG4gIGlubGluZSxcbiAgaW5saW5lLWJsb2NrLFxuICBibG9jayxcbiAgdGFibGUsXG4gIHRhYmxlLWNlbGxcbik7XG5cbi8vIDM0LiBQcm90b3R5cGUgRm9udC1TdHlsaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLWZvbnQtYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS13aWRlLWxldHRlci1zcGFjaW5nOiByZW0tY2FsYyg0KTtcbiRwcm90b3R5cGUtZm9udC1ub3JtYWw6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRwcm90b3R5cGUtZm9udC1ib2xkOiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyAzNS4gUHJvdG90eXBlIExpc3QtU3R5bGUtVHlwZVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1saXN0LWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3R5bGUtdHlwZS11bm9yZGVyZWQ6IChcbiAgZGlzYyxcbiAgY2lyY2xlLFxuICBzcXVhcmVcbik7XG4kcHJvdG90eXBlLXN0eWxlLXR5cGUtb3JkZXJlZDogKFxuICBkZWNpbWFsLFxuICBsb3dlci1hbHBoYSxcbiAgbG93ZXItbGF0aW4sXG4gIGxvd2VyLXJvbWFuLFxuICB1cHBlci1hbHBoYSxcbiAgdXBwZXItbGF0aW4sXG4gIHVwcGVyLXJvbWFuXG4pO1xuXG4vLyAzNi4gUHJvdG90eXBlIE92ZXJmbG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtb3ZlcmZsb3ctYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1vdmVyZmxvdzogKFxuICB2aXNpYmxlLFxuICBoaWRkZW4sXG4gIHNjcm9sbFxuKTtcblxuLy8gMzcuIFByb3RvdHlwZSBQb3NpdGlvblxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXBvc2l0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtcG9zaXRpb246IChcbiAgc3RhdGljLFxuICByZWxhdGl2ZSxcbiAgYWJzb2x1dGUsXG4gIGZpeGVkXG4pO1xuJHByb3RvdHlwZS1wb3NpdGlvbi16LWluZGV4OiA5NzU7XG5cbi8vIDM4LiBQcm90b3R5cGUgUm91bmRlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtcm91bmRlZC1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJvcmRlci1yYWRpdXM6IHJlbS1jYWxjKDMpO1xuXG4vLyAzOS4gUHJvdG90eXBlIFNlcGFyYXRvclxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zZXBhcmF0b3ItYnJlYWtwb2ludHM6ICRnbG9iYWwtcHJvdG90eXBlLWJyZWFrcG9pbnRzO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItYWxpZ246IGNlbnRlcjtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWhlaWdodDogcmVtLWNhbGMoMik7XG4kcHJvdG90eXBlLXNlcGFyYXRvci13aWR0aDogM3JlbTtcbiRwcm90b3R5cGUtc2VwYXJhdG9yLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHByb3RvdHlwZS1zZXBhcmF0b3ItbWFyZ2luLXRvcDogJGdsb2JhbC1tYXJnaW47XG5cbi8vIDQwLiBQcm90b3R5cGUgU2hhZG93XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXNoYWRvdy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLWJveC1zaGFkb3c6IDAgMnB4IDVweCAwIHJnYmEoMCwwLDAsLjE2KSxcbiAgICAgICAgICAgICAgICAgICAgICAgMCAycHggMTBweCAwIHJnYmEoMCwwLDAsLjEyKTtcblxuLy8gNDEuIFByb3RvdHlwZSBTaXppbmdcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtc2l6aW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc2l6aW5nOiAoXG4gIHdpZHRoLFxuICBoZWlnaHRcbik7XG4kcHJvdG90eXBlLXNpemVzOiAoXG4gIDI1OiAyNSUsXG4gIDUwOiA1MCUsXG4gIDc1OiA3NSUsXG4gIDEwMDogMTAwJVxuKTtcblxuLy8gNDIuIFByb3RvdHlwZSBTcGFjaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHByb3RvdHlwZS1zcGFjaW5nLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtc3BhY2Vycy1jb3VudDogMztcblxuLy8gNDMuIFByb3RvdHlwZSBUZXh0LURlY29yYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRwcm90b3R5cGUtZGVjb3JhdGlvbi1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtZGVjb3JhdGlvbjogKFxuICBvdmVybGluZSxcbiAgdW5kZXJsaW5lLFxuICBsaW5lLXRocm91Z2gsXG4pO1xuXG4vLyA0NC4gUHJvdG90eXBlIFRleHQtVHJhbnNmb3JtYXRpb25cbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXRyYW5zZm9ybWF0aW9uLWJyZWFrcG9pbnRzOiAkZ2xvYmFsLXByb3RvdHlwZS1icmVha3BvaW50cztcbiRwcm90b3R5cGUtdGV4dC10cmFuc2Zvcm1hdGlvbjogKFxuICBsb3dlcmNhc2UsXG4gIHVwcGVyY2FzZSxcbiAgY2FwaXRhbGl6ZVxuKTtcblxuLy8gNDUuIFByb3RvdHlwZSBUZXh0LVV0aWxpdGllc1xuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvdG90eXBlLXV0aWxpdGllcy1icmVha3BvaW50czogJGdsb2JhbC1wcm90b3R5cGUtYnJlYWtwb2ludHM7XG4kcHJvdG90eXBlLXRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuXG4vLyA0Ni4gUmVzcG9uc2l2ZSBFbWJlZFxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJHJlc3BvbnNpdmUtZW1iZWQtbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbik7XG5cbi8vIDQ3LiBSZXZlYWxcbi8vIC0tLS0tLS0tLS1cblxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kcmV2ZWFsLXdpZHRoOiA2MDBweDtcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmc7XG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRyZXZlYWwtemluZGV4OiAxMDA1O1xuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KTtcblxuLy8gNDguIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDQ5LiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gNTAuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1pcy1zdHJpcGVkOiB0cnVlO1xuJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlOiBldmVuO1xuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpO1xuJHRhYmxlLWhlYWQtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWhlYWQtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWZvb3Qtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWZvb3QtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFibGUtZm9vdC1mb250LWNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuJHNob3ctaGVhZGVyLWZvci1zdGFja2VkOiBmYWxzZTtcbiR0YWJsZS1zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDUxLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheTtcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiR0YWItaXRlbS1mb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGU7XG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4kdGFiLWV4cGFuZC1tYXg6IDY7XG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXk7XG4kdGFiLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kdGFiLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gNTIuIFRodW1ibmFpbFxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGh1bWJuYWlsLWJvcmRlcjogc29saWQgNHB4ICR3aGl0ZTtcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpO1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSk7XG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQ7XG4kdGh1bWJuYWlsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDUzLiBUaXRsZSBCYXJcbi8vIC0tLS0tLS0tLS0tLS1cblxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjaztcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlO1xuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0OiBib2xkO1xuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZTtcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXk7XG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtO1xuXG4vLyA1NC4gVG9vbHRpcFxuLy8gLS0tLS0tLS0tLS1cblxuJGhhcy10aXAtY3Vyc29yOiBoZWxwO1xuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXk7XG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlO1xuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbTtcbiR0b29sdGlwLW1heC13aWR0aDogMTByZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDU1LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbTtcbiR0b3BiYXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMDtcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4O1xuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bTtcblxuLy8gNTYuIFh5IEdyaWRcbi8vIC0tLS0tLS0tLS0tXG5cbiR4eS1ncmlkOiB0cnVlO1xuJGdyaWQtY29udGFpbmVyOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uczogMTI7XG4kZ3JpZC1tYXJnaW4tZ3V0dGVyczogKFxuICBzbWFsbDogMjBweCxcbiAgbWVkaXVtOiAzMHB4XG4pO1xuJGdyaWQtcGFkZGluZy1ndXR0ZXJzOiAkZ3JpZC1tYXJnaW4tZ3V0dGVycztcbiRncmlkLWNvbnRhaW5lci1wYWRkaW5nOiAkZ3JpZC1wYWRkaW5nLWd1dHRlcnM7XG4kZ3JpZC1jb250YWluZXItbWF4OiAkZ2xvYmFsLXdpZHRoO1xuJHh5LWJsb2NrLWdyaWQtbWF4OiA4O1xuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuXG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgY29udGVudDogJyc7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6ICgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSk7XG5cbiAgQGlmIHVuaXQoJHNwYWNpbmcpID09ICdweCcge1xuICAgICRzcGFjaW5nOiBmbG9vcigkc3BhY2luZyk7XG4gIH1cblxuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICRzaGFkb3c6IGFwcGVuZCgkc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3IsIGNvbW1hKTtcbiAgfVxuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB3aWR0aDogJHdpZHRoO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcblxuICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gICAgY29udGVudDogJyc7ICAgIFxuICB9XG5cbiAgLy8gSG92ZXIgc3RhdGVcbiAgQGlmICRjb2xvci1ob3ZlciB7XG4gICAgLy8gR2VuZXJhdGUgQ1NTXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJGhvdmVyLXNoYWRvdzogYXBwZW5kKCRob3Zlci1zaGFkb3csIDAgJG9mZnNldCAwICRjb2xvci1ob3ZlciwgY29tbWEpO1xuICAgIH1cblxuICAgICY6aG92ZXI6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICRjb2xvci1ob3ZlcjtcbiAgICAgIGJveC1zaGFkb3c6ICRob3Zlci1zaGFkb3c7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIGEgZG93bndhcmQtZmFjaW5nIHRyaWFuZ2xlIGFzIGEgYmFja2dyb3VuZCBpbWFnZSB0byBhbiBlbGVtZW50LiBUaGUgaW1hZ2UgaXMgZm9ybWF0dGVkIGFzIGFuIFNWRywgbWFraW5nIGl0IGVhc3kgdG8gY2hhbmdlIHRoZSBjb2xvci4gQmVjYXVzZSBJbnRlcm5ldCBFeHBsb3JlciBkb2Vzbid0IHN1cHBvcnQgZW5jb2RlZCBTVkdzIGFzIGJhY2tncm91bmQgaW1hZ2VzLCBhIFBORyBmYWxsYmFjayBpcyBhbHNvIGluY2x1ZGVkLlxuLy8vIFRoZXJlIGFyZSB0d28gUE5HIGZhbGxiYWNrczogYSBibGFjayB0cmlhbmdsZSBhbmQgYSB3aGl0ZSB0cmlhbmdsZS4gVGhlIG9uZSB1c2VkIGRlcGVuZHMgb24gdGhlIGxpZ2h0bmVzcyBvZiB0aGUgaW5wdXQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRibGFja10gLSBDb2xvciB0byB1c2UgZm9yIHRoZSB0cmlhbmdsZS5cbkBtaXhpbiBiYWNrZ3JvdW5kLXRyaWFuZ2xlKCRjb2xvcjogJGJsYWNrKSB7XG4gICRyZ2I6ICdyZ2IlMjgje3JvdW5kKHJlZCgkY29sb3IpKX0sICN7cm91bmQoZ3JlZW4oJGNvbG9yKSl9LCAje3JvdW5kKGJsdWUoJGNvbG9yKSl9JTI5JztcblxuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3N2Zyt4bWw7dXRmOCw8c3ZnIHhtbG5zPSdodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZycgdmVyc2lvbj0nMS4xJyB3aWR0aD0nMzInIGhlaWdodD0nMjQnIHZpZXdCb3g9JzAgMCAzMiAyNCc+PHBvbHlnb24gcG9pbnRzPScwLDAgMzIsMCAxNiwyNCcgc3R5bGU9J2ZpbGw6ICN7JHJnYn0nPjwvcG9seWdvbj48L3N2Zz5cIik7XG5cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgQGlmIGxpZ2h0bmVzcygkY29sb3IpIDwgNjAlIHtcbiAgICAgIC8vIFdoaXRlIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBSXBKUkVGVWVOckVrY2tOZ0RBTUJCZlJrRXQwT2JSQkJkc0dYVURnbVFmSzRYaEgybThjelFBQXkyN1IzdHN3NFFmZTJ4OHVPTzZvWUxiNkdsT29yM0dGK3N3VVJBT21VSitSd3RFSnM5V3ZUR0VZeEJYcUkxTVFBWmhDZlVRS1J6RE1WaitUd3JBSVY2anZTVUVrWUFyMUxTa2N5VEJiL1YrS1lmWDd4QWV1c3Ezc0xEdEdIM2tFR0FDUFdJZmxOWmZoUlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgLy8gQmxhY2sgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFNQkpSRUZVZU5yRWxsc09oQ0FNUlZzekM5SWx6VTdLQ21WSFRKc29NV1lNVXRweXY5QmdidVhRQjVaU2RnQllZWTR5Y2dCaXZrOEtZRnNRTWZNaVRUQlA0bzNuVXpDS3pPYWJMSmJMeTIvZzMxZXZHa0FnaW5SNC9aZWdLSDVxWDNiSkNzY0EzdDB4M2tnTzV0UUZ5aGhGZjUweFJxRkxieU1VTkpRemd5akdTL3dnQ3B2S3FrUkJwdVdyRTRWOWQrMUU0ZFBVWHFJZzEwN1NRT0UvMkRSUXhNd1REeWdJSW5WREVUOVQzbENvai82ai9WQ21HalpPbDJsS3BaOEFBd0RRUDd6SWltREdGUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQXBwbGllcyB0aGUgbWljcm8gY2xlYXJmaXggaGFjayBwb3B1bGFyaXplZCBieSBOaWNvbGFzIEdhbGxhZ2hlci4gSW5jbHVkZSB0aGlzIG1peGluIG9uIGEgY29udGFpbmVyIGlmIGl0cyBjaGlsZHJlbiBhcmUgYWxsIGZsb2F0ZWQsIHRvIGdpdmUgdGhlIGNvbnRhaW5lciBhIHByb3BlciBoZWlnaHQuXG4vLy8gVGhlIGNsZWFyZml4IGlzIGF1Z21lbnRlZCB3aXRoIHNwZWNpZmljIHN0eWxlcyB0byBwcmV2ZW50IGJvcmRlcnMgaW4gZmxleGJveCBlbnZpcm9ubWVudHNcbi8vLyBAbGluayBodHRwOi8vbmljb2xhc2dhbGxhZ2hlci5jb20vbWljcm8tY2xlYXJmaXgtaGFjay8gTWljcm8gQ2xlYXJmaXggSGFja1xuLy8vIEBsaW5rIGh0dHA6Ly9kYW5pc2FkZXNpZ25lci5jb20vYmxvZy9mbGV4Ym94LWNsZWFyLWZpeC1wc2V1ZG8tZWxlbWVudHMvIEZsZXhib3ggZml4XG5AbWl4aW4gY2xlYXJmaXgge1xuICAmOjpiZWZvcmUsXG4gICY6OmFmdGVyIHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBjb250ZW50OiAnICc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICB3aWR0aDogYXV0bztcbiAgaGVpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJGxpc3Q6ICRicmVha3BvaW50LWNsYXNzZXM7XG5cbiAgQGlmIG5vdCAkc21hbGwge1xuICAgICRsaXN0OiBzbC1yZW1vdmUoJGxpc3QsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRuYW1lIGluICRsaXN0IHtcbiAgICAkLXpmLXNpemU6ICRuYW1lICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHRoZSBgQGNvbnRlbnRgIHBhc3NlZCB0byB0aGUgbWl4aW4gd2l0aCBhIHZhbHVlIGAkLXpmLWJwLXZhbHVlYCByZWxhdGVkIHRvIGEgYnJlYWtwb2ludCwgZGVwZW5kaW5nIG9uIHRoZSBgJG5hbWVgIHBhcmFtZXRlcjpcbi8vLyAtIEZvciBhIHNpbmdsZSB2YWx1ZSwgYCQtemYtYnAtdmFsdWVgIGlzIHRoaXMgdmFsdWUuXG4vLy8gLSBGb3IgYSBicmVha3BvaW50IG5hbWUsIGAkLXpmLWJwLXZhbHVlYCBpcyB0aGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlIGluIGAkbWFwYC5cbi8vLyAtIEZvciBcImF1dG9cIiwgYCQtemYtYnAtdmFsdWVgIGlzIHRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUgaW4gYCRtYXBgIGFuZCBpcyBwYXNzZWQgdG8gYEBjb250ZW50YCwgd2hpY2ggaXMgbWFkZSByZXNwb25zaXZlIGZvciBlYWNoIGJyZWFrcG9pbnQgb2YgYCRtYXBgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRuYW1lIFthdXRvXSAtIFNpbmdsZSB2YWx1ZSBvciBicmVha3BvaW50IG5hbWUgdG8gdXNlLiBcImF1dG9cIiBieSBkZWZhdWx0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcCAtIE1hcCBvZiBicmVha3BvaW50cyBhbmQgdmFsdWVzIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuXG5AbWl4aW4gLXpmLWJyZWFrcG9pbnQtdmFsdWUoXG4gICRuYW1lOiBhdXRvLFxuICAkbWFwOiBudWxsXG4pIHtcbiAgQGlmICRuYW1lID09IGF1dG8gYW5kIHR5cGUtb2YoJG1hcCkgPT0gJ21hcCcge1xuICAgIC8vIFwiYXV0b1wiXG4gICAgQGVhY2ggJGssICR2IGluICRtYXAge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkaykge1xuICAgICAgICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkdiwgJG1hcCkge1xuICAgICAgICAgIEBjb250ZW50O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAvLyBicmVha3BvaW50IG5hbWVcbiAgICBAaWYgdHlwZS1vZigkbmFtZSkgPT0gJ3N0cmluZycge1xuICAgICAgJG5hbWU6IC16Zi1nZXQtYnAtdmFsKCRtYXAsICRuYW1lKTtcbiAgICB9XG5cbiAgICAvLyBicmVha3BvaW50IHZhbHVlXG4gICAgJC16Zi1icC12YWx1ZTogJG5hbWUgIWdsb2JhbDtcbiAgICBAY29udGVudDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gT3V0cHV0cyBDU1MgY2xhc3NlcyBmb3IgdGhlIGdyaWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gZm91bmRhdGlvbi1ncmlkKFxuICAkcm93OiAncm93JyxcbiAgJGNvbHVtbjogJ2NvbHVtbicsXG4gICRjb2x1bW4tcm93OiAnY29sdW1uLXJvdycsXG4gICRndXR0ZXI6ICdndXR0ZXInLFxuICAkcHVzaDogJ3B1c2gnLFxuICAkcHVsbDogJ3B1bGwnLFxuICAkY2VudGVyOiAnY2VudGVyZWQnLFxuICAkdW5jZW50ZXI6ICd1bmNlbnRlcmVkJyxcbiAgJGNvbGxhcHNlOiAnY29sbGFwc2UnLFxuICAkdW5jb2xsYXBzZTogJ3VuY29sbGFwc2UnLFxuICAkb2Zmc2V0OiAnb2Zmc2V0JyxcbiAgJGVuZDogJ2VuZCcsXG4gICRleHBhbmRlZDogJ2V4cGFuZGVkJyxcbiAgJGJsb2NrOiAnYmxvY2snXG4pIHtcbiAgLy8gUm93XG4gIC4jeyRyb3d9IHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdztcblxuICAgIC8vIENvbGxhcHNpbmdcbiAgICAmLiN7JGNvbGxhcHNlfSB7XG4gICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYgLiN7JHJvd30ge1xuICAgICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3JpZC1jb2x1bW4tZ3V0dGVyKTtcblxuICAgICAgJi4jeyRjb2xsYXBzZX0ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4cGFuZGVkIChmdWxsLXdpZHRoKSByb3dcbiAgICAmLiN7JGV4cGFuZGVkfSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm5vdCguI3skZXhwYW5kZWR9KSAuI3skcm93fSB7XG4gICAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKGV4cGFuZCk7XG4gICAgfVxuXG4gICAgQGlmIHR5cGUtb2YoJGdyaWQtY29sdW1uLWd1dHRlcikgPT0gJ21hcCcge1xuICAgICAgLy8gU3RhdGljICh1bnJlc3BvbnNpdmUpIHJvdyBndXR0ZXJzXG4gICAgICAvL1xuICAgICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHtcbiAgICAgICAgJi4jeyRndXR0ZXJ9LSN7JGJyZWFrcG9pbnR9IHtcbiAgICAgICAgICA+IC4jeyRjb2x1bW59IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLWd1dHRlcigkdmFsdWUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuI3skY29sdW1ufSB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb2w7XG5cbiAgICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICAgJi4jeyRlbmR9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtZW5kO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtbiByb3dcbiAgLy8gVGhlIGRvdWJsZSAucm93IGNsYXNzIGlzIG5lZWRlZCB0byBidW1wIHVwIHRoZSBzcGVjaWZpY2l0eVxuICAuI3skY29sdW1ufS4jeyRyb3d9LiN7JHJvd30ge1xuICAgIGZsb2F0OiBub25lO1xuICB9XG5cbiAgLy8gVG8gcHJvcGVybHkgbmVzdCBhIGNvbHVtbiByb3csIHBhZGRpbmcgYW5kIG1hcmdpbiBpcyByZW1vdmVkXG4gIC4jeyRyb3d9IC4jeyRjb2x1bW59LiN7JHJvd30uI3skcm93fSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gQ29sdW1uIHdpZHRoXG4gICAgICAuI3skLXpmLXNpemV9LSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtc2l6ZSgkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgICAgQGlmICRpIDwgJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0jeyRpfSB7XG4gICAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2wtcG9zKCRpKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tI3skaX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcygtJGkpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skb2Zmc2V0fS0jeyRvfSB7XG4gICAgICAgIEBpbmNsdWRlIGdyaWQtY29sLW9mZigkbyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWxheW91dCgkaSwgJy4jeyRjb2x1bW59Jyk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gUmVzcG9uc2l2ZSBjb2xsYXBzaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0ge1xuICAgICAgPiAuI3skY29sdW1ufSB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG5cbiAgICAgIC4jeyRyb3d9IHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuI3skZXhwYW5kZWR9LiN7JHJvd30gLiN7JC16Zi1zaXplfS0jeyRjb2xsYXBzZX0uI3skcm93fSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LSN7JHVuY29sbGFwc2V9IHtcbiAgICAgID4gLiN7JGNvbHVtbn0geyBAaW5jbHVkZSBncmlkLWNvbC1ndXR0ZXIoJC16Zi1zaXplKTsgfVxuICAgIH1cblxuICAgIC8vIFBvc2l0aW9uaW5nXG4gICAgLiN7JC16Zi1zaXplfS0jeyRjZW50ZXJ9IHtcbiAgICAgIEBpbmNsdWRlIGdyaWQtY29sLXBvcyhjZW50ZXIpO1xuICAgIH1cblxuICAgIC8vIEd1dHRlciBhZGp1c3RtZW50XG4gICAgLiN7JC16Zi1zaXplfS0jeyR1bmNlbnRlcn0sXG4gICAgLiN7JC16Zi1zaXplfS0jeyRwdXNofS0wLFxuICAgIC4jeyQtemYtc2l6ZX0tI3skcHVsbH0tMCB7XG4gICAgICBAaW5jbHVkZSBncmlkLWNvbC11bnBvcztcbiAgICB9XG4gIH1cblxuICAvLyBCbG9jayBncmlkIGNvbHVtbnNcbiAgLiN7JGNvbHVtbn0tI3skYmxvY2t9IHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1tYXJnaW47XG4gIH1cblxuICBAaWYgJGNvbHVtbiA9PSAnY29sdW1uJyBhbmQgaGFzLXZhbHVlKCRncmlkLWNvbHVtbi1hbGlhcykge1xuICAgIC4jeyRncmlkLWNvbHVtbi1hbGlhc30ge1xuICAgICAgLy8gc2Fzcy1saW50OmRpc2FibGUtYmxvY2sgcGxhY2Vob2xkZXItaW4tZXh0ZW5kXG4gICAgICBAZXh0ZW5kIC5jb2x1bW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudCAhZ2xvYmFsO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGdyaWQgcm93LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gQ29sdW1uIGNvdW50IGZvciB0aGlzIHJvdy4gYG51bGxgIHdpbGwgdXNlIHRoZSBkZWZhdWx0IGNvbHVtbiBjb3VudC5cbi8vLyBAcGFyYW0ge0tleXdvcmRzfSAkYmVoYXZpb3IgW251bGxdXG4vLy8gICBNb2RpZmljYXRpb25zIHRvIHRoZSBkZWZhdWx0IGdyaWQgc3R5bGVzLiBgbmVzdGAgaW5kaWNhdGVzIHRoZSByb3cgd2lsbCBiZSBwbGFjZWQgaW5zaWRlIGFub3RoZXIgcm93LiBgY29sbGFwc2VgIGluZGljYXRlcyB0aGF0IHRoZSBjb2x1bW5zIGluc2lkZSB0aGlzIHJvdyB3aWxsIG5vdCBoYXZlIHBhZGRpbmcuIGBuZXN0IGNvbGxhcHNlYCBjb21iaW5lcyBib3RoIGJlaGF2aW9ycy5cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkc2l6ZSBbJGdyaWQtcm93LXdpZHRoXSBNYXhpbXVtIHNpemUgb2YgdGhlIHJvdy4gU2V0IHRvIGBleHBhbmRgIHRvIG1ha2UgdGhlIHJvdyB0YWtpbmcgdGhlIGZ1bGwgd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3coXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICRzaXplOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcnMpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1zaXplKCRzaXplKTtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJGd1dHRlcnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIG1hcCBvciBzaW5nbGUgdmFsdWUgdG8gdXNlIHdoZW4gaW52ZXJ0aW5nIG1hcmdpbnMuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygtemYtZ2V0LWJwLXZhbCgkZ3V0dGVycywgJC16Zi1zaXplKSkgLyAyICogLTE7XG5cbiAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldCBhIGdyaWQgcm93IHNpemVcbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRzaXplIFskZ3JpZC1yb3ctd2lkdGhdIE1heGltdW0gc2l6ZSBvZiB0aGUgcm93LiBTZXQgdG8gYGV4cGFuZGAgdG8gbWFrZSB0aGUgcm93IHRha2luZyB0aGUgZnVsbCB3aWR0aC5cbkBtaXhpbiBncmlkLXJvdy1zaXplKCRzaXplOiAkZ3JpZC1yb3ctd2lkdGgpIHtcbiAgQGlmICRzaXplID09IGV4cGFuZCB7XG4gICAgJHNpemU6IG5vbmU7XG4gIH1cblxuICBtYXgtd2lkdGg6ICRzaXplO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIC8vIFVzaW5nIHJlbSBhcyBiYXNlIGFsbG93cyBjb3JyZWN0IHNjYWxpbmdcbiAgQGlmIHVuaXQoJGJhc2UpID09ICdyZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gVHJhbnNmb3JtIGVtIGludG8gcmVtIGlmIHNvbWVvbmUgaGFuZHMgb3ZlciAnZW0nc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogMXJlbTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtIG9yIGVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCwgcGVyY2VudGFnZSwgcmVtIG9yIGVtIHZhbHVlIHRvIGEgdW5pdGxlc3MgdmFsdWUgYmFzZWQgb24gYSBnaXZlbiBmb250IHNpemUuIElkZWFsIGZvciB3b3JraW5nIG91dCB1bml0bGVzcyBsaW5lIGhlaWdodHMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJHZhbHVlIC0gVmFsdWUgdG8gY29udmVydCB0byBhIHVuaXRsZXNzIGxpbmUgaGVpZ2h0XG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGZvbnQgc2l6ZSB0byB1c2UgdG8gd29yayBvdXQgdGhlIGxpbmUgaGVpZ2h0IC0gZGVmYXVsdHMgdG8gJGdsb2JhbC1mb250LXNpemVcbi8vL1xuLy8vIEByZXR1cm4ge051bWJlcn0gLSBVbml0bGVzcyBudW1iZXJcbkBmdW5jdGlvbiB1bml0bGVzcy1jYWxjKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBGaXJzdCwgbGV0cyBjb252ZXJ0IG91ciAkYmFzZSB0byBwaXhlbHNcblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAncmVtJyB7XG4gICAgJGJhc2U6IHN0cmlwLXVuaXQoJGJhc2UpICogMTZweDtcbiAgfVxuXG4gIEBpZiB1bml0KCRiYXNlKSA9PSAnZW0nIHtcbiAgICAkYmFzZTogc3RyaXAtdW5pdCgkYmFzZSkgKiAxNnB4O1xuICB9XG5cbiAgLy8gTm93IGxldHMgY29udmVydCBvdXIgdmFsdWUgdG8gcGl4ZWxzIHRvb1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICclJyB7XG4gICAgJHZhbHVlOiAoJHZhbHVlIC8gMTAwJSkgKiAkYmFzZTtcbiAgfVxuXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICBAaWYgdW5pdCgkdmFsdWUpID09ICdlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpICogJGJhc2U7XG4gIH1cblxuICAvLyAncHgnXG4gIEBpZiB1bml0KCR2YWx1ZSkgPT0gJ3B4JyB7XG4gICAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKTtcbiAgfVxuXG4gIC8vIGFzc3VtZSB0aGF0IGxpbmUtaGVpZ2h0cyBncmVhdGVybiB0aGVuIDEwIGFyZSBtZWFudCB0byBiZSBhYnNvbHV0ZSBpbiAncHgnXG4gIEBpZiB1bml0bGVzcygkdmFsdWUpIGFuZCAoJHZhbHVlID4gMTApIHtcbiAgICBAcmV0dXJuICR2YWx1ZSAvIHN0cmlwLXVuaXQoJGJhc2UpO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBTZXQgdGhlIGd1dHRlcnMgb24gYSBjb2x1bW5cbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkZ3V0dGVyIFthdXRvXVxuLy8vICAgU3BhY2luZyBiZXR3ZWVuIGNvbHVtbnMsIGFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHNpbmdsZSB2YWx1ZSB3aWxsIG1ha2UgdGhlIGd1dHRlciB0aGF0IGV4YWN0IHNpemUuXG4vLy8gICAtIEEgYnJlYWtwb2ludCBuYW1lIHdpbGwgbWFrZSB0aGUgZ3V0dGVyIHRoZSBjb3JyZXNwb25kaW5nIHNpemUgaW4gdGhlICRndXR0ZXJzIG1hcC5cbi8vLyAgIC0gXCJhdXRvXCIgd2lsbCBtYWtlIHRoZSBndXR0ZXIgcmVzcG9uc2l2ZSwgdXNpbmcgdGhlICRndXR0ZXJzIG1hcCB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBHdXR0ZXIgbWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZ3V0dGVyKFxuICAkZ3V0dGVyOiBhdXRvLFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIC16Zi1icmVha3BvaW50LXZhbHVlKCRndXR0ZXIsICRndXR0ZXJzKSB7XG4gICAgJHBhZGRpbmc6IHJlbS1jYWxjKCQtemYtYnAtdmFsdWUpIC8gMjtcblxuICAgIHBhZGRpbmctcmlnaHQ6ICRwYWRkaW5nO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gIH1cbn1cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigwKTtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBncmlkLWNvbHVtbi1ndXR0ZXIoKS4gZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1ndXR0ZXIoJGd1dHRlcnM6ICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZ3V0dGVyKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1ndXR0ZXJcbkBtaXhpbiBncmlkLWNvbC1ndXR0ZXIoXG4gICRndXR0ZXI6IGF1dG8sXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZ3V0dGVyKCRndXR0ZXIsICRndXR0ZXJzKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGdyaWQtY29sLWd1dHRlcigpLiBncmlkLWNvbC11bmNvbGxhcHNlKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi40Lic7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG5cbi8vLyBTZXRzIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zIHRvIG1hdGNoIGd1dHRlcnNcbi8vLyBAcGFyYW0ge051bWJlcnxLZXl3b3JkfSAkbWFyZ2luIFthdXRvXVxuLy8vICAgVGhlIGJvdHRvbSBtYXJnaW4gb24gZ3JpZCBjb2x1bW5zLCBhY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBzaW5nbGUgdmFsdWUgd2lsbCBtYWtlIHRoZSBtYXJnaW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIGJyZWFrcG9pbnQgbmFtZSB3aWxsIG1ha2UgdGhlIG1hcmdpbiB0aGUgY29ycmVzcG9uZGluZyBzaXplIGluIHRoZSAkbWFyZ2lucyBtYXAuXG4vLy8gICAtIFwiYXV0b1wiIHdpbGwgbWFrZSB0aGUgbWFyZ2luIHJlc3BvbnNpdmUsIHVzaW5nIHRoZSAkbWFyZ2lucyBtYXAgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfE1hcH0gJG1hcmdpbnMgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gTWFwIG9yIHNpbmdsZSB2YWx1ZSB0byB1c2UuIFJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzIGJ5IGRlZmF1bHQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tbWFyZ2luIChcbiAgJG1hcmdpbjogYXV0byxcbiAgJG1hcmdpbnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSAtemYtYnJlYWtwb2ludC12YWx1ZSgkbWFyZ2luLCAkbWFyZ2lucykge1xuICAgICRtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkLXpmLWJwLXZhbHVlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAgID4gOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxhcmdlc3QgbmFtZWQgYnJlYWtwb2ludCBpbiB3aGljaCB0byBpbmNsdWRlIHByaW50IGFzIGEgbWVkaWEgdHlwZVxuLy8vIEB0eXBlIEtleXdvcmRcbiRwcmludC1icmVha3BvaW50OiBsYXJnZSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG4kLXpmLWJyZWFrcG9pbnRzLWtleXM6IG1hcC10by1saXN0KCRicmVha3BvaW50cywgJ2tleXMnKTtcblxuQGlmIG50aChtYXAtdmFsdWVzKCRicmVha3BvaW50cyksIDEpICE9IDAge1xuICBAZXJyb3IgJ1lvdXIgc21hbGxlc3QgYnJlYWtwb2ludCAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludHMpIG11c3QgYmUgc2V0IHRvIFwiMFwiLic7XG59XG5AZWxzZSB7XG4gICQtemYtemVyby1icmVha3BvaW50OiBudGgobWFwLWtleXMoJGJyZWFrcG9pbnRzKSwgMSk7XG59XG5cbi8vLyBBbGwgb2YgdGhlIG5hbWVzIGluIHRoaXMgbGlzdCB3aWxsIGJlIG91dHB1dCBhcyBjbGFzc2VzIGluIHlvdXIgQ1NTLCBsaWtlIGAuc21hbGwtMTJgLCBgLm1lZGl1bS02YCwgYW5kIHNvIG9uLiBFYWNoIHZhbHVlIGluIHRoaXMgbGlzdCBtdXN0IGFsc28gYmUgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcC5cbi8vLyBAdHlwZSBMaXN0XG4kYnJlYWtwb2ludC1jbGFzc2VzOiAoc21hbGwgbWVkaXVtIGxhcmdlKSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyBhIG1lZGlhIHF1ZXJ5IHN0cmluZyBtYXRjaGluZyB0aGUgaW5wdXQgdmFsdWUuIFJlZmVyIHRvIHRoZSBkb2N1bWVudGF0aW9uIGZvciB0aGUgYGJyZWFrcG9pbnQoKWAgbWl4aW4gdG8gc2VlIHdoYXQgdGhlIHBvc3NpYmxlIGlucHV0cyBhcmUuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsIFtzbWFsbF0gLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG5AZnVuY3Rpb24gYnJlYWtwb2ludCgkdmFsOiAkLXpmLXplcm8tYnJlYWtwb2ludCkge1xuICAvLyBTaXplIG9yIGtleXdvcmRcbiAgJGJwOiBudGgoJHZhbCwgMSk7XG4gIC8vIFZhbHVlIGZvciBtYXgtd2lkdGggbWVkaWEgcXVlcmllc1xuICAkYnAtbWF4OiAwO1xuICAvLyBEaXJlY3Rpb24gb2YgbWVkaWEgcXVlcnkgKHVwLCBkb3duLCBvciBvbmx5KVxuICAkZGlyOiBpZihsZW5ndGgoJHZhbCkgPiAxLCBudGgoJHZhbCwgMiksIHVwKTtcbiAgLy8gRXZlbnR1YWwgb3V0cHV0XG4gICRzdHI6ICcnO1xuICAvLyBJcyBpdCBhIG5hbWVkIG1lZGlhIHF1ZXJ5P1xuICAkbmFtZWQ6IGZhbHNlO1xuXG4gIC8vIE9yaWVudGF0aW9uIG1lZGlhIHF1ZXJpZXMgaGF2ZSBhIHVuaXF1ZSBzeW50YXhcbiAgQGlmICRicCA9PSAnbGFuZHNjYXBlJyBvciAkYnAgPT0gJ3BvcnRyYWl0JyB7XG4gICAgQHJldHVybiAnKG9yaWVudGF0aW9uOiAjeyRicH0pJztcbiAgfVxuICBAZWxzZSBpZiAkYnAgPT0gJ3JldGluYScge1xuICAgIEByZXR1cm4gJygtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86IDIpLCAobWluLXJlc29sdXRpb246IDE5MmRwaSknO1xuICB9XG5cbiAgLy8gVHJ5IHRvIHB1bGwgYSBuYW1lZCBicmVha3BvaW50IG91dCBvZiB0aGUgJGJyZWFrcG9pbnRzIG1hcFxuICBAaWYgdHlwZS1vZigkYnApID09ICdzdHJpbmcnIHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkYnApIHtcbiAgICAgIEBpZiAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgICAgICRicC1tYXg6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICB9XG5cbiAgICAgICRicDogbWFwLWdldCgkYnJlYWtwb2ludHMsICRicCk7XG4gICAgICAkbmFtZWQ6IHRydWU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICRicDogMDtcbiAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IFwiI3skdmFsfVwiIGlzIG5vdCBkZWZpbmVkIGluIHlvdXIgJGJyZWFrcG9pbnRzIHNldHRpbmcuJztcbiAgICB9XG4gIH1cblxuICAvLyBDb252ZXJ0IGFueSBwaXhlbCwgcmVtLCBvciB1bml0bGVzcyB2YWx1ZSB0byBlbVxuICAkYnA6IC16Zi1icC10by1lbSgkYnApO1xuICBAaWYgJGJwLW1heCB7XG4gICAgJGJwLW1heDogLXpmLWJwLXRvLWVtKCRicC1tYXgpIC0gKDEvMTYpO1xuICB9XG5cbiAgLy8gQ29uZGl0aW9ucyB0byBza2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uXG4gIC8vIC0gSXQncyBhIG5hbWVkIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgZG93blwiIG9yIFwiMCB1cFwiXG4gIC8vIC0gSXQncyBhIG51bWVyaWMgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBcIiArIGFueXRoaW5nXG4gIEBpZiAkYnAgPiAwZW0gb3IgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgIC8vIGBvbmx5YCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pIGFuZCAobWF4LXdpZHRoOiBuKWBcbiAgICBAaWYgJGRpciA9PSAnb25seScge1xuICAgICAgLy8gT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIFwib25seVwiIHJhbmdlXG4gICAgICBAaWYgJG5hbWVkID09IHRydWUge1xuICAgICAgICAvLyBPbmx5IHVzZSBcIm1pbi13aWR0aFwiIGlmIHRoZSBmbG9vciBpcyBncmVhdGVyIHRoYW4gMFxuICAgICAgICBAaWYgJGJwID4gMGVtIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuXG4gICAgICAgICAgLy8gT25seSBhZGQgXCJhbmRcIiB0byB0aGUgbWVkaWEgcXVlcnkgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAgICRzdHI6ICRzdHIgKyAnIGFuZCAnO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWF4LXdpZHRoXCIgaWYgdGhlcmUncyBhIGNlaWxpbmdcbiAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRicC1tYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogT25seSBuYW1lZCBtZWRpYSBxdWVyaWVzIGNhbiBoYXZlIGFuIGBvbmx5YCByYW5nZS4nO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGBkb3duYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtYXgtd2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICRtYXg6IGlmKCRuYW1lZCwgJGJwLW1heCwgJGJwKTtcblxuICAgICAgLy8gU2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvbiBpZiBpbnB1dCB2YWx1ZSBpcyBleGFjdGx5IFwiMCBkb3duXCIsXG4gICAgICAvLyB1bmxlc3MgdGhlIGZ1bmN0aW9uIHdhcyBjYWxsZWQgYXMgXCJzbWFsbCBkb3duXCIsIGluIHdoaWNoIGNhc2UgaXQncyBqdXN0IFwic21hbGwgb25seVwiXG4gICAgICBAaWYgJG5hbWVkIG9yICRicCA+IDBlbSB7XG4gICAgICAgIEBpZiAkbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYHVwYCByYW5nZXMgdXNlIHRoZSBmb3JtYXQgYChtaW4td2lkdGg6IG4pYFxuICAgIEBlbHNlIGlmICRicCA+IDBlbSB7XG4gICAgICAkc3RyOiAkc3RyICsgJyhtaW4td2lkdGg6ICN7JGJwfSknO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIFdyYXBzIGEgbWVkaWEgcXVlcnkgYXJvdW5kIHRoZSBjb250ZW50IHlvdSBwdXQgaW5zaWRlIHRoZSBtaXhpbi4gVGhpcyBtaXhpbiBhY2NlcHRzIGEgbnVtYmVyIG9mIHZhbHVlczpcbi8vLyAgLSBJZiBhIHN0cmluZyBpcyBwYXNzZWQsIHRoZSBtaXhpbiB3aWxsIGxvb2sgZm9yIGl0IGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAsIGFuZCB1c2UgYSBtZWRpYSBxdWVyeSB0aGVyZS5cbi8vLyAgLSBJZiBhIHBpeGVsIHZhbHVlIGlzIHBhc3NlZCwgaXQgd2lsbCBiZSBjb252ZXJ0ZWQgdG8gYW4gZW0gdmFsdWUgdXNpbmcgYCRnbG9iYWwtZm9udC1zaXplYCBhcyB0aGUgYmFzZS5cbi8vLyAgLSBJZiBhIHJlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB1bml0IHdpbGwgYmUgY2hhbmdlZCB0byBlbS5cbi8vLyAgLSBJZiBhbiBlbSB2YWx1ZSBpcyBwYXNzZWQsIHRoZSB2YWx1ZSB3aWxsIGJlIHVzZWQgYXMtaXMuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TnVtYmVyfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUsIG9yIHB4LCByZW0sIG9yIGVtIHZhbHVlIHRvIHByb2Nlc3MuXG4vLy9cbi8vLyBAb3V0cHV0IElmIHRoZSBicmVha3BvaW50IGlzIFwiMHB4IGFuZCBsYXJnZXJcIiwgb3V0cHV0cyB0aGUgY29udGVudCBhcy1pcy4gT3RoZXJ3aXNlLCBvdXRwdXRzIHRoZSBjb250ZW50IHdyYXBwZWQgaW4gYSBtZWRpYSBxdWVyeS5cbkBtaXhpbiBicmVha3BvaW50KCR2YWx1ZSkge1xuICAkc3RyOiBicmVha3BvaW50KCR2YWx1ZSk7XG4gICRicDogaW5kZXgoJC16Zi1icmVha3BvaW50cy1rZXlzLCAkdmFsdWUpO1xuICAkcGJwOiBpbmRleCgkLXpmLWJyZWFrcG9pbnRzLWtleXMsICRwcmludC1icmVha3BvaW50KTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICAvLyBGb3IgbmFtZWQgYnJlYWtwb2ludHMgbGVzcyB0aGFuIG9yIGVxdWFsIHRvICRwcmludC1icmVha3BvaW50LCBhZGQgcHJpbnQgdG8gdGhlIG1lZGlhIHR5cGVzXG4gICAgQGlmICRicCAhPSBudWxsIGFuZCAkYnAgPD0gJHBicCB7XG4gICAgICBAbWVkaWEgcHJpbnQsIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgI3skc3RyfSB7XG4gICAgICAgIEBjb250ZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcblxuICAvLyBTdG9yZSB0aGUga2V5cyBvZiB0aGUgbWFwIGFzIGEgbGlzdFxuICAkdmFsdWVzOiBtYXAta2V5cygkbWFwKTtcblxuICAkaTogMDtcblxuICAvLyBJZiB0aGUgS2V5IEV4aXN0cywgR2V0IHRoZSBpbmRleCBvZiB0aGUga2V5IHdpdGhpbiB0aGUgbWFwIGFuZCBhZGQgMSB0byBpdCBmb3IgdGhlIG5leHQgYnJlYWtwb2ludCBpbiB0aGUgbWFwXG4gIEBpZiAobWFwLWhhcy1rZXkoJG1hcCwgJGtleSkpIHtcbiAgICAkaTogaW5kZXgoJHZhbHVlcywgJGtleSkgKyAxO1xuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgKCRpID4gbGVuZ3RoKCRtYXApIG9yICRpID09IDApIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCByZXR1cm4gdGhlIHZhbHVlXG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgbnRoKCR2YWx1ZXMsICRpKSk7XG4gIH1cblxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwIG9yIHNpbmdsZSB2YWx1ZS5cbi8vLyAtIElmIHRoZSBjb25maWcgaXMgYSBzaW5nbGUgdmFsdWUsIHJldHVybiBpdCByZWdhcmRsZXNzIG9mIGAkdmFsdWVgLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgaGFzIHRoZSBrZXkgYCR2YWx1ZWAsIHRoZSBleGFjdCBicmVha3BvaW50IHZhbHVlIGlzIHJldHVybmVkLlxuLy8vIC0gSWYgdGhlIGNvbmZpZyBpcyBhIG1hcCBhbmQgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcnxNYXB9ICRtYXAgLSBSZXNwb25zaXZlIGNvbmZpZyBtYXAgb3Igc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBJZiB0aGUgZ2l2ZW4gbWFwIGlzIGEgc2luZ2xlIHZhbHVlLCByZXR1cm4gaXRcbiAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ251bWJlcicge1xuICAgIEByZXR1cm4gJG1hcDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgc21hbGwpIHtcbiAgJHNtYWxsLXVwOiBzY3JlZW47XG4gICRzbWFsbC1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChzbWFsbCBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbWVkaXVtKSB7XG4gICRtZWRpdW0tdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSl9Jyk7XG4gICRtZWRpdW0tb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBsYXJnZSkge1xuICAkbGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlKX0nKTtcbiAgJGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4bGFyZ2UpIHtcbiAgJHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlKX0nKTtcbiAgJHhsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHh4bGFyZ2UpIHtcbiAgJHh4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHh4bGFyZ2UpfScpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2V0IHRoZSB3aWR0aCBvZiBhIGdyaWQgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHdpZHRoIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggdG8gbWFrZSB0aGUgY29sdW1uLiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIHdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1zaXplKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1zaXplXG5AbWl4aW4gZ3JpZC1jb2wtc2l6ZShcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudFxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBsaXN0IG9mIHRoZSBmb3JtYXQgXCJ4IG9mIHlcIiAod2l0aG91dCBxdW90ZXMpIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1zaXplKCRjb2x1bW5zKTtcbiAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcblxuICAvLyBHdXR0ZXJzXG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWd1dHRlcigkZ3V0dGVyczogJGd1dHRlcnMpO1xuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkZ3V0dGVycyBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbi1ndXR0ZXIoKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXJzOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXJzOiAkZ3V0dGVycyk7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyczogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVycyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1yb3coKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXJvd1xuQG1peGluIGdyaWQtY29sLXJvdyhcbiAgJGd1dHRlcnM6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcnMpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgJiwgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgY2xlYXI6IGJvdGg7XG4gICAgfVxuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKS4gRW50ZXIgYSBwb3NpdGl2ZSBvciBuZWdhdGl2ZSBudW1iZXIsIG9yIGNlbnRlci4nO1xuICB9XG59XG5cbi8vLyBSZXNldCBhIHBvc2l0aW9uIGRlZmluaXRpb24uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbiB7XG4gIHBvc2l0aW9uOiBzdGF0aWM7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xufVxuXG4vLy8gT2Zmc2V0cyBhIGNvbHVtbiB0byB0aGUgcmlnaHQgYnkgYCRuYCBjb2x1bW5zLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRuIC0gV2lkdGggdG8gb2Zmc2V0IGJ5LiBZb3UgY2FuIHBhc3MgaW4gYW55IHZhbHVlIGFjY2VwdGVkIGJ5IHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4sIHN1Y2ggYXMgYDZgLCBgNTAlYCwgb3IgYDEgb2YgMmAuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdyaWQtY29sdW1uKCRuKTtcbn1cblxuLy8vIERpc2FibGUgdGhlIGRlZmF1bHQgYmVoYXZpb3Igb2YgdGhlIGxhc3QgY29sdW1uIGluIGEgcm93IGFsaWduaW5nIHRvIHRoZSBvcHBvc2l0ZSBlZGdlLlxuQG1peGluIGdyaWQtY29sdW1uLWVuZCB7XG4gIC8vIFRoaXMgZXh0cmEgc3BlY2lmaWNpdHkgaXMgcmVxdWlyZWQgZm9yIHRoZSBwcm9wZXJ0eSB0byBiZSBhcHBsaWVkXG4gICY6bGFzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICB9XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC1wb3MoJHBvc2l0aW9uKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXBvc2l0aW9uKCRwb3NpdGlvbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bnBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bnBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtdW5wb3Mge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bnBvc2l0aW9uO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tb2Zmc2V0KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1vZmZzZXRcbkBtaXhpbiBncmlkLWNvbC1vZmYoJG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRuKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWVuZCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tZW5kXG5AbWl4aW4gZ3JpZC1jb2wtZW5kIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tZW5kO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gU2l6ZXMgY2hpbGQgZWxlbWVudHMgc28gdGhhdCBgJG5gIG51bWJlciBvZiBpdGVtcyBhcHBlYXIgb24gZWFjaCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgZWxlbWVudHMgdG8gZGlzcGxheSBwZXIgcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWycuY29sdW1uJ10gLSBTZWxlY3RvcihzKSB0byB1c2UgZm9yIGNoaWxkIGVsZW1lbnRzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRndXR0ZXJcbi8vLyAgIFRoZSBndXR0ZXIgdG8gYXBwbHkgdG8gY2hpbGQgZWxlbWVudHMuIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSAkZ3JpZC1jb2x1bW4tZ3V0dGVyIHdpbGwgdXNlIHRoZSB2YWx1ZXMgaW4gdGhlICRncmlkLWNvbHVtbi1ndXR0ZXIgbWFwLCBpbmNsdWRpbmcgYnJlYWtwb2ludCBzaXplcy5cbi8vLyAgIC0gQSBmaXhlZCBudW1lcmljIHZhbHVlIHdpbGwgYXBwbHkgdGhpcyBndXR0ZXIgdG8gYWxsIGJyZWFrcG9pbnRzLlxuQG1peGluIGdyaWQtbGF5b3V0KFxuICAkbixcbiAgJHNlbGVjdG9yOiAnLmNvbHVtbicsXG4gICRndXR0ZXI6IG51bGxcbikge1xuICAmID4gI3skc2VsZWN0b3J9IHtcbiAgICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuICAgIHdpZHRoOiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgLy8gSWYgYSAkZ3V0dGVyIHZhbHVlIGlzIHBhc3NlZFxuICAgIEBpZigkZ3V0dGVyKSB7XG4gICAgICAvLyBHdXR0ZXJzXG4gICAgICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAgICAgJHBhZGRpbmc6IHJlbS1jYWxjKCR2YWx1ZSkgLyAyO1xuXG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKDFuKSB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICB9XG5cbiAgICAmOm50aC1vZi10eXBlKCN7JG59bisxKSB7XG4gICAgICBjbGVhcjogYm90aDtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXh0cmEgQ1NTIHRvIGJsb2NrIGdyaWQgY2hpbGRyZW4gc28gdGhlIGxhc3QgaXRlbXMgaW4gdGhlIHJvdyBjZW50ZXIgYXV0b21hdGljYWxseS4gQXBwbHkgdGhpcyB0byB0aGUgY29sdW1ucywgbm90IHRoZSByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgaXRlbXMgdGhhdCBhcHBlYXIgaW4gZWFjaCByb3cuXG5AbWl4aW4gZ3JpZC1sYXlvdXQtY2VudGVyLWxhc3QoJG4pIHtcbiAgQGZvciAkaSBmcm9tIDEgdG8gJG4ge1xuICAgIEBpZiAkaSA9PSAxIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6ICgxMDAgLSAxMDAvJG4gKiAkaSkgLyAyICogMSU7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICY6bnRoLWNoaWxkKCN7JG59bisxKTpudGgtbGFzdC1jaGlsZCgjeyRpfSkge1xuICAgICAgICBtYXJnaW4tbGVmdDogKDEwMCAtIDEwMC8kbiAqICRpKSAvIDIgKiAxJTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPi08aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgZm9yIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc3R5bGVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zdHlsZXM6IChcbiAgc21hbGw6IChcbiAgICAnaDEnOiAoJ2ZvbnQtc2l6ZSc6IDI0KSxcbiAgICAnaDInOiAoJ2ZvbnQtc2l6ZSc6IDIwKSxcbiAgICAnaDMnOiAoJ2ZvbnQtc2l6ZSc6IDE5KSxcbiAgICAnaDQnOiAoJ2ZvbnQtc2l6ZSc6IDE4KSxcbiAgICAnaDUnOiAoJ2ZvbnQtc2l6ZSc6IDE3KSxcbiAgICAnaDYnOiAoJ2ZvbnQtc2l6ZSc6IDE2KSxcbiAgKSxcbiAgbWVkaXVtOiAoXG4gICAgJ2gxJzogKCdmb250LXNpemUnOiA0OCksXG4gICAgJ2gyJzogKCdmb250LXNpemUnOiA0MCksXG4gICAgJ2gzJzogKCdmb250LXNpemUnOiAzMSksXG4gICAgJ2g0JzogKCdmb250LXNpemUnOiAyNSksXG4gICAgJ2g1JzogKCdmb250LXNpemUnOiAyMCksXG4gICAgJ2g2JzogKCdmb250LXNpemUnOiAxNiksXG4gICksXG4pICFkZWZhdWx0O1xuXG4vLyAkaGVhZGVyLXN0eWxlcyBtYXAgaXMgYnVpbHQgZnJvbSAkaGVhZGVyLXNpemVzIGluIG9yZGVyIHRvIGVuc3VyZSBkb3dud2FyZCBjb21wYXRpYmlsaXR5XG4vLyB3aGVuICRoZWFkZXItc2l6ZXMgaXMgZGVwcmVjaWF0ZWQsICRoZWFkZXItc3R5bGVzIG5lZWRzIHRvIGdldCAhZGVmYXVsdCB2YWx1ZXMgbGlrZSBzZXR0aW5ncy5zY3NzXG5AZnVuY3Rpb24gYnVpbGRfZnJvbV9oZWFkZXItc2l6ZXMoJGhlYWRlci1zaXplcykge1xuICBAd2FybiAnTm90ZSwgdGhhdCAkaGVhZGVyLXNpemVzIGhhcyBiZWVuIHJlcGxhY2VkIHdpdGggJGhlYWRlci1zdHlsZXMuICRoZWFkZXItc2l6ZXMgc3RpbGwgd29ya3MsIGJ1dCBpdCBpcyBnb2luZyB0byBiZSBkZXByZWNpYXRlZC4nO1xuICAkaGVhZGVyLXN0eWxlczogKCk7XG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICAkaGVhZGVyLW1hcDogKCk7XG4gICAgQGVhY2ggJGhlYWRlciwgJGZvbnQtc2l6ZSBpbiAkaGVhZGVycyB7XG4gICAgICAkaGVhZGVyLW1hcDogbWFwLW1lcmdlKCRoZWFkZXItbWFwLCAoJGhlYWRlcjogKCdmb250LXNpemUnOiAkZm9udC1zaXplKSkpOyAgXG4gICAgfVxuICAgICRoZWFkZXItc3R5bGVzOiBtYXAtbWVyZ2UoJGhlYWRlci1zdHlsZXMsICgkc2l6ZTogJGhlYWRlci1tYXApKTtcbiAgfVxuICBAcmV0dXJuICRoZWFkZXItc3R5bGVzO1xufVxuXG4vLyBJZiBpdCBleGlzdHMgJGhlYWRlcnMtc2l6ZXMgaXMgdXNlZCB0byBidWlsZCAkaGVhZGVyLXN0eWxlcy4gU2VlIHRoZSBkb2N1bWVudGF0aW9uLlxuQGlmIHZhcmlhYmxlLWV4aXN0cyhoZWFkZXItc2l6ZXMpIHtcbiAgJGhlYWRlci1zdHlsZXM6IGJ1aWxkX2Zyb21faGVhZGVyLXNpemVzKCRoZWFkZXItc2l6ZXMpO1xufVxuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYDxzbWFsbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHNtYWxsLWZvbnQtc2l6ZTogODAlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYDxzbWFsbD5gIGVsZW1lbnRzIHdoZW4gcGxhY2VkIGluc2lkZSBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IG9mIHRleHQgaW5zaWRlIGA8cD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2QgZm9yIHBhcmFncmFwaCB0ZXh0LlxuLy8vIEB0eXBlIFN0cmluZ1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGNvZGUtZm9udC1mYW1pbHk6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGluIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBMaXN0XG4kY29kZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGFyb3VuZCB0ZXh0IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kY29kZS1wYWRkaW5nOiByZW0tY2FsYygyIDUgMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVvY3JhdGlvbiBmb3IgbGlua3MuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZWNvcmF0aW9uIGZvciBsaW5rcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaHItd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIExpc3RcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBmb3IgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodCAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGl0ZW1zIGluIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbSAhZGVmYXVsdDtcblxuLy8vIEJ1bGxldCB0eXBlIHRvIHVzZSBmb3IgdW5vcmRlcmVkIGxpc3RzIChlLmcuLCBgc3F1YXJlYCwgYGNpcmNsZWAsIGBkaXNjYCkuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS10eXBlOiBkaXNjICFkZWZhdWx0O1xuXG4vLy8gUG9zaXRpb25pbmcgZm9yIGJ1bGxldHMgb24gdW5vcmRlcmVkIGxpc3QgaXRlbXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGxpc3RzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBhIGxpc3QgaW5zaWRlIGEgbGlzdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LW5lc3RlZC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gZm9yIGA8ZGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgZm9yIGA8ZHQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBgPGR0PmAgYW5kIGA8ZGQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSBgPGJsb2NrcXVvdGU+YCBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSkgIWRlZmF1bHQ7XG5cbi8vLyBTaWRlIGJvcmRlciBmb3IgYDxibG9ja3F1b3RlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGJsb2NrcXVvdGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUHNldWRvIGNvbnRlbnQgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNpdGUtcHNldWRvLWNvbnRlbnQ6ICdcXDIwMTQgXFwwMDIwJyAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc7XG4gIH1cblxuICAvLyBFbXBoYXNpemVkIHRleHRcbiAgZW0sXG4gIGkge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFN0cm9uZyB0ZXh0XG4gIHN0cm9uZyxcbiAgYiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgZm9udC13ZWlnaHQ6ICRoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG5cbiAgICBzbWFsbCB7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgfVxuICB9XG5cbiAgLy8gSGVhZGluZyBzdHlsZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc3R5bGVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkaGVhZGVyLWRlZnMgaW4gJGhlYWRlcnMge1xuICAgICAgICAkZm9udC1zaXplLXRlbXA6IDFyZW07XG4gICAgICAgICN7JGhlYWRlcn0ge1xuXG4gICAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRoZWFkZXItZGVmcywgZm9udC1zaXplKSB7XG4gICAgICAgICAgICAkZm9udC1zaXplLXRlbXA6IHJlbS1jYWxjKG1hcC1nZXQoJGhlYWRlci1kZWZzLCBmb250LXNpemUpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBmcykge1xuICAgICAgICAgICAgJGZvbnQtc2l6ZS10ZW1wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgZnMpKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZS10ZW1wO1xuICAgICAgICAgIH0gQGVsc2UgaWYgJHNpemUgPT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAkZm9udC1zaXplLXRlbXA7XG4gICAgICAgICAgfVxuICAgICAgICAgIEBpZiBtYXAtaGFzLWtleSgkaGVhZGVyLWRlZnMsIGxpbmUtaGVpZ2h0KSB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogdW5pdGxlc3MtY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbGluZS1oZWlnaHQpLCAkZm9udC1zaXplLXRlbXApO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBsaCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHVuaXRsZXNzLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIGxoKSwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9IEBlbHNlIGlmICRzaXplID09ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiB1bml0bGVzcy1jYWxjKCRoZWFkZXItbGluZWhlaWdodCwgJGZvbnQtc2l6ZS10ZW1wKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tdG9wKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLXRvcCkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtdCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG10KSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgIH1cbiAgICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYXJnaW4tYm90dG9tKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyhtYXAtZ2V0KCRoZWFkZXItZGVmcywgbWFyZ2luLWJvdHRvbSkpO1xuICAgICAgICAgIH0gQGVsc2UgaWYgbWFwLWhhcy1rZXkoJGhlYWRlci1kZWZzLCBtYikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMobWFwLWdldCgkaGVhZGVyLWRlZnMsIG1iKSk7XG4gICAgICAgICAgfSBAZWxzZSBpZiAkc2l6ZSA9PSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygkaGVhZGVyLW1hcmdpbi1ib3R0b20pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBjbGVhcjogYm90aDtcblxuICAgIG1heC13aWR0aDogJGhyLXdpZHRoO1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG5cbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItYm90dG9tOiAkaHItYm9yZGVyO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJGNpdGUtcHNldWRvLWNvbnRlbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWJici11bmRlcmxpbmU7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICB9XG5cbiAgLy8gRmlndXJlc1xuICBmaWd1cmUge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuICBcbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuXG4gICAgYm9yZGVyOiAkY29kZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcblxuICAgIGZvbnQtZmFtaWx5OiAkY29kZS1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGNvZGUtZm9udC13ZWlnaHQ7XG4gICAgY29sb3I6ICRjb2RlLWNvbG9yO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAka2V5c3Ryb2tlLXBhZGRpbmc7XG5cbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG5cbiAgICBmb250LWZhbWlseTogJGtleXN0cm9rZS1mb250O1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgka2V5c3Ryb2tlLXJhZGl1cykge1xuICAgICAgYm9yZGVyLXJhZGl1czogJGtleXN0cm9rZS1yYWRpdXM7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWhlbHBlcnNcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbGluZSBoZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRvcCBtYXJnaW4gZm9yIHN1YmhoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tdG9wOiAwLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBzdGF0aXN0aWMgbnVtYmVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdGF0LWZvbnQtc2l6ZTogMi41cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWhlbHBlcnMge1xuICAvLyBVc2UgdG8gY3JlYXRlIGEgc3ViaGVhZGluZyB1bmRlciBhIG1haW4gaGVhZGVyXG4gIC8vIE1ha2Ugc3VyZSB5b3UgcGFpciB0aGUgdHdvIGVsZW1lbnRzIGluIGEgPGhlYWRlcj4gZWxlbWVudCwgbGlrZSB0aGlzOlxuICAvLyA8aGVhZGVyPlxuICAvLyAgIDxoMT5IZWFkaW5nPC9oMT5cbiAgLy8gICA8aDI+U3ViaGVhZGluZzwvaDI+XG4gIC8vIDwvaGVhZGVyPlxuICAuc3ViaGVhZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAkc3ViaGVhZGVyLW1hcmdpbi10b3A7XG4gICAgbWFyZ2luLWJvdHRvbTogJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tO1xuXG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG4kcHJpbnQtaHJlZnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNhc3MtbGludDpkaXNhYmxlLWFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIEBpZiAkcHJpbnQtaHJlZnMge1xuICAgICAgYVtocmVmXTphZnRlciB7IGNvbnRlbnQ6ICcgKCcgYXR0cihocmVmKSAnKSc7IH1cbiAgICB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG5cbiAgICAvLyBIZWxwZXIgdG8gcmUtYWxsb3cgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBjZXJ0YWluIGVsZW1lbnRzIChlLmcuIHByZSwgYmxvY2txdW90ZSwgdHIpXG4gICAgLnByaW50LWJyZWFrLWluc2lkZSB7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRpdmUgZm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgd2lkdGggZm9yIGhvbGxvdyBvdXRsaW5lIGJ1dHRvbnNcbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24taG9sbG93LWJvcmRlci13aWR0aDogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXBhbGV0dGU6ICRmb3VuZGF0aW9uLXBhbGV0dGUgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGxpZ2h0bmVzcyBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6IC0yMCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBsaWdodG5lc3Mgb24gaG92ZXIgZm9yIGhvbGxvdyBidXR0b25zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1ob2xsb3ctaG92ZXItbGlnaHRuZXNzOiAtNTAlICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8vIHRyYW5zaXRpb25zIGZvciBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIFRPRE86IERvY3VtZW50IGJ1dHRvbi1iYXNlKCkgbWl4aW5cbkBtaXhpbiBidXR0b24tYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuXG4gIEBpZiAodHlwZS1vZigkYnV0dG9uLXBhZGRpbmcpID09ICdtYXAnKSB7XG4gICAgQGVhY2ggJHNpemUsICRwYWRkaW5nIGluICRidXR0b24tcGFkZGluZyB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgIHBhZGRpbmc6ICRwYWRkaW5nO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgcGFkZGluZzogJGJ1dHRvbi1wYWRkaW5nO1xuICB9XG5cbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHRyYW5zaXRpb246ICRidXR0b24tdHJhbnNpdGlvbjtcblxuICBmb250LXNpemU6IG1hcC1nZXQoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3M6ICRidXR0b24tYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3Ncbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBAaWYgJGJhY2tncm91bmQtaG92ZXIgPT0gYXV0byB7XG4gICAgJGJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRiYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAkYmFja2dyb3VuZC1ob3Zlci1saWdodG5lc3MpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoXG4gICRjb2xvcjogJHByaW1hcnktY29sb3IsXG4gICRob3Zlci1saWdodG5lc3M6ICRidXR0b24taG9sbG93LWhvdmVyLWxpZ2h0bmVzcywgXG4gICRib3JkZXItd2lkdGg6ICRidXR0b24taG9sbG93LWJvcmRlci13aWR0aFxuKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkaG92ZXItbGlnaHRuZXNzKTtcblxuICBib3JkZXI6ICRib3JkZXItd2lkdGggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbi8vLyBAcGFyYW0gW0NvbG9yXSAkYmFja2dyb3VuZCBbJHByaW1hcnktY29sb3JdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgZGlzYWJsZWQgYnV0dG9uLlxuLy8vIEBwYXJhbSBbQ29sb3JdICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBkaXNhYmxlZCBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZChcbiAgJGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRidXR0b24tY29sb3IsICRidXR0b24tY29sb3ItYWx0KSk7XG4gIH1cblxuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJiwgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRyb3Bkb3duIGFycm93IHRvIGEgYnV0dG9uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkc2l6ZSBbMC40ZW1dIC0gU2l6ZSBvZiB0aGUgYXJyb3cuIFdlIHJlY29tbWVuZCB1c2luZyBhbiBgZW1gIHZhbHVlIHNvIHRoZSB0cmlhbmdsZSBzY2FsZXMgd2hlbiB1c2VkIGluc2lkZSBkaWZmZXJlbnQgc2l6ZXMgb2YgYnV0dG9ucy5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgW3doaXRlXSAtIENvbG9yIG9mIHRoZSBhcnJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9mZnNldCBbJGJ1dHRvbi1wYWRkaW5nXSAtIERpc3RhbmNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uLiBEZWZhdWx0cyB0byB3aGF0ZXZlciB0aGUgcmlnaHQgcGFkZGluZyBvZiBhIGJ1dHRvbiBpcy5cbkBtaXhpbiBidXR0b24tZHJvcGRvd24oXG4gICRzaXplOiAwLjRlbSxcbiAgJGNvbG9yOiAkd2hpdGUsXG4gICRvZmZzZXQ6IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpXG4pIHtcbiAgJjo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkc2l6ZSwgJGNvbG9yLCBkb3duKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjRlbTsgLy8gQWxpZ25zIHRoZSBhcnJvdyB3aXRoIHRoZSB0ZXh0IG9mIHRoZSBidXR0b25cblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogI3skZ2xvYmFsLXJpZ2h0fTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KTtcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkYnV0dG9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZCBzdHlsZVxuICAgICYuZGlzYWJsZWQsXG4gICAgJltkaXNhYmxlZF0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRpc2FibGVkO1xuXG4gICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRidXR0b24tcGFsZXR0ZSB7XG4gICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZCgkY29sb3IsIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRidXR0b24tYmFja2dyb3VuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGJ1dHRvbi1wYWxldHRlIHtcbiAgICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJ1dHRvbiB3aXRoIGRyb3Bkb3duIGFycm93IG9ubHlcbiAgICAmLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICAgIHRvcDogLTAuMWVtO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEZvbnQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiBwbGFjZWhvbGRlciB0ZXh0IHdpdGhpbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBGb250XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxNikgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgZm9ybSBidXR0b25zLCBkZWZhdWx0ZWQgdG8gZ2xvYmFsLXJhZGl1cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmb3JtLWJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuXG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQ7XG4gIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3c7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiAkZm9ybS1idXR0b24tcmFkaXVzO1xuICB9XG5cbiAgLy8gUmVzZXQgTm9ybWFsaXplIHNldHRpbmcgY29udGVudC1ib3ggdG8gc2VhcmNoIGVsZW1lbnRzXG4gIGlucHV0W3R5cGU9J3NlYXJjaCddIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgbm8tdmVuZG9yLXByZWZpeFxuXG4gICAgICAmOjotd2Via2l0LWlubmVyLXNwaW4tYnV0dG9uLFxuICAgICAgJjo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby12ZW5kb3ItcHJlZml4XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG5cbiAgZm9udC1zaXplOiAkZm9ybS1sYWJlbC1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkZm9ybS1sYWJlbC1mb250LXdlaWdodDtcbiAgbGluZS1oZWlnaHQ6ICRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0O1xuICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3I7XG59XG5cbkBtaXhpbiBmb3JtLWxhYmVsLW1pZGRsZSB7XG4gICRpbnB1dC1ib3JkZXItd2lkdGg6IGdldC1ib3JkZXItdmFsdWUoJGlucHV0LWJvcmRlciwgd2lkdGgpO1xuXG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkaW5wdXQtcmFkaXVzIDAgMCAkaW5wdXQtcmFkaXVzLCAwICRpbnB1dC1yYWRpdXMgJGlucHV0LXJhZGl1cyAwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAlaW5wdXQtZ3JvdXAtY2hpbGQge1xuICAgIG1hcmdpbjogMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcblxuICAgIGNvbG9yOiAkaW5wdXQtcHJlZml4LWNvbG9yO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1pbi13aWR0aDogMDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbixcbiAgICBsYWJlbCB7XG4gICAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgICB9XG4gIH1cblxuICAvLyBTcGVjaWZpY2l0eSBidW1wIG5lZWRlZCB0byBwcmV2ZW50IG92ZXJyaWRlIGJ5IGJ1dHRvbnNcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZyAqIDAuNTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBtYXJnaW46IDAgMCAkZm9ybS1zcGFjaW5nO1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuXG4gIGFwcGVhcmFuY2U6IG5vbmU7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJHNlbGVjdC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzZWxlY3QtYmFja2dyb3VuZDtcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG5cbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm9yZGVyOiAkaW5wdXQtYm9yZGVyLWZvY3VzO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IGdldC1jb2xvcihhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWVycm9yLWNvbG9yOiBnZXQtY29sb3IoYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWxpZ2h0ZW4gWzEwJV0gLSBMaWdodG5lc3MgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWxpZ2h0ZW46IDEwJVxuKSB7XG4gICY6bm90KDpmb2N1cykge1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWl4KCRiYWNrZ3JvdW5kLCAkd2hpdGUsICRiYWNrZ3JvdW5kLWxpZ2h0ZW4pO1xuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGFjY29yZGlvbiB0aXRsZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYWNjb3JkaW9uLXRpdGxlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIChcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tYmFja2dyb3VuZFxuKSB7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZyxcbiAgJGZvbnQtc2l6ZTogJGFjY29yZGlvbi10aXRsZS1mb250LXNpemUsXG4gICRjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yLFxuICAkYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXJcbikge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkcGFkZGluZztcblxuICBib3JkZXI6ICRib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItYm90dG9tOiAkYm9yZGVyO1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiA1MCU7XG4gICAgICAjeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICdcXDIwMTMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCAoXG4gICRwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZyxcbiAgJGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcixcbiAgJGJhY2tncm91bmQ6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kLFxuICAkY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvclxuKSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gIGJvcmRlcjogJGJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG5cbiAgY29sb3I6ICRjb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBzaXplIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkYWNjb3JkaW9ubWVudS1hcnJvdy1zaXplLCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xICogKCRhY2NvcmRpb25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBBbHRlcm5hdGUgdGV4dCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtY29sb3ItYWx0OiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvcmluZyBjbGFzc2VzLiBBIG1hcCBvZiBjbGFzc2VzIHRvIG91dHB1dCBpbiB5b3VyIENTUywgbGlrZSBgLnNlY29uZGFyeWAsIGAuc3VjY2Vzc2AsIGFuZCBzbyBvbi5cbi8vLyBAdHlwZSBNYXBcbiRiYWRnZS1wYWxldHRlOiAkZm91bmRhdGlvbi1wYWxldHRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtcGFkZGluZzogMC4zZW0gIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGEgYmFkZ2UuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1mb250LXNpemU6IDAuNnJlbSAhZGVmYXVsdDtcblxuLy8vIEdlbmVyYXRlcyB0aGUgYmFzZSBzdHlsZXMgZm9yIGEgYmFkZ2UuXG5AbWl4aW4gYmFkZ2Uge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgZm9udC1zaXplOiAkYmFkZ2UtZm9udC1zaXplO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRiYWRnZS1wYWxldHRlIHtcbiAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRjb2xvciwgKCRiYWRnZS1jb2xvciwgJGJhZGdlLWNvbG9yLWFsdCkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGJyZWFkY3J1bWIgc2xhc2guXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLXNsYXNoLWNvbG9yO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhZ2UgbGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnJlYWRjcnVtYnMge1xuICAuYnJlYWRjcnVtYnMge1xuICAgIEBpbmNsdWRlIGJyZWFkY3J1bWJzLWNvbnRhaW5lcjtcblxuICAgIC5kaXNhYmxlZCB7XG4gICAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnV0dG9uLWdyb3VwXG4vLy8vXG5cbi8vLyBNYXJnaW4gZm9yIGJ1dHRvbiBncm91cHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1zcGFjaW5nOiAxcHggIWRlZmF1bHQ7XG5cbi8vLyBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiAnLmJ1dHRvbicgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBidXR0b25zIHRoYXQgY2FuIGJlIGluIGFuIGV2ZW4td2lkdGggYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZXRlcm1pbmVzIGlmICRidXR0b24tcmFkaXVzIGlzIGFwcGxpZWQgdG8gZWFjaCBidXR0b24gb3IgdGhlIGJ1dHRvbiBncm91cCBhcyBhIHdob2xlLiBVc2UgJGdsb2JhbC1yYWRpdXMgaW4gX3NldHRpbmdzLnNjc3MgdG8gY2hhbmdlIHJhZGl1cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGQgc3R5bGVzIGZvciBhIGJ1dHRvbiBncm91cCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRjaGlsZC1zZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yLFxuICAkc3BhY2luZzogJGJ1dHRvbmdyb3VwLXNwYWNpbmdcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJHNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci10b3AtI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1yaWdodH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzcGFjaW5nIFskYnV0dG9uZ3JvdXAtc3BhY2luZ10gLSBTcGFjaW5nIGJldHdlZW4gYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJHNwYWNpbmc6ICRidXR0b25ncm91cC1zcGFjaW5nLFxuICAkY291bnQ6IG51bGxcbikge1xuICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IC0kc3BhY2luZztcblxuICAgICY6OmJlZm9yZSxcbiAgICAmOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBPbmUgY2hpbGRcbiAgICAgICY6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlXG4gICAgICB9XG5cbiAgICAgIC8vIFR3byBvciBtb3JlIGNoaWxkcmVlblxuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRzcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuXG4gICAgQGlmIG5vdCAkYnV0dG9uZ3JvdXAtcmFkaXVzLW9uLWVhY2gge1xuICAgICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgICAgJjpmaXJzdC1jaGlsZHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLWxlZnR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbi8vLyBVbi1zdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtdW5zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICBAaWYgbm90ICRidXR0b25ncm91cC1yYWRpdXMtb24tZWFjaCB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogMDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS0jeyRnbG9iYWwtbGVmdH0tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgICAgIH1cblxuICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLXRvcC0jeyRnbG9iYWwtcmlnaHR9LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgICAgIGJvcmRlci1ib3R0b20tI3skZ2xvYmFsLXJpZ2h0fS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgICAgICBib3JkZXItYm90dG9tLSN7JGdsb2JhbC1sZWZ0fS1yYWRpdXM6IDA7XG4gICAgICB9XG4gICAgfVxuXG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uLWdyb3VwIHtcbiAgLmJ1dHRvbi1ncm91cCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoIEdyb3VwXG4gICAgJi5leHBhbmRlZCB7IEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1leHBhbmQ7IH1cblxuICAgIC8vIENvbG9yc1xuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICBAaWYgJGJ1dHRvbi1maWxsICE9IGhvbGxvdyB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQsXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCxcbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtc3RhY2s7XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1zbWFsbCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLW1lZGl1bSB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgeyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIGZvcmNlLWVsZW1lbnQtbmVzdGluZ1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAkY2FsbG91dC1tYXJnaW47XG4gIHBhZGRpbmc6ICRjYWxsb3V0LXBhZGRpbmc7XG5cbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xuICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkYmFja2dyb3VuZCwgKCRjYWxsb3V0LWZvbnQtY29sb3IsICRjYWxsb3V0LWZvbnQtY29sb3ItYWx0KSk7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYXJkXG4vLy8vXG5cbi8vLyBEZWZ1YWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FyZHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYXJkLWRpdmlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZS5cbi8vLyBAdHlwZSBMaXN0XG4kY2FyZC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY2FyZCBzaGFkb3cuXG4vLy8gQHR5cGUgTGlzdFxuJGNhcmQtc2hhZG93OiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIExpc3RcbiRjYXJkLWJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhcmQtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luLlxuLy8vIEB0eXBlIG51bWJlclxuJGNhcmQtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNhcmQgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBmb250IGNvbG9yIG9mIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWFyZ2luIC0gQm90dG9tIG1hcmdpbiBvZiB0aGUgY2FyZC5cbi8vLyBAcGFyYW0ge0xpc3R9ICRib3JkZXIgLSBCb3JkZXIgYXJvdW5kIHRoZSBjYXJkLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhZGl1cyAtIGJvcmRlciByYWRpdXMgb2YgdGhlIGNhcmQuXG4vLy8gQHBhcmFtIHtMaXN0fSAkc2hhZG93IC0gYm94IHNoYWRvdyBvZiB0aGUgY2FyZC5cbkBtaXhpbiBjYXJkLWNvbnRhaW5lcihcbiAgJGJhY2tncm91bmQ6ICRjYXJkLWJhY2tncm91bmQsXG4gICRjb2xvcjogJGNhcmQtZm9udC1jb2xvcixcbiAgJG1hcmdpbjogJGNhcmQtbWFyZ2luLFxuICAkYm9yZGVyOiAkY2FyZC1ib3JkZXIsXG4gICRyYWRpdXM6ICRjYXJkLWJvcmRlci1yYWRpdXMsXG4gICRzaGFkb3c6ICRjYXJkLXNoYWRvd1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgfVxuXG4gIG1hcmdpbi1ib3R0b206ICRtYXJnaW47XG5cbiAgYm9yZGVyOiAkYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkc2hhZG93O1xuXG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYXJkIGRpdmlkZXIuXG5AbWl4aW4gY2FyZC1kaXZpZGVyKFxuICAkYmFja2dyb3VuZDogJGNhcmQtZGl2aWRlci1iYWNrZ3JvdW5kLFxuICAkcGFkZGluZzogJGNhcmQtcGFkZGluZ1xuKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG5cbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FyZCBzZWN0aW9uLlxuQG1peGluIGNhcmQtc2VjdGlvbihcbiAgJHBhZGRpbmc6ICRjYXJkLXBhZGRpbmdcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAxIDAgYXV0bztcbiAgfVxuXG4gIHBhZGRpbmc6ICRwYWRkaW5nO1xuXG4gICYgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYXJkIHtcbiAgLmNhcmQge1xuICAgIEBpbmNsdWRlIGNhcmQtY29udGFpbmVyO1xuICB9XG5cbiAgLmNhcmQtZGl2aWRlciB7XG4gICAgQGluY2x1ZGUgY2FyZC1kaXZpZGVyO1xuICB9XG5cbiAgLmNhcmQtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgY2FyZC1zZWN0aW9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAoXG4gIHNtYWxsOiAwLjY2cmVtLFxuICBtZWRpdW06IDFyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldChzKSBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyfE1hcFxuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogKFxuICBzbWFsbDogMC4zM2VtLFxuICBtZWRpdW06IDAuNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZShzKSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlcnxNYXBcbiRjbG9zZWJ1dHRvbi1zaXplOiAoXG4gIHNtYWxsOiAxLjVlbSxcbiAgbWVkaXVtOiAyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cblxuLy8vIEdldCB0aGUgc2l6ZSBhbmQgcG9zaXRpb24gZm9yIGEgY2xvc2UgYnV0dG9uLiBJZiB0aGUgaW5wdXQgdmFsdWUgaXMgYSBudW1iZXIsIHRoZSBudW1iZXIgaXMgcmV0dXJuZWQuIElmIHRoZSBpbnB1dCB2YWx1ZSBpcyBhIGNvbmZpZyBtYXAgYW5kIHRoZSBtYXAgaGFzIHRoZSBrZXkgYCRzaXplYCwgdGhlIHZhbHVlIGlzIHJldHVybmVkLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TWFwfSAkdmFsdWUgLSBBIG51bWJlciBvciBtYXAgdGhhdCByZXByZXNlbnRzIHRoZSBzaXplIG9yIHBvc2l0aW9uIHZhbHVlKHMpIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIFRoZSBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24gdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TnVtYmVyfSBUaGUgZ2l2ZW4gbnVtYmVyIG9yIHRoZSB2YWx1ZSBmb3VuZCBpbiB0aGUgbWFwLlxuQGZ1bmN0aW9uIC16Zi1nZXQtc2l6ZS12YWwoJHZhbHVlLCAkc2l6ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnbnVtYmVyJyB7XG4gICAgLy8gSWYgaXQgaXMsIGp1c3QgcmV0dXJuIHRoZSBudW1iZXJcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENoZWNrIGlmIHRoZSBzaXplIG5hbWUgZXhpc3RzIGluIHRoZSB2YWx1ZSBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJHZhbHVlLCAkc2l6ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIHJldHVybiB0aGUgdmFsdWVcbiAgICBAcmV0dXJuIG1hcC1nZXQoJHZhbHVlLCAkc2l6ZSk7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHNpemUgYW5kIHBvc2l0aW9uIG9mIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgW21lZGl1bV0gLSBUaGUgc2l6ZSB0byB1c2UuIFNldCB0byBgc21hbGxgIHRvIGNyZWF0ZSBhIHNtYWxsIGNsb3NlIGJ1dHRvbi4gVGhlICdtZWRpdW0nIHZhbHVlcyBkZWZpbmVkIGluIGAkY2xvc2VidXR0b24tKmAgdmFyaWFibGVzIHdpbGwgYmUgdXNlZCBhcyB0aGUgZGVmYXVsdCBzaXplIGFuZCBwb3NpdGlvbiBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuQG1peGluIGNsb3NlLWJ1dHRvbi1zaXplKCRzaXplKSB7XG4gICR4OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAxKTtcbiAgJHk6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDIpO1xuXG4gICN7JHh9OiAtemYtZ2V0LXNpemUtdmFsKCRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbCwgJHNpemUpO1xuICAjeyR5fTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsLCAkc2l6ZSk7XG4gIGZvbnQtc2l6ZTogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tc2l6ZSwgJHNpemUpO1xuICBsaW5lLWhlaWdodDogLXpmLWdldC1zaXplLXZhbCgkY2xvc2VidXR0b24tbGluZWhlaWdodCwgJHNpemUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcblxuICAgICYuc21hbGwgeyBAaW5jbHVkZSBjbG9zZS1idXR0b24tc2l6ZShzbWFsbCkgfVxuICAgICYsICYubWVkaXVtIHsgQGluY2x1ZGUgY2xvc2UtYnV0dG9uLXNpemUobWVkaXVtKSB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lbnVcbi8vLy9cblxuLy8vIE1hcmdpbiBvZiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0LWhhbmQgbWFyZ2luIG9mIGEgbmVzdGVkIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgaXRlbXMgaW4gYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gYWN0aXZlIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogZ2V0LWNvbG9yKHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBhbiBob3ZlcmVkIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIGZvciBib3JkZXJlZCBtZW51XG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIG1hcmdpbjogJG1lbnUtbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtcyBhcmUgdGFibGUgY2VsbCB0byBhbGxvdyBmb3IgdmVydGljYWwgYWxpZ25tZW50XG4gID4gbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgc2VsZWN0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIHplcm8tdW5pdFxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgfVxuXG4gID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIGRpcmVjdGlvbiBvZiBhIE1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIFtob3Jpem9udGFsXSAtIERpcmVjdGlvbiBvZiB0aGUgTWVudS4gQ2FuIGJlIGBob3Jpem9udGFsYCBvciBgdmVydGljYWxgLlxuQG1peGluIG1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICA+IGxpICA+IGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnVGhlIGRpcmVjdGlvbiB1c2VkIGZvciBtZW51LWRpcmVjdGlvbigpIG11c3QgYmUgaG9yaXpvbnRhbCBvciB2ZXJ0aWNhbC4nO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc2ltcGxlIE1lbnUsIHdoaWNoIGhhcyBubyBwYWRkaW5nIG9yIGhvdmVyIHN0YXRlLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudS4gU2V0IHRvIGBudWxsYCB0byBkbyBub3QgZ2VuZXJhdGUgc3R5bGVzIGZvciBkaXJlY3Rpb24uXG5AbWl4aW4gbWVudS1zaW1wbGUoJGRpcjogJGdsb2JhbC1sZWZ0KSB7XG4gIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIGEge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICBAaWYgJGRpciAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBtZW51LXNpbXBsZS1kaXJlY3Rpb24oJGRpcik7XG4gIH1cbn1cblxuLy8vIERpcmVjdGlvbiBtb2RpZmllciBmb3IgYSBzaW1wbGUgTWVudVxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbJGdsb2JhbC1sZWZ0XSAtIERpcmVjdGlvbiBvZiB0aGUgbWVudVxuQG1peGluIG1lbnUtc2ltcGxlLWRpcmVjdGlvbigkZGlyOiAkZ2xvYmFsLWxlZnQpIHtcbiAgJG5vLW1hcmdpbi1kaXI6ICRkaXI7XG4gICRtYXJnaW4tZGlyOiBkaXJlY3Rpb24tb3Bwb3NpdGUoJGRpcik7XG5cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRuby1tYXJnaW4tZGlyfTogMDtcbiAgICBtYXJnaW4tI3skbWFyZ2luLWRpcn06IGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgJG1hcmdpbi1kaXIpO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHBhZGRpbmcgW2F1dG9dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG5AbWl4aW4gbWVudS1uZXN0ZWQoJG1hcmdpbjogJG1lbnUtbWFyZ2luLW5lc3RlZCkge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xufVxuXG4vLy8gQWRkcyBzdXBwb3J0IGZvciBpY29ucyB0byBNZW51IGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtzaWRlXSAtIFBvc2l0aW9uaW5nIGZvciBpY29ucy4gQ2FuIGJlIGBzaWRlYCAobGVmdCwgb3IgcmlnaHQgb24gUlRMKSBvciBgdG9wYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgdGhlIHNoYXJlZCBDU1MgYmV0d2VlbiBzaWRlLSBhbmQgdG9wLWFsaWduZWQgaWNvbnMgZnJvbSBiZWluZyBwcmludGVkLiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSdyZSBjYWxsaW5nIHRoZSBtaXhpbiBtdWx0aXBsZSB0aW1lcyBvbiB0aGUgc2FtZSBlbGVtZW50LlxuQG1peGluIG1lbnUtaWNvbnMoJHBvc2l0aW9uOiBzaWRlLCAkYmFzZTogdHJ1ZSkge1xuICBAaWYgJGJhc2Uge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGltZyxcbiAgICAgICAgaSxcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgKyBzcGFuIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBzaWRlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtZW51LWljb24tc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG5cbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjb2xvcjogaW5oZXJpdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVudSB7XG4gIC5tZW51IHtcbiAgICBAaW5jbHVkZSBtZW51LWJhc2U7XG4gICAgQGluY2x1ZGUgbWVudS1pY29ucztcblxuICAgIC8vIERlZmF1bHQgb3JpZW50YXRpb246IGhvcml6b250YWxcbiAgICAmLCAmLmhvcml6b250YWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBtb2RpZmllciBmb3IgaG9yaXpvbnRhbCBvcmllbnRhdGlvblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1leHBhbmQ7XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgb3JpZW50YXRpb24gbW9kaWZpZXJcbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogZmFsc2UpIHtcbiAgICAgICYuI3skLXpmLXNpemV9LWhvcml6b250YWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tZXhwYW5kZWQge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcbiAgICAgIH1cblxuICAgICAgJi4jeyQtemYtc2l6ZX0tdmVydGljYWwge1xuICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2ltcGxlXG4gICAgJi5zaW1wbGUge1xuICAgICAgQGluY2x1ZGUgbWVudS1zaW1wbGU7XG5cbiAgICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlLWRpcmVjdGlvbigkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBpY29uc1xuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XG4gICAgICAvLyBNYWtlIHZlcnRpY2FsIG1lbnUgd2l0aCBpY29ucyBvbiB0b3Agd29ya1xuICAgICAgJi52ZXJ0aWNhbCB7XG4gICAgICAgIGEgPiBzcGFuIHtcbiAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBOZXN0aW5nXG4gICAgJi5uZXN0ZWQge1xuICAgICAgQGluY2x1ZGUgbWVudS1uZXN0ZWQ7XG4gICAgfVxuXG4gICAgLy8gQWN0aXZlIHN0YXRlXG4gICAgLmFjdGl2ZSA+IGEge1xuICAgICAgYmFja2dyb3VuZDogJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAvLyBNZW51IHdpdGggYm9yZGVyXG4gICAgJi5tZW51LWJvcmRlcmVkIHtcbiAgICAgIGxpIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJG1lbnUtYm9yZGVyO1xuICAgICAgICAmOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gTWVudSB3aXRoIGJhY2tncm91bmQgaG92ZXJcbiAgICAmLm1lbnUtaG92ZXIge1xuICAgICAgbGk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVudS1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gQWxpZ24gY2VudGVyXG4gIC5tZW51LWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5tZW51IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiBjZW50ZXIsICR5OiB0b3ApO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4kLXpmLWZsZXgtZGlyZWN0aW9uOiAoXG4gICdyb3cnOiByb3csXG4gICdyb3ctcmV2ZXJzZSc6IHJvdy1yZXZlcnNlLFxuICAnY29sdW1uJzogY29sdW1uLFxuICAnY29sdW1uLXJldmVyc2UnOiBjb2x1bW4tcmV2ZXJzZSxcbik7XG5cbi8vLyBFbmFibGVzIGZsZXhib3ggYnkgYWRkaW5nIGBkaXNwbGF5OiBmbGV4YCB0byB0aGUgZWxlbWVudC5cbkBtaXhpbiBmbGV4IHtcbiAgZGlzcGxheTogZmxleDtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgaXRlbXMgd2l0aGluIGEgZmxleCBjb250YWluZXIuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR4IFtudWxsXSAtIEhvcml6b250YWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGBsZWZ0YCwgYHJpZ2h0YCwgYGNlbnRlcmAsIGBqdXN0aWZ5YCwgb3IgYHNwYWNlZGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCBob3Jpem9udGFsIGFsaWdubWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbigkeDogbnVsbCwgJHk6IG51bGwpIHtcbiAgQGlmICR4IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWp1c3RpZnksICR4KSB7XG4gICAgICAkeDogbWFwLWdldCgkLXpmLWZsZXgtanVzdGlmeSwgJHgpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLXJvdy1hbGlnbigpOiAjeyR4fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgaG9yaXpvbnRhbCBhbGlnbm1lbnQuIFVzZSBsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5LCBvciBzcGFjZWQuJztcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJztcbiAgICB9XG4gIH1cblxuICBhbGlnbi1zZWxmOiAkeTtcbn1cblxuLy8vIENoYW5nZXMgdGhlIHNvdXJjZSBvcmRlciBvZiBhIGZsZXggY2hpbGQuIENoaWxkcmVuIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LW9yZGVyKCRvcmRlcjogMCkge1xuICBvcmRlcjogJG9yZGVyO1xufVxuXG4vLy8gQ2hhbmdlIGZsZXgtZGlyZWN0aW9uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtyb3ddIC0gRmxleCBkaXJlY3Rpb24gdG8gdXNlLiBDYW4gYmVcbi8vLyAgIC0gcm93IChkZWZhdWx0KTogc2FtZSBhcyB0ZXh0IGRpcmVjdGlvblxuLy8vICAgLSByb3ctcmV2ZXJzZTogb3Bwb3NpdGUgdG8gdGV4dCBkaXJlY3Rpb25cbi8vLyAgIC0gY29sdW1uOiBzYW1lIGFzIHJvdyBidXQgdG9wIHRvIGJvdHRvbVxuLy8vICAgLSBjb2x1bW4tcmV2ZXJzZTogc2FtZSBhcyByb3ctcmV2ZXJzZSB0b3AgdG8gYm90dG9tXG5AbWl4aW4gZmxleC1kaXJlY3Rpb24oJGRpcmVjdGlvbjogcm93KSB7XG4gIGZsZXgtZGlyZWN0aW9uOiAkZGlyZWN0aW9uO1xufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJpbGxkb3duIGFycm93IHNpemUgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcmlsbGRvd24tYXJyb3ctc2l6ZTogNnB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJpbGxkb3duIHN1Ym1lbnVzLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnUge1xuICAvLyBBcHBsaWVkIHRvIHRoZSBNZW51IGNvbnRhaW5lclxuICAuaXMtZHJpbGxkb3duIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgICYuYW5pbWF0ZS1oZWlnaHQge1xuICAgICAgdHJhbnNpdGlvbjogaGVpZ2h0IDAuNXM7XG4gICAgfVxuICB9XG5cbiAgLy8gQXBwbGllZCB0byBuZXN0ZWQgPHVsPnNcbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMTAwJTtcbiAgICB6LWluZGV4OiAtMTtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICB9XG4gIH1cblxuICAuZHJpbGxkb3duLXN1Ym1lbnUtY292ZXItcHJldmlvdXMge1xuICAgIG1pbi1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyaWxsZG93bi1hcnJvdy1zaXplLCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEgKiAkZHJpbGxkb3duLWFycm93LXNpemU7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJpbGxkb3duLWFycm93LXNpemUsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuXG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bi1iYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMTA7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHBhZGRpbmc6ICRkcm9wZG93bi1wYWRkaW5nO1xuXG4gIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkZHJvcGRvd24tYmFja2dyb3VuZDtcblxuICBmb250LXNpemU6ICRkcm9wZG93bi1mb250LXNpemU7XG5cbiAgJi5pcy1vcGVuIHtcbiAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyb3Bkb3duIHtcbiAgLmRyb3Bkb3duLXBhbmUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLWNvbnRhaW5lcjtcbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkc2l6ZSBpbiAkZHJvcGRvd24tc2l6ZXMge1xuICAgIC5kcm9wZG93bi1wYW5lLiN7JG5hbWV9IHtcbiAgICAgIHdpZHRoOiAkc2l6ZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyb3Bkb3duLW1lbnVcbi8vLy9cblxuLy8vIEVuYWJsZXMgYXJyb3dzIGZvciBpdGVtcyB3aXRoIGRyb3Bkb3duIG1lbnVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcm9wZG93bm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcm9wZG93biBtZW51IGFycm93IGNvbG9yIGlmIGFycm93IGlzIHVzZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgc2l6ZSBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplOiA2cHggIWRlZmF1bHQ7XG5cbi8vLyBNaW5pbXVtIHdpZHRoIG9mIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtbWluLXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyb3Bkb3ducy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8gQm9yZGVyIHdpZHRoIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLyBVc2VkIHRvIGFkanVzdCB0b3AgbWFyZ2luIG9mIGEgc3ViLW1lbnUgaWYgYSBib3JkZXIgaXMgdXNlZC5cbi8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGg6IG50aCgkZHJvcGRvd25tZW51LWJvcmRlciwgMSk7XG5cbkBtaXhpbiBsZWZ0LXJpZ2h0LWFycm93cyB7XG4gID4gYTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1yaWdodH06IDE0cHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRkcm9wZG93bm1lbnUtYXJyb3ctc2l6ZSwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkZHJvcGRvd25tZW51LWFycm93LXNpemUsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogMS41cmVtO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplLCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMSAqICgkZHJvcGRvd25tZW51LWFycm93LXNpemUgLyAyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IC0xICogJGRyb3Bkb3dubWVudS1hcnJvdy1zaXplO1xuICAgIH1cblxuICAgICYub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG5cbiAgICAgIHRvcDogMTAwJTtcbiAgICAgIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG5cbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXNwb25zaXZlLWVtYmVkXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSByZXNwb25zaXZlIGVtYmVkIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXNwb25zaXZlLWVtYmVkLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEFzcGVjdCByYXRpb3MgdXNlZCB0byBkZXRlcm1pbmUgcGFkZGluZy1ib3R0b20gb2YgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXJzLlxuLy8vIEB0eXBlIE1hcFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zOiAoXG4gIGRlZmF1bHQ6IDQgYnkgMyxcbiAgd2lkZXNjcmVlbjogMTYgYnkgOSxcbikgIWRlZmF1bHQ7XG5cbi8vIFdBUk5JTkc6IFdpbGwgYmUgcmVtb3ZlZCBpbiB2ZXJzaW9uIDYuNFxuJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW86IGRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcmVzcG9uc2l2ZSBlbWJlZCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtTdHJpbmd8TGlzdH0gJHJhdGlvIFtkZWZhdWx0XSAtIFJhdGlvIG9mIHRoZSBjb250YWluZXIuIENhbiBiZSBhIGtleSBmcm9tIHRoZSBgJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zYCBtYXAgb3IgYSBsaXN0IGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCkge1xuICBAaWYgdHlwZS1vZigkcmF0aW8pID09ICdzdHJpbmcnIHtcbiAgICAkcmF0aW86IG1hcC1nZXQoJHJlc3BvbnNpdmUtZW1iZWQtcmF0aW9zLCAkcmF0aW8pO1xuICB9XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkcmVzcG9uc2l2ZS1lbWJlZC1tYXJnaW4tYm90dG9tO1xuICBwYWRkaW5nLWJvdHRvbTogcmF0aW8tdG8tcGVyY2VudGFnZSgkcmF0aW8pO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkIHtcbiAgLnJlc3BvbnNpdmUtZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHtcbiAgICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbzogZGVmYXVsdCk7XG5cbiAgICAkcmF0aW9zOiBtYXAtcmVtb3ZlKCRyZXNwb25zaXZlLWVtYmVkLXJhdGlvcyxkZWZhdWx0KTtcblxuICAgIEBlYWNoICRuYW1lLCAkcmF0aW8gaW4gJHJhdGlvcyB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJhdGlvLXRvLXBlcmNlbnRhZ2UoJHJhdGlvKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC12aWRlbyB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZvdW5kYXRpb24tcmVzcG9uc2l2ZS1lbWJlZCgpLiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjQuJztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXNwb25zaXZlLWVtYmVkO1xufVxuXG5AbWl4aW4gZmxleC12aWRlbygkcmF0aW86ICRyZXNwb25zaXZlLWVtYmVkLXJhdGlvKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IHJlc3BvbnNpdmUtZW1iZWQoKS4gZmxleC12aWRlbygpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuNC4nO1xuICBAaW5jbHVkZSByZXNwb25zaXZlLWVtYmVkKCRyYXRpbyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIEZpbmRzIHRoZSBncmVhdGVzdCBjb21tb24gZGl2aXNvciBvZiB0d28gaW50ZWdlcnMuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGEgLSBGaXJzdCBudW1iZXIgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGIgLSBTZWNvbmQgbnVtYmVyIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgZ3JlYXRlc3QgY29tbW9uIGRpdmlzb3IuXG5AZnVuY3Rpb24gZ2NkKCRhLCAkYikge1xuICAvLyBGcm9tOiBodHRwOi8vcm9zZXR0YWNvZGUub3JnL3dpa2kvR3JlYXRlc3RfY29tbW9uX2Rpdmlzb3IjSmF2YVNjcmlwdFxuICBAaWYgKCRiICE9IDApIHtcbiAgICBAcmV0dXJuIGdjZCgkYiwgJGEgJSAkYik7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gYWJzKCRhKTtcbiAgfVxufVxuXG4vLy8gSGFuZGxlcyBkZWNpbWFsIGV4cG9uZW50cyBieSB0cnlpbmcgdG8gY29udmVydCB0aGVtIGludG8gYSBmcmFjdGlvbiBhbmQgdGhlbiB1c2UgYSBudGgtcm9vdC1hbGdvcml0aG0gZm9yIHBhcnRzIG9mIHRoZSBjYWxjdWxhdGlvblxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIC0gVGhlIGJhc2UgbnVtYmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZXhwb25lbnQgLSBUaGUgZXhwb25lbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgcHJvZHVjdCBvZiB0aGUgZXhwb25lbnRpYXRpb24uXG5AZnVuY3Rpb24gcG93KCRiYXNlLCAkZXhwb25lbnQsICRwcmVjOiAxNikge1xuICBAaWYgKGZsb29yKCRleHBvbmVudCkgIT0gJGV4cG9uZW50KSB7XG4gICAgJHByZWMyIDogcG93KDEwLCAkcHJlYyk7XG4gICAgJGV4cG9uZW50OiByb3VuZCgkZXhwb25lbnQgKiAkcHJlYzIpO1xuICAgICRkZW5vbWluYXRvcjogZ2NkKCRleHBvbmVudCwgJHByZWMyKTtcbiAgICBAcmV0dXJuIG50aC1yb290KHBvdygkYmFzZSwgJGV4cG9uZW50IC8gJGRlbm9taW5hdG9yKSwgJHByZWMyIC8gJGRlbm9taW5hdG9yLCAkcHJlYyk7XG4gIH1cblxuICAkdmFsdWU6ICRiYXNlO1xuICBAaWYgJGV4cG9uZW50ID4gMSB7XG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkZXhwb25lbnQge1xuICAgICAgJHZhbHVlOiAkdmFsdWUgKiAkYmFzZTtcbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGV4cG9uZW50IDwgMSB7XG4gICAgQGZvciAkaSBmcm9tIDAgdGhyb3VnaCAtJGV4cG9uZW50IHtcbiAgICAgICR2YWx1ZTogJHZhbHVlIC8gJGJhc2U7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG5cbkBmdW5jdGlvbiBudGgtcm9vdCgkbnVtLCAkbjogMiwgJHByZWM6IDEyKSB7XG4gIC8vIEZyb206IGh0dHA6Ly9yb3NldHRhY29kZS5vcmcvd2lraS9OdGhfcm9vdCNKYXZhU2NyaXB0XG4gICR4OiAxO1xuXG4gIEBmb3IgJGkgZnJvbSAwIHRocm91Z2ggJHByZWMge1xuICAgICR4OiAxIC8gJG4gKiAoKCRuIC0gMSkgKiAkeCArICgkbnVtIC8gcG93KCR4LCAkbiAtIDEpKSk7XG4gIH1cblxuICBAcmV0dXJuICR4O1xufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgaGVpZ2h0IGFzIGEgcGVyY2VudGFnZSBvZiB0aGUgd2lkdGggZm9yIGEgZ2l2ZW4gcmF0aW8uXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSBmb3IgdGhlIGhlaWdodCByZWxhdGl2ZSB0byB0aGUgd2lkdGggb2YgYSByZXNwb25zaXZlIGNvbnRhaW5lci5cbkBmdW5jdGlvbiByYXRpby10by1wZXJjZW50YWdlKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGxhYmVsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQWx0ZXJuYXRlIHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JpbmcgY2xhc3Nlcy4gQSBtYXAgb2YgY2xhc3NlcyB0byBvdXRwdXQgaW4geW91ciBDU1MsIGxpa2UgYC5zZWNvbmRhcnlgLCBgLnN1Y2Nlc3NgLCBhbmQgc28gb24uXG4vLy8gQHR5cGUgTWFwXG4kbGFiZWwtcGFsZXR0ZTogJGZvdW5kYXRpb24tcGFsZXR0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xuXG4gIGZvbnQtc2l6ZTogJGxhYmVsLWZvbnQtc2l6ZTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tbGFiZWwge1xuICAubGFiZWwge1xuICAgIEBpbmNsdWRlIGxhYmVsO1xuXG4gICAgYmFja2dyb3VuZDogJGxhYmVsLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRsYWJlbC1jb2xvcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGxhYmVsLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRjb2xvcjtcbiAgICAgICAgY29sb3I6IGNvbG9yLXBpY2stY29udHJhc3QoJGNvbG9yLCAoJGxhYmVsLWNvbG9yLCAkbGFiZWwtY29sb3ItYWx0KSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZWRpYS1vYmplY3Rcbi8vLy9cblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IGFuZCByaWdodCBwYWRkaW5nIG9uIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIFdpZHRoIG9mIGltYWdlcyB3aXRoaW4gYSBtZWRpYSBvYmplY3QsIHdoZW4gdGhlIG9iamVjdCBpcyBzdGFja2VkIHZlcnRpY2FsbHkuIFNldCB0byAnYXV0bycgdG8gdXNlIHRoZSBpbWFnZSdzIG5hdHVyYWwgd2lkdGguXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1lZGlhIG9iamVjdCBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHNlY3Rpb25zIHdpdGhpbiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRpbmcgWyRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmddIC0gUGFkZGluZyBiZXR3ZWVuIHNlY3Rpb25zLlxuQG1peGluIG1lZGlhLW9iamVjdC1zZWN0aW9uKCRwYWRkaW5nOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nKSB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXg6IDAgMSBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gIH1cblxuICAmOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICRwYWRkaW5nO1xuICB9XG5cbiAgJjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtbGVmdH06ICRwYWRkaW5nO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgdG8gc3RhY2sgc2VjdGlvbnMgb2YgYSBtZWRpYSBvYmplY3QuIEFwcGx5IHRoaXMgdG8gdGhlIHNlY3Rpb24gZWxlbWVudHMsIG5vdCB0aGUgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1zdGFjayB7XG4gIHBhZGRpbmc6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAkbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG4gIEBlbHNlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6ICRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdCB7XG4gIC5tZWRpYS1vYmplY3Qge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1jb250YWluZXI7XG5cbiAgICBpbWcge1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgIH1cblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zdGFjaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgIEBpbmNsdWRlIG1lZGlhLW9iamVjdC1zZWN0aW9uO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7IC8vIHNhc3MtbGludDpkaXNhYmxlLWxpbmUgemVyby11bml0XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYSBsZWZ0L3JpZ2h0IG9mZi1jYW52YXMgcGFuZWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgdG9wL2JvdHRvbSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy12ZXJ0aWNhbC1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgZm9yIHRoZSBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG9mZmNhbnZhcy1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjcpICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHdpdGggdGhlIGBwdXNoYCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1wdXNoLXppbmRleDogMSAhZGVmYXVsdDtcblxuLy8vIFotaW5kZXggb2YgYW4gb2ZmLWNhbnZhcyBwYW5lbCB3aXRoIHRoZSBgb3ZlcmxhcGAgdHJhbnNpdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtb3ZlcmxhcC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIHBhbmVsIHVzaW5nIHRoZSBgcmV2ZWFsLWZvci0qYCBjbGFzc2VzIG9yIG1peGluLlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4OiAxICFkZWZhdWx0O1xuXG4vLy8gTGVuZ3RoIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBwYW5lbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIHBhbmVsLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbi8vLyBAdHlwZSBCb29sXG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBvdmVybGF5IHRoYXQgYXBwZWFycyB3aGVuIGFuIG9mZi1jYW52YXMgcGFuZWwgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgY29udGVudC5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBIaWRlcyBvdmVyZmxvdyBvbiBib2R5IHdoZW4gYW4gb2ZmLWNhbnZhcyBwYW5lbCBpcyBvcGVuLlxuICAuaXMtb2ZmLWNhbnZhcy1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtb3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmcsIHZpc2liaWxpdHkgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuXG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG5cbiAgICBvcGFjaXR5OiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zYWJsZSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgJi5pcy1vdmVybGF5LWFic29sdXRlIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB9XG4gICAgXG4gICAgJi5pcy1vdmVybGF5LWZpeGVkIHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cblxuLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgd3JhcHBlci5cbkBtaXhpbiBvZmYtY2FudmFzLXdyYXBwZXIoKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtYmFzZShcbiAgJGJhY2tncm91bmQ6ICRvZmZjYW52YXMtYmFja2dyb3VuZCxcbiAgJHRyYW5zaXRpb246ICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZyxcbiAgJGZpeGVkOiB0cnVlXG4pIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gIEBpZiAkZml4ZWQgPT0gdHJ1ZSB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICB6LWluZGV4OiAkb2ZmY2FudmFzLXB1c2gtemluZGV4O1xuXG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkdHJhbnNpdGlvbjtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kO1xuXG4gIC8vIE92ZXJsYXAgb25seSBzdHlsZXMuXG4gICYuaXMtdHJhbnNpdGlvbi1vdmVybGFwIHtcbiAgICB6LWluZGV4OiAkb2ZmY2FudmFzLW92ZXJsYXAtemluZGV4O1xuXG4gICAgJi5pcy1vcGVuIHtcbiAgICAgIGJveC1zaGFkb3c6ICRvZmZjYW52YXMtc2hhZG93O1xuICAgIH1cbiAgfVxuXG4gIC8vIFNldHMgdHJhbnNmb3JtIHRvIDAgdG8gc2hvdyBhbiBvZmYtY2FudmFzIHBhbmVsLlxuICAmLmlzLW9wZW4ge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIDApO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBwb3NpdGlvbiBhbiBvZmYtY2FudmFzIHBhbmVsIHRvIHRoZSBsZWZ0L3JpZ2h0L3RvcC9ib3R0b20uXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkb3JpZW50YXRpb246IGhvcml6b250YWwsXG4gICRzaXplOiBpZigkb3JpZW50YXRpb24gPT0gaG9yaXpvbnRhbCwgJG9mZmNhbnZhcy1zaXplLCAkb2ZmY2FudmFzLXZlcnRpY2FsLXNpemUpXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHRvcDogMDtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogJHNpemU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuXG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKCRzaXplKTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtJHNpemUpO1xuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcblxuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHNpemU7XG5cbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgLy8gU2V0cyB0aGUgb3BlbiBwb3NpdGlvbiBmb3IgdGhlIGNvbnRlbnRcbiAgICAmLmlzLW9wZW4gfiAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgIGJvdHRvbTogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAkc2l6ZTtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgkc2l6ZSk7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIC8vIFNldHMgdGhlIG9wZW4gcG9zaXRpb24gZm9yIHRoZSBjb250ZW50XG4gICAgJi5pcy1vcGVuIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLSRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiAkb2ZmY2FudmFzLXNoYWRvdyBpcyBzZXQsIGFkZCBpdCBhcyBhIHBzZXVkby1lbGVtZW50LlxuICAvLyBUaGlzIG1pbWljcyB0aGUgb2ZmLWNhbnZhcyBwYW5lbCBoYXZpbmcgYSBsb3dlciB6LWluZGV4LCB3aXRob3V0IGhhdmluZyB0byBoYXZlIG9uZS5cbiAgQGlmICRvZmZjYW52YXMtc2hhZG93IHtcbiAgICAmLmlzLXRyYW5zaXRpb24tcHVzaDo6YWZ0ZXIge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcblxuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBsZWZ0OiAwO1xuXG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICAgIEBlbHNlIGlmICRwb3NpdGlvbiA9PSBib3R0b20ge1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIGxlZnQ6IDA7XG5cbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgfVxuXG4gICAgICBib3gtc2hhZG93OiAkb2ZmY2FudmFzLXNoYWRvdztcbiAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgIH1cbiAgfVxuXG4gIC8vIE5vIHRyYW5zZm9ybSBvbiBvdmVybGFwIHRyYW5zaXRpb25cbiAgJi5pcy10cmFuc2l0aW9uLW92ZXJsYXAuaXMtb3BlbiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgc3R5bGVzIGZvciB0aGUgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gb2ZmLWNhbnZhcy1jb250ZW50KCkge1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIHBhbmVsLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuJHBvc2l0aW9uOiBsZWZ0LFxuJHppbmRleDogJG9mZmNhbnZhcy1yZXZlYWwtemluZGV4LFxuJGNvbnRlbnQ6ICRtYWluY29udGVudC1jbGFzc1xuKSB7XG4gIHRyYW5zZm9ybTogbm9uZTtcbiAgei1pbmRleDogJHppbmRleDtcblxuICBAaWYgbm90ICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIH1cblxuICAmIH4gLiN7JGNvbnRlbnR9IHtcbiAgICBtYXJnaW4tI3skcG9zaXRpb259OiAkb2ZmY2FudmFzLXNpemU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb2ZmLWNhbnZhcyB7XG4gIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzaWNzO1xuXG4gIC8vIE9mZi1jYW52YXMgd3JhcHBlclxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXdyYXBwZXI7XG4gIH1cblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXIgd2l0aCBhYnNvbHV0ZSBwb3NpdGlvblxuICAub2ZmLWNhbnZhcy1hYnNvbHV0ZSB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlKCRmaXhlZDogZmFsc2UpO1xuICB9XG5cbiAgLy8gT2ZmLWNhbnZhcyBwb3NpdGlvbiBjbGFzc2VzXG4gIC5wb3NpdGlvbi1sZWZ0ICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0LCAgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi1yaWdodCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCwgIGhvcml6b250YWwpOyB9XG4gIC5wb3NpdGlvbi10b3AgICAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbih0b3AsICAgIHZlcnRpY2FsKTsgfVxuICAucG9zaXRpb24tYm90dG9tICB7IEBpbmNsdWRlIG9mZi1jYW52YXMtcG9zaXRpb24oYm90dG9tLCB2ZXJ0aWNhbCk7IH1cblxuICAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBvZmYtY2FudmFzLWNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXZlYWwgb2ZmLWNhbnZhcyBwYW5lbCBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi10b3AucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwodG9wKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1ib3R0b20ucmV2ZWFsLWZvci0jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1yZXZlYWwoYm90dG9tKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvcmJpdFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYWN0aXZlIGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpYW1ldGVyIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBiZXR3ZWVuIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luOiAwLjFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRpc3RhbmNlIGZyb20gc2xpZGUgcmVnaW9uIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi10b3A6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmcm9tIE9yYml0J3MgYnVsbGV0cyB0byB3aGF0ZXZlciBjb250ZW50IG1heSBsdXJrIGJlbG93IGl0LlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY2FwdGlvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIE9yYml0J3MgY29udHJvbHMgd2hlbiBob3ZlcmVkLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHotaW5kZXggZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBvdXRlciBPcmJpdCB3cmFwcGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXRgIGNsYXNzLlxuQG1peGluIG9yYml0LXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIE9yYml0IHNsaWRlIGNvbnRhaW5lci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNvbnRhaW5lcmAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDA7IC8vIFByZXZlbnQgRk9VQyBieSBub3Qgc2hvd2luZyB1bnRpbCBKUyBzZXRzIGhlaWdodFxuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGluZGl2aWR1YWwgc2xpZGVzIG9mIGFuIE9yYml0IHNsaWRlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXNsaWRlYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuXG4gICYubm8tbW90aW9udWkge1xuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBvcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzbGlkZSBjb250YWluaW5nIGFuIGltYWdlLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtaW1hZ2VgIGNsYXNzLlxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ7XG4gIGNvbG9yOiBjb2xvci1waWNrLWNvbnRyYXN0KCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuXG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vcmJpdCB7XG4gIC5vcmJpdCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtd3JhcHBlcjtcbiAgfVxuXG4gIC5vcmJpdC1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRhaW5lcjtcbiAgfVxuXG4gIC5vcmJpdC1zbGlkZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtc2xpZGU7XG4gIH1cblxuICAub3JiaXQtZmlndXJlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1maWd1cmU7XG4gIH1cblxuICAub3JiaXQtaW1hZ2Uge1xuICAgIEBpbmNsdWRlIG9yYml0LWltYWdlO1xuICB9XG5cbiAgLm9yYml0LWNhcHRpb24ge1xuICAgIEBpbmNsdWRlIG9yYml0LWNhcHRpb247XG4gIH1cblxuICAlb3JiaXQtY29udHJvbCB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udHJvbDtcbiAgfVxuXG4gIC5vcmJpdC1wcmV2aW91cyB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1wcmV2aW91cztcbiAgfVxuXG4gIC5vcmJpdC1uZXh0IHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LW5leHQ7XG4gIH1cblxuICAub3JiaXQtYnVsbGV0cyB7XG4gICAgQGluY2x1ZGUgb3JiaXQtYnVsbGV0cztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcGFnaW5hdGlvblxuLy8vL1xuXG4vLy8gRm9udCBzaXplIG9mIHBhZ2luYXRpb24gaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBvZiB0aGUgcGFnaW5hdGlvbiBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRoZSBlbGxpcHNpcyBpbiBhIHBhZ2luYXRpb24gbWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIElmIGBmYWxzZWAsIGRvbid0IGRpc3BsYXkgcGFnZSBudW1iZXIgbGlua3Mgb24gbW9iaWxlLCBvbmx5IG5leHQvcHJldmlvdXMgbGlua3Ncbi8vLyBhbmQgb3B0aW9uYWxseSBjdXJyZW50IHBhZ2UgbnVtYmVyLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGRpc3BsYXkgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgb24gbW9iaWxlIGV2ZW4gaWYgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtc2AgaXMgc2V0IHRvIGBmYWxzZWAuXG4vLy8gVGhpcyBwYXJhbWV0ZXIgd2lsbCBvbmx5IG92ZXJyaWRlIHRoZSB2aXNpYmlsaXR5IHNldHRpbmcgb2YgdGhlIGN1cnJlbnQgaXRlbSBmb3IgYCRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7YCxcbi8vLyBpdCB3aWxsIG5vdCBhZmZlY3QgdGhlIGN1cnJlbnQgcGFnZSBudW1iZXIgdmlzaWJpbGl0eSB3aGVuIGAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXNgIGlzIHNldCB0byBgdHJ1ZWAuXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbTogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIgKFxuICAkbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbSxcbiAgJGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplLFxuICAkc3BhY2luZzogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nLFxuICAkcmFkaXVzOiAkcGFnaW5hdGlvbi1yYWRpdXMsXG4gICRjb2xvcjogJHBhZ2luYXRpb24taXRlbS1jb2xvcixcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlclxuKSB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICBtYXJnaW4tYm90dG9tOiAkbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkc3BhY2luZztcbiAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaWYgJHBhZ2luYXRpb24tbW9iaWxlLWN1cnJlbnQtaXRlbSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZGRpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGJhY2tncm91bmQtY3VycmVudDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQsXG4gICRjb2xvci1jdXJyZW50OiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnRcbikge1xuICBwYWRkaW5nOiAkcGFkZGluZztcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRjb2xvci1jdXJyZW50O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBkaXNhYmxlZCBwYWdpbmF0aW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gYW4gYDxhPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkIChcbiAgJHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZyxcbiAgJGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbG9yOiAkY29sb3I7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMgKFxuICAkcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nLFxuICAkY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yXG4pIHtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG4gIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICBjb2xvcjogJGNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNXJlbTtcbiAgICAgIGNvbnRlbnQ6ICdcXDAwYWInO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMC41cmVtO1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG5cbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcblxuICBib3JkZXItcmFkaXVzOiAkc2xpZGVyLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBzY2FsZS1jb2xvcigkc2xpZGVyLWhhbmRsZS1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKTtcbiAgfVxuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuQG1peGluIHNsaWRlci1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRzbGlkZXItb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuQG1peGluIHNsaWRlci12ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gIGhlaWdodDogMTIuNXJlbTtcbiAgbWFyZ2luOiAwIDEuMjVyZW07XG4gIHRyYW5zZm9ybTogc2NhbGUoMSwgLTEpO1xuXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zbGlkZXIge1xuICAvLyBDb250YWluZXJcbiAgLnNsaWRlciB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIEZpbGwgYXJlYVxuICAuc2xpZGVyLWZpbGwge1xuICAgIEBpbmNsdWRlIHNsaWRlci1maWxsO1xuICB9XG5cbiAgLy8gRHJhZ2dhYmxlIGhhbmRsZVxuICAuc2xpZGVyLWhhbmRsZSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWhhbmRsZTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gIC5zbGlkZXIuZGlzYWJsZWQsXG4gIC5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBWZXJ0aWNhbCBzbGlkZXJcbiAgLnNsaWRlci52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gUlRMIHN1cHBvcnRcbiAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsIHtcbiAgICAuc2xpZGVyOm5vdCgudmVydGljYWwpIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoLTEsIDEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN0aWNreSB7XG4gIC5zdGlja3ktY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIH1cblxuICAuc3RpY2t5IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICB9XG5cbiAgLnN0aWNreS5pcy1zdHVjayB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLmlzLWF0LXRvcCB7XG4gICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC5zdGlja3kuaXMtYW5jaG9yZWQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuXG4gICAgJi5pcy1hdC1ib3R0b20ge1xuICAgICAgYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgcmV2ZWFsXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHdpZHRoIG9mIGEgbW9kYWwsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtd2lkdGg6IDYwMHB4ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXhpbXVtIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYXJvdW5kIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHotaW5kZXggZm9yIG1vZGFscy4gVGhlIG92ZXJsYXkgdXNlcyB0aGlzIHZhbHVlLCB3aGlsZSB0aGUgbW9kYWwgaXRzZWxmIHVzZXMgdGhpcyB2YWx1ZSBwbHVzIG9uZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtemluZGV4OiAxMDA1ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBtb2RhbCBvdmVybGF5cy5cbi8vLyBAdHlwZSBDb2xvclxuJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjQ1KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIG1vZGFsIG92ZXJsYXkuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIG92ZXJsYXkuXG5AbWl4aW4gcmV2ZWFsLW92ZXJsYXkoJGJhY2tncm91bmQ6ICRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kKSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICByaWdodDogMDtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcblxuICBkaXNwbGF5OiBub25lO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICAvLyBXb3JrYXJvdW5kIGFuZHJvaWQgYnJvd3NlciB6LWluZGV4IGJ1Z1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuXG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4ge1xuICAgIG1pbi13aWR0aDogMDtcbiAgfVxuXG4gIC8vIFN0cmlwIG1hcmdpbnMgZnJvbSB0aGUgbGFzdCBpdGVtIGluIHRoZSBtb2RhbFxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGp1c3RzIHRoZSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggLSBXaWR0aCBvZiB0aGUgbW9kYWwuIEdlbmVyYWxseSBhIHBlcmNlbnRhZ2UuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRtYXgtd2lkdGggWyRyZXZlYWwtbWF4LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIG1vZGFsLlxuQG1peGluIHJldmVhbC1tb2RhbC13aWR0aChcbiAgJHdpZHRoOiAkcmV2ZWFsLXdpZHRoLFxuICAkbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aFxuKSB7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgQGV4dGVuZCAlcmV2ZWFsLWNlbnRlcmVkO1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgbWF4LXdpZHRoOiAkcmV2ZWFsLW1heC13aWR0aDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtc2NyZWVuIG1vZGFsLCB3aGljaCBzdHJldGNoZXMgdGhlIGZ1bGwgd2lkdGggYW5kIGhlaWdodCBvZiB0aGUgd2luZG93LlxuQG1peGluIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuIHtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuXG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1kdXBsaWNhdGUtcHJvcGVydGllc1xuICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgYm9yZGVyOiAwO1xuICBib3JkZXItcmFkaXVzOiAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1yZXZlYWwge1xuICAvLyBbVE9ET10gSXMgdGhpcyBuZWNlc3Nhcnk/XG4gIGJvZHkuaXMtcmV2ZWFsLW9wZW4geyAvLyBzYXNzLWxpbnQ6ZGlzYWJsZS1saW5lIG5vLXF1YWxpZnlpbmctZWxlbWVudHNcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLy8gaHRtbCBnZXRzIHRoaXMgY2xhc3Mgb25seSBpbiBpT1NcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbixcbiAgaHRtbC5pcy1yZXZlYWwtb3BlbiBib2R5IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcblxuICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgb3BhY2l0eTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHN3aXRjaC1wYWRkbGUtb2Zmc2V0ICogMik7XG4gICRwYWRkbGUtd2lkdGg6ICRzd2l0Y2gtaGVpZ2h0IC0gKCRzd2l0Y2gtcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWFjdGl2ZS1vZmZlc3Q6ICRzd2l0Y2gtd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuXG4gIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcmFkaXVzO1xuICBiYWNrZ3JvdW5kOiAkc3dpdGNoLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb247XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuXG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAvLyBOZWVkZWQgdG8gb3ZlcnJpZGUgc3BlY2lmaWNpdHlcbiAgaW5wdXQgKyAmIHtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICAvLyBUaGUgcGFkZGxlIGl0c2VsZlxuICAmOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHN3aXRjaC1wYWRkbGUtb2Zmc2V0O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcblxuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICBjb250ZW50OiAnJztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtYWN0aXZlLW9mZmVzdDtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHN3aXRjaC1oZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS1vZmZzZXQgWzAuMjVyZW1dIC0gU3BhY2luZyBiZXR3ZWVuIHRoZSBzd2l0Y2ggcGFkZGxlIGFuZCB0aGUgZWRnZSBvZiB0aGUgc3dpdGNoIGJvZHkuXG5AbWl4aW4gc3dpdGNoLXNpemUoXG4gICRmb250LXNpemU6IDFyZW0sXG4gICRzd2l0Y2gtaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLW9mZnNldDogMC4yNXJlbVxuKSB7XG5cbiAgJHN3aXRjaC13aWR0aDogJHN3aXRjaC1oZWlnaHQgKiAyO1xuICAkcGFkZGxlLXdpZHRoOiAkc3dpdGNoLWhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWhlaWdodDogJHN3aXRjaC1oZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1hY3RpdmUtb2ZmZXN0OiAkc3dpdGNoLXdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkc3dpdGNoLXdpZHRoO1xuICAgIGhlaWdodDogJHN3aXRjaC1oZWlnaHQ7XG4gICAgZm9udC1zaXplOiAkZm9udC1zaXplO1xuICB9XG5cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICB0b3A6ICRwYWRkbGUtb2Zmc2V0O1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1vZmZzZXQ7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1hY3RpdmUtb2ZmZXN0O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXN3aXRjaCB7XG4gIC8vIENvbnRhaW5lciBjbGFzc1xuICAuc3dpdGNoIHtcbiAgICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgJHN3aXRjaC1oZWlnaHQtc21hbGwsICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cblxuICAuc3dpdGNoLmxhcmdlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtc2l6ZShyZW0tY2FsYygxNiksICRzd2l0Y2gtaGVpZ2h0LWxhcmdlLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8gc2Fzcy1saW50OmRpc2FibGUgZm9yY2UtZWxlbWVudC1uZXN0aW5nLCBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFibGVcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIHRhYmxlIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGUgICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSBzdHJpcGVkIHRhYmxlIHJvd3MgYW5kIHRoZSB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtY29sb3Itc2NhbGU6IDUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzdHlsZSBmb3IgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1ib3JkZXI6IDFweCBzb2xpZCBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFibGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFibGUtaG92ZXItc2NhbGU6IDIlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdGFuZGFyZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RyaXBlZCByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIExpc3RcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIHRhYmxlcyBhcmUgc3RyaXBlZCBieSBkZWZhdWx0IGFuZCBhbiAudW5zdHJpcGVkIGNsYXNzIGlzIGNyZWF0ZWQuIElmIGBmYWxzZWAsIGEgLnN0cmlwZWQgY2xhc3MgaXMgY3JlYXRlZC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kdGFibGUtaXMtc3RyaXBlZDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBoZWFkZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtaGVhZC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtaGVhZC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBmb290ZXIgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtZm9vdC1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtZm9vdC1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGZvb3Rlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdHIge1xuICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gZXZlbiwgZGFya2VuIHRoZSBldmVuIHJvd3MuXG4gICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBvZGQsIGRhcmtlbiB0aGUgb2RkIHJvd3MuXG4gICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiAtemYtdGFibGUtdW5zdHJpcGUoKSB7XG4gIHRyIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICR0YWJsZS1ib3JkZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLWJhY2tncm91bmQ7XG4gIH1cbn1cblxuQG1peGluIC16Zi10YWJsZS1jaGlsZHJlbi1zdHlsZXMoJHN0cmlwZTogJHRhYmxlLXN0cmlwZSwgJGlzLXN0cmlwZWQ6ICR0YWJsZS1pcy1zdHJpcGVkKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkXG4gIHRoZWFkIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuICB9XG5cbiAgLy8gVGFibGUgZm9vdFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWZvb3QtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWZvb3QtZm9udC1jb2xvcjtcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICAvLyBSb3dzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdHIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgfVxuXG4gICAgLy8gQ2VsbHMgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0aCxcbiAgICB0ZCB7XG4gICAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgdGV4dC1hbGlnbjogI3skZ2xvYmFsLWxlZnR9O1xuICAgIH1cbiAgfVxuXG4gIC8vIFRhYmxlIHJvd3NcbiAgdGJvZHkge1xuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxuXG4gIC8vIElmIHRhYmxlcyBhcmUgc3RyaXBlZFxuICBAaWYgJGlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgdGJvZHkge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLXN0cmlwZSgkc3RyaXBlKTtcbiAgICB9XG5cbiAgICAmLnVuc3RyaXBlZCB7XG4gICAgICB0Ym9keSB7XG4gICAgICAgIEBpbmNsdWRlIC16Zi10YWJsZS11bnN0cmlwZSgpO1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJZiB0YWJsZXMgYXJlIG5vdCBzdHJpcGVkXG4gIEBlbHNlIGlmICRpcy1zdHJpcGVkID09IGZhbHNlIHtcbiAgICB0Ym9keSB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtdW5zdHJpcGUoKTtcbiAgICB9XG5cbiAgICAmLnN0cmlwZWQge1xuICAgICAgdGJvZHkge1xuICAgICAgICBAaW5jbHVkZSAtemYtdGFibGUtc3RyaXBlKCRzdHJpcGUpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0aGVhZCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBoZWFkZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1oZWFkLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSB0YWJsZSBmb290ZXIgcm93cyBvbiBob3Zlci5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1mb290LXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICB0Ym9keSB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJHRhYmxlLWlzLXN0cmlwZWQgPT0gdHJ1ZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpub3QoLnVuc3RyaXBlZCkgdHI6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBEYXJrZW5zIHRoZSBvZGQgc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBlbHNlaWYoJHRhYmxlLXN0cmlwZSA9PSBvZGQpIHtcbiAgICAgICY6bm90KC51bnN0cmlwZWQpIHRyOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAZWxzZSBpZiAkdGFibGUtaXMtc3RyaXBlZCA9PSBmYWxzZSB7XG4gICAgLy8gRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJi5zdHJpcGVkIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmLnN0cmlwZWQgdHI6bnRoLW9mLXR5cGUob2RkKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhY2tlZCB0YWJsZS4gVXNlZnVsIGZvciBzbWFsbC1zY3JlZW4gbGF5b3V0cy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRoZWFkZXIgWyRzaG93LWhlYWRlci1mb3Itc3RhY2tlZF0gLSBTaG93IHRoZSBmaXJzdCB0aCBvZiBoZWFkZXIgd2hlbiBzdGFja2VkLlxuQG1peGluIHRhYmxlLXN0YWNrKCRoZWFkZXI6ICRzaG93LWhlYWRlci1mb3Itc3RhY2tlZCkge1xuICBAaWYgJGhlYWRlciB7XG4gICAgdGhlYWQge1xuICAgICAgdGg6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cblxuICAgICAgdGgge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgdGhlYWQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICB0Zm9vdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIHRyLFxuICB0aCxcbiAgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgdGQge1xuICAgIGJvcmRlci10b3A6IDA7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFibGUoJG5lc3Q6IGZhbHNlKSB7XG4gIHRhYmxlIHtcbiAgICBAaW5jbHVkZSB0YWJsZSgkbmVzdDogJG5lc3QpO1xuICB9XG5cbiAgdGFibGUuc3RhY2sge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgIEBpbmNsdWRlIHRhYmxlLXN0YWNrO1xuICAgIH1cbiAgfVxuXG4gIHRhYmxlLnNjcm9sbCB7XG4gICAgQGluY2x1ZGUgdGFibGUtc2Nyb2xsO1xuICB9XG5cbiAgdGFibGUuaG92ZXIge1xuICAgIEBpbmNsdWRlIHRhYmxlLWhvdmVyO1xuICB9XG5cbiAgLnRhYmxlLXNjcm9sbCB7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcblxuICAgIHRhYmxlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBpbXBvcnQgJ21hdGgnO1xuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsdW1pbmFuY2Ugb2YgYCRjb2xvcmAuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbHVtaW5hbmNlIG9mLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGx1bWluYW5jZSBvZiBgJGNvbG9yYC5cbkBmdW5jdGlvbiBjb2xvci1sdW1pbmFuY2UoJGNvbG9yKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNyZWxhdGl2ZWx1bWluYW5jZWRlZlxuICAkcmdiYTogcmVkKCRjb2xvciksIGdyZWVuKCRjb2xvciksIGJsdWUoJGNvbG9yKTtcbiAgJHJnYmEyOiAoKTtcblxuICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDMge1xuICAgICRyZ2I6IG50aCgkcmdiYSwgJGkpO1xuICAgICRyZ2I6ICRyZ2IgLyAyNTU7XG5cbiAgICAkcmdiOiBpZigkcmdiIDwgMC4wMzkyOCwgJHJnYiAvIDEyLjkyLCBwb3coKCRyZ2IgKyAwLjA1NSkgLyAxLjA1NSwgMi40KSk7XG5cbiAgICAkcmdiYTI6IGFwcGVuZCgkcmdiYTIsICRyZ2IpO1xuICB9XG5cbiAgQHJldHVybiAwLjIxMjYgKiBudGgoJHJnYmEyLCAxKSArIDAuNzE1MiAqIG50aCgkcmdiYTIsIDIpICsgMC4wNzIyICogbnRoKCRyZ2JhMiwgMyk7XG59XG5cbi8vLyBDaGVja3MgdGhlIGNvbnRyYXN0IHJhdGlvIG9mIHR3byBjb2xvcnMuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IxIC0gRmlyc3QgY29sb3IgdG8gY29tcGFyZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IyIC0gU2Vjb25kIGNvbG9yIHRvIGNvbXBhcmUuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgY29udHJhc3QgcmF0aW8gb2YgdGhlIGNvbXBhcmVkIGNvbG9ycy5cbkBmdW5jdGlvbiBjb2xvci1jb250cmFzdCgkY29sb3IxLCAkY29sb3IyKSB7XG4gIC8vIEFkYXB0ZWQgZnJvbTogaHR0cHM6Ly9naXRodWIuY29tL0xlYVZlcm91L2NvbnRyYXN0LXJhdGlvL2Jsb2IvZ2gtcGFnZXMvY29sb3IuanNcbiAgLy8gRm9ybXVsYTogaHR0cDovL3d3dy53My5vcmcvVFIvMjAwOC9SRUMtV0NBRzIwLTIwMDgxMjExLyNjb250cmFzdC1yYXRpb2RlZlxuICAkbHVtaW5hbmNlMTogY29sb3ItbHVtaW5hbmNlKCRjb2xvcjEpICsgMC4wNTtcbiAgJGx1bWluYW5jZTI6IGNvbG9yLWx1bWluYW5jZSgkY29sb3IyKSArIDAuMDU7XG4gICRyYXRpbzogJGx1bWluYW5jZTEgLyAkbHVtaW5hbmNlMjtcblxuICBAaWYgJGx1bWluYW5jZTIgPiAkbHVtaW5hbmNlMSB7XG4gICAgJHJhdGlvOiAxIC8gJHJhdGlvO1xuICB9XG5cbiAgJHJhdGlvOiByb3VuZCgkcmF0aW8gKiAxMCkgLyAxMDtcblxuICBAcmV0dXJuICRyYXRpbztcbn1cblxuLy8vIENoZWNrcyB0aGUgbHVtaW5hbmNlIG9mIGAkYmFzZWAsIGFuZCByZXR1cm5zIHRoZSBjb2xvciBmcm9tIGAkY29sb3JzYCAobGlzdCBvZiBjb2xvcnMpIHRoYXQgaGFzIHRoZSBtb3N0IGNvbnRyYXN0LlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMSAtIEZpcnN0IGNvbG9yIHRvIGNvbXBhcmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yMiAtIFNlY29uZCBjb2xvciB0byBjb21wYXJlLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIGNvbnRyYXN0IHJhdGlvIG9mIHRoZSBjb21wYXJlZCBjb2xvcnMuXG5AZnVuY3Rpb24gY29sb3ItcGljay1jb250cmFzdCgkYmFzZSwgJGNvbG9yczogKCR3aGl0ZSwgJGJsYWNrKSwgJHRvbGVyYW5jZTogMCkge1xuICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgMSkpO1xuICAkYmVzdDogbnRoKCRjb2xvcnMsIDEpO1xuXG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggbGVuZ3RoKCRjb2xvcnMpIHtcbiAgICAkY3VycmVudC1jb250cmFzdDogY29sb3ItY29udHJhc3QoJGJhc2UsIG50aCgkY29sb3JzLCAkaSkpO1xuICAgIEBpZiAoJGN1cnJlbnQtY29udHJhc3QgLSAkY29udHJhc3QgPiAkdG9sZXJhbmNlKSB7XG4gICAgICAkY29udHJhc3Q6IGNvbG9yLWNvbnRyYXN0KCRiYXNlLCBudGgoJGNvbG9ycywgJGkpKTtcbiAgICAgICRiZXN0OiBudGgoJGNvbG9ycywgJGkpO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAoJGNvbnRyYXN0IDwgMykge1xuICAgIEB3YXJuIFwiQ29udHJhc3QgcmF0aW8gb2YgI3skYmVzdH0gb24gI3skYmFzZX0gaXMgcHJldHR5IGJhZCwganVzdCAjeyRjb250cmFzdH1cIjtcbiAgfVxuXG4gIEByZXR1cm4gJGJlc3Q7XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBkYXJrZXIgaWYgaXQncyBsaWdodCwgb3IgbGlnaHRlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gR2V0IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcGFyYW0ge2tleX0gY29sb3Iga2V5IGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IGNvbG9yIGZyb20gZm91bmRhdGlvbi1wYWxldHRlXG5AZnVuY3Rpb24gZ2V0LWNvbG9yKCRrZXkpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRrZXkpIHtcbiAgICBAcmV0dXJuIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGtleSk7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBlcnJvciAnZ2l2ZW4gJGtleSBpcyBub3QgYXZhaWxhYmxlIGluICRmb3VuZGF0aW9uLXBhbGV0dGUnO1xuICB9XG59XG5cbi8vLyBUcmFuc2ZlcnMgdGhlIGNvbG9ycyBpbiB0aGUgYCRmb3VuZGF0aW9uLXBhbGV0dGVgbWFwIGludG8gdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBvZiB0YWIgaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBBY3RpdmUgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQWN0aXZlIGZvbnQgY29sb3Igb2YgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYWN0aXZlLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIChcbiAgJG1hcmdpbjogJHRhYi1tYXJnaW4sXG4gICRiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQsXG4gICRib3JkZXItY29sb3I6ICR0YWItY29udGVudC1ib3JkZXJcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luOiAkbWFyZ2luO1xuICBib3JkZXI6IDFweCBzb2xpZCAkYm9yZGVyLWNvbG9yO1xuICBiYWNrZ3JvdW5kOiAkYmFja2dyb3VuZDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIChcbiAgJHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nLFxuICAkZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplLFxuICAkY29sb3I6ICR0YWItY29sb3IsXG4gICRjb2xvci1hY3RpdmU6ICR0YWItYWN0aXZlLWNvbG9yLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXIsXG4gICRiYWNrZ3JvdW5kLWFjdGl2ZTogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZVxuKSB7XG4gIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG5cbiAgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAkcGFkZGluZztcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgY29sb3I6ICRjb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgICBjb2xvcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKTtcbiAgICB9XG5cbiAgICAmOmZvY3VzLFxuICAgICZbYXJpYS1zZWxlY3RlZD0ndHJ1ZSddIHtcbiAgICAgIGJhY2tncm91bmQ6ICRiYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgIGNvbG9yOiAkY29sb3ItYWN0aXZlO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQgKFxuICAkYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQsXG4gICRjb2xvcjogJHRhYi1jb250ZW50LWNvbG9yLFxuICAkYm9yZGVyLWNvbG9yOiAkdGFiLWNvbnRlbnQtYm9yZGVyXG4pIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJGJvcmRlci1jb2xvcjtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYmFja2dyb3VuZDogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIChcbiAgJGJvcmRlci1jb2xvcjogJHRhYi1jb250ZW50LWJvcmRlclxuKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICRib3JkZXItY29sb3I7XG4gIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gaW5kaXZpZHVhbCB0YWIgY29udGVudCBwYW5lbCB3aXRoaW4gdGhlIHRhYiBjb250ZW50IGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXBhbmVsIChcbiAgJHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nXG4pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogJHBhZGRpbmc7XG5cbiAgJlthcmlhLWhpZGRlbj1cImZhbHNlXCJdIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogY29sb3ItcGljay1jb250cmFzdCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICBib3JkZXI6ICR0aHVtYm5haWwtYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG5cbiAgbGluZS1oZWlnaHQ6IDA7XG59XG5cbkBtaXhpbiB0aHVtYm5haWwtbGluayB7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxuXG4gIGltYWdlIHtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxuXG4gIGEudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWwtbGluaztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSB6ZXJvLXVuaXRcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0b29sdGlwXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGhhcy10aXAtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBib3R0b20gb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBMaXN0XG4kaGFzLXRpcC1ib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgZm9udC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGFkZGluZzogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSB0b29sdGlwIHRleHQuIEJ5IGRlZmF1bHQsIHdlIHJlY29tbWVuZCBhIHNtYWxsZXIgZm9udCBzaXplIHRoYW4gdGhlIGJvZHkgY29weS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLWZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIHdpZHRoIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC13aWR0aDogMC43NXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGlwIGhlaWdodCBmb3IgdG9vbHRpcHMuIFRoaXMgaXMgaGVscGZ1bCBmb3IgY2FsY3VsYXRpbmcgdGhlIGRpc3RhbmNlIG9mIHRoZSB0b29sdGlwIGZyb20gdGhlIHRvb2x0aXAgd29yZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBpcC1oZWlnaHQ6ICR0b29sdGlwLXBpcC13aWR0aCAqIDAuODY2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICBib3JkZXItYm90dG9tOiAkaGFzLXRpcC1ib3JkZXItYm90dG9tO1xuICBmb250LXdlaWdodDogJGhhcy10aXAtZm9udC13ZWlnaHQ7XG4gIGN1cnNvcjogaGVscDtcbn1cblxuQG1peGluIHRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgI3skdG9vbHRpcC1waXAtaGVpZ2h0fSk7XG4gIHotaW5kZXg6IDEyMDA7XG5cbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogJHRvb2x0aXAtcGFkZGluZztcblxuICBib3JkZXItcmFkaXVzOiAkdG9vbHRpcC1yYWRpdXM7XG4gIGJhY2tncm91bmQtY29sb3I6ICR0b29sdGlwLWJhY2tncm91bmQtY29sb3I7XG4gIGZvbnQtc2l6ZTogJHRvb2x0aXAtZm9udC1zaXplO1xuICBjb2xvcjogJHRvb2x0aXAtY29sb3I7XG5cbiAgJjo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCB1cCk7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG5cbiAgJi50b3A6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgZG93bik7XG4gICAgdG9wOiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgfVxuXG4gICYubGVmdDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCByaWdodCk7XG4gICAgdG9wOiA1MCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG5cbiAgJi5yaWdodDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBsZWZ0KTtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9vbHRpcCB7XG4gIC5oYXMtdGlwIHtcbiAgICBAaW5jbHVkZSBoYXMtdGlwO1xuICB9XG5cbiAgLnRvb2x0aXAge1xuICAgIEBpbmNsdWRlIHRvb2x0aXA7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAwLjVyZW0gMXJlbSAwLjVyZW0gMCAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYDxpbnB1dD5gIGVsZW1lbnRzIGluc2lkZSB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b3BiYXItaW5wdXQtd2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQnJlYWtwb2ludCBhdCB3aGljaCB0b3AgYmFyIHN3aXRjaGVzIGZyb20gbW9iaWxlIHRvIGRlc2t0b3Agdmlldy5cbi8vLyBAdHlwZSBCcmVha3BvaW50XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdG9wIGJhciBjb250YWluZXIuXG5AbWl4aW4gdG9wLWJhci1jb250YWluZXIge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIHBhZGRpbmc6ICR0b3BiYXItcGFkZGluZztcblxuICAmLFxuICB1bCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2hlY2sgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIGRpZmZlcm50IGZyb20gJHRvcGJhci1iYWNrZ3JvdW5kLXN1Ym1lbnVcbiAgQGlmICgkdG9wYmFyLWJhY2tncm91bmQgIT0gJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQpIHtcbiAgICB1bCB1bCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXN0cmFpbiB3aWR0aCBvZiBpbnB1dHMgYnkgZGVmYXVsdCB0byBtYWtlIHRoZW0gZWFzaWVyIHRvIGFycmFuZ2VcbiAgaW5wdXQge1xuICAgIG1heC13aWR0aDogJHRvcGJhci1pbnB1dC13aWR0aDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgfVxuXG4gIC8vIFRoZSBhYm92ZSBzdHlsZXMgc2hvdWxkbid0IGFwcGx5IHRvIGlucHV0IGdyb3VwIGZpZWxkc1xuICAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICB9XG5cbiAgaW5wdXQuYnV0dG9uIHsgLy8gc2Fzcy1saW50OmRpc2FibGUtbGluZSBuby1xdWFsaWZ5aW5nLWVsZW1lbnRzXG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdG9wLWJhciB7XG4gIC8vIFRvcCBiYXIgY29udGFpbmVyXG4gIC50b3AtYmFyIHtcbiAgICBAaW5jbHVkZSB0b3AtYmFyLWNvbnRhaW5lcjtcblxuICAgIC8vIFN0YWNrIG9uIHNtYWxsIHNjcmVlbnMgYnkgZGVmYXVsdFxuICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQpIHtcbiAgICAgIEBpbmNsdWRlIHRvcC1iYXItdW5zdGFjaztcbiAgICB9XG5cbiAgICAvLyBHZW5lcmF0ZSBjbGFzc2VzIGZvciBzdGFja2luZyBvbiBlYWNoIHNjcmVlbiBzaXplIChkZWZpbmVkIGluICRicmVha3BvaW50LWNsYXNzZXMpXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICAmLnN0YWNrZWQtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIHRvcC1iYXItc3RhY2tlZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBTdWItc2VjdGlvbnNcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICBtYXJnaW46ICR0b3BiYXItdGl0bGUtc3BhY2luZztcbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRvcC1iYXItdGl0bGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBwYWRkaW5nOiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICAgIC5tZW51LWljb24ge1xuICAgICAgICBib3R0b206IDJweDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIi8vLyBBcHBsaWVzIGJhc2ljIHRyYW5zaXRpb24gc2V0dGluZ3MgdG8gYW4gZWxlbWVudC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiB0cmFuc2l0aW9uLWJhc2ljcyhcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICBAaW5jbHVkZSAtbW90aW9uLXVpLWRlZmF1bHRzO1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkZHVyYXRpb247XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdGltaW5nO1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXk7XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgc2V0dXAgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBzZXR1cCBmb3IgdHJhbnNpdGlvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLXN0YXJ0KCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIGFjdGl2ZSBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIGFjdGl2YXRlIGEgdHJhbnNpdGlvbiBvbi5cbkBtaXhpbiB0cmFuc2l0aW9uLWVuZCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSwgdHJ1ZSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWdnZXIgYW5pbWF0aW9uLCB3aGljaCBjYW4gYmUgdXNlZCB3aXRoIEFuZ3VsYXIncyBgbmctcmVwZWF0YC5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXktYW1vdW50IC0gQW1vdW50IG9mIHRpbWUgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgdG8gYWRkIGJldHdlZW4gZWFjaCBpdGVtJ3MgYW5pbWF0aW9uLlxuQG1peGluIHN0YWdnZXIoJGRlbGF5LWFtb3VudCkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiAkZGVsYXktYW1vdW50O1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwOyAvLyBQcmV2ZW50IGFjY2lkZW50YWwgQ1NTIGluaGVyaXRhbmNlXG59XG4iLCIvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBJbXBvcnRhbnRSdWxlLCBTcGFjZUFmdGVyQ29tbWEsIFNpbmdsZUxpbmVQZXJQcm9wZXJ0eVxuXG5AbWl4aW4gLW1vdGlvbi11aS1kZWZhdWx0cyB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLWVhc2luZ3MsIGRlZmF1bHQpO1xufVxuXG4vLyBUcmFuc2l0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktdHJhbnNpdGlvbnMge1xuICAvLyBTbGlkZVxuICAuc2xpZGUtaW4tZG93biAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGRvd24pOyB9XG4gIC5zbGlkZS1pbi1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgcmlnaHQpOyB9XG4gIC5zbGlkZS1pbi11cCAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgdXApOyB9XG4gIC5zbGlkZS1pbi1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgbGVmdCk7IH1cbiAgLnNsaWRlLW91dC1kb3duICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBkb3duKTsgfVxuICAuc2xpZGUtb3V0LXJpZ2h0ICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHJpZ2h0KTsgfVxuICAuc2xpZGUtb3V0LXVwICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIHVwKTsgfVxuICAuc2xpZGUtb3V0LWxlZnQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGxlZnQpOyB9XG5cbiAgLy8gRmFkZVxuICAuZmFkZS1pbiAgeyBAaW5jbHVkZSBtdWktZmFkZShpbiwgIDAsIDEpOyB9XG4gIC5mYWRlLW91dCB7IEBpbmNsdWRlIG11aS1mYWRlKG91dCwgMSwgMCk7IH1cblxuICAvLyBIaW5nZVxuICAuaGluZ2UtaW4tZnJvbS10b3AgICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCk7IH1cbiAgLmhpbmdlLWluLWZyb20tcmlnaHQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCk7IH1cbiAgLmhpbmdlLWluLWZyb20tYm90dG9tICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBib3R0b20pOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWxlZnQgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgbGVmdCk7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXggIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLWluLWZyb20tbWlkZGxlLXkgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQsIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXRvcCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3ApOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1yaWdodCAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1ib3R0b20gIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgYm90dG9tKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGxlZnQpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteCB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1taWRkbGUteSB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0LCBjZW50ZXIpOyB9XG5cbiAgLy8gU2NhbGVcbiAgLnNjYWxlLWluLXVwICAgIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAwLjUsIDEpOyB9XG4gIC5zY2FsZS1pbi1kb3duICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMS41LCAxKTsgfVxuICAuc2NhbGUtb3V0LXVwICAgeyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDEuNSk7IH1cbiAgLnNjYWxlLW91dC1kb3duIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAwLjUpOyB9XG5cbiAgLy8gU3BpblxuICAuc3Bpbi1pbiAgICAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGN3KTsgfVxuICAuc3Bpbi1vdXQgICAgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGN3KTsgfVxuICAuc3Bpbi1pbi1jY3cgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjY3cpOyB9XG4gIC5zcGluLW91dC1jY3cgeyBAaW5jbHVkZSBtdWktc3BpbihvdXQsIGNjdyk7IH1cblxuICAvLyBUcmFuc2l0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IHRyYW5zaXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG5cbi8vIEFuaW1hdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLWFuaW1hdGlvbnMge1xuICAuc2hha2UgICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNoYWtlKTsgfVxuICAuc3Bpbi1jdyAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4pOyB9XG4gIC5zcGluLWNjdyB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3BpbihjY3cpKTsgfVxuICAud2lnZ2xlICAgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHdpZ2dsZSk7IH1cblxuICAuc2hha2UsXG4gIC5zcGluLWN3LFxuICAuc3Bpbi1jY3csXG4gIC53aWdnbGUge1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIH1cblxuICAvLyBBbmltYXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4gIC5pbmZpbml0ZSB7IGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6IGluZmluaXRlOyB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1kZWxheXMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfS1kZWxheSB7IGFuaW1hdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBGb3JtYXQgZm9yIENTUyBjbGFzc2VzIGNyZWF0ZWQgd2l0aCBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IGFwcGVuZCBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNlbGVjdG9ycyBhcmUgY2hhaW5lZCB0byB0aGUgc2VsZWN0b3IgKGAuY2xhc3MuZW50ZXJgKSwgb3IgYXBwZW5kZWQgYXMgYSBuZXcgY2xhc3MgKGAuY2xhc3MtZW50ZXJgKS5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWydtdWktJ10gLSBQcmVmaXggdG8gYWRkIGJlZm9yZSB0aGUgc3RhdGUgb2YgYSBjbGFzcy4gRW50ZXIgYW4gZW1wdHkgc3RyaW5nIHRvIHVzZSBubyBwcmVmaXguXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnLWFjdGl2ZSddIC0gU3VmZml4IHRvIGFkZCB0byB0aGUgYWN0aXZlIHN0YXRlIGNsYXNzLlxuJG1vdGlvbi11aS1jbGFzc2VzOiAoXG4gIGNoYWluOiB0cnVlLFxuICBwcmVmaXg6ICdtdWktJyxcbiAgYWN0aXZlOiAnLWFjdGl2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gU3RhdGUgbmFtZXMgdG8gcmVmZXJlbmNlIHdoZW4gd3JpdGluZyBtb3Rpb24gY2xhc3Nlcy4gVG8gdXNlIG11bHRpcGxlIGNsYXNzIG5hbWVzIGZvciBvbmUgc3RhdGUsIGVudGVyIGEgbGlzdCBvZiBzdHJpbmdzIGluc3RlYWQgb2Ygb25lIHN0cmluZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3RhdGVzOiAoXG4gIGluOiAnZW50ZXInLFxuICBvdXQ6ICdsZWF2ZScsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzcGVlZCB0aGF0IHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zIHBsYXkgYXQsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgc3BlZWQuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXNwZWVkczogKFxuICBkZWZhdWx0OiA1MDBtcyxcbiAgc2xvdzogNzUwbXMsXG4gIGZhc3Q6IDI1MG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGVsYXkgdG8gYWRkIGJlZm9yZSBtb3Rpb24sIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZGVsYXkuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWRlbGF5czogKFxuICBkZWZhdWx0OiAwLFxuICBzaG9ydDogMzAwbXMsXG4gIGxvbmc6IDcwMG1zLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZWFzaW5nIGZvciB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucywgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBlYXNpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLWVhc2luZ3M6IChcbiAgZGVmYXVsdDogbGluZWFyLFxuICBsaW5lYXI6IGxpbmVhcixcbiAgZWFzZTogZWFzZSxcbiAgZWFzZS1pbjogZWFzZS1pbixcbiAgZWFzZS1vdXQ6IGVhc2Utb3V0LFxuICBlYXNlLWluLW91dDogZWFzZS1pbi1vdXQsXG4gIGJvdW5jZS1pbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpLFxuICBib3VuY2Utb3V0OiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpLFxuICBib3VuY2UtaW4tb3V0OiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSksXG4pICFkZWZhdWx0O1xuXG4vLy8gTWlzY2VsbGFuZW91cyBzZXR0aW5ncyByZWxhdGVkIHRvIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW2ZhbHNlXSAtIERlZmluZXMgaWYgc2xpZGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBoaW5nZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNjYWxlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc3BpbiBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuJG1vdGlvbi11aS1zZXR0aW5nczogKFxuICBzbGlkZS1hbmQtZmFkZTogZmFsc2UsXG4gIGhpbmdlLWFuZC1mYWRlOiB0cnVlLFxuICBzY2FsZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc3Bpbi1hbmQtZmFkZTogdHJ1ZSxcbiAgYWN0aXZhdGUtcXVldWUtY2xhc3M6ICdpcy1hbmltYXRpbmcnLFxuKSAhZGVmYXVsdDtcbiIsIi8vIEludGVybmFsIGNvdW50ZXIgZm9yIGNyZWF0aW5nIHVuaXF1ZSBrZXlmcmFtZSBuYW1lc1xuJC1tdWktY3VzdG9tOiAwO1xuXG4vLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucy4gVXNlIHRoaXMgZnVuY3Rpb24gaW5zdGVhZCBvZiBgbXVpLWFuaW1hdGlvbmAgaWYgeW91IHdhbnQgdG8gY3JlYXRlIGEga2V5ZnJhbWUgYW5pbWF0aW9uICp3aXRob3V0KiBhdXRvbWF0aWNhbGx5IGFzc2lnbmluZyBpdCB0byB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJG5hbWUgLSBOYW1lIG9mIHRoZSBrZXlmcmFtZS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWtleWZyYW1lcygkbmFtZSwgJGVmZmVjdHMuLi4pIHtcbiAgJG9iajogLW11aS1wcm9jZXNzLWFyZ3MoJGVmZmVjdHMuLi4pO1xuICAkb2JqOiBtYXAtcmVtb3ZlKCRvYmosIG5hbWUpO1xuXG4gIEBrZXlmcmFtZXMgI3skbmFtZX0ge1xuICAgIC8vIE5vdyBpdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgQGVhY2ggJHBjdCwgJHByb3BzIGluICRvYmoge1xuICAgICAgI3stbXVpLWtleWZyYW1lLXBjdCgkcGN0KX0ge1xuICAgICAgICAvLyBMYXN0bHksIGl0ZXJhdGUgdGhyb3VnaCBlYWNoIENTUyBwcm9wZXJ0eSB3aXRoaW4gYSBwZXJjZW50YWdlIGFuZCBwcmludCBpdCBvdXRcbiAgICAgICAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkcHJvcHMge1xuICAgICAgICAgICN7JHByb3B9OiAjeyR2YWx1ZX07XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzdHJpbmcgZm9yIGEgQ1NTIGtleWZyYW1lLCBieSBjb252ZXJ0aW5nIGEgbGlzdCBvZiBudW1iZXJzIHRvIGEgY29tbWEtc2VwYXJhdGVkIGxpc3Qgb2YgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGlucHV0IC0gTGlzdCBvZiBudW1iZXJzIHRvIHVzZS5cbi8vLyBAcmV0dXJuIHtTdHJpbmd9IEEgc2V0IG9mIGNvbW1hLXNlcGFyYXRlZCBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXBjdCgkaW5wdXQpIHtcbiAgJG91dHB1dDogKCk7XG5cbiAgQGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbnVtYmVyJyB7XG4gICAgJG91dHB1dDogKCRpbnB1dCAqIDElKTtcbiAgfSBAZWxzZSBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ2xpc3QnIHtcbiAgICBAZWFjaCAkaSBpbiAkaW5wdXQge1xuICAgICAgJG91dHB1dDogYXBwZW5kKCRvdXRwdXQsICgkaSAqIDElKSwgY29tbWEpO1xuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG91dHB1dDtcbn1cblxuLy8vIFByaW50cyB0aGUgQ1NTIHByb3BlcnRpZXMgZnJvbSBhIHNwZWNpZmljIGtleSBpbiBhIGtleWZyYW1lcyBtYXAuIFVzZWQgdG8gYm9ycm93IENTUyBmcm9tIGtleWZyYW1lIGZ1bmN0aW9ucyBmb3IgdXNlIGluIHRyYW5zaXRpb25zLlxuLy8vIEBwYXJhbSB7TWFwfSAka2YgLSBLZXlmcmFtZSBtYXAgdG8gZXh0cmFjdCBmcm9tLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAka2V5IC0gS2V5IGluIHRoZSBtYXAgdG8gcHJpbnQgdGhlIENTUyBvZi5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtbXVpLWtleWZyYW1lLWdldCgka2YsICRrZXkpIHtcbiAgJG1hcDogbWFwLWdldCgka2YsICRrZXkpO1xuXG4gIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJG1hcCBvciAoKSB7XG4gICAgLy8gU29tZSBrZXlmcmFtZSBtYXBzIHN0b3JlIHRyYW5zZm9ybXMgYXMgcXVvdGVkIHN0cmluZ3NcbiAgICBAaWYgdHlwZS1vZigkdmFsdWUpID09ICdzdHJpbmcnIHtcbiAgICAgICR2YWx1ZTogdW5xdW90ZSgkdmFsdWUpO1xuICAgIH1cbiAgICAjeyRwcm9wfTogJHZhbHVlO1xuICB9XG59XG5cbi8vLyBSZWZvcm1hdHMgYSBtYXAgY29udGFpbmluZyBrZXlzIHdpdGggYSBsaXN0IG9mIHZhbHVlcywgc28gdGhhdCBlYWNoIGtleSBpcyBhIHNpbmdsZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBzcGxpdCB1cC5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgcmVmb3JtYXR0ZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCkge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gU3BsaXQga2V5cyB3aXRoIG11bHRpcGxlIHZhbHVlcyBpbnRvIGluZGl2aWR1YWwga2V5c1xuICBAZWFjaCAka2V5LCAkaXRlbSBpbiAkbWFwIHtcbiAgICAka2V5LXR5cGU6IHR5cGUtb2YoJGtleSk7XG5cbiAgICBAaWYgJGtleS10eXBlID09ICdudW1iZXInIHtcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkaXRlbSkpO1xuICAgIH0gQGVsc2UgaWYgJGtleS10eXBlID09ICdsaXN0JyB7XG4gICAgICBAZWFjaCAkayBpbiAka2V5IHtcbiAgICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrOiAkaXRlbSkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyBhIHNlcmllcyBvZiBrZXlmcmFtZSBvYmplY3RzIGludG8gb25lLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwcy4uLiAtIEEgc2VyaWVzIG9mIG1hcHMgdG8gbWVyZ2UsIGFzIGluZGl2aWR1YWwgcGFyYW1ldGVycy5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQga2V5ZnJhbWUgb2JqZWN0LlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtY29tYmluZSgkbWFwcy4uLikge1xuICAkbmV3LW1hcDogKCk7XG5cbiAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2ggbWFwIHBhc3NlZCBpblxuICBAZWFjaCAkbWFwIGluICRtYXBzIHtcbiAgICBAaWYgdHlwZS1vZigkbWFwKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkbWFwOiBjYWxsKCRtYXApO1xuICAgIH1cblxuICAgICRtYXA6IC1tdWkta2V5ZnJhbWUtc3BsaXQoJG1hcCk7XG5cbiAgICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBrZXlmcmFtZSBpbiB0aGUgbWFwXG4gICAgLy8gJGtleSBpcyB0aGUga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIC8vICR2YWx1ZSBpcyBhIG1hcCBvZiBDU1MgcHJvcGVydGllc1xuICAgIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAgICRuZXctdmFsdWU6ICgpO1xuXG4gICAgICBAaWYgbWFwLWhhcy1rZXkoJG5ldy1tYXAsICRrZXkpIHtcbiAgICAgICAgLy8gSWYgdGhlIG1hcCBhbHJlYWR5IGhhcyB0aGUga2V5ZnJhbWUgJSwgYXBwZW5kIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogLW11aS1tZXJnZS1wcm9wZXJ0aWVzKG1hcC1nZXQoJG5ldy1tYXAsICRrZXkpLCAkdmFsdWUpO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIC8vIE90aGVyd2lzZSwgY3JlYXRlIGEgbmV3IG1hcCB3aXRoIHRoZSBuZXcgcHJvcGVydHlcbiAgICAgICAgJG5ldy12YWx1ZTogJHZhbHVlO1xuICAgICAgfVxuXG4gICAgICAvLyBGaW5hbGx5LCBtZXJnZSB0aGUgbW9kaWZpZWQga2V5ZnJhbWUgdmFsdWUgaW50byB0aGUgb3V0cHV0IG1hcFxuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRuZXctdmFsdWUpKTtcbiAgICB9XG4gIH1cblxuICAvLyBNYWtlIGEgbmFtZSBmb3IgdGhlIGtleWZyYW1lc1xuICAkLW11aS1jdXN0b206ICQtbXVpLWN1c3RvbSArIDEgIWdsb2JhbDtcbiAgJG1hcC1uYW1lOiAobmFtZTogJ2N1c3RvbS0jeyQtbXVpLWN1c3RvbX0nKTtcbiAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgJG1hcC1uYW1lKTtcblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgdHdvIG1hcHMgb2YgQ1NTIHByb3BlcnRpZXMgaW50byBvbmUgbWFwLiBJZiBib3RoIG1hcHMgaGF2ZSBhIHRyYW5zZm9ybSBwcm9wZXJ0eSwgdGhlIHZhbHVlcyBmcm9tIGVhY2ggd2lsbCBiZSBjb21iaW5lZCBpbnRvIG9uZSBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge01hcH0gJG9uZSAtIEZpcnN0IG1hcCB0byBtZXJnZS5cbi8vLyBAcGFyYW0ge01hcH0gJHR3byAtIFNlY29uZCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLW1lcmdlLXByb3BlcnRpZXMoJG9uZSwgJHR3bykge1xuICBAaWYgbWFwLWhhcy1rZXkoJG9uZSwgdHJhbnNmb3JtKSBhbmQgbWFwLWhhcy1rZXkoJHR3bywgdHJhbnNmb3JtKSB7XG4gICAgJHRyYW5zZm9ybTogam9pbihtYXAtZ2V0KCRvbmUsIHRyYW5zZm9ybSksIG1hcC1nZXQoJHR3bywgdHJhbnNmb3JtKSk7XG4gICAgJG9uZTogbWFwLW1lcmdlKCRvbmUsICh0cmFuc2Zvcm06ICR0cmFuc2Zvcm0pKTtcbiAgICAkdHdvOiBtYXAtcmVtb3ZlKCR0d28sIHRyYW5zZm9ybSk7XG4gIH1cblxuICBAcmV0dXJuIG1hcC1tZXJnZSgkb25lLCAkdHdvKTtcbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2xpZGluZyB0cmFuc2l0aW9uIGJ5IHRyYW5zbGF0aW5nIHRoZSBlbGVtZW50IGhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpcmVjdGlvbiBbbGVmdF0gLSBEaXJlY3Rpb24gdG8gc2xpZGUgdG8uIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJGFtb3VudCBbMTAwJV0gLSBMZW5ndGggb2YgdGhlIHNsaWRlIGFzIGEgcGVyY2VudGFnZSB2YWx1ZS5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zbGlkZSAoXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGxlZnQsXG4gICRhbW91bnQ6IDEwMCUsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNsaWRlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2xpZGU6IHNsaWRlKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgLy8gQ1NTIE91dHB1dFxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuXG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGZhZGUgdHJhbnNpdGlvbiBieSBhZGp1c3RpbmcgdGhlIG9wYWNpdHkgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFswXSAtIE9wYWNpdHkgdG8gc3RhcnQgYXQuIE11c3QgYmUgYSBudW1iZXIgYmV0d2VlbiAwIGFuZCAxLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdG8gWzFdIC0gT3BhY2l0eSB0byBlbmQgb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktZmFkZShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDAsXG4gICR0bzogMSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkZmFkZTogZmFkZSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMCk7XG5cbiAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5O1xuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDEwMCk7XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgZWZmZWN0IGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbkBmdW5jdGlvbiBoaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrXG4pIHtcbiAgLy8gUm90YXRpb24gZGlyZWN0aW9ucyB3aGVuIGhpbmdpbmcgZnJvbSBiYWNrIHZzLiBmcm9udFxuICAkcm90YXRpb24tYW1vdW50OiA5MGRlZztcbiAgJHJvdGF0aW9ucy1iYWNrOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgKTtcbiAgJHJvdGF0aW9ucy1mcm9tOiAoXG4gICAgdG9wOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgKTtcblxuICAvLyBSb3RhdGlvbiBvcmlnaW5cbiAgJHJvdGF0aW9uOiAnJztcbiAgQGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWZyb250IHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1mcm9tLCAkZnJvbSk7XG4gIH0gQGVsc2UgaWYgJHR1cm4tb3JpZ2luID09IGZyb20tYmFjayB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtYmFjaywgJGZyb20pO1xuICB9IEBlbHNlIHtcbiAgICBAd2FybiAnJHR1cm4tb3JpZ2luIG11c3QgYmUgZWl0aGVyIFwiZnJvbS1iYWNrXCIgb3IgXCJmcm9tLWZyb250XCInO1xuICB9XG5cbiAgLy8gU3RhcnQgYW5kIGVuZCBzdGF0ZVxuICAkc3RhcnQ6ICcnO1xuICAkZW5kOiAnJztcbiAgQGlmICRzdGF0ZSA9PSBpbiB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgfSBAZWxzZSB7XG4gICAgJHN0YXJ0OiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpIHJvdGF0ZSgwZGVnKTtcbiAgICAkZW5kOiBwZXJzcGVjdGl2ZSgkcGVyc3BlY3RpdmUpICRyb3RhdGlvbjtcbiAgfVxuXG4gIC8vIFR1cm4gYXhpc1xuICAkb3JpZ2luOiAnJztcbiAgQGlmICRheGlzID09IGVkZ2Uge1xuICAgICRvcmlnaW46ICRmcm9tO1xuICB9IEBlbHNlIHtcbiAgICAkb3JpZ2luOiBjZW50ZXI7XG4gIH1cblxuICAka2V5ZnJhbWVzOiAoXG4gICAgbmFtZTogJ2hpbmdlLSN7JHN0YXRlfS0jeyRmcm9tfS0jeyRheGlzfS0jeyR0dXJuLW9yaWdpbn0nLFxuICAgIDA6ICh0cmFuc2Zvcm06ICRzdGFydCwgdHJhbnNmb3JtLW9yaWdpbjogJG9yaWdpbiksXG4gICAgMTAwOiAodHJhbnNmb3JtOiAkZW5kKSxcbiAgKTtcblxuICBAcmV0dXJuICRrZXlmcmFtZXM7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge0xlbmd0aH0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFjayxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgaGluZ2UtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRoaW5nZTogaGluZ2UoJHN0YXRlLCAkZnJvbSwgJGF4aXMsICRwZXJzcGVjdGl2ZSwgJHR1cm4tb3JpZ2luKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNjYWxpbmcgdHJhbnNpdGlvbi4gQSBzY2FsZSBvZiBgMWAgbWVhbnMgdGhlIGVsZW1lbnQgaXMgdGhlIHNhbWUgc2l6ZS4gTGFyZ2VyIG51bWJlcnMgbWFrZSB0aGUgZWxlbWVudCBiaWdnZXIsIHdoaWxlIG51bWJlcnMgbGVzcyB0aGFuIDEgbWFrZSB0aGUgZWxlbWVudCBzbWFsbGVyLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMS41XSAtIFNpemUgdG8gc3RhcnQgYXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxXSAtIFNpemUgdG8gZW5kIGF0LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW3RydWVdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktem9vbShcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IDEuNSxcbiAgJHRvOiAxLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzY2FsZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNjYWxlOiB6b29tKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc3Bpbm5pbmcgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC4gVGhlIGB0dXJuYCB1bml0IGlzIHVzZWQgdG8gc3BlY2lmeSBob3cgZmFyIHRvIHJvdGF0ZS4gYDF0dXJuYCBpcyBlcXVhbCB0byBhIDM2MC1kZWdyZWUgc3Bpbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRkaXJlY3Rpb24gW2N3XSAtIERpcmVjdGlvbiB0byBzcGluLiBTaG91bGQgYmUgYGN3YCAoY2xvY2t3aXNlKSBvciBgY2N3YCAoY291bnRlcmNsb2Nrd2lzZSkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRhbW91bnQgWzAuNzV0dXJuXSAtIEFtb3VudCB0byBlbGVtZW50IHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNwaW4oXG4gICRzdGF0ZTogaW4sXG4gICRkaXJlY3Rpb246IGN3LFxuICAkYW1vdW50OiAwLjc1dHVybixcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc3Bpbi1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNwaW46IHNwaW4oJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc3BpbiwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgYW5kIGFzc2lnbnMgaXQgdG8gdGhlIGVsZW1lbnQgYnkgYWRkaW5nIHRoZSBgYW5pbWF0aW9uLW5hbWVgIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWktYW5pbWF0aW9uKCRhcmdzLi4uKSB7XG4gICRuYW1lOiBtYXAtZ2V0KC1tdWktcHJvY2Vzcy1hcmdzKCRhcmdzLi4uKSwgbmFtZSk7XG4gIEBpbmNsdWRlIG11aS1rZXlmcmFtZXMoJG5hbWUsICRhcmdzLi4uKTtcbiAgYW5pbWF0aW9uLW5hbWU6IHVucXVvdGUoJG5hbWUpO1xufVxuIiwiQG1peGluIGFtaXJpKCR3ZWlnaHQ6NDAwKSB7XG4gIGZvbnQtZmFtaWx5OiAnQW1pcmknLCBzZXJpZjtcbiAgZm9udC13ZWlnaHQ6ICR3ZWlnaHQ7XG59XG5cbkBtaXhpbiBtb250c2VycmF0KCR3ZWlnaHQ6NDAwKSB7XG4gIGZvbnQtZmFtaWx5OiAnTW9udHNlcnJhdCcsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiAkd2VpZ2h0O1xufVxuXG5AZm9udC1mYWNlIHtcbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJztcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD9uZHVoN2snKTtcbiAgc3JjOiAgdXJsKCcuLi9mb250cy9pY29tb29uLmVvdD9uZHVoN2sjaWVmaXgnKSBmb3JtYXQoJ2VtYmVkZGVkLW9wZW50eXBlJyksXG4gIHVybCgnLi4vZm9udHMvaWNvbW9vbi53b2ZmMj9uZHVoN2snKSBmb3JtYXQoJ3dvZmYyJyksXG4gIHVybCgnLi4vZm9udHMvaWNvbW9vbi50dGY/bmR1aDdrJykgZm9ybWF0KCd0cnVldHlwZScpLFxuICB1cmwoJy4uL2ZvbnRzL2ljb21vb24ud29mZj9uZHVoN2snKSBmb3JtYXQoJ3dvZmYnKSxcbiAgdXJsKCcuLi9mb250cy9pY29tb29uLnN2Zz9uZHVoN2sjaWNvbW9vbicpIGZvcm1hdCgnc3ZnJyk7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC1kaXNwbGF5OiBibG9jaztcbn1cblxuW2NsYXNzXj1cImljb24tXCJdLCBbY2xhc3MqPVwiIGljb24tXCJdIHtcbiAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgZm9udC1mYW1pbHk6ICdpY29tb29uJyAhaW1wb3J0YW50O1xuICBzcGVhazogbm9uZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuXG4gIC8qIEJldHRlciBGb250IFJlbmRlcmluZyA9PT09PT09PT09PSAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbn1cblxuLmljb24tYXJyb3ctbGVmdDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwMFwiO1xufVxuLmljb24tYXJyb3dzLWRvd246YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDFcIjtcbn1cbi5pY29uLXNjcm9sbC1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAyXCI7XG59XG4uaWNvbi1hcnJvdy1kb3duOmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG59XG4uaWNvbi1hcnJvdy11cDpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTkwNFwiO1xufVxuLmljb24tbGlua2VkaW46YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU5MDVcIjtcbn1cbiIsIiRnb2xkOiNCRTlBNjA7XG4kZGFyay1ibHVlOiMyMjYwOTI7XG4kZGFyay1ncmV5OiM1NzU3NTc7XG5ib2R5LCBodG1sIHtcbiAgb3ZlcmZsb3cteDpoaWRkZW47XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAuY29sdW1uOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCksIC5jb2x1bW5zOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICB9XG4gIHAge1xuICAgICY6ZW1wdHkge1xuICAgICAgZGlzcGxheTpub25lO1xuICAgIH1cbiAgfVxuXG4gIC5sb2dvIHtcbiAgICBmbG9hdDpsZWZ0O1xuICAgIGEge1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQzKTtcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDQwMCk7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICBpbWcge1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDMpO1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgdG9wOjA7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgJi5sb2dvLWltZyB7XG4gICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuICAgICAgICB9XG4gICAgICAgICYuc2hvdy1vbi1ob3ZlciB7XG4gICAgICAgICAgb3BhY2l0eTowO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDMpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAmLnNob3ctb24taG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTowO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYnJlYWRjcnVtYnMtd3JhcHBlciB7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDU1KTtcbiAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1NSk7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIGJhY2tncm91bmQ6IzM0Mzk0MTtcbiAgICBjb2xvcjokd2hpdGU7XG4gICAgQGluY2x1ZGUgbW9udHNlcnJhdCg2MDApO1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgIH1cbiAgfVxuICAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICByaWdodDpyZW0tY2FsYygyMCk7XG4gICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgei1pbmRleDo5OTk5O1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0b3A6cmVtLWNhbGMoMjUpO1xuICAgICAgcmlnaHQ6cmVtLWNhbGMoMzApO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB0b3A6cmVtLWNhbGMoNzUpO1xuICAgICAgcmlnaHQ6cmVtLWNhbGMoNDgpO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgLmhhbWJ1cmdlci1tZW51IHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoNTApO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjYpO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDo5OTk5O1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMik7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiM5Nzk3OTc7XG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgdG9wOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDM0LjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICB0b3A6cmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTcuNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICB6LWluZGV4OjU1O1xuICAgIC5zaXRlbmFtZS1mbG9hdC10ZXh0IHtcbiAgICAgIGhlaWdodDoxMDB2aDtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgbGVmdDpyZW0tY2FsYygtODUpO1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgd3JpdGluZy1tb2RlOiB2ZXJ0aWNhbC1ybDtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNTAwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICBjb2xvcjojQURBREFEO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6cmVtLWNhbGMoMS42KTtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgfVxuICB9XG4gICYubWVudS1vcGVuIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gICAgICB6LWluZGV4Ojk5OTk7XG4gICAgICBhIHtcbiAgICAgICAgLmhhbWJ1cmdlci1tZW51IHtcbiAgICAgICAgICB6LWluZGV4Ojk5OTk7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkZ29sZDtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZyk7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAubW9iaWxlLW1lbnUge1xuICAgICAgdmlzaWJpbGl0eTp2aXNpYmxlO1xuICAgICAgb3BhY2l0eToxO1xuICAgICAgLXdlYmtpdC1hbmltYXRpb246IHNjYWxlLXVwLXRyIDAuOHMgY3ViaWMtYmV6aWVyKDAuMzkwLCAwLjU3NSwgMC41NjUsIDEuMDAwKSBib3RoO1xuICAgICAgYW5pbWF0aW9uOiBzY2FsZS11cC10ciAwLjhzIGN1YmljLWJlemllcigwLjM5MCwgMC41NzUsIDAuNTY1LCAxLjAwMCkgYm90aDtcbiAgICB9XG4gIH1cbiAgaDIge1xuICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDUwKTtcbiAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gIH1cbiAgaDUge1xuICAgICYud2l0aC1zbWFsbC1ib3JkZXIge1xuICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjUpO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMSk7XG4gICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNyk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC53cC1ibG9jay1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTowO1xuICB9XG4gIC5ub3QtZm91bmQge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUwIDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygxNTAgMjApO1xuICAgICAgbWluLWhlaWdodDo2MHZoO1xufVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUwIDApO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBAaW5jbHVkZSBhbWlyaSg0MDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDQwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDQwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6IzM3MzczNztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4ub3ZlcmxheSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgei1pbmRleDogOTk5O1xuICBoZWlnaHQ6IDJlbTtcbiAgd2lkdGg6IDJlbTtcbiAgb3ZlcmZsb3c6IHNob3c7XG4gIG1hcmdpbjogYXV0bztcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHJpZ2h0OiAwO1xuICBkaXNwbGF5OiBub25lO1xuICAmOmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsMCwwLDAuNik7XG4gIH1cbiAgJjpub3QoOnJlcXVpcmVkKSB7XG4gICAgLyogaGlkZSBcImxvYWRpbmcuLi5cIiB0ZXh0ICovXG4gICAgZm9udDogMC8wIGE7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgfVxuICAmOm5vdCg6cmVxdWlyZWQpOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgd2lkdGg6IDFlbTtcbiAgICBoZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tdG9wOiAtMC41ZW07XG4gICAgLXdlYmtpdC1hbmltYXRpb246IHNwaW5uZXIgMTUwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgICAtbW96LWFuaW1hdGlvbjogc3Bpbm5lciAxNTAwbXMgaW5maW5pdGUgbGluZWFyO1xuICAgIC1tcy1hbmltYXRpb246IHNwaW5uZXIgMTUwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgICAtby1hbmltYXRpb246IHNwaW5uZXIgMTUwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgICBhbmltYXRpb246IHNwaW5uZXIgMTUwMG1zIGluZmluaXRlIGxpbmVhcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVlbTtcbiAgICAtd2Via2l0LWJveC1zaGFkb3c6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMS41ZW0gMCAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMS4xZW0gMS4xZW0gMCAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIDAgMS41ZW0gMCAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIC0xLjFlbSAxLjFlbSAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAtMS41ZW0gMCAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC41KSAtMS4xZW0gLTEuMWVtIDAgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAwIC0xLjVlbSAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMS4xZW0gLTEuMWVtIDAgMDtcbiAgICBib3gtc2hhZG93OiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIDEuNWVtIDAgMCAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIDEuMWVtIDEuMWVtIDAgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAwIDEuNWVtIDAgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAtMS4xZW0gMS4xZW0gMCAwLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzUpIC0xLjVlbSAwIDAgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAtMS4xZW0gLTEuMWVtIDAgMCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc1KSAwIC0xLjVlbSAwIDAsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43NSkgMS4xZW0gLTEuMWVtIDAgMDtcbiAgfVxufVxuXG5cbkAtd2Via2l0LWtleWZyYW1lcyBzcGlubmVyIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkAtbW96LWtleWZyYW1lcyBzcGlubmVyIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbXMtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gIH1cbn1cbkAtby1rZXlmcmFtZXMgc3Bpbm5lciB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tb3otdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICB9XG4gIDEwMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1zLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW8tdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICB9XG59XG5Aa2V5ZnJhbWVzIHNwaW5uZXIge1xuICAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtbW96LXRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAtby10cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgLW1vei10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1tcy10cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIC1vLXRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgfVxufVxuQC13ZWJraXQta2V5ZnJhbWVzIHNjYWxlLXVwLXRyIHtcbiAgMCUge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwJTtcbiAgfVxuICAxMDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogMTAwJSAwJTtcbiAgfVxufVxuQGtleWZyYW1lcyBzY2FsZS11cC10ciB7XG4gIDAlIHtcbiAgICAtd2Via2l0LXRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgLXdlYmtpdC10cmFuc2Zvcm0tb3JpZ2luOiAxMDAlIDAlO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IDEwMCUgMCU7XG4gIH1cbn1cblxuIiwiQG1peGluIGFsaWduZnVsbCgpIHtcbiAgICBtYXJnaW4tbGVmdCAgOiBjYWxjKCAtMTAwdncgLyAyICsgMTAwJSAvIDIgKTtcbiAgICBtYXJnaW4tcmlnaHQgOiBjYWxjKCAtMTAwdncgLyAyICsgMTAwJSAvIDIgKTtcbiAgICBtYXgtd2lkdGggICAgOiAxMDB2dztcbn1cblxuLmFsaWduZnVsbCB7XG4gICAgQGluY2x1ZGUgYWxpZ25mdWxsKCk7XG59IiwiLmhlYWRlciB7XG4gIGJhY2tncm91bmQ6I0YxRjJGMztcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6NTtcbiAgJi5mdWxsIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBiYWNrZ3JvdW5kOiNGMUYyRjM7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyMCk7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDYwMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgaGVpZ2h0OjEwMHZoO1xuICAgICAgcGFkZGluZzowO1xuICAgIH1cbiAgICAudG9wLW1lbnUtYmFyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6cmVtLWNhbGMoMjApO1xuICAgICAgcmlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgdG9wOnJlbS1jYWxjKDI1KTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGxlZnQ6MDtcbiAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgdG9wOnJlbS1jYWxjKDc1KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudG9wLW1lbnUtYmFyIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDMwIDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDcwIDAgMjUgMCk7XG4gICAgfVxuICAgIC5sb2dvIHtcbiAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICBhIHtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQzKTtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDAwKTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIGltZyB7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQzKTtcbiAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICBsZWZ0OjA7XG4gICAgICAgICAgJi5sb2dvLWltZyB7XG4gICAgICAgICAgICBvcGFjaXR5OjE7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGxpbmVhcjtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5zaG93LW9uLWhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQzKTtcbiAgICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAmLnNob3ctb24taG92ZXIge1xuICAgICAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgICAgIHRvcDpyZW0tY2FsYyg1MCk7XG4gICAgICAgIHJpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgICAgei1pbmRleDo5OTk5OSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgJi5zaG93IHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlci1tZW51IHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDE1KTtcbiAgICAgIH1cbiAgICAgIHVsIHtcbiAgICAgICAgbGkge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNjAwKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMTIpO1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdvbGQ7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcztcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDowO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtLFxuICAgICAgICAgICYuY3VycmVudC1wYWdlLWFuY2VzdG9yIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmhlYWRlci1pbnRyby10ZXh0IHtcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6cmVtLWNhbGMoMjUwKTtcbiAgICByaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgbGVmdDpyZW0tY2FsYyg0MCk7XG4gICAgei1pbmRleDozO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0b3A6NTAlO1xuICAgICAgbGVmdDphdXRvO1xuICAgICAgcmlnaHQ6YXV0bztcbiAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuICAgIH1cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBhbWlyaSg0MDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDUwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgei1pbmRleDo0O1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNzApO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2NSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zY3JvbGwtZG93biB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgbGVmdDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYm90dG9tOnJlbS1jYWxjKDEwNSk7XG4gICAgei1pbmRleDoyO1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0MCk7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICB0cmFuc2l0aW9uOmNvbG9yIDAuM3MgbGluZWFyO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmZvb3RlciB7XG4gIGJhY2tncm91bmQ6IzM0Mzk0MTtcbiAgcGFkZGluZzpyZW0tY2FsYyg0NSAyMCAzMCAyMCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDk1IDAgNjAgMCk7XG4gIH1cbiAgLmZvb3Rlci1sb2dvIHtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDUwKTtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgfVxuICB9XG4gIC5vZmZpY2Uge1xuICAgIGg1IHtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNjAwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICBjb2xvcjojRDhEOEQ4O1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygxNSk7XG4gICAgICB9XG4gICAgfVxuICAgIC5vZmZpY2UtZGV0YWlscyB7XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgICBjb2xvcjojRDhEOEQ4O1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjojRDhEOEQ4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICB9XG4gIH1cbiAgLmZvb3Rlci1tZW51IHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygyMCk7XG4gICAgfVxuICAgIC5tZW51IHtcbiAgICAgIGNvbHVtbi1jb3VudDogMTtcbiAgICAgIGNvbHVtbi1nYXA6IDA7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgIGNvbHVtbi1nYXA6IHJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjYpO1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgIGNvbG9yOiNEOEQ4RDg7XG4gICAgICAgICAgcGFkZGluZzowO1xuICAgICAgICAgIHRyYW5zaXRpb246Y29sb3IgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmZvb3Rlci1jb3B5cmlnaHRzIHtcblxuICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNTApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgIH1cbiAgICAuc29jaWFsLWxpbmtzIHtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIH1cbiAgICAgIGEge1xuICAgICAgICBjb2xvcjojQjZCNkI2O1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTgpO1xuICAgICAgICB0cmFuc2l0aW9uOmNvbG9yIDAuM3MgbGluZWFyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgc3BhbiB7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgY29sb3I6I0FEQURBRDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoNSk7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDEzKTtcbiAgICAgIH1cbiAgICB9XG4gICAgdWwge1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBsaXN0LXN0eWxlOm5vbmU7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBkaXNwbGF5OmlubGluZTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIGNvbG9yOiNBREFEQUQ7XG4gICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgdG9wOnJlbS1jYWxjKC0xKTtcbiAgICAgICAgICB0cmFuc2l0aW9uOmNvbG9yIDAuM3MgbGluZWFyO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTMpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50Oid8JztcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoNSk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBjb250ZW50Om5vbmU7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgY29udGVudDonfCc7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4jZm9vdGVyIHtcbiAgcG9zaXRpb246c3RhdGljO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcG9zaXRpb246Zml4ZWQ7XG4gICAgbGVmdDowO1xuICAgIHJpZ2h0OjA7XG4gICAgYm90dG9tOnJlbS1jYWxjKC02MDApO1xuICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuICB9XG4gIC5jbG9zZS1mb290ZXIge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgIHRvcDogcmVtLWNhbGMoNDApO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTtcbiAgICAgIGNvbG9yOiAjQTFBMUExO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGNvbG9yOiRnb2xkO1xuICAgIH1cbiAgfVxufVxuXG5ib2R5IHtcbiAgJi5mb290ZXItb24ge1xuICAgICNmb290ZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICB9XG4gICAgfVxuICB9XG4gICYuZm9vdGVyLW9mZiB7XG4gICAgI2Zvb3RlciB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGJvdHRvbTpyZW0tY2FsYygtNjAwKTtcbiAgICAgICAgei1pbmRleDogLTE7XG4gICAgICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5tb2JpbGUtbWVudSB7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwO1xuICByaWdodDowO1xuICBib3R0b206MDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIHBhZGRpbmc6IDA7XG4gIHotaW5kZXg6IDk5OTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstYmx1ZTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgb3ZlcmZsb3cteDpoaWRkZW47XG4gIC8qIHRoaXMgZml4ZXMgdGhlIGJ1Z2d5IHNjcm9sbGluZyBvbiB3ZWJraXQgYnJvd3NlcnMgLSBtb2JpbGUgZGV2aWNlcyBvbmx5IC0gd2hlbiBvdmVyZmxvdyBwcm9wZXJ0eSBpcyBhcHBsaWVkICovXG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiB0b3VjaDtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uOnZpc2liaWxpdHkgMHMsIG9wYWNpdHkgLjNzO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcmlnaHQ6cmVtLWNhbGMoMTQwKTtcbiAgfVxuICAuaGVhZGVyLW1vYmlsZS1tZW51IHtcbiAgICB6LWluZGV4Ojk5OTk7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyNSk7XG4gICAgbWFyZ2luLXJpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuXG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICB9XG5cbiAgfVxuICAubWVudSB7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDUwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIHRvcDo1MCU7XG4gICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgbGkge1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMCAwIDIwKTtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIHRyYW5zaXRpb246Y29sb3IgMC4zcyBsaW5lYXI7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDYwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg3MCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg4MCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoOTApO1xuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLmN1cnJlbnRfcGFnZV9pdGVtIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY29udGVudC1zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICB9XG5cbiAgdWwuY29udHJvbHMge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiA5OTk7XG4gICAgICByaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICB0b3A6NTAlO1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cblxuICAgICY6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgY29udGVudDogJyc7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTY2KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxLjI1KTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiByZW0tY2FsYygxLjI1KSBkYXNoZWQgI0YwRjBGMTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoNik7XG4gICAgICB9XG4gICAgfVxuICAgICY6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNjYpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEuMjUpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHJlbS1jYWxjKDEuMjUpIGRhc2hlZCAjRjBGMEYxO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJi5kYXJrLWJvcmRlciB7XG4gICAgICAmOmJlZm9yZSxcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBib3JkZXItY29sb3I6Izk3OTc5NztcbiAgICAgIH1cbiAgICB9XG4gICAgJixcbiAgICBsaSB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxMCAwKTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBhLFxuICAgIGJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiByZW0tY2FsYygxMS4yNSk7XG4gICAgICBoZWlnaHQ6IHJlbS1jYWxjKDExLjI1KTtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lO1xuICAgICAgYmFja2dyb3VuZDojRDhEOEQ4O1xuICAgIH1cblxuICAgICYgPiBsaSB7XG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG5cbiAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgYSxcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zbGlkZS1udW1iZXIge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKDUwKTtcbiAgICAgIGJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDcwMCk7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgIGNvbG9yOiAkZ29sZDtcbiAgICB9XG4gIH1cbiAgLmFycm93cy1kb3duIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgcmlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICAgIHotaW5kZXg6NTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6I0ExQTFBMTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgIH1cbiAgICB9XG5cbiAgfVxuICAuY29udGVudC1zbGlkZSB7XG4gICAgcG9zaXRpb246c3RhdGljO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIC8vdHJhbnNpdGlvbjogYWxsIDFzIGxpbmVhcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICB9XG4gICAgJi5maXJzdCxcbiAgICAmLmluLXZpZXdwb3J0IHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB6LWluZGV4OiAxO1xuICAgIH1cbiAgfVxufSIsIi5ncm91cC1saW5lcyB7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBoZWlnaHQ6IDEwMHZoO1xuICB0b3A6IHJlbS1jYWxjKDI2MCk7XG4gIHJpZ2h0OjA7XG4gIC5saW5lcyB7XG4gICAgcmlnaHQ6cmVtLWNhbGMoLTYwKTtcbiAgICB0b3A6IDA7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICBhbmltYXRpb24tbmFtZTphbmltYXRlZExpbmU7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiAxLjVzO1xuICAgIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgICBhbmltYXRpb24tZGVsYXk6IDBzO1xuICAgIGFuaW1hdGlvbi1pdGVyYXRpb24tY291bnQ6MTtcbiAgfVxuICAuYW5pbWF0ZWRMaW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOjA7XG4gICAgaGVpZ2h0OiAxMDB2aDtcbiAgICB3aWR0aDogcmVtLWNhbGMoMSk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2Zvcm06cm90YXRlKDMwZGVnKTtcblxuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCA0MCB7XG4gICAgLmFuaW1hdGVkTGluZTpudGgtY2hpbGQoM24gKyAjeyRpfSkge1xuICAgICAgcmlnaHQ6IHJlbS1jYWxjKCRpICogMjApO1xuICAgIH1cbiAgfVxuXG5cblxuICAuYW5pbWF0ZWRMaW5lOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0Q4RDhEODtcbiAgfVxuXG4gIC5iaWdMaW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgdG9wOiByZW0tY2FsYyg2MCk7XG4gICAgcmlnaHQ6cmVtLWNhbGMoODAwKTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIHdpZHRoOiByZW0tY2FsYygyMDApO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNmb3JtOnNrZXcoLTMwZGVnKTtcbiAgICAmOmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMGRlZywgcmdiYSgyMTcsMTI5LDE5NCwwKSAwJSwgcmdiYSgxOTMsMTU2LDk4LDAuMikgMTAwJSk7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgYW5pbWF0aW9uLW5hbWU6IGZhZGVJbk9wYWNpdHk7XG4gICAgICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiAxO1xuICAgICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbjtcbiAgICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogMnM7XG4gICAgfVxuICB9XG59XG5Aa2V5ZnJhbWVzIGFuaW1hdGVkTGluZSB7XG4gIDAlIHtcbiAgICByaWdodDpyZW0tY2FsYygtMjUwKTtcbiAgfVxuICAxMDAlIHtcbiAgICByaWdodDpyZW0tY2FsYygwKTtcbiAgfVxufVxuXG5Aa2V5ZnJhbWVzIGZhZGVJbk9wYWNpdHkge1xuICAwJSB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuICAxMDAlIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG59IiwiLnN0YXRpYy1saW5lcyB7XG4gIHBvc2l0aW9uOmFic29sdXRlO1xuICBsZWZ0OjA7XG4gIHJpZ2h0OjA7XG4gIHRvcDpyZW0tY2FsYyg0NSk7XG4gIGJvdHRvbTowO1xuICBvdmVyZmxvdzpoaWRkZW47XG4gIC5zbGluZXMge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MztcbiAgICBsZWZ0OnJlbS1jYWxjKDEwMCk7XG4gICAgYW5pbWF0aW9uLW5hbWU6YW5pbWF0ZWRMaW5lO1xuICAgIGFuaW1hdGlvbi1kdXJhdGlvbjogNHM7XG4gICAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG4gICAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDoxO1xuICB9XG4gIC5zdGF0aWNMaW5lIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuICAgIHdpZHRoOiByZW0tY2FsYygxKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zZm9ybTpyb3RhdGUoMzBkZWcpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAzNyB7XG4gICAgLnN0YXRpY0xpbmU6bnRoLWNoaWxkKDNuICsgI3skaX0pIHtcbiAgICAgIGxlZnQ6IHJlbS1jYWxjKCRpICogMjApO1xuICAgIH1cbiAgfVxuXG4gIC5zdGF0aWNMaW5lOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogI0Q4RDhEODtcblxuICB9XG5cblxuXG5cbn1cblxuQGtleWZyYW1lcyBhbmltYXRlZExpbmUge1xuICAwJSB7IGxlZnQ6IDM1MHB4OyB9XG4gIDIwJSB7IGxlZnQ6IDMwMHB4OyB9XG4gIDQwJSB7IGxlZnQ6IDI1MHB4OyB9XG4gIDYwJSB7IGxlZnQ6IDIwMHB4OyB9XG4gIDgwJSB7IGxlZnQ6IDE1MHB4OyB9XG4gIDEwMCUgeyBsZWZ0OiAxMDBweDsgfVxufSIsImJvZHkge1xuICAmLnNpbmdsZS1tZW1iZXIge1xuICAgIC5tb2JpbGUtbWVudSB7XG4gICAgICAubWVudSB7XG4gICAgICAgIC50ZWFtLXBhZ2UtbGluayB7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlciB7XG4gICAgICAudG9wLW1lbnUtYmFyIHtcbiAgICAgICAgLmhlYWRlci1tZW51IHtcbiAgICAgICAgICAubWVudSB7XG4gICAgICAgICAgICAudGVhbS1wYWdlLWxpbmsge1xuICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5zaW5nbGUtbWVtYmVyLXBhZ2Uge1xuICAgICAgYmFja2dyb3VuZDojRjFGMkYzO1xuICAgICAgLnNpbmdsZS1tZW1iZXItY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYyg0MCAyMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZzpyZW0tY2FsYyg0MCAyMCk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoNDAgMCAwIDApO1xuICAgICAgICB9XG4gICAgICAgIC5tZW1iZXItcGhvdG8ge1xuICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMSkgc29saWQgJGdvbGQ7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDc2NSk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmxlZnQ7XG4gICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgIH1cbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmlsdGVyOiBncmF5c2NhbGUoMTAwJSk7XG4gICAgICAgICAgICBtYXJnaW46MCBhdXRvO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgbWF4LXdpZHRoOnJlbS1jYWxjKDUwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg3NjUpO1xuICAgICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgICBvYmplY3QtZml0OmNvdmVyO1xuICAgICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgICAgIG1heC13aWR0aDoxMDAlO1xuXG4gICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuYmFjay10byB7XG4gICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDM1IDAgNjAgMCk7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgY29sb3I6IzdBN0E3QTtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoNCk7XG4gICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5vZmZpY2Uge1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICBmb250LXN0eWxlOml0YWxpYztcbiAgICAgICAgfVxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzcpO1xuICAgICAgICAgIGNvbG9yOiRkYXJrLWdyZXk7XG4gICAgICAgIH1cbiAgICAgICAgLnJvbGUge1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI0KTtcbiAgICAgICAgICBjb2xvcjokZGFyay1ncmV5O1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgICAgIC5iaW8ge1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICBjb2xvcjokZGFyay1ncmV5O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG59IiwiYm9keSB7XG4gICYuc2luZ2xlLXBvc3Qge1xuICAgIC5tb2JpbGUtbWVudSB7XG4gICAgICAubWVudSB7XG4gICAgICAgIC5pbnNpZ2h0cy1wYWdlLWxpbmsge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5oZWFkZXIge1xuICAgICAgLnRvcC1tZW51LWJhciB7XG4gICAgICAgIC5oZWFkZXItbWVudSB7XG4gICAgICAgICAgLm1lbnUge1xuICAgICAgICAgICAgLmluc2lnaHRzLXBhZ2UtbGluayB7XG4gICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5wb3N0LWhlYWRlciB7XG4gIGJhY2tncm91bmQ6I0Y5RjlGOTtcbiAgcGFkZGluZzpyZW0tY2FsYyg0MCAyMCk7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzpyZW0tY2FsYyg3NSAwIDYwIDApO1xuICB9XG4gIC5wb3N0LWhlYWRlci1kZXRhaWxzIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjQ7XG4gICAgLmJhY2stdG8ge1xuICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAxMDAgMCk7XG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICBjb2xvcjojN0E3QTdBO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgfVxuICAgICAgICBpIHtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYyg0KTtcbiAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICB0b3A6cmVtLWNhbGMoMyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmNhdGVnb3J5IHtcbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEzKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMSk7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC5kYXRlIHtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgIGNvbG9yOiM3QTdBN0E7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgIH1cbiAgICAucG9zdC10aXRsZSB7XG4gICAgICBtYXJnaW46cmVtLWNhbGMoMjAgMCk7XG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIC5wZGYtZG93bmxvYWQge1xuICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDQwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTEpO1xuICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6cmVtLWNhbGMoMC45KTtcbiAgICAgIGNvbG9yOiM1NzU3NTc7XG4gICAgICBib3JkZXI6cmVtLWNhbGMoMSkgc29saWQgJGdvbGQ7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDEwKTtcbiAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zaW5nbGUtaW5zaWdodCB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoMzAgMjApO1xuICBiYWNrZ3JvdW5kOiNGOUY5Rjk7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB6LWluZGV4OjEwMDtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoNjUgMCA4MCAwKTtcbiAgfVxuICBoMyB7XG4gICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyNSk7XG4gICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzMpO1xuICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgbWFyZ2luOnJlbS1jYWxjKDQwIDApO1xuICB9XG4gIHAge1xuICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE5KTtcbiAgICBjb2xvcjojNTc1NzU3O1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICB9XG4gIHVsIHtcbiAgICBsaSB7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkpO1xuICAgICAgY29sb3I6IzU3NTc1NztcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIH1cbiAgfVxuICBoNiB7XG4gICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkpO1xuICAgIGNvbG9yOiM3QTdBN0E7XG4gICAgYm9yZGVyLWJvdHRvbTpyZW0tY2FsYygxKSBzb2xpZCAjMDMyNDM3O1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgfVxuICAud3AtYmxvY2staW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6MTAwJTtcblxuICAgIH1cbiAgICBmaWdjYXB0aW9uIHtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMyk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygxNik7XG4gICAgICBjb2xvcjojN0E3QTdBO1xuICAgIH1cbiAgfVxufSIsIi5zaW5nbGUtZHItZXZlbnQge1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgYmFja2dyb3VuZDojRjBGMEYxO1xuICBoMSB7XG4gICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICBjb2xvcjokYmxhY2s7XG4gIH1cbiAgaDIge1xuICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDMwKTtcbiAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzMCk7XG4gICAgY29sb3I6JGJsYWNrO1xuICB9XG4gIGgzIHtcbiAgICBAaW5jbHVkZSBhbWlyaSg0MDApO1xuICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyMik7XG4gICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzMpO1xuICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gIH1cbiAgaDQge1xuICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzMyk7XG4gICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgfVxuICBoNSB7XG4gICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICBjb2xvcjokZGFyay1ibHVlO1xuICB9XG4gIHAge1xuICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgY29sb3I6IzU3NTc1NztcbiAgICBhIHtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6Izc3NztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnBhZ2UtbG9nbyB7XG4gICAgaW1nIHtcbiAgICAgIG1hcmdpbjpyZW0tY2FsYygxNSAwKTtcbiAgICB9XG4gIH1cbiAgLmxhc3QtbW9kaWZpZWQge1xuICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgIGNvbG9yOiM3QTdBN0E7XG4gIH1cbiAgLmFubm91bmNlbWVudHMge1xuICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMSkgc29saWQgI0NBQ0FDQTtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDMwIDApO1xuICB9XG4gIC5zdWJ0aXRsZSB7XG4gICAgICAmLCBwIHtcbiAgICAgICAgY29sb3I6I2RmMTExMTtcbiAgICAgIH1cbiAgfVxuICBcbiAgLnNlY3Rpb25zIHtcbiAgICAgIGRpdiB7XG4gICAgICAgICAgJi5zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDEpIHNvbGlkICNDQUNBQ0E7XG4gICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygzMCAwKTtcbiAgICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAgIC5yZWQge1xuICAgICAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjojZGYxMTExO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICB9XG59IiwiLmFib3V0LXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gIH1cblxuICB1bC5jb250cm9scyB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgZGlzcGxheTpub25lO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNjYpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEuMjUpO1xuICAgICAgICBib3JkZXItcmlnaHQ6IHJlbS1jYWxjKDEuMjUpIGRhc2hlZCAjOTc5Nzk3O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg2KTtcbiAgICAgIH1cbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGNvbnRlbnQ6ICcnO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2Nik7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMS4yNSk7XG4gICAgICAgIGJvcmRlci1yaWdodDogcmVtLWNhbGMoMS4yNSkgZGFzaGVkICM5Nzk3OTc7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDYpO1xuICAgICAgfVxuICAgIH1cbiAgICAmLFxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDEwIDApO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEsXG4gICAgYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDExLjI1KTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMTEuMjUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiNEOEQ4RDg7XG4gICAgfVxuXG4gICAgJiA+IGxpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBhLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNsaWRlLW51bWJlciB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgY29sb3I6ICRnb2xkO1xuICAgIH1cbiAgfVxuICAuYXJyb3dzLWRvd24ge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICBib3R0b206IHJlbS1jYWxjKDQwKTtcbiAgICAgIHotaW5kZXg6IDU7XG4gICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG4gICAgYSB7XG4gICAgICBjb2xvcjojQTFBMUExO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgfVxuICAgIH1cblxuICB9XG4gIC5hYm91dC1zbGlkZSB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAvL3RyYW5zaXRpb246IGFsbCAwLjNzIGxpbmVhcjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgfVxuICAgICYuZmlyc3QsXG4gICAgJi5pbi12aWV3cG9ydCB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgei1pbmRleDogMTtcbiAgICB9XG4gIH1cbn0iLCIucGxhaW4tcGFnZSB7XG4gIHBhZGRpbmc6cmVtLWNhbGMoMTAwIDApO1xuICBiYWNrZ3JvdW5kOiNGMEYwRjE7XG4gIC5wYWdlLXRpdGxlIHtcbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBhbWlyaSg0MDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDUwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQ1KTtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgfVxuICB9XG4gIC5wYWdlLWNvbnRlbnQge1xuICAgIGgyIHtcbiAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMzApO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzApO1xuICAgICAgY29sb3I6JGJsYWNrO1xuICAgIH1cbiAgICBoMyB7XG4gICAgICBAaW5jbHVkZSBhbWlyaSg0MDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDIyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDMzKTtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgfVxuICAgIGg0IHtcbiAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTkpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzMpO1xuICAgICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICB9XG4gICAgaDUge1xuICAgICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgIH1cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgY29sb3I6IzU3NTc1NztcbiAgICAgIGEge1xuICAgICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBjb2xvcjojNzc3O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHVsLFxuICAgIG9sIHtcbiAgICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgICBjb2xvcjojNTc1NzU3O1xuICAgICAgICBhIHtcbiAgICAgICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6Izc3NztcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYubWFpbi1saXN0IHtcbiAgICAgICAgbGlzdC1zdHlsZTpub25lO1xuICAgICAgICBtYXJnaW46cmVtLWNhbGMoMzAgMCk7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDQwMCk7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE2KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgdGFibGUge1xuICAgICAgdGhlYWQge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgdGgge1xuICAgICAgICAgICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjMpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgdGJvZHkge1xuICAgICAgICB0ciB7XG4gICAgICAgICAgdGQge1xuICAgICAgICAgICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMyk7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjp0b3A7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5saWZlLXNsaWRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gIH1cblxuICB1bC5jb250cm9scyB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHotaW5kZXg6IDk5OTtcbiAgICAgIHJpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB9XG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDonJztcbiAgICAgIGhlaWdodDpyZW0tY2FsYygxNjYpO1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDEuMjUpO1xuICAgICAgYm9yZGVyLXJpZ2h0OnJlbS1jYWxjKDEuMjUpIGRhc2hlZCAjOTc5Nzk3O1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYyg2KTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OicnO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDE2Nik7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgd2lkdGg6cmVtLWNhbGMoMS4yNSk7XG4gICAgICBib3JkZXItcmlnaHQ6cmVtLWNhbGMoMS4yNSkgZGFzaGVkICM5Nzk3OTc7XG4gICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDMwKTtcbiAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDYpO1xuICAgIH1cbiAgICAmLFxuICAgIGxpIHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDEwIDApO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgfVxuICAgIH1cblxuICAgIGEsXG4gICAgYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IHJlbS1jYWxjKDExLjI1KTtcbiAgICAgIGhlaWdodDogcmVtLWNhbGMoMTEuMjUpO1xuICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgdGV4dC1zaGFkb3c6IG5vbmU7XG4gICAgICBiYWNrZ3JvdW5kOiNEOEQ4RDg7XG4gICAgfVxuXG4gICAgJiA+IGxpIHtcbiAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cblxuICAgICAgJi5hY3RpdmUge1xuICAgICAgICBhLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNsaWRlLW51bWJlciB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogcmVtLWNhbGMoNTApO1xuICAgICAgYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgICAgei1pbmRleDogNTtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgY29sb3I6ICRnb2xkO1xuICAgIH1cbiAgfVxuICAuYXJyb3dzLWRvd24ge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICByaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICBib3R0b206cmVtLWNhbGMoNDApO1xuICAgICAgei1pbmRleDoyNTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgfVxuICAgIGEge1xuICAgICAgY29sb3I6I0ExQTFBMTtcbiAgICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxpZmUtc2xpZGUge1xuICAgIHBvc2l0aW9uOiBzdGF0aWM7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgLy90cmFuc2l0aW9uOiBhbGwgMC4zcyBsaW5lYXI7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICByaWdodDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cbiAgICAmLmZpcnN0LFxuICAgICYuaW4tdmlld3BvcnQge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICAgIHotaW5kZXg6MTtcbiAgICB9XG4gIH1cbn0iLCIvKiBTbGlkZXIgKi9cblxuLnNsaWNrLXNsaWRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgLXdlYmtpdC10b3VjaC1jYWxsb3V0OiBub25lO1xuICAgIC13ZWJraXQtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLWtodG1sLXVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tb3otdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgLW1zLXVzZXItc2VsZWN0OiBub25lO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIC1tcy10b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbn1cbi5zbGljay1saXN0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcblxuICAgICY6Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgICYuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIC13ZWJraXQtdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgLW8tdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xufVxuXG4uc2xpY2stdHJhY2sge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG5cbiAgICAmOmJlZm9yZSxcbiAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cblxuICAgIC5zbGljay1sb2FkaW5nICYge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuLnNsaWNrLXNsaWRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICAgICYuc2xpY2stbG9hZGluZyBpbWcge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAmLmRyYWdnaW5nIGltZyB7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIH1cblxuICAgIC5zbGljay1pbml0aWFsaXplZCAmIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnNsaWNrLWxvYWRpbmcgJiB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc2xpY2stdmVydGljYWwgJiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIH1cbn1cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCJAY2hhcnNldCBcIlVURi04XCI7XG5cbi8vIERlZmF1bHQgVmFyaWFibGVzXG5cbi8vIFNsaWNrIGljb24gZW50aXR5IGNvZGVzIG91dHB1dHMgdGhlIGZvbGxvd2luZ1xuLy8gXCJcXDIxOTBcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGkFwiXG4vLyBcIlxcMjE5MlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaSXCJcbi8vIFwiXFwyMDIyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLigKJcIlxuXG4kc2xpY2stZm9udC1wYXRoOiBcIi4uL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogd2hpdGUgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNvbG9yOiBibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICBAaWYgZnVuY3Rpb24tZXhpc3RzKGltYWdlLXVybCkge1xuICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuIHVybCgkc2xpY2stbG9hZGVyLXBhdGggKyAkdXJsKTtcbiAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICB9XG59XG5cbi8qIFNsaWRlciAqL1xuXG4uc2xpY2stbGlzdCB7XG4gIC5zbGljay1sb2FkaW5nICYge1xuICAgIGJhY2tncm91bmQ6ICNmZmYgc2xpY2staW1hZ2UtdXJsKFwiLi4vaW1nL2FqYXgtbG9hZGVyLmdpZlwiKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlciA7XG4gIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogcmVtLWNhbGMoMjgpO1xuICB3aWR0aDogcmVtLWNhbGMoMjgpO1xuICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjgpO1xuICBmb250LXNpemU6IDBweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICB0b3A6IDUwJTtcbiAgLXdlYmtpdC10cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgcGFkZGluZzogMDtcbiAgYm9yZGVyOiBub25lO1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgJjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgfVxuICB9XG4gICYuc2xpY2stZGlzYWJsZWQ6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICB9XG4gICY6YmVmb3JlIHtcbiAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IHJlbS1jYWxjKDI1KTtcbiAgei1pbmRleDo1NTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7XG4gIH1cbiAgJjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHVybCgnLi4vaW1nL3ByZXYuc3ZnJykgbm8tcmVwZWF0IGNlbnRlciBjZW50ZXI7XG4gICAgY29udGVudDonJztcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgdG9wOnJlbS1jYWxjKDUpO1xuICAgIGxlZnQ6cmVtLWNhbGMoNSk7XG4gICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICB9XG4gIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogcmVtLWNhbGMoMjUpO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bztcbiAgfVxuICAmOmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogdXJsKCcuLi9pbWcvbmV4dC5zdmcnKSBuby1yZXBlYXQgY2VudGVyIGNlbnRlcjtcbiAgICBjb250ZW50OicnO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgIHdpZHRoOiByZW0tY2FsYygxOCk7XG4gICAgZGlzcGxheTpibG9jaztcbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6cmVtLWNhbGMoNSk7XG4gICAgbGVmdDpyZW0tY2FsYyg1KTtcbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuICAgIH1cbiAgfVxufVxuXG4vKiBEb3RzICovXG5cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGxpIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGJ1dHRvbiB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIGZvbnQtc2l6ZTogMHB4O1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpiZWZvcmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNsaWNrLWRvdC1zaXplO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvcjtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICB9XG4gICAgfVxuICAgICYuc2xpY2stYWN0aXZlIGJ1dHRvbjpiZWZvcmUge1xuICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICB9XG4gIH1cbn0iLCJAa2V5ZnJhbWVzIGNoYXJ0anMtcmVuZGVyLWFuaW1hdGlvbiB7XG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IC45OVxuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxXG4gIH1cbn1cblxuLmNoYXJ0anMtcmVuZGVyLW1vbml0b3Ige1xuICBhbmltYXRpb246IGNoYXJ0anMtcmVuZGVyLWFuaW1hdGlvbiAxbXNcbn1cblxuLmNoYXJ0anMtc2l6ZS1tb25pdG9yLFxuLmNoYXJ0anMtc2l6ZS1tb25pdG9yLWV4cGFuZCxcbi5jaGFydGpzLXNpemUtbW9uaXRvci1zaHJpbmsge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGRpcmVjdGlvbjogbHRyO1xuICBsZWZ0OiAwO1xuICB0b3A6IDA7XG4gIHJpZ2h0OiAwO1xuICBib3R0b206IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IC0xXG59XG5cbi5jaGFydGpzLXNpemUtbW9uaXRvci1leHBhbmQ+ZGl2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwMDAwMHB4O1xuICBoZWlnaHQ6IDEwMDAwMDBweDtcbiAgbGVmdDogMDtcbiAgdG9wOiAwXG59XG5cbi5jaGFydGpzLXNpemUtbW9uaXRvci1zaHJpbms+ZGl2IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMjAwJTtcbiAgaGVpZ2h0OiAyMDAlO1xuICBsZWZ0OiAwO1xuICB0b3A6IDBcbn0iLCIubGFuZGluZy1oZWFkZXIge1xuICBoZWlnaHQ6cmVtLWNhbGMoNjAwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHBhZGRpbmc6cmVtLWNhbGMoMCAyMCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBoZWlnaHQ6MTAwdmg7XG4gICAgcGFkZGluZzowO1xuICB9XG4gIC50b3AtbWVudS1iYXIge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6cmVtLWNhbGMoMjApO1xuICAgIHJpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICB0b3A6cmVtLWNhbGMoMjUpO1xuICAgIHotaW5kZXg6MjtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBsZWZ0OjA7XG4gICAgICByaWdodDowO1xuICAgICAgdG9wOnJlbS1jYWxjKDc1KTtcbiAgICB9XG4gICAgLmxvZ28ge1xuICAgICAgZmxvYXQ6bGVmdDtcbiAgICAgIGEge1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDMpO1xuICAgICAgICB3aWR0aDpyZW0tY2FsYyg0MDApO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDMpO1xuICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgIHRvcDowO1xuICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICAmLmxvZ28taW1nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmLnNob3ctb24taG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTowO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTowO1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNDMpO1xuICAgICAgICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGxpbmVhcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICYuc2hvdy1vbi1ob3ZlciB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OjE7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIC5oYW1idXJnZXItbWVudSB7XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLmhlYWRlci1tZW51IHtcbiAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTApO1xuICAgICAgfVxuXG4gICAgICB1bCB7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNjAwKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMTIpO1xuICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICBjb250ZW50OiAnJztcbiAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGdvbGQ7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgIHRyYW5zaXRpb246IHdpZHRoIC4zcztcblxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgICYuY3VycmVudF9wYWdlX2l0ZW0ge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgIGxlZnQ6MDtcbiAgICByaWdodDowO1xuICAgIHRvcDowO1xuICAgIGJvdHRvbTowO1xuICAgIHotaW5kZXg6MTtcbiAgICB3aWR0aDoxMDAlO1xuICAgIGhlaWdodDpyZW0tY2FsYyg2MDApO1xuICAgIG9iamVjdC1maXQ6Y292ZXI7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgd2lkdGg6MTAwdnc7XG4gICAgICBoZWlnaHQ6MTAwdmg7XG4gICAgfVxuICB9XG4gIC5oZWFkZXItaW50cm8tZGV0YWlscyB7XG5cbiAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICB0b3A6NTAlO1xuICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuICAgIHotaW5kZXg6MztcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgd2lkdGg6cmVtLWNhbGMoNDc1KTtcbiAgICB9XG4gICAgJjphZnRlciB7XG4gICAgICBjb250ZW50OnVybCgnLi4vaW1nL2xpbmUtYmcuc3ZnJyk7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIHRvcDpyZW0tY2FsYygtNDApO1xuICAgICAgcmlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgei1pbmRleDoxO1xuICAgIH1cbiAgICBoMSB7XG4gICAgICBAaW5jbHVkZSBhbWlyaSg0MDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDUwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTApO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICB6LWluZGV4OjQ7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg3MCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDYwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkpO1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyNCk7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6NDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoNDApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBwYWRkaW5nOjA7XG4gICAgICB9XG4gICAgfVxuICAgIC5jdGEge1xuICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYygzNCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzNCk7XG4gICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjApO1xuICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICBib3JkZXI6cmVtLWNhbGMoMSkgc29saWQgJGdvbGQ7XG4gICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGxpbmVhcjtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgei1pbmRleDo0O1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zY3JvbGwtZG93biB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgbGVmdDo1MCU7XG4gICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYm90dG9tOnJlbS1jYWxjKDI1KTtcbiAgICB6LWluZGV4OjI7XG4gICAgZm9udC1zaXplOnJlbS1jYWxjKDQwKTtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIGJvdHRvbTpyZW0tY2FsYygxMDUpO1xuICAgIH1cbiAgICBhIHtcbiAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi53aG8td2UtYXJlIHtcbiAgYmFja2dyb3VuZDojRjFGMkYzO1xuICBwYWRkaW5nOnJlbS1jYWxjKDQwIDIwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6NTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1pbi1oZWlnaHQ6MTAwdmg7XG4gICAgcGFkZGluZzpyZW0tY2FsYyg3NSAwIDg1IDApO1xuICB9XG4gIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC5tYWluLXNsaWRlLWRldGFpbHMtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg0MCk7XG4gICAgLm1lZGl1bS0zIHtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIH1cbiAgICAubWFpbi1zbGlkZS1kZXRhaWxzIHtcbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEpO1xuICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDMwMCk7XG4gICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICB9XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGNvbG9yOiRkYXJrLWdyZXk7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgICAgaDYge1xuICAgICAgY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDQwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg1MCk7XG4gICAgfVxuICAgIH1cbiAgICAubnVtYmVycy1jb250YWluZXIge1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAuc3RhdC1udW1iZXIge1xuICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBvcGFjaXR5OjA7XG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOjA7XG4gICAgICAgICAgbGVmdDowO1xuICAgICAgICAgIHJpZ2h0OjA7XG4gICAgICAgIH1cbiAgICAgICAgJi5zdGF0LW51bWJlci0wIHtcbiAgICAgICAgICAvLyY6YmVmb3JlIHtcbiAgICAgICAgICAvLyAgY29udGVudDp1cmwoJy4uL2ltZy90d28tbm9ybWFsLnN2ZycpO1xuICAgICAgICAgIC8vICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAvLyAgbGVmdDowO1xuICAgICAgICAgIC8vICB0b3A6cmVtLWNhbGMoNTApO1xuICAgICAgICAgIC8vICB3aWR0aDpyZW0tY2FsYyg1Nyk7XG4gICAgICAgICAgLy8gIGhlaWdodDpyZW0tY2FsYyg0Nyk7XG4gICAgICAgICAgLy8gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgLy8gICAgbGVmdDpyZW0tY2FsYygtNDApO1xuICAgICAgICAgIC8vICB9XG4gICAgICAgICAgLy8gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAvLyAgICBsZWZ0OnJlbS1jYWxjKC04MCk7XG4gICAgICAgICAgLy8gIH1cbiAgICAgICAgICAvL31cbiAgICAgICAgICAvLyY6YWZ0ZXIge1xuICAgICAgICAgIC8vICBjb250ZW50OnVybCgnLi4vaW1nL29uZS5zdmcnKTtcbiAgICAgICAgICAvLyAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgLy8gIHJpZ2h0OjA7XG4gICAgICAgICAgLy8gIHRvcDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgLy8gIHdpZHRoOnJlbS1jYWxjKDMxKTtcbiAgICAgICAgICAvLyAgaGVpZ2h0OnJlbS1jYWxjKDQ3KTtcbiAgICAgICAgICAvLyAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAvLyAgICByaWdodDpyZW0tY2FsYygtNDApO1xuICAgICAgICAgIC8vICB9XG4gICAgICAgICAgLy8gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAvLyAgICByaWdodDpyZW0tY2FsYygtODApO1xuICAgICAgICAgIC8vICB9XG4gICAgICAgICAgLy99XG4gICAgICAgIH1cbiAgICAgICAgJi5zdGF0LW51bWJlci0xIHtcbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAvLyY6YmVmb3JlIHtcbiAgICAgICAgICAvLyAgY29udGVudDp1cmwoJy4uL2ltZy90d28uc3ZnJyk7XG4gICAgICAgICAgLy8gIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgIC8vICBsZWZ0OjA7XG4gICAgICAgICAgLy8gIHRvcDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgLy8gIHdpZHRoOnJlbS1jYWxjKDU3KTtcbiAgICAgICAgICAvLyAgaGVpZ2h0OnJlbS1jYWxjKDQ3KTtcbiAgICAgICAgICAvLyAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAvLyAgICBsZWZ0OnJlbS1jYWxjKC00MCk7XG4gICAgICAgICAgLy8gIH1cbiAgICAgICAgICAvLyAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIC8vICAgIGxlZnQ6cmVtLWNhbGMoLTgwKTtcbiAgICAgICAgICAvLyAgfVxuICAgICAgICAgIC8vfVxuICAgICAgICAgIC8vJjphZnRlciB7XG4gICAgICAgICAgLy8gIGNvbnRlbnQ6dXJsKCcuLi9pbWcvb25lLnN2ZycpO1xuICAgICAgICAgIC8vICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAvLyAgcmlnaHQ6MDtcbiAgICAgICAgICAvLyAgdG9wOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAvLyAgd2lkdGg6cmVtLWNhbGMoMzEpO1xuICAgICAgICAgIC8vICBoZWlnaHQ6cmVtLWNhbGMoNDcpO1xuICAgICAgICAgIC8vICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIC8vICAgIHJpZ2h0OnJlbS1jYWxjKC01MCk7XG4gICAgICAgICAgLy8gIH1cbiAgICAgICAgICAvLyAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIC8vICAgIHJpZ2h0OnJlbS1jYWxjKC0xMDApO1xuICAgICAgICAgIC8vICB9XG4gICAgICAgICAgLy99XG4gICAgICAgIH1cbiAgICAgICAgJi5zdGF0LW51bWJlci0yIHtcbiAgICAgICAgICAvLyY6YmVmb3JlIHtcbiAgICAgICAgICAvLyAgY29udGVudDp1cmwoJy4uL2ltZy90d28td2lkZS5zdmcnKTtcbiAgICAgICAgICAvLyAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgLy8gIGxlZnQ6MDtcbiAgICAgICAgICAvLyAgdG9wOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAvLyAgd2lkdGg6cmVtLWNhbGMoNTcpO1xuICAgICAgICAgIC8vICBoZWlnaHQ6cmVtLWNhbGMoNDcpO1xuICAgICAgICAgIC8vICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIC8vICAgIGxlZnQ6cmVtLWNhbGMoLTMwKTtcbiAgICAgICAgICAvLyAgfVxuICAgICAgICAgIC8vICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgLy8gICAgbGVmdDpyZW0tY2FsYygtNzApO1xuICAgICAgICAgIC8vICB9XG4gICAgICAgICAgLy99XG4gICAgICAgICAgLy8mOmFmdGVyIHtcbiAgICAgICAgICAvLyAgY29udGVudDp1cmwoJy4uL2ltZy90d28tdGhpbi5zdmcnKTtcbiAgICAgICAgICAvLyAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgLy8gIHJpZ2h0OjA7XG4gICAgICAgICAgLy8gIHRvcDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgLy8gIHdpZHRoOnJlbS1jYWxjKDMxKTtcbiAgICAgICAgICAvLyAgaGVpZ2h0OnJlbS1jYWxjKDQ3KTtcbiAgICAgICAgICAvLyAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAvLyAgICByaWdodDpyZW0tY2FsYygtMzApO1xuICAgICAgICAgIC8vICB9XG4gICAgICAgICAgLy8gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAvLyAgICByaWdodDpyZW0tY2FsYygtNjApO1xuICAgICAgICAgIC8vICB9XG4gICAgICAgICAgLy99XG4gICAgICAgIH1cbiAgICAgICAgaDQge1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDAuOCk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgaDMge1xuICAgICAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDgwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoLTYpO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMzApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICB0ZXh0LXNoYWRvdzowIHJlbS1jYWxjKDQpIHJlbS1jYWxjKDYpIHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuZmVhdHVyZWQtY29udGVudCB7XG4gIGJhY2tncm91bmQ6I2ZmZjtcbiAgcGFkZGluZzpyZW0tY2FsYyg2MCAyMCAxMDAgMjApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgYmFja2dyb3VuZDojRjFGMkYzO1xuICAgIG1pbi1oZWlnaHQ6MTAwdmg7XG4gICAgcGFkZGluZzpyZW0tY2FsYyg3NSAwIDg1IDApO1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6MTA7XG4gIH1cbiAgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC5mZWF0dXJlZC1wYWdlcyB7XG4gICAgcGFkZGluZy10b3A6MDtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygxMDApO1xuICAgIH1cbiAgICAuZmVhdHVyZWQtaXRlbSB7XG4gICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgIH1cbiAgICAgIGg1IHtcbiAgICAgICAgJi53aXRoLXNtYWxsLWJvcmRlciB7XG4gICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50Om5vbmU7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmljb24td3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgYWxpZ24taXRlbXM6Y2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNDApO1xuICAgICAgICAgIHRyYW5zaXRpb246b3BhY2l0eSAwLjNzIGxpbmVhcjtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNTApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBpbWcge1xuICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICB6LWluZGV4OjE7XG4gICAgICAgICAgaGVpZ2h0OjA7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246b3BhY2l0eSAwLjNzIGxpbmVhcjtcbiAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgIH1cbiAgICAgIC5jdGEge1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDUwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDM0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjApO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGxpbmVhcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuXG4gICAgICAgIC5pY29uLXdyYXBwZXIge1xuICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6MTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgb3BhY2l0eTowO1xuICAgICAgICAgICAgICBmb250LXNpemU6MDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG9wYWNpdHk6MDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDIwMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTpyZW0tY2FsYygtNTApO1xuICAgIGxpIHtcbiAgICAgIGJ1dHRvbiB7XG4gICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMzApO1xuICAgICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5hYm91dC15b3JrIHtcbiAgYmFja2dyb3VuZDojMzQzOTQxO1xuICBwYWRkaW5nOnJlbS1jYWxjKDQwIDIwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6MTE7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoNzUgMCA4NSAwKTtcbiAgfVxuICAuc2l0ZW5hbWUtZmxvYXQge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxuICAudG9wLW1lbnUtYmFyIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLmFib3V0LXlvcmstcXVvdGUge1xuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygxMDApO1xuICAgIH1cbiAgICAuYWJvdXQteW9yay1xdW90ZS10ZXh0IHtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoNTApO1xuICAgICAgYmFja2dyb3VuZDp1cmwoJy4uL2ltZy9saW5lLWJnLTIuc3ZnJykgbm8tcmVwZWF0IHRvcCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6MTAwJSAxMDAlO1xuXG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNDApO1xuICAgICAgICBjb2xvcjokd2hpdGU7XG5cbiAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYyg0NSk7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDYwKTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5jdGEge1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDUwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzNCk7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyMCk7XG4gICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICBib3JkZXI6cmVtLWNhbGMoMSkgc29saWQgJGdvbGQ7XG4gICAgICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi50ZWFtLWRldGFpbHMge1xuICBiYWNrZ3JvdW5kOiAjRjFGMkYzO1xuICBwYWRkaW5nOiByZW0tY2FsYyg0MCAyMCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDYwIDAgMTAwIDApO1xuICB9XG4gIC5yb3cge1xuICAgIG1heC13aWR0aDpyZW0tY2FsYygxMTIwKSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjowIGF1dG87XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gIH1cbiAgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC50ZWFtLWRldGFpbHMtYmxvY2tzIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDEwMCk7XG4gICAgfVxuICAgIC5yb3cge1xuICAgICAgLnNpdGVuYW1lLWZsb2F0LXRleHQge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICB9XG4gICAgfVxuICAgIC5mZWF0dXJlZC1wYXJhZ3JhcGgge1xuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0MCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDQwKTtcbiAgICAgICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEpO1xuICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLnNtYWxsLXBhcmFncmFwaCB7XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGNvbG9yOiRkYXJrLWdyZXk7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLnRlYW0tYmxvY2sge1xuICBwYWRkaW5nOiByZW0tY2FsYyg0MCAyMCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQ0IDAgMjAwIDApO1xuICB9XG4gIC5maWx0ZXJzIHtcbiAgICAuZmlsdGVyLWJveCB7XG4gICAgICAmLm9mZmljZXMtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygxOSk7XG4gICAgICB9XG4gICAgICAuY2ItY29udGFpbmVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAtd2Via2l0LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbW96LXVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAtbXMtdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgIGNvbG9yOiM3QTdBN0E7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg1KTtcbiAgICAgICAgLmNoZWNrbWFyayB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgICAgIGJveC1zaGFkb3c6aW5zZXQgMCByZW0tY2FsYygxKSByZW0tY2FsYygyKSAwIHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgICAtd2Via2l0LWJveC1zaGFkb3c6aW5zZXQgMCByZW0tY2FsYygxKSByZW0tY2FsYygyKSAwIHJnYmEoMCwwLDAsMC41KTtcbiAgICAgICAgfVxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAmOmNoZWNrZWQgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNBREFEQUQ7XG4gICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6Y2hlY2tlZCB+IC5jaGVja21hcms6YWZ0ZXIge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICY6aG92ZXIgaW5wdXQgfiAuY2hlY2ttYXJrIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjQURBREFEO1xuICAgICAgICAgIGJveC1zaGFkb3c6bm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICAuZmlsdGVyLWJ0biB7XG4gICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDMwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgfVxuICAgICAgYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg0MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygzNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDM0KTtcbiAgICAgICAgYm9yZGVyOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgNTApO1xuICAgICAgICBjb2xvcjokZGFyay1ncmV5O1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBsaW5lYXI7XG4gICAgICAgIGN1cnNvcjpoYW5kO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1lbWJlcnMge1xuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDYwKTtcbiAgICAudGVhbS1tZW1iZXJzLXdyYXBwZXIge1xuICAgICAgLnNpbmdsZS1tZW1iZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgLm1lbWJlci1pbWFnZSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAvL3otaW5kZXg6MjtcbiAgICAgICAgICAgICAgLy9vcGFjaXR5OjE7XG4gICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDAlKTtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgIC8vJi5idyB7XG4gICAgICAgICAgICAgIC8vICBvcGFjaXR5OjA7XG4gICAgICAgICAgICAgIC8vICB6LWluZGV4OjE7XG4gICAgICAgICAgICAgIC8vfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAubWVtYmVyLWltYWdlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEzKTtcbiAgICAgICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzEwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGxpbmVhcjtcbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDMxMCk7XG4gICAgICAgICAgICAgIG9iamVjdC1maXQ6Y292ZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5tZW1iZXItZGV0YWlscyB7XG4gICAgICAgICAgLm9mZmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgICAgICBmb250LXN0eWxlOml0YWxpYztcbiAgICAgICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICB9XG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgICAgICB9XG4gICAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgICAgICBjb2xvcjokZGFyay1ncmV5O1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmxvYWQtbW9yZSB7XG4gICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgLm1vcmUtYnV0dG9uIHtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAzXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OidpY29tb29uJztcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgZm9udC13ZWlnaHQ6NDAwO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgfVxuICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICB9XG4gICAgfVxuICAgIC5zZWUtYWxsIHtcbiAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgcmlnaHQ6MDtcbiAgICAgIGNvbG9yOiMyMzFGMjA7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDcwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLmNvbnRhY3QtbWFwIHtcbiAgYmFja2dyb3VuZDokd2hpdGU7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDQwIDIwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUwIDAgNzAgMCk7XG4gIH1cbiAgLm1hcCB7XG4gICAgI21hcCB7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoNDcwKTtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQ3MCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm9mZmljZXMge1xuICAgIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgcGFkZGluZzowO1xuICAgICAgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg1IHtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNjAwKTtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLm9mZmljZS1kZXRhaWxzIHtcbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICAgIGNvbG9yOiRkYXJrLWdyZXk7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTkpO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc29jaWFsLWxpbmtzIHtcbiAgICBhIHtcbiAgICAgIGNvbG9yOiRnb2xkO1xuICAgIH1cbiAgfVxufSIsIi5jb250YWN0LW1hcCxcbi5jb250YWN0LW9mZmljZSB7XG4gIGJhY2tncm91bmQ6JHdoaXRlO1xuICBwYWRkaW5nOiByZW0tY2FsYyg0MCAyMCk7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1MCAwIDcwIDApO1xuICB9XG4gIC5vZmZpY2VzIHtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgcGFkZGluZzowO1xuICAgICAgXG4gICAgICAub2ZmaWNlIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBcbiAgICAgICAgICAmOm50aC1vZi10eXBlKDNuKzEpIHtcbiAgICAgICAgICAgIGNsZWFyOmJvdGg7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgICBoNSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDYwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgfVxuICAgICAgICAub2ZmaWNlLWRldGFpbHMge1xuICAgICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gIH1cbiAgLnNvY2lhbC1saW5rcyB7XG4gICAgYSB7XG4gICAgICBjb2xvcjokZ29sZDtcbiAgICB9XG4gIH1cbn0iLCIuY29udGFjdC1mb3JtIHtcbiAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMTUwKTtcbiAgLnRoZS1mb3JtIHtcbiAgICAuZ2Zvcm1fd3JhcHBlciB7XG4gICAgICBtYXJnaW46cmVtLWNhbGMoNCkgMCAwIDA7XG4gICAgICAmLmdmb3JtX3ZhbGlkYXRpb25fZXJyb3Ige1xuICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgcGFkZGluZzowO1xuICAgICAgICBtYXJnaW46cmVtLWNhbGMoNCkgMCAwIDA7XG4gICAgICB9XG4gICAgICAuZ2Zvcm1fYW5jaG9yIHtcbiAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgfVxuICAgICAgZm9ybSB7XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAudmFsaWRhdGlvbl9lcnJvciB7XG4gICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICB9XG4gICAgICAgIC5nZm9ybV9ib2R5IHtcbiAgICAgICAgICAuZ2Zvcm1fZmllbGRzIHtcbiAgICAgICAgICAgIC5nZmllbGQge1xuICAgICAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjA7XG5cbiAgICAgICAgICAgICAgJi5nZl9sZWZ0X2hhbGYge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6MDtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYyg3KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgJi5nZl9yaWdodF9oYWxmIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OjA7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICYuc2hvdy1sYWJlbCB7XG4gICAgICAgICAgICAgICAgLmdmaWVsZF9sYWJlbCB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAmLmNoZWNrYm94LWZpZWxkIHtcblxuICAgICAgICAgICAgICAgIGxhYmVsOmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICAgIHdpZHRoOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6cmVtLWNhbGMoMSkgc29saWQgJGdvbGQ7XG4gICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIHRvcDpyZW0tY2FsYyg3KTtcbiAgICAgICAgICAgICAgICAgIGxlZnQ6cmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgICAgICAgICAgIHotaW5kZXg6MjtcbiAgICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6MTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDAgMCAyNSk7XG4gICAgICAgICAgICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOnVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgei1pbmRleDogMTAwO1xuICAgICAgICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAmLnJhZGlvLWZpZWxkIHtcbiAgICAgICAgICAgICAgICA+IGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE5KTtcbiAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLmdpbnB1dF9jb250YWluZXIge1xuICAgICAgICAgICAgICAgICAgLmdmaWVsZF9yYWRpbyB7XG4gICAgICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBsYWJlbDphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6cmVtLWNhbGMoMSkgc29saWQgJGdvbGQ7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JHdoaXRlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDQpO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAwO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjEwMCU7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6cmVtLWNhbGMoNyk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6cmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6MjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czoxMDAlO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOSk7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAwIDAgMjUpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjokYmxhY2s7XG4gICAgICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiRibGFjaztcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246dW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAxMDA7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSArIGxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyBsYWJlbDpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICYuZ2ZpZWxkX2Vycm9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICAgICAgYm9yZGVyOm5vbmU7XG5cbiAgICAgICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6cmVtLWNhbGMoLTE1KTtcbiAgICAgICAgICAgICAgICAgIGlucHV0LFxuICAgICAgICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgICAgICAgdGV4dGFyZWEge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6cmVtLWNhbGMoMSkgc29saWQgJGRhcmstYmx1ZTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgLnZhbGlkYXRpb25fbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5nZmllbGRfbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNTAwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgICAgICAgY29sb3I6JGJsYWNrO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDcpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAuZ2lucHV0X2NvbnRhaW5lciB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDowICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgaW5wdXQsXG4gICAgICAgICAgICAgICAgc2VsZWN0LFxuICAgICAgICAgICAgICAgIHRleHRhcmVhIHtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0Myk7XG4gICAgICAgICAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyMCk7XG4gICAgICAgICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDUwMCk7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93OjAgcmVtLWNhbGMoMSkgcmVtLWNhbGMoMikgMCBpbnNldCByZ2JhKDAsMCwwLDAuNSk7XG4gICAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgICAgICAgICAgICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjojQURBREFEO1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OjE7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNTAwKTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6JGdvbGQ7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgICBib3gtc2hhZG93Om5vbmU7XG4gICAgICAgICAgICAgICAgICB3aWR0aDozMCU7XG4gICAgICAgICAgICAgICAgICBjb2xvcjojQURBREFEO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0ZXh0YXJlYSB7XG4gICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOjA7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygyMTMpO1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC5nZmllbGRfZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICBjb2xvcjokZGFyay1ibHVlO1xuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmdmb3JtX2Zvb3RlciB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDonKiBBbGwgZmllbGRzIGFyZSByZXF1aXJlZC4nO1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6aXRhbGljO1xuICAgICAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLmdmb3JtX2J1dHRvbiB7XG4gICAgICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgICAgICAgYm9yZGVyOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiR3aGl0ZTtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAzNCk7XG4gICAgICAgICAgICBjb2xvcjokZGFyay1ncmV5O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgbGluZWFyO1xuICAgICAgICAgICAgY3Vyc29yOmhhbmQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgbWFyZ2luLXRvcDowO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc3ViLXN0cmF0ZWdpZXMge1xuICBiYWNrZ3JvdW5kOiNGOUY5Rjk7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNjAgMjAgMzAgMjApO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgei1pbmRleDozO1xuICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDQ1KTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoNzUgMCAyNTAgMCk7XG4gIH1cbiAgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC5yb3cge1xuICAgIG1heC13aWR0aDpyZW0tY2FsYygxMTIwKSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjowIGF1dG87XG4gIH1cbiAgLnN1Yi1zdHJhdGVnaWVzLWhlYWQge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIC50b3AtbWVudS1iYXIge1xuICAgICAgLmxvZ28ge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgIH1cbiAgICAgIC5oZWFkZXItbW9iaWxlLW1lbnUge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zdWItc3RyYXRlZ2llcy1jb250ZW50IHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDIzMCk7XG4gICAgfVxuICAgIC5zaW5nbGUtY29udGVudC1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNTApO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgICAgfVxuICAgICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBhbWlyaSg0MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNDUpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg0NSk7XG4gICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICB9XG4gICAgICBociB7XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgIGJvcmRlci1jb2xvcjokZ29sZDtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xuICAgICAgICAgIGZsb2F0OmxlZnQ7XG5cbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBjbGVhcjpib3RoO1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyNSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cblxuXG5cbiAgLmhlYWRlci1tb2JpbGUtbWVudSB7XG4gICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgdG9wOjA7XG4gICAgcmlnaHQ6cmVtLWNhbGMoNDgpO1xuICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuICAgIHotaW5kZXg6OTk5OTtcbiAgICBhIHtcblxuICAgICAgLmhhbWJ1cmdlci1tZW51IHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoNTApO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMjYpO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDo5OTk5O1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMik7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBiYWNrZ3JvdW5kOiM5Nzk3OTc7XG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgcmlnaHQ6MDtcbiAgICAgICAgICB0b3A6MDtcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgdG9wOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDM0LjUpO1xuICAgICAgICAgIH1cbiAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICB0b3A6cmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTcuNSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zdWItc3RyYXRlZ2llcy1tZW51IHtcbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICBtYXJnaW46MDtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICBib3R0b206cmVtLWNhbGMoLTgwKTtcbiAgICAgICAgd2lkdGg6Y2FsYygxMDAlIC0gNDBweCk7XG4gICAgICAgIGxlZnQ6YXV0bztcbiAgICAgICAgcmlnaHQ6YXV0bztcblxuICAgICAgICBkaXNwbGF5OnRhYmxlO1xuICAgICAgICBmbGV4LXdyYXA6bm93cmFwO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTYwKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTEyMCk7XG4gICAgICB9XG4gICAgICBsaSB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgICAgd2lkdGg6MjUlO1xuICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgfVxuICAgICAgICBkaXYge1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyMCk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg5MCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg5MCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6dGFibGU7XG4gICAgICAgICAgICB3aWR0aDoxMDAlO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgICBwYWRkaW5nOjA7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg4MCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg4MCk7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoOTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg2KTtcbiAgICAgICAgICAgICAgZGlzcGxheTpub25lO1xuICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDM1IDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi5vdXItcHJpbmNpcGxlcyB7XG4gIGJhY2tncm91bmQ6I2ZmZjtcbiAgcGFkZGluZzpyZW0tY2FsYyg0MCAyMCk7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDIzMCAwIDIwMCAwKTtcbiAgfVxuICAuYmxvY2stdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNjApO1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgfVxuICB9XG4gIC5wcmluY2lwbGVzIHtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDYwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDE2MCk7XG4gICAgfVxuICAgIC5wcmluY2lwbGVzLXNsaWRlciB7XG4gICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICBtYXJnaW46MDtcbiAgICAgIHBhZGRpbmc6MDtcbiAgICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg1MCk7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOjA7XG4gICAgICAgIH1cbiAgICAgICAgaDIge1xuICAgICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICAgIH1cbiAgICAgICAgaDUge1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IHJlbS1jYWxjKDAuOCk7XG4gICAgICAgIH1cbiAgICAgICAgcCB7XG4gICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgIGNvbG9yOiRkYXJrLWdyZXk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC5zbGljay1kb3RzIHtcbiAgICAgICAgYm90dG9tOnJlbS1jYWxjKC01MCk7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYmxvY2stZW5kLXRleHQge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoNDApO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNDApO1xuICAgICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICB9XG4gIH1cbn0iLCIuZXNnLWNvbW1pdG1lbnQge1xuICBiYWNrZ3JvdW5kOiNGOUY5Rjk7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNjAgMjApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzpyZW0tY2FsYygyMDAgMCAyMzAgMCk7XG4gIH1cbiAgLnJvdyB7XG4gICAgbWF4LXdpZHRoOnJlbS1jYWxjKDExMjApICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgfVxuICAuYmxvY2stdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNzApO1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICB3aWR0aDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIH1cbiAgICB9XG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICB9XG4gIH1cbiAgLnNpbmdsZS1jb250ZW50LWl0ZW0ge1xuICAgIGhlaWdodDpyZW0tY2FsYygxNDYpO1xuICAgIGJvcmRlcjpyZW0tY2FsYygxKSBzb2xpZCAkZ29sZDtcbiAgICBkaXNwbGF5OmZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjIpO1xuICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIyKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgbWFyZ2luLWJvdHRvbTowO1xuICAgIH1cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6I0Q4RDhEODtcbiAgICAgIGJvcmRlci1jb2xvcjojRDhEOEQ4O1xuICAgIH1cbiAgfVxufSIsIi5jb2xvcmVkLWJyZWFkY3J1bWIge1xuICBoZWlnaHQ6cmVtLWNhbGMoNTUpO1xuICBsaW5lLWhlaWdodDpyZW0tY2FsYyg1NSk7XG4gIHRleHQtYWxpZ246bGVmdDtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6MTAwO1xuICBAaW5jbHVkZSBtb250c2VycmF0KDYwMCk7XG4gIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gIGJhY2tncm91bmQ6IzlBQjg1ODtcbiAgY29sb3I6JHdoaXRlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgfVxuICAmLnRlYWwge1xuICAgIGJhY2tncm91bmQ6IzU4QjZCODtcbiAgICAuYnJlYWRjcnVtYnMtbGlua3Mge1xuICAgICAgYmFja2dyb3VuZDojNThCNkI4O1xuICAgIH1cbiAgfVxuICAmLmxpZ2h0LWJsdWUge1xuICAgIGJhY2tncm91bmQ6IzkwQ0JGQTtcblxuICAgIC5icmVhZGNydW1icy1saW5rcyB7XG4gICAgICBiYWNrZ3JvdW5kOiM5MENCRkE7XG4gICAgfVxuICB9XG4gICYuZGFyay1ibHVlIHtcbiAgICBiYWNrZ3JvdW5kOiMxOTc4QzQ7XG5cbiAgICAuYnJlYWRjcnVtYnMtbGlua3Mge1xuICAgICAgYmFja2dyb3VuZDojMTk3OEM0O1xuICAgIH1cbiAgfVxuICAmLmdyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiM5QUI4NTg7XG5cbiAgICAuYnJlYWRjcnVtYnMtbGlua3Mge1xuICAgICAgYmFja2dyb3VuZDogIzlBQjg1ODtcbiAgICB9XG4gIH1cbiAgLnJvdyB7XG4gICAgbWF4LXdpZHRoOnJlbS1jYWxjKDExMjApICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgfVxuICAuYnJlYWRjcnVtYnMtbGlua3Mge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6NjtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMTApO1xuICAgIGEge1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgIH1cbiAgfVxuICAub3RoZXItcGFnZXMge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICByaWdodDowO1xuICAgICAgdG9wOjA7XG4gICAgICBmb250LXNpemU6MDtcbiAgICB9XG4gICAgYSB7XG4gICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDM3KTtcbiAgICAgIGhlaWdodDpyZW0tY2FsYyg1NSk7XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMjApO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICBcbiAgICAgIHAge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IHJlbS1jYWxjKDU1KTtcbiAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgICAgXG4gICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDM3KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNyk7XG4gICAgICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA1KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlKDkwZGVnKTsgLyogU2FmYXJpICovXG4gICAgICAgICAgICAtbW96LXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlKDkwZGVnKTsgLyogRmlyZWZveCAzLjYgRmlyZWZveCA0ICovXG4gICAgICAgICAgICAvKi1tb3otdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQgdG9wOyAqL1xuICAgICAgICAgICAgLW1zLXRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSkgcm90YXRlKDkwZGVnKTsgLyogSUU5ICovXG4gICAgICAgICAgICAtby10cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSg5MGRlZyk7IC8qIE9wZXJhICovXG4gICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpIHJvdGF0ZSg5MGRlZyk7IC8qIFczQyAqLyAgXG4gICAgICAgICAgICAtd2Via2l0LXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAgICAgLW1vei10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICAgIC1tcy10cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGJvdHRvbTtcbiAgICAgICAgICAgIC1vLXRyYW5zZm9ybS1vcmlnaW46IGxlZnQgYm90dG9tO1xuICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBib3R0b207XG4gICAgICB9XG4gICAgICBcbiAgICAgICY6aG92ZXIge1xuICAgICAgICAgIHAge1xuICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm11bHRpLXN0cmF0ZWd5LWludHJvIHtcbiAgcGFkZGluZzpyZW0tY2FsYyg0MCAyMCk7XG4gIGJhY2tncm91bmQ6I0YwRjBGMTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDEzMCAwIDgwIDApO1xuICB9XG4gIC5yb3cge1xuICAgIG1heC13aWR0aDpyZW0tY2FsYygxMTIwKSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjowIGF1dG87XG4gICAgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgLnNpdGVuYW1lLWZsb2F0LXRleHQge1xuICAgICAgICB0b3A6cmVtLWNhbGMoMTYwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm1haW4tc2xpZGUtZGV0YWlscyB7XG4gICAgb3ZlcmZsb3c6aGlkZGVuO1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OmxlZnQ7XG4gICAgICB9XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjUpO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMSk7XG4gICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNyk7XG4gICAgICB9XG4gICAgICAmLndpdGgtc21hbGwtYm9yZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg5MCk7XG5cbiAgICAgIH1cbiAgICB9XG4gICAgLmxpbmtzIHtcbiAgICAgIG1hcmdpbjpyZW0tY2FsYyg0MCAwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGZsb2F0OnJpZ2h0O1xuICAgICAgICBtYXJnaW46cmVtLWNhbGMoMTAgMCAwIDApO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygzMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDMyKTtcbiAgICAgICAgYm9yZGVyOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDYwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyNSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgY29sb3I6IzU3NTc1NztcbiAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMCAzMCAwKTtcbiAgICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICAgIHdoaXRlLXNwYWNlOm5vd3JhcDtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoMCAwIDEwIDEwKTtcbiAgICAgICAgfVxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICBoNSB7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDcwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMC44KTtcbiAgICAgIG1hcmdpbi1ib3R0b206MDtcbiAgICB9XG4gICAgaDYge1xuICAgICAgY29sb3I6ICRkYXJrLWdyZXk7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDQwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjApO1xuICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg1MCk7XG4gICAgfVxuICAgIHAge1xuICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgIGNvbG9yOiRkYXJrLWdyZXk7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDQ1MCk7XG4gICAgICB9XG4gICAgfVxuICAgIHVsIHtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDpyZW0tY2FsYyg0NTApO1xuICAgICAgfVxuICAgICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLm51bWJlcnMtY29udGFpbmVyIHtcbiAgICB0ZXh0LWFsaWduOmNlbnRlcjtcbiAgICAuc3RhdC1udW1iZXIge1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDUwKTtcblxuICAgICAgJi5uYXJyb3cge1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDUwKTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDp1cmwoJy4uL2ltZy90d28uc3ZnJyk7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoNDApIGF1dG87XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMzEpO1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0Nyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICYud2lkZSB7XG4gICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6dXJsKCcuLi9pbWcvdHdvLXdpZGUuc3ZnJyk7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoNDApIGF1dG87XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoNzApO1xuICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0Nyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMC44KTtcbiAgICAgIH1cbiAgICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDkwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoLTQpO1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICBjb2xvcjokZGFyay1ncmV5O1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDEwKTtcbiAgICAgIH1cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgdGV4dC1zaGFkb3c6MCByZW0tY2FsYyg0KSByZW0tY2FsYyg2KSByZ2JhKDAsMCwwLDAuNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLm1lZXQtdGhlLXRlYW0ge1xuICB3cml0aW5nLW1vZGU6IHZlcnRpY2FsLXJsO1xuICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG4gIHBvc2l0aW9uOmZpeGVkO1xuICByaWdodDowO1xuICB0b3A6cmVtLWNhbGMoMjIwKTtcbiAgYmFja2dyb3VuZDokZ29sZDtcbiAgY29sb3I6I2ZmZjtcbiAgcGFkZGluZzpyZW0tY2FsYygyMiAxNik7XG4gIEBpbmNsdWRlIG1vbnRzZXJyYXQoNTAwKTtcbiAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICBsZXR0ZXItc3BhY2luZzogcmVtLWNhbGMoMS42KTtcbiAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gIHotaW5kZXg6OTk7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6JGRhcmstYmx1ZTtcbiAgICBjb2xvcjojZmZmO1xuICB9XG59IiwiLnN0cmF0ZWdpZXMtbGlua3Mge1xuICBiYWNrZ3JvdW5kOiMzNDM5NDE7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNDAgMjApO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgei1pbmRleDoxMTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMTUwIDAgMTYwIDApO1xuICB9XG4gIC5yb3cge1xuICAgIG1heC13aWR0aDpyZW0tY2FsYygxMTIwKSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjowIGF1dG87XG4gIH1cblxuICAuc2luZ2xlLWNvbnRlbnQtaXRlbSB7XG4gICAgaGVpZ2h0OnJlbS1jYWxjKDIwMCk7XG4gICAgYm9yZGVyOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMzApO1xuICAgIHRyYW5zaXRpb246YWxsIDAuM3MgbGluZWFyO1xuXG4gICAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgY29sb3I6I0Q4RDhEODtcbiAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjowIGF1dG87XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMjApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNDApO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyNSk7XG4gICAgICAgIH1cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNTApO1xuICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAzNSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg2MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGRpc3BsYXk6bm9uZTtcbiAgICAgICAgY29sb3I6IzU3NTc1NztcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDIwKTtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMzApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNik7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjEpO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgNTApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6I0Q4RDhEODtcbiAgICAgIGJvcmRlci1jb2xvcjojRDhEOEQ4O1xuICAgICAgaDIge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICB9XG4gICAgICBoNSB7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB9XG4gICAgfVxuICAgICYub25lLW9mLTQge1xuICAgICAgaDIge1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoNDApO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAxNSk7XG4gICAgICB9XG4gICAgICBoNSB7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDIwKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuaW52ZXN0bWVudC1jYXBhYmlsaXRpZXMge1xuICBiYWNrZ3JvdW5kOiM5QUI4NTg7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNDAgMjApO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgei1pbmRleDoxMTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMTIwIDAgNjAgMCk7XG4gIH1cbiAgLnJvdyB7XG4gICAgbWF4LXdpZHRoOnJlbS1jYWxjKDExMjApICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgfVxuICAuYmxvY2stdGV4dCB7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICBmb250LXNpemU6cmVtLWNhbGMoNTApO1xuICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDUwKTtcbiAgICBjb2xvcjojRjBGMEYxO1xuICAgIGJvcmRlci1ib3R0b206cmVtLWNhbGMoMikgc29saWQgJGRhcmstYmx1ZTtcbiAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gIH1cbiAgLnNpbmdsZS1jb250ZW50LWl0ZW0ge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoNDApO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoNzAgNzAgNzAgNzApO1xuICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyMCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgaGVpZ2h0OnJlbS1jYWxjKDQ5KTtcbiAgICAgIG1hcmdpbjowO1xuICAgIH1cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyMCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgICBtYXJnaW46MDtcbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiNGMEYwRjE7XG4gICAgICBwIHtcbiAgICAgICAgY29sb3I6IzU3NTc1NztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY29sbGFib3JhdGlvbi1iZW5lZml0IHtcbiAgcGFkZGluZzpyZW0tY2FsYyg0MCAyMCk7XG4gIGJhY2tncm91bmQ6I0YwRjBGMTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDEzNSAwIDE3MCAwKTtcbiAgfVxuICAucm93IHtcbiAgICBtYXgtd2lkdGg6cmVtLWNhbGMoMTEyMCkgIWltcG9ydGFudDtcbiAgICBtYXJnaW46MCBhdXRvO1xuICB9XG4gIC5ibG9jay10aXRsZSB7XG4gICAgaDIge1xuICAgICAgY29sb3I6ICRkYXJrLWJsdWU7XG4gICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuICB9XG4gIC5ibG9jay1kZXNjcmlwdGlvbiB7XG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICB9XG4gIH1cbiAgLnN0cmF0ZWd5LWZ1bmRzIHtcbiAgICAgICYudHdvLWNvbHMge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgICBcbiAgICA+IHAge1xuICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgIGNvbG9yOiRkYXJrLWdyZXk7XG4gICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoNzIpO1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYyg5Mik7XG4gICAgICB9XG4gICAgICAmLm5hcnJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgICB1bCB7XG4gICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICBwYWRkaW5nOjA7XG4gICAgICBtYXJnaW46MDtcbiAgICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTp0YWJsZTtcbiAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYyg3Mik7XG4gICAgICAgICAgZGlzcGxheTp0YWJsZS1jZWxsO1xuICAgICAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICB3aWR0aDpyZW0tY2FsYyg5Mik7XG4gICAgICAgICAgfVxuICAgICAgICAgIGltZyB7XG5cbiAgICAgICAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDpyZW0tY2FsYygxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5kZXRhaWxzIHtcbiAgICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgICAgaDUge1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzpyZW0tY2FsYygwLjgpO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgICBjb2xvcjokZGFyay1ncmV5O1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYudHdvLWNvbHMge1xuICAgICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6cmVtLWNhbGMoODApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgICYuc2Vjb25kLWNvbCB7XG4gICAgICB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoNTApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5ibG9jay1lbmQtdGV4dCB7XG4gICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNzUpO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDE3NSk7XG4gICAgfVxuICAgIGgzIHtcbiAgICAgIGNvbG9yOiAkZGFyay1ibHVlO1xuICAgICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg0MCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6ICRkYXJrLWJsdWU7XG4gICAgICB9XG4gICAgfVxuICAgIGg2IHtcbiAgICAgIGNvbG9yOiAkZGFyay1ncmV5O1xuICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg0MDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgIHRleHQtYWxpZ246bGVmdDtcbiAgICB9XG4gIH1cbn0iLCIuY2F0ZWdvcmllcy1uZXdzIHtcbiAgcGFkZGluZzogcmVtLWNhbGMoNDAgMjApO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUwIDAgMTMwIDApO1xuICB9XG4gIC5zbGljay1zbGlkZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgLnNsaWNrLXRyYWNrIHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICB9XG4gICAgICAuc2xpY2stYXJyb3cge1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICB6LWluZGV4OiAxMDAwO1xuICAgICAgICAgIFxuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgLyogdXNlICFpbXBvcnRhbnQgdG8gcHJldmVudCBpc3N1ZXMgd2l0aCBicm93c2VyIGV4dGVuc2lvbnMgdGhhdCBjaGFuZ2UgZm9udHMgKi9cbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogJ2ljb21vb24nICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICAgICAgY29sb3I6ICM3QTdBN0E7XG4gICAgICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgICYuc2xpY2stcHJldiB7XG4gICAgICAgICAgICAgIGxlZnQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTkwMFwiO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIFxuICAgICAgICAgICYuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygtMzApO1xuICAgICAgICAgICAgICBcbiAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgxODBkZWcpO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgfVxuICAgIC5zbGljay1kb3RzIHtcbiAgICAgIGJvdHRvbTowO1xuICAgICAgbGkge1xuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgJi5zbGljay1hY3RpdmUge1xuICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbi5zbGlkZXItbmV3cyB7XG4gIC5zbGlkZXItdGl0bGUge1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICB3aWR0aDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC5zbGlkZXItY29udGVudCB7XG4gICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoNzApO1xuICAgIC5jYXRlZ29yeS1uZXdzLWl0ZW0ge1xuICAgICAgYmFja2dyb3VuZDojRjlGOUY5O1xuICAgICAgcGFkZGluZzpyZW0tY2FsYygyMiAyMiA0NCAyMik7XG4gICAgICBtaW4taGVpZ2h0OnJlbS1jYWxjKDUzNik7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgLmNhdGVnb3J5LW5ld3MtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgLmRhdGUge1xuICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICAgIGNvbG9yOiM3QTdBN0E7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICBoNiB7XG4gICAgICAgICAgdGV4dC1hbGlnbjpyaWdodDtcbiAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDQwMCk7XG4gICAgICAgICAgY29sb3I6IzdBN0E3QTtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgICAgIC5jYXRlZ29yeS1uZXdzLWl0ZW0tY2F0ZWdvcnkge1xuICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB9XG4gICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDcwMCk7XG4gICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMSk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAuY2F0ZWdvcnktbmV3cy1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoMjAgMCk7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYW1pcmkoNDAwKTtcbiAgICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDM1KTtcbiAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzUpO1xuICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAuZXhjZXJwdCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgY29sb3I6IzU3NTc1NztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmN0YSB7XG4gICAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgICAgYm90dG9tOnJlbS1jYWxjKDQ0KTtcbiAgICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNDAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzpyZW0tY2FsYygwLjkpO1xuICAgICAgICAgICAgY29sb3I6IzU3NTc1NztcbiAgICAgICAgICAgIGJvcmRlcjpyZW0tY2FsYygxKSBzb2xpZCAkZ29sZDtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygzNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygzNCk7XG4gICAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMzApO1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGxpbmVhcjtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOmhvdmVyIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCA1cHggMTBweCByZ2JhKDAsMCwwLDAuMjUpLCAwIDEwcHggMTBweCAtMTBweCByZ2JhKDAsMCwwLDAuMjIpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi53aHkteW9yayB7XG4gIGJhY2tncm91bmQ6I0Y5RjlGOTtcbiAgcGFkZGluZzpyZW0tY2FsYyg0MCAyMCAwIDIwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6NTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1pbi1oZWlnaHQ6MTAwdmg7XG4gICAgcGFkZGluZzpyZW0tY2FsYyg3NSAwIDAgMCk7XG4gIH1cbiAgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC53aHkteW9yay1kZXRhaWxzIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBkaXNwbGF5OnRhYmxlO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICB9XG4gICAgLndoeS15b3JrLXRleHQge1xuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDQxMCk7XG4gICAgICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDEwNSk7XG4gICAgICB9XG4gICAgICBoMiB7XG4gICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICBjb250ZW50OicnO1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMSk7XG4gICAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNyk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIC50ZXh0IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgIGNvbG9yOiRkYXJrLWdyZXk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgLndoeS15b3JrLWltYWdlIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICBib3R0b206MDtcbiAgICAgIH1cbiAgICAgIGltZyB7XG4gICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICBmaWx0ZXI6Z3JheXNjYWxlKDEwMCUpO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICB3aWR0aDphdXRvO1xuICAgICAgICB9XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNzEwKTtcbiAgICAgICAgICBtYXJnaW4tbGVmdDpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufSIsIi50cnVlLWdsb2JhbCB7XG4gIGJhY2tncm91bmQ6ICNGNEY0RjU7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDQwIDIwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiA3O1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDc1IDAgMCAwKTtcbiAgfVxuICAuc2l0ZW5hbWUtZmxvYXQge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxuICAudG9wLW1lbnUtYmFyIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLnRydWUtZ2xvYmFsLWRldGFpbHMge1xuXG4gICAgICBkaXNwbGF5OnRhYmxlO1xuICAgICAgd2lkdGg6MTAwJTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC50cnVlLWdsb2JhbC10ZXh0IHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgcG9zaXRpb246c3RhdGljO1xuICAgICAgdHJhbnNmb3JtOm5vbmU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDQyMik7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB0b3A6NTAlO1xuICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgbGVmdDowO1xuICAgICAgICByaWdodDphdXRvO1xuICAgICAgICB6LWluZGV4OjEwO1xuICAgICAgfVxuICAgICAgaDIge1xuICAgICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICB3aWR0aDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEpO1xuICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDcpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAudGV4dCB7XG4gICAgICAgIHAge1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBjb2xvcjokZGFyay1ncmV5O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIC50cnVlLWdsb2JhbC1tYXAge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIGZsb2F0Om5vbmU7XG4gICAgICB3aWR0aDoxMDAlO1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDc0NSk7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBkaXNwbGF5OnRhYmxlLWNlbGw7XG4gICAgICAgIG1hcmdpbjowO1xuICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgIH1cbiAgICAgIC50aGUtbWFwIHtcbiAgICAgICAgd2lkdGg6MTAwJTtcbiAgICAgICAgaGVpZ2h0OmF1dG87XG4gICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4Ojg7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgd2lkdGg6cmVtLWNhbGMoNzQ1KTtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoNzQ1KTtcbiAgICAgICAgfVxuICAgICAgICBzdmcge1xuICAgICAgICAgIGEge1xuICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGxpbmVhcjtcbiAgICAgICAgICAgICYubWFpbi1vZmZpY2Uge1xuICAgICAgICAgICAgICB3aWR0aDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgIGZpbGw6dHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgIGcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgICAgICAgZmlsbDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjaXJjbGUge1xuICAgICAgICAgICAgICAgICAgZmlsbDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTogJGdvbGQ7XG4gICAgICAgICAgICAgICAgICAmLnN0MSB7XG4gICAgICAgICAgICAgICAgICAgIGZpbGw6JGdvbGQgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgc3Ryb2tlOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICAgICAgZmlsbDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIHN0cm9rZTp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgIGNpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgIHN0cm9rZTokZGFyay1ibHVlO1xuICAgICAgICAgICAgICAgICAgICBmaWxsOiRkYXJrLWJsdWU7XG4gICAgICAgICAgICAgICAgICAgIGN1cnNvcjpwb2ludGVyO1xuICAgICAgICAgICAgICAgICAgICAmLnN0MCB7XG4gICAgICAgICAgICAgICAgICAgICAgZmlsbDp0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAmLnN0MSB7XG4gICAgICAgICAgICAgICAgICAgICAgZmlsbDokZGFyay1ibHVlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgY2lyY2xlIHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246Y29sb3IgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgc3Ryb2tlOiRkYXJrLWJsdWU7XG4gICAgICAgICAgICAgIGZpbGw6JGRhcmstYmx1ZTtcbiAgICAgICAgICAgICAgY3Vyc29yOnBvaW50ZXI7XG4gICAgICAgICAgICAgICYuc3QwIHtcbiAgICAgICAgICAgICAgICBmaWxsOm5vbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDIwKTtcbiAgICAgICAgICB6LWluZGV4OiA5MDA7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgYm94LXNoYWRvdzogcmVtLWNhbGMoNCkgcmVtLWNhbGMoNCkgcmVtLWNhbGMoNykgcmdiYSgwLDAsMCwwLjE4KTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAmOmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTBweDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMTBweCBzb2xpZCB3aGl0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDkwMDtcbiAgICAgICAgICB9XG4gICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNjAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjojNTc1NzU3O1xuICAgICAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgICAgfVxuICAgICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGNvbG9yOiM1NzU3NTc7XG4gICAgICAgICAgICBtYXJnaW46MDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuY2xpZW50LXJlbGF0aW9ucyB7XG4gIGJhY2tncm91bmQ6ICNGRkY7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDQwIDIwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMjtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGJhY2tncm91bmQ6ICNGNEY0RjU7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNzUgMCAwIDApO1xuICB9XG4gIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxuICAuZmxleC1yb3cge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gIH1cbiAgLmNsaWVudC1yZWxhdGlvbnMtdGV4dCB7XG4gICAgd2lkdGg6MTAwJTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICB3aWR0aDpyZW0tY2FsYyg0MTApO1xuICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxOTApO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjUpO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMSk7XG4gICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNyk7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXh0IHtcbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgLmNsaWVudC1yZWxhdGlvbnMtY2hhcnQge1xuICAgIHdpZHRoOjEwMCU7XG4gICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg2MCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDM1Nyk7XG4gICAgfVxuICAgIGg1IHtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICBjb2xvcjokZ29sZDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg1KTtcbiAgICB9XG4gICAgcCB7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDQwMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgY29sb3I6JGRhcmstZ3JheTtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjUpO1xuICAgIH1cbiAgICAuY2hhcnQtY2FudmFzIHtcbiAgICAgIHdpZHRoOnJlbS1jYWxjKDM1NSk7XG4gICAgICBoZWlnaHQ6cmVtLWNhbGMoMzU1KTtcbiAgICAgIG1hcmdpbjowO1xuICAgICAgcGFkZGluZzowO1xuICAgIH1cbiAgICAuY2hhcnQtbGFiZWxzIHtcbiAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMzApO1xuICAgICAgbWFyZ2luLWxlZnQ6MDtcbiAgICAgIHdpZHRoOjEwMCU7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDYwKTtcbiAgICAgIH1cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OjA7XG4gICAgICB9XG4gICAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGU6bm9uZTtcbiAgICAgICAgbWFyZ2luOjAgMCByZW0tY2FsYygxMCk7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgbGkge1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNTAwKTtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgIGNvbG9yOiM1NzU3NTc7XG4gICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgLmNvbG9yIHtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6cmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOm1pZGRsZTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBmbG9hdDpyaWdodDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuc3Ryb25nLWhlcml0YWdlIHtcbiAgYmFja2dyb3VuZDojRkZGRkZGO1xuICBwYWRkaW5nOnJlbS1jYWxjKDQwIDIwIDAgMjApO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgei1pbmRleDoxNTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDQwIDIwKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNzUgMCAwIDApO1xuICB9XG4gIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxuICAuc3Ryb25nLWhlcml0YWdlLXRleHQge1xuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDQwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoNjUpO1xuICAgIH1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygxMDUpO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjUpO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMSk7XG4gICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNyk7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXh0IHtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoNDU2KTtcbiAgICAgIH1cbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgY29sb3I6JGRhcmstZ3JleTtcbiAgICAgIH1cbiAgICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyMCk7XG4gICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIG1hcmdpbjpyZW0tY2FsYygzMCAwIDEwIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc3Ryb25nLWhlcml0YWdlLWltYWdlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgIGJvdHRvbTowO1xuICAgIH1cbiAgICBpbWcge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDcxMCk7XG4gICAgICAgIG1hcmdpbi1sZWZ0OnJlbS1jYWxjKDEwKTtcbiAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIub3duZXJzaGlwLWN1bHR1cmUge1xuICBiYWNrZ3JvdW5kLXJlcGVhdDpuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtcG9zaXRpb246Y2VudGVyIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1zaXplOmNvdmVyO1xuICBwYWRkaW5nOnJlbS1jYWxjKDQwIDIwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6MztcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDgwIDQwKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDc1IDAgMCAwKTtcbiAgfVxuICAvLyY6YWZ0ZXIge1xuICAvLyAgY29udGVudDpcIlwiO1xuICAvLyAgcG9zaXRpb246YWJzb2x1dGU7XG4gIC8vICB0b3A6MDtcbiAgLy8gIGxlZnQ6MDtcbiAgLy8gIHJpZ2h0OjA7XG4gIC8vICBib3R0b206MDtcbiAgLy8gIHotaW5kZXg6NDtcbiAgLy8gIGJhY2tncm91bmQ6IHJnYigyNTUsMjU1LDI1NSk7XG4gIC8vICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMzhkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoNTIsNTcsNjUsMSkgMTAwJSk7XG4gIC8vfVxuICAuc2l0ZW5hbWUtZmxvYXQge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxuICAudG9wLW1lbnUtYmFyIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICAuc2l0ZW5hbWUtZmxvYXQtdGV4dCB7XG4gICAgICBjb2xvcjojRjBGMEYxO1xuICAgIH1cbiAgfVxuICAudG9wLW1lbnUtYmFyIHtcbiAgICAubG9nbyB7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIHotaW5kZXg6NTtcbiAgICB9XG4gIH1cbiAgLm93bmVyc2hpcC1jdWx0dXJlLXRleHQge1xuICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgIHotaW5kZXg6NTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygxNjUpO1xuICAgIH1cbiAgICBoMiB7XG4gICAgICBjb2xvcjokd2hpdGU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYyg3MCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYyg2MCk7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjUpO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMik7XG4gICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoNyk7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXh0IHtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICB3aWR0aDpyZW0tY2FsYygzNDYpO1xuICAgICAgfVxuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNTAwKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICBjb2xvcjojRjBGMEYxO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIueW9yay1jYXJlcyB7XG4gIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNDAgMjApO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgei1pbmRleDo0O1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoODAgNDApO1xuICB9XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoNzUgMCAwIDApO1xuICB9XG4gIC8vJjphZnRlciB7XG4gIC8vICBjb250ZW50OlwiXCI7XG4gIC8vICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgLy8gIHRvcDowO1xuICAvLyAgbGVmdDowO1xuICAvLyAgcmlnaHQ6MDtcbiAgLy8gIGJvdHRvbTowO1xuICAvLyAgei1pbmRleDo1O1xuICAvLyAgYmFja2dyb3VuZDogcmdiKDI1NSwyNTUsMjU1KTtcbiAgLy8gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgyNzBkZWcsIHJnYmEoMjU1LDI1NSwyNTUsMCkgMCUsIHJnYmEoNTIsNTcsNjUsMSkgMTAwJSk7XG4gIC8vfVxuICAuc2l0ZW5hbWUtZmxvYXQge1xuICAgIC5zaXRlbmFtZS1mbG9hdC10ZXh0IHtcbiAgICAgIGNvbG9yOiNGMEYwRjE7XG4gICAgfVxuICB9XG4gIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxuICAudG9wLW1lbnUtYmFyIHtcbiAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygxMjUpO1xuICAgIC5sb2dvIHtcbiAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgei1pbmRleDo2O1xuICAgIH1cbiAgfVxuICAueW9yay1jYXJlcy10ZXh0IHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjY7XG4gICAgaDIge1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoNzApO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDcpO1xuICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGNvbG9yOiNGMEYwRjE7XG4gICAgICB9XG4gICAgICAmLm9yZ2FuaXphdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OnJlbS1jYWxjKDQwKTtcbiAgICAgICAgfVxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICB9XG59XG5cbiIsIi5ncmVlbi15b3JrIHtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6Nztcbn1cblxuIiwiLmFkdmFuY2UtY2FyZWVyIHtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6bm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOmNlbnRlciBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTpjb3ZlcjtcbiAgcGFkZGluZzpyZW0tY2FsYyg0MCAyMCk7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB6LWluZGV4Ojc7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgcGFkZGluZzpyZW0tY2FsYyg4MCA0MCk7XG4gIH1cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIG1pbi1oZWlnaHQ6MTAwdmg7XG4gICAgcGFkZGluZzpyZW0tY2FsYyg3NSAwIDAgMCk7XG4gIH1cbiAgLy8mOmFmdGVyIHtcbiAgLy8gIGNvbnRlbnQ6XCJcIjtcbiAgLy8gIHBvc2l0aW9uOmFic29sdXRlO1xuICAvLyAgdG9wOjA7XG4gIC8vICBsZWZ0OjA7XG4gIC8vICByaWdodDowO1xuICAvLyAgYm90dG9tOjA7XG4gIC8vICB6LWluZGV4Ojg7XG4gIC8vICBiYWNrZ3JvdW5kOiByZ2IoMjU1LDI1NSwyNTUpO1xuICAvLyAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDI3MGRlZywgcmdiYSgyNTUsMjU1LDI1NSwwKSAwJSwgcmdiYSg1Miw1Nyw2NSwxKSAxMDAlKTtcbiAgLy99XG4gIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgLnNpdGVuYW1lLWZsb2F0LXRleHQge1xuICAgICAgY29sb3I6I0YwRjBGMTtcbiAgICB9XG4gIH1cbiAgLnNpdGVuYW1lLWZsb2F0IHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLnRvcC1tZW51LWJhciB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC50b3AtbWVudS1iYXIge1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDE1MCk7XG4gICAgLmxvZ28ge1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICB6LWluZGV4Ojk7XG4gICAgfVxuICB9XG4gIC5hZHZhbmNlLWNhcmVlci10ZXh0IHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4Ojk7XG4gICAgaDIge1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICBmb250LXNpemU6cmVtLWNhbGMoNzApO1xuICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoNjApO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDIpO1xuICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDcpO1xuICAgICAgfVxuICAgIH1cbiAgICAudGV4dCB7XG4gICAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGNvbG9yOiNGMEYwRjE7XG4gICAgICB9XG4gICAgfVxuICAgIC5jdGEge1xuICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygzMCk7XG4gICAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgIGNvbG9yOiR3aGl0ZTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDM0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDAgMzApO1xuICAgICAgICBkaXNwbGF5OmlubGluZS1ibG9jaztcbiAgICAgICAgYm9yZGVyOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgICAgICB0cmFuc2l0aW9uOmFsbCAwLjNzIGxpbmVhcjtcbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4iLCIuY2FyZWVyLWJsb2NrIHtcbiAgcGFkZGluZzpyZW0tY2FsYyg0MCAyMCk7XG4gIHBvc2l0aW9uOnJlbGF0aXZlO1xuICB6LWluZGV4OjEzO1xuICBiYWNrZ3JvdW5kOiR3aGl0ZTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDgwIDQwKTtcbiAgfVxuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgbWluLWhlaWdodDoxMDB2aDtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDc1IDAgMCAwKTtcbiAgfVxuICAuc2l0ZW5hbWUtZmxvYXQge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxuICAudG9wLW1lbnUtYmFyIHtcbiAgICBkaXNwbGF5Om5vbmU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTpibG9jaztcbiAgICB9XG4gIH1cbiAgLmNhcmVlci1ibG9jay10ZXh0IHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICB6LWluZGV4OjU7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgcGFkZGluZy10b3A6cmVtLWNhbGMoMTEwKTtcbiAgICB9XG4gICAgaDIge1xuICAgICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoNDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDcwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDYwKTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICB3aWR0aDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygxMCk7XG4gICAgICB9XG4gICAgfVxuICAgIC50ZXh0IHtcbiAgICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDcwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgICAgYSB7XG4gICAgICAgICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiRkYXJrLWdyYXk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59IiwiLm91ci1oaXN0b3J5IHtcbiAgYmFja2dyb3VuZDojRjVGNUY1O1xuXG4gIHBhZGRpbmc6cmVtLWNhbGMoNDAgMjAgMTAwIDIwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6MTY7XG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICBtaW4taGVpZ2h0OjEwMHZoO1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoNzUgMCAwIDApO1xuICB9XG4gIC5zaXRlbmFtZS1mbG9hdCB7XG4gICAgZGlzcGxheTpub25lO1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgfVxuICB9XG4gIC50b3AtbWVudS1iYXIge1xuICAgIGRpc3BsYXk6bm9uZTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBkaXNwbGF5OmJsb2NrO1xuICAgIH1cbiAgfVxuICAuYmxvY2stdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDExNSk7XG4gICAgaDIge1xuICAgICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICB3aWR0aDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygyMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIC55ZWFycy1saW5rcyB7XG4gICAgbGlzdC1zdHlsZTpub25lO1xuICAgIG1hcmdpbjowO1xuICAgIHBhZGRpbmc6MDtcbiAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDYwKTtcbiAgICBib3JkZXItdG9wOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgIGZvbnQtc2l6ZTowO1xuICAgIGRpc3BsYXk6ZmxleDtcbiAgICBmbGV4LXdyYXA6bm93cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBsaSB7XG4gICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgIHdyaXRpbmctbW9kZTogdmVydGljYWwtbHI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygyMCk7XG4gICAgICBsaW5lLWhlaWdodDoxO1xuICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtMTgwZGVnKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcblxuICAgICAgfVxuXG4gICAgICAmOmJlZm9yZSB7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygxNSk7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDEpO1xuICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgYm90dG9tOnJlbS1jYWxjKC03KTtcbiAgICAgICAgbGVmdDo1MCU7XG4gICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgfVxuICAgICAgYSB7XG4gICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyNSk7XG4gICAgICAgIG9wYWNpdHk6MC4yO1xuICAgICAgICBsZXR0ZXItc3BhY2luZzpyZW0tY2FsYygtMS4xKTtcbiAgICAgICAgcGFkZGluZy1yaWdodDpyZW0tY2FsYyg1KTtcbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgIG9wYWNpdHk6MTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAueWVhcnMtc2xpZGVyIHtcbiAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDgwKTtcbiAgICBcbiAgICAueWVhcnMtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MDApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuICAgIH1cbiAgICBcbiAgICAuY29udHJvbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB6LWluZGV4OiAxMTtcbiAgICAgIGxlZnQ6NTAlO1xuICAgICAgdHJhbnNmb3JtOnRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgICAmLmNvbnRyb2wtcHJldiB7XG4gICAgICAgIHRvcDpyZW0tY2FsYygtNTApO1xuICAgICAgfVxuICAgICAgJi5jb250cm9sLW5leHQge1xuICAgICAgICBib3R0b206cmVtLWNhbGMoLTUwKTtcbiAgICAgIH1cbiAgICB9XG4gICAgXG4gICAgLnllYXIge1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXM7XG4gICAgICBcbiAgICAgICAgaDIge1xuICAgICAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEzMCk7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoODApO1xuICAgICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHotaW5kZXg6MjtcbiAgICAgICAgfVxuICAgICAgICBwIHtcbiAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDMwMCk7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgY29sb3I6IzU3NTc1NztcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgei1pbmRleDoyO1xuICAgICAgICB9XG4gICAgICAuaW1hZ2VzIHtcbiAgICAgICAgZGlzcGxheTpmbGV4O1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuYmVmb3JlLWltYWdlIHtcbiAgICAgICAgcG9zaXRpb246YWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6MTtcbiAgICAgICAgaW1nIHtcbiAgICAgICAgICBtYXgtaGVpZ2h0OnJlbS1jYWxjKDEzMCk7XG4gICAgICAgICAgd2lkdGg6YXV0bztcbiAgICAgICAgICBib3gtc2hhZG93OjAgcmVtLWNhbGMoNCkgcmVtLWNhbGMoNikgcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICB9XG4gICAgICAgICYudG9wX2xlZnQge1xuICAgICAgICAgIGxlZnQ6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgIHRvcDpyZW0tY2FsYygtODApO1xuICAgICAgICB9XG4gICAgICAgICYudG9wX3JpZ2h0IHtcbiAgICAgICAgICByaWdodDpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgdG9wOnJlbS1jYWxjKC04MCk7XG4gICAgICAgIH1cbiAgICAgICAgJi50b3BfY2VudGVyIHtcbiAgICAgICAgICBsZWZ0OjUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06dHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgICB0b3A6cmVtLWNhbGMoLTgwKTtcbiAgICAgICAgfVxuXG4gICAgICB9XG4gICAgICAuYWZ0ZXItaW1hZ2Uge1xuICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDoxO1xuICAgICAgICBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDpyZW0tY2FsYygyMDApO1xuICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgIGJveC1zaGFkb3c6MCByZW0tY2FsYyg0KSByZW0tY2FsYyg2KSByZ2JhKDAsMCwwLDAuNSk7XG4gICAgICAgIH1cbiAgICAgICAgJi5ib3R0b21fbGVmdCB7XG4gICAgICAgICAgbGVmdDpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgYm90dG9tOnJlbS1jYWxjKC01MCk7XG4gICAgICAgIH1cbiAgICAgICAgJi5ib3R0b21fcmlnaHQge1xuICAgICAgICAgIHJpZ2h0OnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICBib3R0b206cmVtLWNhbGMoLTUwKTtcbiAgICAgICAgfVxuICAgICAgICAmLmJvdHRvbV9jZW50ZXIge1xuICAgICAgICAgIGxlZnQ6NTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICAgIGJvdHRvbTpyZW0tY2FsYygtNTApO1xuICAgICAgICB9XG5cbiAgICAgIH1cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdG9wOiByZW0tY2FsYygxODApO1xuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAmLmFmdGVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDk5OSk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgICAgICYucHJldiB7XG4gICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygwKTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC4xKTtcbiAgICAgICAgICAgIFxuICAgICAgICAgICAgcCxcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgJi5wcmV2LTEge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjc7XG4gICAgICAgIH1cbiAgICAgICAgJi5wcmV2LTIge1xuICAgICAgICAgICAgaGVpZ2h0OiByZW0tY2FsYyg1MCk7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuMzUpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgICAgICYucHJldi0zIHtcbiAgICAgICAgICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjIpO1xuICAgICAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICB9XG4gICAgfVxuICB9XG59IiwiLnBhcmFsbGF4LWltYWdlIHtcbiAgaGVpZ2h0OnJlbS1jYWxjKDYwMCk7XG4gIGJhY2tncm91bmQtcmVwZWF0Om5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjpjZW50ZXIgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6Y292ZXI7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIGJhY2tncm91bmQtYXR0YWNobWVudDpmaXhlZDtcbiAgfVxufSIsIi5jb21tdW5pdHktbmV3cyB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDQwIDIwKTtcbiAgcG9zaXRpb246cmVsYXRpdmU7XG4gIHotaW5kZXg6ODtcbiAgYmFja2dyb3VuZDojZmZmO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTUwIDAgMTMwIDApO1xuICAgIG1pbi1oZWlnaHQ6MTAwdmg7XG4gIH1cbiAgLnNsaWNrLXNsaWRlciB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAuc2xpY2stdHJhY2sge1xuICAgICAgICBtYXJnaW46MDtcbiAgICAgIH1cbiAgICAgIC5zbGljay1hcnJvdyB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTp0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgIHotaW5kZXg6IDEwMDA7XG4gICAgICAgICAgXG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAvKiB1c2UgIWltcG9ydGFudCB0byBwcmV2ZW50IGlzc3VlcyB3aXRoIGJyb3dzZXIgZXh0ZW5zaW9ucyB0aGF0IGNoYW5nZSBmb250cyAqL1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAnaWNvbW9vbicgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzdBN0E3QTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OjE7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgJi5zbGljay1wcmV2IHtcbiAgICAgICAgICAgICAgbGVmdDogcmVtLWNhbGMoLTMwKTtcbiAgICAgICAgICAgICAgXG4gICAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlOTAwXCI7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgXG4gICAgICAgICAgJi5zbGljay1uZXh0IHtcbiAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKC0zMCk7XG4gICAgICAgICAgICAgIFxuICAgICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDBcIjtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06cm90YXRlKDE4MGRlZyk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICB9XG4gICAgLnNsaWNrLWRvdHMge1xuICAgICAgYm90dG9tOjA7XG4gICAgICBsaSB7XG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSB7XG4gICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgICAgb3BhY2l0eToxO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2xpZGVyLXRpdGxlIHtcbiAgICBoMiB7XG4gICAgICBjb2xvcjokZGFyay1ibHVlO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYyg0MCk7XG4gICAgICAmOmFmdGVyIHtcbiAgICAgICAgY29udGVudDonJztcbiAgICAgICAgd2lkdGg6cmVtLWNhbGMoMjUpO1xuICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMSk7XG4gICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgIG1hcmdpbi10b3A6cmVtLWNhbGMoMjApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuc2xpZGVyLWNvbnRlbnQge1xuICAgIHBhZGRpbmctYm90dG9tOnJlbS1jYWxjKDcwKTtcbiAgICAuY2F0ZWdvcnktbmV3cy1pdGVtIHtcbiAgICAgIGJhY2tncm91bmQ6I0Y5RjlGOTtcbiAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjIgMjIgNDQgMjIpO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgIC5jYXRlZ29yeS1uZXdzLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIC5kYXRlIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOnJpZ2h0O1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNzAwKTtcbiAgICAgICAgICBjb2xvcjojN0E3QTdBO1xuICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICAgICAgaDYge1xuICAgICAgICAgIHRleHQtYWxpZ246cmlnaHQ7XG4gICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg0MDApO1xuICAgICAgICAgIGNvbG9yOiM3QTdBN0E7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgICAgICAuY2F0ZWdvcnktbmV3cy1pdGVtLWNhdGVnb3J5IHtcbiAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgICAgJjphZnRlciB7XG4gICAgICAgICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEpO1xuICAgICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgLmNhdGVnb3J5LW5ld3MtaXRlbS1jb250ZW50IHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgaDMge1xuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDIwIDApO1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGFtaXJpKDQwMCk7XG4gICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygzNSk7XG4gICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDM1KTtcbiAgICAgICAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgICAgICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmV4Y2VycHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCgzMDApO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgIGNvbG9yOiM1NzU3NTc7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5jdGEge1xuICAgICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICAgIGJvdHRvbTpyZW0tY2FsYyg0NCk7XG4gICAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDQwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06dXBwZXJjYXNlO1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6cmVtLWNhbGMoMC45KTtcbiAgICAgICAgICAgIGNvbG9yOiM1NzU3NTc7XG4gICAgICAgICAgICBib3JkZXI6cmVtLWNhbGMoMSkgc29saWQgJGdvbGQ7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzQpO1xuICAgICAgICAgICAgcGFkZGluZzpyZW0tY2FsYygwIDMwKTtcbiAgICAgICAgICAgIGRpc3BsYXk6aW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjphbGwgMC4zcyBsaW5lYXI7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNXB4IDEwcHggcmdiYSgwLDAsMCwwLjI1KSwgMCAxMHB4IDEwcHggLTEwcHggcmdiYSgwLDAsMCwwLjIyKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi5yZXByZXNlbnRhdGl2ZXMtYWN0aXZlIHtcbiAgcGFkZGluZzpyZW0tY2FsYyg1MCAwIDcwIDApO1xuICBiYWNrZ3JvdW5kOnJnYmEoMjQwLDI0MCwyNDEsMC40KTtcbiAgLnJvdyB7XG4gICAgbWF4LXdpZHRoOnJlbS1jYWxjKDExMjApICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgfVxuICAuYmxvY2stdGl0bGUge1xuICAgIHBhZGRpbmctdG9wOnJlbS1jYWxjKDExMCk7XG4gICAgaDIge1xuICAgICAgY29sb3I6JGRhcmstYmx1ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMjApO1xuICAgICAgJjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6Jyc7XG4gICAgICAgIHdpZHRoOnJlbS1jYWxjKDI1KTtcbiAgICAgICAgaGVpZ2h0OnJlbS1jYWxjKDEpO1xuICAgICAgICBiYWNrZ3JvdW5kOiRnb2xkO1xuICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOnJlbS1jYWxjKDcpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY29tcGFuaWVzLWdyaWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjpyZW0tY2FsYygxMDAgMCk7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAxZnIpO1xuICAgICAgZ3JpZC1jb2x1bW4tZ2FwOiByZW0tY2FsYyg4MCk7XG4gICAgICBncmlkLXJvdy1nYXA6IHJlbS1jYWxjKDEwMCk7XG4gICAgfVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCg0LCAxZnIpO1xuICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgMWZyKTtcbiAgICB9XG4gICAgLmNvbXBhbnkge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHN0YXJ0O1xuICAgICAgfVxuICAgICAgLmNvbXBhbnktbG9nbyB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGltZyB7XG5cbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOjYwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDpyZW0tY2FsYygyMjkpO1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OnJlbS1jYWxjKDEzMik7XG4gICAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNvbXBhbnktcG9wdXAge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB3aWR0aDoxMDB2dztcbiAgICAgICAgYmFja2dyb3VuZDojMzQzOTQxO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2KSByZW0tY2FsYyg3KSByZW0tY2FsYygxMikgcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICB6LWluZGV4OjEwMDtcbiAgICAgICAgbGVmdDpyZW0tY2FsYygtMTApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDQ1MCk7XG4gICAgICAgICAgbGVmdDowO1xuICAgICAgICB9XG4gICAgICAgIC5jbG9zZS1wb3B1cCB7XG4gICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OnJlbS1jYWxjKC0xNSk7XG4gICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygtMTUpO1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDEzKTtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTMpO1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygtMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3B1cC1pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTkwKTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6Y292ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3B1cC1kZXRhaWxzIHtcbiAgICAgICAgICBoNSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDUwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgY29sb3I6I0YwRjBGMTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgICBjb2xvcjojRjBGMEYxO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgYm9yZGVyOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg2MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyNSk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjojRjBGMEYxO1xuICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuY29tcGFuaWVzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOnJlbS1jYWxjKDEwMCAwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDFmcik7XG4gICAgICBncmlkLWNvbHVtbi1nYXA6IHJlbS1jYWxjKDgwKTtcbiAgICAgIGdyaWQtcm93LWdhcDogcmVtLWNhbGMoMTAwKTtcbiAgICB9XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDQsIDFmcik7XG4gICAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCAxZnIpO1xuICAgIH1cbiAgICAuY29tcGFueSB7XG4gICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICBhbGlnbi1pdGVtczpjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6Y2VudGVyO1xuICAgICAgcG9zaXRpb246cmVsYXRpdmU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDUwKTtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDpzdGFydDtcbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGdyaWQtYXJlYTogMSAvIDEgLyAyIC8gMztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiAxIC8gMyAvIDIgLyA0O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBncmlkLWFyZWE6IDEgLyA0IC8gMiAvIDU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDQpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGdyaWQtYXJlYTogMiAvIDEgLyAzIC8gMjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgJjpudGgtY2hpbGQoNSkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgZ3JpZC1hcmVhOiAyIC8gMiAvIDMgLyAzO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICAmOm50aC1jaGlsZCg2KSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICBncmlkLWFyZWE6IDIgLyAzIC8gMyAvIDQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgICY6bnRoLWNoaWxkKDcpIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgIGdyaWQtYXJlYTogMiAvIDQgLyAzIC8gNTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNvbXBhbnktbG9nbyB7XG4gICAgICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjpsZWZ0O1xuICAgICAgICB9XG4gICAgICAgIGEge1xuICAgICAgICAgIGltZyB7XG5cbiAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDEwMCUpO1xuICAgICAgICAgICAgbWF4LXdpZHRoOjYwJTtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgIG1heC13aWR0aDpyZW0tY2FsYygzMjkpO1xuICAgICAgICAgICAgICBtYXgtaGVpZ2h0OnJlbS1jYWxjKDE1Mik7XG4gICAgICAgICAgICAgIHdpZHRoOmF1dG87XG4gICAgICAgICAgICAgIGhlaWdodDphdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgIGZpbHRlcjogZ3JheXNjYWxlKDApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgLmNvbXBhbnktcG9wdXAge1xuICAgICAgICBkaXNwbGF5Om5vbmU7XG4gICAgICAgIHBvc2l0aW9uOmFic29sdXRlO1xuICAgICAgICB3aWR0aDoxMDB2dztcbiAgICAgICAgYmFja2dyb3VuZDojMzQzOTQxO1xuICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDMwKTtcbiAgICAgICAgYm94LXNoYWRvdzpyZW0tY2FsYyg2KSByZW0tY2FsYyg3KSByZW0tY2FsYygxMikgcmdiYSgwLDAsMCwwLjUpO1xuICAgICAgICB6LWluZGV4OjEwMDtcbiAgICAgICAgbGVmdDpyZW0tY2FsYygtMTApO1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDQ1MCk7XG4gICAgICAgICAgbGVmdDowO1xuICAgICAgICB9XG4gICAgICAgIC5jbG9zZS1wb3B1cCB7XG4gICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OnJlbS1jYWxjKC0xNSk7XG4gICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygtMTUpO1xuICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDEzKTtcbiAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTMpO1xuICAgICAgICAgIGRpc3BsYXk6YmxvY2s7XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSg0NWRlZyk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDonJztcbiAgICAgICAgICAgIHdpZHRoOnJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6JGdvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OmJsb2NrO1xuICAgICAgICAgICAgdHJhbnNmb3JtOnJvdGF0ZSgtNDVkZWcpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYygtMSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3B1cC1pbWFnZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIHdpZHRoOjEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTkwKTtcbiAgICAgICAgICAgIG9iamVjdC1maXQ6Y292ZXI7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5wb3B1cC1kZXRhaWxzIHtcbiAgICAgICAgICBoNSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDUwMCk7XG4gICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgY29sb3I6I0YwRjBGMTtcbiAgICAgICAgICAgIG1hcmdpbjowO1xuICAgICAgICAgIH1cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICAgICAgICBjb2xvcjojRjBGMEYxO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygzMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTppbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzIpO1xuICAgICAgICAgICAgYm9yZGVyOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg2MDApO1xuICAgICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMCAyNSk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTp1cHBlcmNhc2U7XG4gICAgICAgICAgICBjb2xvcjojRjBGMEYxO1xuICAgICAgICAgICAgZmxvYXQ6cmlnaHQ7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICAuYmxvY2stbm90ZSB7XG4gICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgIGJvcmRlcjpyZW0tY2FsYygxKSBzb2xpZCAkZ29sZDtcbiAgICBwYWRkaW5nOnJlbS1jYWxjKDI1KTtcbiAgICBtYXJnaW46cmVtLWNhbGMoMjUgMCk7XG4gICAgLy8mOmJlZm9yZSxcbiAgICAvLyY6YWZ0ZXIge1xuICAgIC8vICBjb250ZW50OicnO1xuICAgIC8vICB3aWR0aDpyZW0tY2FsYygyNSk7XG4gICAgLy8gIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAvLyAgZGlzcGxheTpibG9jaztcbiAgICAvLyAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAvLyAgbWFyZ2luOjAgYXV0bztcbiAgICAvL31cbiAgICBwIHtcbiAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNTAwKTtcbiAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOCk7XG4gICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyNSk7XG4gICAgICBjb2xvcjojNTc1NzU3O1xuICAgICAgbWFyZ2luOjA7XG4gICAgICBhIHtcbiAgICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjp1bmRlcmxpbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbn0iLCIudHJhbnNhY3Rpb25zLXR5cGVzIHtcbiAgYmFja2dyb3VuZDojMzQzOTQxO1xuICBwYWRkaW5nOnJlbS1jYWxjKDQwIDIwIDAgMjApO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgei1pbmRleDoxMTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoNjUgMCAwIDApO1xuICB9XG4gIC5yb3cge1xuICAgIG1heC13aWR0aDpyZW0tY2FsYygxMTIwKSAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjowIGF1dG87XG4gIH1cbiAgLmNvbnRlbnQtYmxvY2sge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoMzUgNDUpO1xuICAgIGJvcmRlcjpyZW0tY2FsYygxKSBzb2xpZCAkZ29sZDtcbiAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDQwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDY1KTtcbiAgICB9XG4gICAgaDQge1xuICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDIwKTtcbiAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDIwKTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOnVwcGVyY2FzZTtcbiAgICAgIGNvbG9yOiRnb2xkO1xuICAgICAgdGV4dC1hbGlnbjpjZW50ZXI7XG4gICAgICBib3JkZXItYm90dG9tOnJlbS1jYWxjKDEpIHNvbGlkICRnb2xkO1xuICAgICAgcGFkZGluZy1ib3R0b206cmVtLWNhbGMoMTUpO1xuICAgICAgbWFyZ2luLWJvdHRvbTpyZW0tY2FsYygxNSk7XG4gICAgfVxuICAgIC5jb250ZW50LXRleHQge1xuICAgICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNTAwKTtcbiAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICBjb2xvcjojRjBGMEYxO1xuICAgICAgfVxuICAgICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlOm5vbmU7XG4gICAgICAgIHBhZGRpbmc6MDtcbiAgICAgICAgbWFyZ2luOjA7XG4gICAgICAgIGxpIHtcbiAgICAgICAgICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6cmVtLWNhbGMoMjUpO1xuICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoMzAwKTtcbiAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTUpO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDI1KTtcbiAgICAgICAgICBjb2xvcjojRjBGMEYxO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTIpO1xuICAgICAgICAgICY6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6J+KAoic7XG4gICAgICAgICAgICBwb3NpdGlvbjphYnNvbHV0ZTtcbiAgICAgICAgICAgIGxlZnQ6MDtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOnJnYmEoMTIyLDEyMiwxMjIsMC41KTtcbiAgICB9XG4gIH1cbn0iLCIudGVhbS1ibG9jayB7XG4gIHBhZGRpbmc6IHJlbS1jYWxjKDQwIDIwKTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNDQgMCAxMDAgMCk7XG4gIH1cbiAgLmJsb2NrLXRpdGxlIHtcbiAgICBwYWRkaW5nLXRvcDpyZW0tY2FsYygxMDApO1xuICAgIGgyIHtcbiAgICAgIGNvbG9yOiRkYXJrLWJsdWU7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDIwKTtcbiAgICAgICY6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OicnO1xuICAgICAgICB3aWR0aDpyZW0tY2FsYygyNSk7XG4gICAgICAgIGhlaWdodDpyZW0tY2FsYygxKTtcbiAgICAgICAgYmFja2dyb3VuZDokZ29sZDtcbiAgICAgICAgZGlzcGxheTpibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDpyZW0tY2FsYyg3KTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iLCIuaW5kdXN0cnktZm9jdXMge1xuICBiYWNrZ3JvdW5kOiMzNDM5NDE7XG4gIHBhZGRpbmc6cmVtLWNhbGMoNDAgMjAgNTAgMjApO1xuICBwb3NpdGlvbjpyZWxhdGl2ZTtcbiAgei1pbmRleDoxMTtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgIHBhZGRpbmc6cmVtLWNhbGMoNjUgMCAxMDAgMCk7XG4gIH1cbiAgLnJvdyB7XG4gICAgbWF4LXdpZHRoOnJlbS1jYWxjKDExMjApICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOjAgYXV0bztcbiAgfVxuICAuYmxvY2stdGl0bGUge1xuICAgIHRleHQtYWxpZ246Y2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206cmVtLWNhbGMoMTIwKTtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICBtYXJnaW4tYm90dG9tOnJlbS1jYWxjKDgwKTtcbiAgICB9XG4gICAgaDMge1xuICAgICAgY29sb3I6JGdvbGQ7XG4gICAgICBAaW5jbHVkZSBtb250c2VycmF0KDcwMCk7XG4gICAgfVxuICAgIHAge1xuICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg1MDApO1xuICAgIH1cbiAgfVxuICAuYmxvY2stY29udGVudCB7XG4gICAgLmFjY29yZGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICBib3JkZXItdG9wOjFweCBzb2xpZCAkZ29sZDtcbiAgICAgIC5hY2NvcmRpb24taXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206MXB4IHNvbGlkICRnb2xkO1xuICAgICAgICAuYWNjb3JkaW9uLXRpdGxlIHtcbiAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICBAaW5jbHVkZSBtb250c2VycmF0KDcwMCk7XG4gICAgICAgICAgZm9udC1zaXplOnJlbS1jYWxjKDE4KTtcbiAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyOCk7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICBib3JkZXI6bm9uZTtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgICAgICBwYWRkaW5nOnJlbS1jYWxjKDIwIDQwIDI1IDApO1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246bm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU5MDNcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OidpY29tb29uJztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDpub3JtYWw7XG4gICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICAgIHRvcDpyZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOjA7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgNSk7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMCk7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5tYWluLXBvaW50cyB7XG4gICAgICAgICAgICB1bCB7XG5cbiAgICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDIwIDAgMjAgMTApO1xuXG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoMjApIGF1dG87XG4gICAgICAgICAgICAgICAgd2lkdGg6NzAlO1xuICAgICAgICAgICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1jb2x1bW5zOiAyO1xuICAgICAgICAgICAgICAgIC1tb3otY29sdW1uczogMjtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6JHdoaXRlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIG1vbnRzZXJyYXQoNDAwKTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OnJlbS1jYWxjKDMwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICAua2V5LXRoZW1lcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDQwIDAgODApO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICBjb2xvcjokZ29sZDtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg3MDApO1xuICAgICAgICAgICAgICBmb250LXNpemU6cmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICBsaW5lLWhlaWdodDpyZW0tY2FsYygyOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygyMCAwIDIwIDEwKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjpyZW0tY2FsYygyMCAwIDIwIDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjokd2hpdGU7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgbW9udHNlcnJhdCg0MDApO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTpyZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6cmVtLWNhbGMoMzApO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOnJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgJjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogJy4nO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKC0xMCk7XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLmxvZ29zIHtcblxuICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDQwIDAgMzAgMCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgICAgd2lkdGg6ODAlO1xuICAgICAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoNDApIGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICBmbGV4LXNocmluazowO1xuXG4gICAgICAgICAgICAgIGJvcmRlcjoxcHggc29saWQgJGdvbGQ7XG4gICAgICAgICAgICAgIHBhZGRpbmc6cmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICBtYXJnaW46cmVtLWNhbGMoMCAwIDMwIDApO1xuICAgICAgICAgICAgICBkaXNwbGF5OmZsZXg7XG4gICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICBoZWlnaHQ6cmVtLWNhbGMoMTIwKTtcbiAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICB3aWR0aDo0OCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOnJlbS1jYWxjKDAgMTAgMzAgMTApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDozMSU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OnJlbS1jYWxjKDgwKTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6cmVtLWNhbGMoMjIwKTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOm5vbmU7XG4gICAgICAgICAgICAmOmJlZm9yZSB7XG4gICAgICAgICAgICAgIHRyYW5zZm9ybTpyb3RhdGUoMTgwZGVnKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn0iXX0= */
