@charset "UTF-8";
/**
 * Foundation for Sites by ZURB
 * Version 6.2.3
 * foundation.zurb.com
 * Licensed under MIT Open Source
 */
/*! normalize.css v3.0.3 | MIT License | github.com/necolas/normalize.css */
/**
   * 1. Set default font family to sans-serif.
   * 2. Prevent iOS and IE text size adjust after device orientation change,
   *    without disabling user zoom.
   */
html {
  font-family: sans-serif;
  /* 1 */
  -ms-text-size-adjust: 100%;
  /* 2 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/**
   * Remove default margin.
   */
body {
  margin: 0; }

/* HTML5 display definitions
     ========================================================================== */
/**
   * Correct `block` display not defined for any HTML5 element in IE 8/9.
   * Correct `block` display not defined for `details` or `summary` in IE 10/11
   * and Firefox.
   * Correct `block` display not defined for `main` in IE 11.
   */
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
  display: block; }

/**
   * 1. Correct `inline-block` display not defined in IE 8/9.
   * 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
   */
audio,
canvas,
progress,
video {
  display: inline-block;
  /* 1 */
  vertical-align: baseline;
  /* 2 */ }

/**
   * Prevent modern browsers from displaying `audio` without controls.
   * Remove excess height in iOS 5 devices.
   */
audio:not([controls]) {
  display: none;
  height: 0; }

/**
   * Address `[hidden]` styling not present in IE 8/9/10.
   * Hide the `template` element in IE 8/9/10/11, Safari, and Firefox < 22.
   */
[hidden],
template {
  display: none; }

/* Links
     ========================================================================== */
/**
   * Remove the gray background color from active links in IE 10.
   */
a {
  background-color: transparent; }

/**
   * Improve readability of focused elements when they are also in an
   * active/hover state.
   */
a:active,
a:hover {
  outline: 0; }

/* Text-level semantics
     ========================================================================== */
/**
   * Address styling not present in IE 8/9/10/11, Safari, and Chrome.
   */
abbr[title] {
  border-bottom: 1px dotted; }

/**
   * Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
   */
b,
strong {
  font-weight: bold; }

/**
   * Address styling not present in Safari and Chrome.
   */
dfn {
  font-style: italic; }

/**
   * Address variable `h1` font-size and margin within `section` and `article`
   * contexts in Firefox 4+, Safari, and Chrome.
   */
h1 {
  font-size: 2em;
  margin: 0.67em 0; }

/**
   * Address styling not present in IE 8/9.
   */
mark {
  background: #ff0;
  color: #000; }

/**
   * Address inconsistent and variable font size in all browsers.
   */
small {
  font-size: 80%; }

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

sup {
  top: -0.5em; }

sub {
  bottom: -0.25em; }

/* Embedded content
     ========================================================================== */
/**
   * Remove border when inside `a` element in IE 8/9/10.
   */
img {
  border: 0; }

/**
   * Correct overflow not hidden in IE 9/10/11.
   */
svg:not(:root) {
  overflow: hidden; }

/* Grouping content
     ========================================================================== */
/**
   * Address margin not present in IE 8/9 and Safari.
   */
figure {
  margin: 1em 40px; }

/**
   * Address differences between Firefox and other browsers.
   */
hr {
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  height: 0; }

/**
   * Contain overflow in all browsers.
   */
pre {
  overflow: auto; }

/**
   * Address odd `em`-unit font size rendering in all browsers.
   */
code,
kbd,
pre,
samp {
  font-family: monospace, monospace;
  font-size: 1em; }

/* Forms
     ========================================================================== */
/**
   * Known limitation: by default, Chrome and Safari on OS X allow very limited
   * styling of `select`, unless a `border` property is set.
   */
/**
   * 1. Correct color not being inherited.
   *    Known issue: affects color of disabled elements.
   * 2. Correct font properties not being inherited.
   * 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
   */
button,
input,
optgroup,
select,
textarea {
  color: inherit;
  /* 1 */
  font: inherit;
  /* 2 */
  margin: 0;
  /* 3 */ }

/**
   * Address `overflow` set to `hidden` in IE 8/9/10/11.
   */
button {
  overflow: visible; }

/**
   * Address inconsistent `text-transform` inheritance for `button` and `select`.
   * All other form control elements do not inherit `text-transform` values.
   * Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
   * Correct `select` style inheritance in Firefox.
   */
button,
select {
  text-transform: none; }

/**
   * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
   *    and `video` controls.
   * 2. Correct inability to style clickable `input` types in iOS.
   * 3. Improve usability and consistency of cursor style between image-type
   *    `input` and others.
   */
button,
html input[type="button"],
input[type="reset"],
input[type="submit"] {
  -webkit-appearance: button;
  /* 2 */
  cursor: pointer;
  /* 3 */ }

/**
   * Re-set default cursor for disabled elements.
   */
button[disabled],
html input[disabled] {
  cursor: not-allowed; }

/**
   * Remove inner padding and border in Firefox 4+.
   */
button::-moz-focus-inner,
input::-moz-focus-inner {
  border: 0;
  padding: 0; }

/**
   * Address Firefox 4+ setting `line-height` on `input` using `!important` in
   * the UA stylesheet.
   */
input {
  line-height: normal; }

/**
   * It's recommended that you don't attempt to style these elements.
   * Firefox's implementation doesn't respect box-sizing, padding, or width.
   *
   * 1. Address box sizing set to `content-box` in IE 8/9/10.
   * 2. Remove excess padding in IE 8/9/10.
   */
input[type="checkbox"],
input[type="radio"] {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Fix the cursor style for Chrome's increment/decrement buttons. For certain
   * `font-size` values of the `input`, it causes the cursor style of the
   * decrement button to change from `default` to `text`.
   */
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

/**
   * 1. Address `appearance` set to `searchfield` in Safari and Chrome.
   * 2. Address `box-sizing` set to `border-box` in Safari and Chrome.
   */
input[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  -webkit-box-sizing: content-box;
          box-sizing: content-box;
  /* 2 */ }

/**
   * Remove inner padding and search cancel button in Safari and Chrome on OS X.
   * Safari (but not Chrome) clips the cancel button when the search input has
   * padding (and `textfield` appearance).
   */
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
   * Define consistent border, margin, and padding.
   * [NOTE] We don't enable this ruleset in Foundation, because we want the <fieldset> element to have plain styling.
   */
/* fieldset {
    border: 1px solid #c0c0c0;
    margin: 0 2px;
    padding: 0.35em 0.625em 0.75em;
  } */
/**
   * 1. Correct `color` not being inherited in IE 8/9/10/11.
   * 2. Remove padding so people aren't caught out if they zero out fieldsets.
   */
legend {
  border: 0;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
   * Remove default vertical scrollbar in IE 8/9/10/11.
   */
textarea {
  overflow: auto; }

/**
   * Don't inherit the `font-weight` (applied by a rule above).
   * NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
   */
optgroup {
  font-weight: bold; }

/* Tables
     ========================================================================== */
/**
   * Remove most spacing between table cells.
   */
table {
  border-collapse: collapse;
  border-spacing: 0; }

td,
th {
  padding: 0; }

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

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

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

body {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  padding: 0;
  margin: 0;
  line-height: 1.5;
  color: #000;
  background: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale; }

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

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

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

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

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

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

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

.row {
  max-width: 82.5rem;
  margin-left: auto;
  margin-right: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap; }
  .row .row {
    max-width: none;
    margin-left: -0.9375rem;
    margin-right: -0.9375rem; }
    @media screen and (min-width: 48em) {
      .row .row {
        margin-left: -0.625rem;
        margin-right: -0.625rem; } }
  .row.expanded {
    max-width: none; }
  .row.collapse > .column, .row.collapse > .columns {
    padding-left: 0;
    padding-right: 0; }

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

.column.row.row, .row.row.columns {
  float: none;
  display: block; }
  .row .column.row.row, .row .row.row.columns {
    padding-left: 0;
    padding-right: 0;
    margin-left: 0;
    margin-right: 0; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.column.align-top, .align-top.columns {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.column.align-bottom, .align-bottom.columns {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.column.align-middle, .align-middle.columns {
  -ms-flex-item-align: center;
      align-self: center; }

.column.align-stretch, .align-stretch.columns {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

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

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

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

strong,
b {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  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-weight: normal;
  font-style: normal;
  color: inherit;
  text-rendering: optimizeLegibility;
  margin-top: 0;
  margin-bottom: 0.5rem;
  line-height: 1.4; }
  h1 small,
  h2 small,
  h3 small,
  h4 small,
  h5 small,
  h6 small {
    color: #ccc;
    line-height: 0; }

h1 {
  font-size: 2.5rem; }

h2 {
  font-size: 2rem; }

h3 {
  font-size: 1.625rem; }

h4 {
  font-size: 1.375rem; }

h5 {
  font-size: 1.0625rem; }

h6 {
  font-size: 0.875rem; }

@media screen and (min-width: 48em) {
  h1 {
    font-size: 2.5625rem; }
  h2 {
    font-size: 2.125rem; }
  h3 {
    font-size: 1.625rem; }
  h4 {
    font-size: 1.3125rem; }
  h5 {
    font-size: 1.0625rem; }
  h6 {
    font-size: 0.875rem; } }

@media screen and (min-width: 64em) {
  h1 {
    font-size: 2.625rem; }
  h2 {
    font-size: 2.1875rem; }
  h3 {
    font-size: 1.625rem; }
  h4 {
    font-size: 1.375rem; }
  h5 {
    font-size: 1.125rem; }
  h6 {
    font-size: 0.9375rem; } }

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

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

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

li {
  font-size: inherit; }

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

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 #ccc; }
  blockquote, blockquote p {
    line-height: 1.6;
    color: #8a8a8a; }

cite {
  display: block;
  font-size: 0.8125rem;
  color: #8a8a8a; }
  cite:before {
    content: '\2014 \0020'; }

abbr {
  color: #000;
  cursor: help;
  border-bottom: 1px dotted #000; }

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

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

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

@media screen and (min-width: 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;
    color: black !important;
    -webkit-box-shadow: none !important;
            box-shadow: none !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; } }

.button {
  display: inline-block;
  text-align: center;
  line-height: 1;
  cursor: pointer;
  -webkit-appearance: none;
  -webkit-transition: background-color 0.25s ease-out, color 0.25s ease-out;
  transition: background-color 0.25s ease-out, color 0.25s ease-out;
  vertical-align: middle;
  border: 1px solid transparent;
  border-radius: 0;
  padding: 0.85em 1em;
  margin: 0 0 1rem 0;
  font-size: 0.9rem;
  background-color: #ff6900;
  color: #000; }
  [data-whatinput='mouse'] .button {
    outline: 0; }
  .button:hover, .button:focus {
    background-color: #d95900;
    color: #000; }
  .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-left: 0;
    margin-right: 0; }
  .button.primary {
    background-color: #ff6900;
    color: #000; }
    .button.primary:hover, .button.primary:focus {
      background-color: #cc5400;
      color: #000; }
  .button.primary-accessible {
    background-color: #c75300;
    color: #000; }
    .button.primary-accessible:hover, .button.primary-accessible:focus {
      background-color: #9f4200;
      color: #000; }
  .button.primary-dark-hover {
    background-color: #994000;
    color: #000; }
    .button.primary-dark-hover:hover, .button.primary-dark-hover:focus {
      background-color: #7a3300;
      color: #000; }
  .button.secondary {
    background-color: #000;
    color: #000; }
    .button.secondary:hover, .button.secondary:focus {
      background-color: black;
      color: #000; }
  .button.standard-black {
    background-color: #1d1d1d;
    color: #000; }
    .button.standard-black:hover, .button.standard-black:focus {
      background-color: #171717;
      color: #000; }
  .button.darkgrey1 {
    background-color: #202020;
    color: #000; }
    .button.darkgrey1:hover, .button.darkgrey1:focus {
      background-color: #1a1a1a;
      color: #000; }
  .button.medium-gray {
    background-color: #333;
    color: #000; }
    .button.medium-gray:hover, .button.medium-gray:focus {
      background-color: #292929;
      color: #000; }
  .button.midgrey {
    background-color: #808285;
    color: #000; }
    .button.midgrey:hover, .button.midgrey:focus {
      background-color: #66686a;
      color: #000; }
  .button.light-gray {
    background-color: #f2f2f2;
    color: #000; }
    .button.light-gray:hover, .button.light-gray:focus {
      background-color: #c2c2c2;
      color: #000; }
  .button.thin-gray {
    background-color: #f8f8f8;
    color: #000; }
    .button.thin-gray:hover, .button.thin-gray:focus {
      background-color: #c6c6c6;
      color: #000; }
  .button.border-grey {
    background-color: #ccc;
    color: #000; }
    .button.border-grey:hover, .button.border-grey:focus {
      background-color: #a3a3a3;
      color: #000; }
  .button.very-light-grey {
    background-color: #c9c9c9;
    color: #000; }
    .button.very-light-grey:hover, .button.very-light-grey:focus {
      background-color: #a1a1a1;
      color: #000; }
  .button.bright-grey {
    background-color: #e8e8e9;
    color: #000; }
    .button.bright-grey:hover, .button.bright-grey:focus {
      background-color: #b8b8bc;
      color: #000; }
  .button.disabled-grey {
    background-color: #808080;
    color: #000; }
    .button.disabled-grey:hover, .button.disabled-grey:focus {
      background-color: #666666;
      color: #000; }
  .button.neutral-grey {
    background-color: #4d4d4d;
    color: #000; }
    .button.neutral-grey:hover, .button.neutral-grey:focus {
      background-color: #3e3e3e;
      color: #000; }
  .button.steel-grey {
    background-color: #949494;
    color: #000; }
    .button.steel-grey:hover, .button.steel-grey:focus {
      background-color: #767676;
      color: #000; }
  .button.white-default {
    background-color: #fff;
    color: #000; }
    .button.white-default:hover, .button.white-default:focus {
      background-color: #cccccc;
      color: #000; }
  .button.white-ghost {
    background-color: #f2f2f3;
    color: #000; }
    .button.white-ghost:hover, .button.white-ghost:focus {
      background-color: #c0c0c4;
      color: #000; }
  .button.white-smoke {
    background-color: #e7e7e7;
    color: #000; }
    .button.white-smoke:hover, .button.white-smoke:focus {
      background-color: #b9b9b9;
      color: #000; }
  .button.success {
    background-color: #3adb76;
    color: #000; }
    .button.success:hover, .button.success:focus {
      background-color: #22bb5b;
      color: #000; }
  .button.warning {
    background-color: #ffae00;
    color: #000; }
    .button.warning:hover, .button.warning:focus {
      background-color: #cc8b00;
      color: #000; }
  .button.alert {
    background-color: #ec5840;
    color: #000; }
    .button.alert:hover, .button.alert:focus {
      background-color: #da3116;
      color: #000; }
  .button.error {
    background-color: #f00;
    color: #000; }
    .button.error:hover, .button.error:focus {
      background-color: #cc0000;
      color: #000; }
  .button.unavailable {
    background-color: #ffe1be;
    color: #000; }
    .button.unavailable:hover, .button.unavailable:focus {
      background-color: #ffb865;
      color: #000; }
  .button.nobel {
    background-color: #979797;
    color: #000; }
    .button.nobel:hover, .button.nobel:focus {
      background-color: #797979;
      color: #000; }
  .button.light-gray-my-garage {
    background-color: #adb5bd;
    color: #000; }
    .button.light-gray-my-garage:hover, .button.light-gray-my-garage:focus {
      background-color: #85919d;
      color: #000; }
  .button.unavailable-text {
    background-color: #de1c22;
    color: #000; }
    .button.unavailable-text:hover, .button.unavailable-text:focus {
      background-color: #b2161b;
      color: #000; }
  .button.green-accessible {
    background-color: #157f10;
    color: #000; }
    .button.green-accessible:hover, .button.green-accessible:focus {
      background-color: #11660d;
      color: #000; }
  .button.red-accessible {
    background-color: #c61752;
    color: #000; }
    .button.red-accessible:hover, .button.red-accessible:focus {
      background-color: #9e1242;
      color: #000; }
  .button.hollow {
    border: 1px solid #ff6900;
    color: #ff6900; }
    .button.hollow, .button.hollow:hover, .button.hollow:focus {
      background-color: transparent; }
    .button.hollow:hover, .button.hollow:focus {
      border-color: #803500;
      color: #803500; }
    .button.hollow.primary {
      border: 1px solid #ff6900;
      color: #ff6900; }
      .button.hollow.primary:hover, .button.hollow.primary:focus {
        border-color: #803500;
        color: #803500; }
    .button.hollow.primary-accessible {
      border: 1px solid #c75300;
      color: #c75300; }
      .button.hollow.primary-accessible:hover, .button.hollow.primary-accessible:focus {
        border-color: #642a00;
        color: #642a00; }
    .button.hollow.primary-dark-hover {
      border: 1px solid #994000;
      color: #994000; }
      .button.hollow.primary-dark-hover:hover, .button.hollow.primary-dark-hover:focus {
        border-color: #4d2000;
        color: #4d2000; }
    .button.hollow.secondary {
      border: 1px solid #000;
      color: #000; }
      .button.hollow.secondary:hover, .button.hollow.secondary:focus {
        border-color: black;
        color: black; }
    .button.hollow.standard-black {
      border: 1px solid #1d1d1d;
      color: #1d1d1d; }
      .button.hollow.standard-black:hover, .button.hollow.standard-black:focus {
        border-color: #0f0f0f;
        color: #0f0f0f; }
    .button.hollow.darkgrey1 {
      border: 1px solid #202020;
      color: #202020; }
      .button.hollow.darkgrey1:hover, .button.hollow.darkgrey1:focus {
        border-color: #101010;
        color: #101010; }
    .button.hollow.medium-gray {
      border: 1px solid #333;
      color: #333; }
      .button.hollow.medium-gray:hover, .button.hollow.medium-gray:focus {
        border-color: #1a1a1a;
        color: #1a1a1a; }
    .button.hollow.midgrey {
      border: 1px solid #808285;
      color: #808285; }
      .button.hollow.midgrey:hover, .button.hollow.midgrey:focus {
        border-color: #404143;
        color: #404143; }
    .button.hollow.light-gray {
      border: 1px solid #f2f2f2;
      color: #f2f2f2; }
      .button.hollow.light-gray:hover, .button.hollow.light-gray:focus {
        border-color: #797979;
        color: #797979; }
    .button.hollow.thin-gray {
      border: 1px solid #f8f8f8;
      color: #f8f8f8; }
      .button.hollow.thin-gray:hover, .button.hollow.thin-gray:focus {
        border-color: #7c7c7c;
        color: #7c7c7c; }
    .button.hollow.border-grey {
      border: 1px solid #ccc;
      color: #ccc; }
      .button.hollow.border-grey:hover, .button.hollow.border-grey:focus {
        border-color: #666666;
        color: #666666; }
    .button.hollow.very-light-grey {
      border: 1px solid #c9c9c9;
      color: #c9c9c9; }
      .button.hollow.very-light-grey:hover, .button.hollow.very-light-grey:focus {
        border-color: #656565;
        color: #656565; }
    .button.hollow.bright-grey {
      border: 1px solid #e8e8e9;
      color: #e8e8e9; }
      .button.hollow.bright-grey:hover, .button.hollow.bright-grey:focus {
        border-color: #727277;
        color: #727277; }
    .button.hollow.disabled-grey {
      border: 1px solid #808080;
      color: #808080; }
      .button.hollow.disabled-grey:hover, .button.hollow.disabled-grey:focus {
        border-color: #404040;
        color: #404040; }
    .button.hollow.neutral-grey {
      border: 1px solid #4d4d4d;
      color: #4d4d4d; }
      .button.hollow.neutral-grey:hover, .button.hollow.neutral-grey:focus {
        border-color: #272727;
        color: #272727; }
    .button.hollow.steel-grey {
      border: 1px solid #949494;
      color: #949494; }
      .button.hollow.steel-grey:hover, .button.hollow.steel-grey:focus {
        border-color: #4a4a4a;
        color: #4a4a4a; }
    .button.hollow.white-default {
      border: 1px solid #fff;
      color: #fff; }
      .button.hollow.white-default:hover, .button.hollow.white-default:focus {
        border-color: gray;
        color: gray; }
    .button.hollow.white-ghost {
      border: 1px solid #f2f2f3;
      color: #f2f2f3; }
      .button.hollow.white-ghost:hover, .button.hollow.white-ghost:focus {
        border-color: #74747e;
        color: #74747e; }
    .button.hollow.white-smoke {
      border: 1px solid #e7e7e7;
      color: #e7e7e7; }
      .button.hollow.white-smoke:hover, .button.hollow.white-smoke:focus {
        border-color: #747474;
        color: #747474; }
    .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 #ec5840;
      color: #ec5840; }
      .button.hollow.alert:hover, .button.hollow.alert:focus {
        border-color: #881f0e;
        color: #881f0e; }
    .button.hollow.error {
      border: 1px solid #f00;
      color: #f00; }
      .button.hollow.error:hover, .button.hollow.error:focus {
        border-color: maroon;
        color: maroon; }
    .button.hollow.unavailable {
      border: 1px solid #ffe1be;
      color: #ffe1be; }
      .button.hollow.unavailable:hover, .button.hollow.unavailable:focus {
        border-color: #df7800;
        color: #df7800; }
    .button.hollow.nobel {
      border: 1px solid #979797;
      color: #979797; }
      .button.hollow.nobel:hover, .button.hollow.nobel:focus {
        border-color: #4c4c4c;
        color: #4c4c4c; }
    .button.hollow.light-gray-my-garage {
      border: 1px solid #adb5bd;
      color: #adb5bd; }
      .button.hollow.light-gray-my-garage:hover, .button.hollow.light-gray-my-garage:focus {
        border-color: #515b64;
        color: #515b64; }
    .button.hollow.unavailable-text {
      border: 1px solid #de1c22;
      color: #de1c22; }
      .button.hollow.unavailable-text:hover, .button.hollow.unavailable-text:focus {
        border-color: #6f0e11;
        color: #6f0e11; }
    .button.hollow.green-accessible {
      border: 1px solid #157f10;
      color: #157f10; }
      .button.hollow.green-accessible:hover, .button.hollow.green-accessible:focus {
        border-color: #0b4008;
        color: #0b4008; }
    .button.hollow.red-accessible {
      border: 1px solid #c61752;
      color: #c61752; }
      .button.hollow.red-accessible:hover, .button.hollow.red-accessible:focus {
        border-color: #630c29;
        color: #630c29; }
  .button.disabled, .button[disabled] {
    opacity: 0.25;
    cursor: not-allowed; }
    .button.disabled:hover, .button.disabled:focus, .button[disabled]:hover, .button[disabled]:focus {
      background-color: #ff6900;
      color: #000; }
  .button.dropdown::after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.4em;
    border-color: #fff transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    position: relative;
    top: 0.4em;
    float: right;
    margin-left: 1em;
    display: inline-block; }
  .button.arrow-only::after {
    margin-left: 0;
    float: none;
    top: -0.1em; }

[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;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  width: 100%;
  height: 2.25rem;
  padding: 0.5rem;
  border: 1px solid #ccc;
  margin: 0 0 1rem;
  font-family: inherit;
  font-size: 0.8125rem;
  color: #000;
  background-color: #fff;
  -webkit-box-shadow: 0;
          box-shadow: 0;
  border-radius: 0;
  -webkit-transition: initial;
  transition: initial;
  -webkit-appearance: none;
  -moz-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 {
    border: 1px solid #8a8a8a;
    background-color: #fff;
    outline: none;
    -webkit-box-shadow: 0;
            box-shadow: 0;
    -webkit-transition: initial;
    transition: initial; }

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

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

input::-moz-placeholder, textarea::-moz-placeholder {
  color: #ccc; }

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

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

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

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

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

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

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

[type='checkbox'] + label,
[type='radio'] + label {
  display: inline-block;
  margin-left: 0.5rem;
  margin-right: 1rem;
  margin-bottom: 0;
  vertical-align: baseline; }
  [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: #000; }
  label.middle {
    margin: 0 0 1rem;
    padding: 0.5625rem 0; }

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

.input-group {
  display: table;
  width: 100%;
  margin-bottom: 1rem; }
  .input-group > :first-child {
    border-radius: 0 0 0 0; }
  .input-group > :last-child > * {
    border-radius: 0 0 0 0; }

.input-group-label, .input-group-field, .input-group-button {
  margin: 0;
  white-space: nowrap;
  display: table-cell;
  vertical-align: middle; }

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

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

.input-group-button {
  padding-top: 0;
  padding-bottom: 0;
  text-align: center;
  height: 100%;
  width: 1%; }
  .input-group-button a,
  .input-group-button input,
  .input-group-button button {
    margin: 0; }

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

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

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

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

select {
  height: 2.25rem;
  padding: 0.5rem;
  border: 1px solid #ccc;
  margin: 0 0 1rem;
  font-size: 0.8125rem;
  font-family: inherit;
  line-height: normal;
  color: #000;
  background-color: #fff;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  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-size: 9px 6px;
  background-position: right -1rem center;
  background-origin: content-box;
  background-repeat: no-repeat;
  padding-right: 1.5rem; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAYCAYAAACbU/80AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAIpJREFUeNrEkckNgDAMBBfRkEt0ObRBBdsGXUDgmQfK4XhH2m8czQAAy27R3tsw4Qfe2x8uOO6oYLb6GlOor3GF+swURAOmUJ+RwtEJs9WvTGEYxBXqI1MQAZhCfUQKRzDMVj+TwrAIV6jvSUEkYAr1LSkcyTBb/V+KYfX7xAeusq3sLDtGH3kEGACPWIflNZfhRQAAAABJRU5ErkJggg=="); } }
  select:disabled {
    background-color: #e6e6e6;
    cursor: default; }
  select::-ms-expand {
    display: none; }
  select[multiple] {
    height: auto;
    background-image: none; }

.is-invalid-input:not(:focus) {
  background-color: rgba(236, 88, 64, 0.1);
  border-color: #ec5840; }

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

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

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

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

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

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

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

.badge {
  display: inline-block;
  padding: 0.3em;
  min-width: 2.1em;
  font-size: 0.6rem;
  text-align: center;
  border-radius: 50%;
  background: #ff6900;
  color: #fff; }
  .badge.primary-accessible {
    background: #c75300;
    color: #fff; }
  .badge.primary-dark-hover {
    background: #994000;
    color: #fff; }
  .badge.secondary {
    background: #000;
    color: #fff; }
  .badge.standard-black {
    background: #1d1d1d;
    color: #fff; }
  .badge.darkgrey1 {
    background: #202020;
    color: #fff; }
  .badge.medium-gray {
    background: #333;
    color: #fff; }
  .badge.midgrey {
    background: #808285;
    color: #fff; }
  .badge.light-gray {
    background: #f2f2f2;
    color: #000; }
  .badge.thin-gray {
    background: #f8f8f8;
    color: #000; }
  .badge.border-grey {
    background: #ccc;
    color: #000; }
  .badge.very-light-grey {
    background: #c9c9c9;
    color: #000; }
  .badge.bright-grey {
    background: #e8e8e9;
    color: #000; }
  .badge.disabled-grey {
    background: #808080;
    color: #fff; }
  .badge.neutral-grey {
    background: #4d4d4d;
    color: #fff; }
  .badge.steel-grey {
    background: #949494;
    color: #fff; }
  .badge.white-default {
    background: #fff;
    color: #000; }
  .badge.white-ghost {
    background: #f2f2f3;
    color: #000; }
  .badge.white-smoke {
    background: #e7e7e7;
    color: #000; }
  .badge.success {
    background: #3adb76;
    color: #fff; }
  .badge.warning {
    background: #ffae00;
    color: #fff; }
  .badge.alert {
    background: #ec5840;
    color: #fff; }
  .badge.error {
    background: #f00;
    color: #fff; }
  .badge.unavailable {
    background: #ffe1be;
    color: #000; }
  .badge.nobel {
    background: #979797;
    color: #fff; }
  .badge.light-gray-my-garage {
    background: #adb5bd;
    color: #000; }
  .badge.unavailable-text {
    background: #de1c22;
    color: #fff; }
  .badge.green-accessible {
    background: #157f10;
    color: #fff; }
  .badge.red-accessible {
    background: #c61752;
    color: #fff; }

.breadcrumbs {
  list-style: none;
  margin: 0 0 1rem 0; }
  .breadcrumbs::before, .breadcrumbs::after {
    content: ' ';
    display: table; }
  .breadcrumbs::after {
    clear: both; }
  .breadcrumbs li {
    float: left;
    color: #000;
    font-size: 0.6875rem;
    cursor: default;
    text-transform: uppercase; }
    .breadcrumbs li:not(:last-child)::after {
      color: #ccc;
      content: "/";
      margin: 0 0.75rem;
      position: relative;
      top: 1px;
      opacity: 1; }
  .breadcrumbs a {
    color: #ff6900; }
    .breadcrumbs a:hover {
      text-decoration: underline; }
  .breadcrumbs .disabled {
    color: #ccc;
    cursor: not-allowed; }

.button-group {
  margin-bottom: 1rem;
  font-size: 0; }
  .button-group::before, .button-group::after {
    content: ' ';
    display: table; }
  .button-group::after {
    clear: both; }
  .button-group .button {
    margin: 0;
    margin-right: 1px;
    margin-bottom: 1px;
    font-size: 0.9rem; }
    .button-group .button:last-child {
      margin-right: 0; }
  .button-group.tiny .button {
    font-size: 0.6rem; }
  .button-group.small .button {
    font-size: 0.75rem; }
  .button-group.large .button {
    font-size: 1.25rem; }
  .button-group.expanded {
    margin-right: -1px; }
    .button-group.expanded::before, .button-group.expanded::after {
      display: none; }
    .button-group.expanded .button:first-child:nth-last-child(2), .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button {
      display: inline-block;
      width: calc(50% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(2):last-child, .button-group.expanded .button:first-child:nth-last-child(2):first-child:nth-last-child(2) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(3), .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button {
      display: inline-block;
      width: calc(33.33333% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(3):last-child, .button-group.expanded .button:first-child:nth-last-child(3):first-child:nth-last-child(3) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(4), .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button {
      display: inline-block;
      width: calc(25% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(4):last-child, .button-group.expanded .button:first-child:nth-last-child(4):first-child:nth-last-child(4) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(5), .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button {
      display: inline-block;
      width: calc(20% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(5):last-child, .button-group.expanded .button:first-child:nth-last-child(5):first-child:nth-last-child(5) ~ .button:last-child {
        margin-right: -6px; }
    .button-group.expanded .button:first-child:nth-last-child(6), .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button {
      display: inline-block;
      width: calc(16.66667% - 1px);
      margin-right: 1px; }
      .button-group.expanded .button:first-child:nth-last-child(6):last-child, .button-group.expanded .button:first-child:nth-last-child(6):first-child:nth-last-child(6) ~ .button:last-child {
        margin-right: -6px; }
  .button-group.primary .button {
    background-color: #ff6900;
    color: #000; }
    .button-group.primary .button:hover, .button-group.primary .button:focus {
      background-color: #cc5400;
      color: #000; }
  .button-group.primary-accessible .button {
    background-color: #c75300;
    color: #000; }
    .button-group.primary-accessible .button:hover, .button-group.primary-accessible .button:focus {
      background-color: #9f4200;
      color: #000; }
  .button-group.primary-dark-hover .button {
    background-color: #994000;
    color: #000; }
    .button-group.primary-dark-hover .button:hover, .button-group.primary-dark-hover .button:focus {
      background-color: #7a3300;
      color: #000; }
  .button-group.secondary .button {
    background-color: #000;
    color: #000; }
    .button-group.secondary .button:hover, .button-group.secondary .button:focus {
      background-color: black;
      color: #000; }
  .button-group.standard-black .button {
    background-color: #1d1d1d;
    color: #000; }
    .button-group.standard-black .button:hover, .button-group.standard-black .button:focus {
      background-color: #171717;
      color: #000; }
  .button-group.darkgrey1 .button {
    background-color: #202020;
    color: #000; }
    .button-group.darkgrey1 .button:hover, .button-group.darkgrey1 .button:focus {
      background-color: #1a1a1a;
      color: #000; }
  .button-group.medium-gray .button {
    background-color: #333;
    color: #000; }
    .button-group.medium-gray .button:hover, .button-group.medium-gray .button:focus {
      background-color: #292929;
      color: #000; }
  .button-group.midgrey .button {
    background-color: #808285;
    color: #000; }
    .button-group.midgrey .button:hover, .button-group.midgrey .button:focus {
      background-color: #66686a;
      color: #000; }
  .button-group.light-gray .button {
    background-color: #f2f2f2;
    color: #000; }
    .button-group.light-gray .button:hover, .button-group.light-gray .button:focus {
      background-color: #c2c2c2;
      color: #000; }
  .button-group.thin-gray .button {
    background-color: #f8f8f8;
    color: #000; }
    .button-group.thin-gray .button:hover, .button-group.thin-gray .button:focus {
      background-color: #c6c6c6;
      color: #000; }
  .button-group.border-grey .button {
    background-color: #ccc;
    color: #000; }
    .button-group.border-grey .button:hover, .button-group.border-grey .button:focus {
      background-color: #a3a3a3;
      color: #000; }
  .button-group.very-light-grey .button {
    background-color: #c9c9c9;
    color: #000; }
    .button-group.very-light-grey .button:hover, .button-group.very-light-grey .button:focus {
      background-color: #a1a1a1;
      color: #000; }
  .button-group.bright-grey .button {
    background-color: #e8e8e9;
    color: #000; }
    .button-group.bright-grey .button:hover, .button-group.bright-grey .button:focus {
      background-color: #b8b8bc;
      color: #000; }
  .button-group.disabled-grey .button {
    background-color: #808080;
    color: #000; }
    .button-group.disabled-grey .button:hover, .button-group.disabled-grey .button:focus {
      background-color: #666666;
      color: #000; }
  .button-group.neutral-grey .button {
    background-color: #4d4d4d;
    color: #000; }
    .button-group.neutral-grey .button:hover, .button-group.neutral-grey .button:focus {
      background-color: #3e3e3e;
      color: #000; }
  .button-group.steel-grey .button {
    background-color: #949494;
    color: #000; }
    .button-group.steel-grey .button:hover, .button-group.steel-grey .button:focus {
      background-color: #767676;
      color: #000; }
  .button-group.white-default .button {
    background-color: #fff;
    color: #000; }
    .button-group.white-default .button:hover, .button-group.white-default .button:focus {
      background-color: #cccccc;
      color: #000; }
  .button-group.white-ghost .button {
    background-color: #f2f2f3;
    color: #000; }
    .button-group.white-ghost .button:hover, .button-group.white-ghost .button:focus {
      background-color: #c0c0c4;
      color: #000; }
  .button-group.white-smoke .button {
    background-color: #e7e7e7;
    color: #000; }
    .button-group.white-smoke .button:hover, .button-group.white-smoke .button:focus {
      background-color: #b9b9b9;
      color: #000; }
  .button-group.success .button {
    background-color: #3adb76;
    color: #000; }
    .button-group.success .button:hover, .button-group.success .button:focus {
      background-color: #22bb5b;
      color: #000; }
  .button-group.warning .button {
    background-color: #ffae00;
    color: #000; }
    .button-group.warning .button:hover, .button-group.warning .button:focus {
      background-color: #cc8b00;
      color: #000; }
  .button-group.alert .button {
    background-color: #ec5840;
    color: #000; }
    .button-group.alert .button:hover, .button-group.alert .button:focus {
      background-color: #da3116;
      color: #000; }
  .button-group.error .button {
    background-color: #f00;
    color: #000; }
    .button-group.error .button:hover, .button-group.error .button:focus {
      background-color: #cc0000;
      color: #000; }
  .button-group.unavailable .button {
    background-color: #ffe1be;
    color: #000; }
    .button-group.unavailable .button:hover, .button-group.unavailable .button:focus {
      background-color: #ffb865;
      color: #000; }
  .button-group.nobel .button {
    background-color: #979797;
    color: #000; }
    .button-group.nobel .button:hover, .button-group.nobel .button:focus {
      background-color: #797979;
      color: #000; }
  .button-group.light-gray-my-garage .button {
    background-color: #adb5bd;
    color: #000; }
    .button-group.light-gray-my-garage .button:hover, .button-group.light-gray-my-garage .button:focus {
      background-color: #85919d;
      color: #000; }
  .button-group.unavailable-text .button {
    background-color: #de1c22;
    color: #000; }
    .button-group.unavailable-text .button:hover, .button-group.unavailable-text .button:focus {
      background-color: #b2161b;
      color: #000; }
  .button-group.green-accessible .button {
    background-color: #157f10;
    color: #000; }
    .button-group.green-accessible .button:hover, .button-group.green-accessible .button:focus {
      background-color: #11660d;
      color: #000; }
  .button-group.red-accessible .button {
    background-color: #c61752;
    color: #000; }
    .button-group.red-accessible .button:hover, .button-group.red-accessible .button:focus {
      background-color: #9e1242;
      color: #000; }
  .button-group.stacked .button, .button-group.stacked-for-small .button, .button-group.stacked-for-medium .button {
    width: 100%; }
    .button-group.stacked .button:last-child, .button-group.stacked-for-small .button:last-child, .button-group.stacked-for-medium .button:last-child {
      margin-bottom: 0; }
  @media screen and (min-width: 48em) {
    .button-group.stacked-for-small .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (min-width: 64em) {
    .button-group.stacked-for-medium .button {
      width: auto;
      margin-bottom: 0; } }
  @media screen and (max-width: 47.9375em) {
    .button-group.stacked-for-small.expanded {
      display: block; }
      .button-group.stacked-for-small.expanded .button {
        display: block;
        margin-right: 0; } }

.callout {
  margin: 0 0 1rem 0;
  padding: 1rem;
  border: 1px solid rgba(0, 0, 0, 0.25);
  border-radius: 0;
  position: relative;
  color: #000;
  background-color: white; }
  .callout > :first-child {
    margin-top: 0; }
  .callout > :last-child {
    margin-bottom: 0; }
  .callout.primary {
    background-color: #ffe9d9; }
  .callout.primary-accessible {
    background-color: #ffe4d0; }
  .callout.primary-dark-hover {
    background-color: #ffe0c9; }
  .callout.secondary {
    background-color: #d9d9d9; }
  .callout.standard-black {
    background-color: #dddddd; }
  .callout.darkgrey1 {
    background-color: #dedede; }
  .callout.medium-gray {
    background-color: #e0e0e0; }
  .callout.midgrey {
    background-color: #ececed; }
  .callout.light-gray {
    background-color: #fdfdfd; }
  .callout.thin-gray {
    background-color: #fefefe; }
  .callout.border-grey {
    background-color: #f7f7f7; }
  .callout.very-light-grey {
    background-color: #f7f7f7; }
  .callout.bright-grey {
    background-color: #fcfcfc; }
  .callout.disabled-grey {
    background-color: #ececec; }
  .callout.neutral-grey {
    background-color: #e4e4e4; }
  .callout.steel-grey {
    background-color: #efefef; }
  .callout.white-default {
    background-color: white; }
  .callout.white-ghost {
    background-color: #fdfdfd; }
  .callout.white-smoke {
    background-color: #fbfbfb; }
  .callout.success {
    background-color: #e1faea; }
  .callout.warning {
    background-color: #fff3d9; }
  .callout.alert {
    background-color: #fce6e2; }
  .callout.error {
    background-color: #ffd9d9; }
  .callout.unavailable {
    background-color: #fffbf5; }
  .callout.nobel {
    background-color: #efefef; }
  .callout.light-gray-my-garage {
    background-color: #f3f4f5; }
  .callout.unavailable-text {
    background-color: #fbdcdd; }
  .callout.green-accessible {
    background-color: #d0f9ce; }
  .callout.red-accessible {
    background-color: #fad8e4; }
  .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; }

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

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

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

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

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

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

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

.is-drilldown {
  position: relative;
  overflow: hidden; }
  .is-drilldown li {
    display: block !important; }

.is-drilldown-submenu {
  position: absolute;
  top: 0;
  left: 100%;
  z-index: -1;
  height: 100%;
  width: 100%;
  background: #fff;
  -webkit-transition: -webkit-transform 0.15s linear;
  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%); }

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

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

.dropdown-pane {
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 0;
  display: block;
  font-size: 1rem;
  padding: 1rem;
  position: absolute;
  visibility: hidden;
  width: 300px;
  z-index: 10; }
  .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 {
  left: auto;
  right: 0;
  top: 100%; }

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

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

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

[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 {
  left: auto;
  right: 100%; }

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

.dropdown.menu.vertical > li > a::after {
  right: 14px;
  margin-top: -3px; }

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

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

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

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

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

.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: -2px; }
  .is-dropdown-submenu-parent.opens-inner > .is-dropdown-submenu {
    top: 100%;
    left: auto; }
  .is-dropdown-submenu-parent.opens-left > .is-dropdown-submenu {
    left: auto;
    right: 100%; }
  .is-dropdown-submenu-parent.opens-right > .is-dropdown-submenu {
    right: auto;
    left: 100%; }

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

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

.label {
  display: inline-block;
  padding: 0.33333rem 0.5rem;
  font-size: 0.8rem;
  line-height: 1;
  white-space: nowrap;
  cursor: default;
  border-radius: 0;
  background: #ff6900;
  color: #fff; }
  .label.primary-accessible {
    background: #c75300;
    color: #fff; }
  .label.primary-dark-hover {
    background: #994000;
    color: #fff; }
  .label.secondary {
    background: #000;
    color: #fff; }
  .label.standard-black {
    background: #1d1d1d;
    color: #fff; }
  .label.darkgrey1 {
    background: #202020;
    color: #fff; }
  .label.medium-gray {
    background: #333;
    color: #fff; }
  .label.midgrey {
    background: #808285;
    color: #fff; }
  .label.light-gray {
    background: #f2f2f2;
    color: #000; }
  .label.thin-gray {
    background: #f8f8f8;
    color: #000; }
  .label.border-grey {
    background: #ccc;
    color: #000; }
  .label.very-light-grey {
    background: #c9c9c9;
    color: #000; }
  .label.bright-grey {
    background: #e8e8e9;
    color: #000; }
  .label.disabled-grey {
    background: #808080;
    color: #fff; }
  .label.neutral-grey {
    background: #4d4d4d;
    color: #fff; }
  .label.steel-grey {
    background: #949494;
    color: #fff; }
  .label.white-default {
    background: #fff;
    color: #000; }
  .label.white-ghost {
    background: #f2f2f3;
    color: #000; }
  .label.white-smoke {
    background: #e7e7e7;
    color: #000; }
  .label.success {
    background: #3adb76;
    color: #fff; }
  .label.warning {
    background: #ffae00;
    color: #fff; }
  .label.alert {
    background: #ec5840;
    color: #fff; }
  .label.error {
    background: #f00;
    color: #fff; }
  .label.unavailable {
    background: #ffe1be;
    color: #000; }
  .label.nobel {
    background: #979797;
    color: #fff; }
  .label.light-gray-my-garage {
    background: #adb5bd;
    color: #000; }
  .label.unavailable-text {
    background: #de1c22;
    color: #fff; }
  .label.green-accessible {
    background: #157f10;
    color: #fff; }
  .label.red-accessible {
    background: #c61752;
    color: #fff; }

.media-object {
  margin-bottom: 1rem;
  display: block; }
  .media-object img {
    max-width: none; }
  @media screen and (max-width: 47.9375em) {
    .media-object.stack-for-small .media-object-section {
      padding: 0;
      padding-bottom: 1rem;
      display: block; }
      .media-object.stack-for-small .media-object-section img {
        width: 100%; } }

.media-object-section {
  display: table-cell;
  vertical-align: top; }
  .media-object-section:first-child {
    padding-right: 1rem; }
  .media-object-section:last-child:not(:nth-child(2)) {
    padding-left: 1rem; }
  .media-object-section > :last-child {
    margin-bottom: 0; }
  .media-object-section.middle {
    vertical-align: middle; }
  .media-object-section.bottom {
    vertical-align: bottom; }

html,
body {
  height: 100%; }

.off-canvas-wrapper {
  width: 100%;
  overflow-x: hidden;
  position: relative;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-overflow-scrolling: auto; }

.off-canvas-wrapper-inner {
  position: relative;
  width: 100%;
  -webkit-transition: -webkit-transform 0.5s ease;
  transition: -webkit-transform 0.5s ease;
  transition: transform 0.5s ease;
  transition: transform 0.5s ease, -webkit-transform 0.5s ease; }
  .off-canvas-wrapper-inner::before, .off-canvas-wrapper-inner::after {
    content: ' ';
    display: table; }
  .off-canvas-wrapper-inner::after {
    clear: both; }

.off-canvas-content,
.off-canvas-content {
  min-height: 100%;
  background: #fff;
  -webkit-transition: -webkit-transform 0.5s ease;
  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;
  z-index: 1;
  padding-bottom: 0.1px;
  -webkit-box-shadow: 0 0 10px rgba(0, 0, 0, 0.5);
          box-shadow: 0 0 10px rgba(0, 0, 0, 0.5); }

.js-off-canvas-exit {
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.25);
  cursor: pointer;
  -webkit-transition: background 0.5s ease;
  transition: background 0.5s ease; }

.off-canvas {
  position: absolute;
  background: #e6e6e6;
  z-index: -1;
  max-height: 100%;
  overflow-y: auto;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0); }
  [data-whatinput='mouse'] .off-canvas {
    outline: 0; }
  .off-canvas.position-left {
    left: -250px;
    top: 0;
    width: 250px; }
    .is-open-left {
      -webkit-transform: translateX(250px);
          -ms-transform: translateX(250px);
              transform: translateX(250px); }
  .off-canvas.position-right {
    right: -250px;
    top: 0;
    width: 250px; }
    .is-open-right {
      -webkit-transform: translateX(-250px);
          -ms-transform: translateX(-250px);
              transform: translateX(-250px); }

@media screen and (min-width: 48em) {
  .position-left.reveal-for-medium {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-medium ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-medium {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-medium ~ .off-canvas-content {
      margin-right: 250px; } }

@media screen and (min-width: 64em) {
  .position-left.reveal-for-large {
    left: 0;
    z-index: auto;
    position: fixed; }
    .position-left.reveal-for-large ~ .off-canvas-content {
      margin-left: 250px; }
  .position-right.reveal-for-large {
    right: 0;
    z-index: auto;
    position: fixed; }
    .position-right.reveal-for-large ~ .off-canvas-content {
      margin-right: 250px; } }

.orbit {
  position: relative; }

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

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

.orbit-figure {
  margin: 0; }

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

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

.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: #fff; }
  [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(0, 0, 0, 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;
    background-color: #ccc;
    border-radius: 50%; }
    .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 {
    content: ' ';
    display: table; }
  .pagination::after {
    clear: both; }
  .pagination li {
    font-size: 0.875rem;
    margin-right: 0.0625rem;
    border-radius: 0;
    display: none; }
    .pagination li:last-child, .pagination li:first-child {
      display: inline-block; }
    @media screen and (min-width: 48em) {
      .pagination li {
        display: inline-block; } }
  .pagination a,
  .pagination button {
    color: #000;
    display: block;
    padding: 0.1875rem 0.625rem;
    border-radius: 0; }
    .pagination a:hover,
    .pagination button:hover {
      background: #e6e6e6; }
  .pagination .current {
    padding: 0.1875rem 0.625rem;
    background: #ff6900;
    color: #fff;
    cursor: default; }
  .pagination .disabled {
    padding: 0.1875rem 0.625rem;
    color: #ccc;
    cursor: not-allowed; }
    .pagination .disabled:hover {
      background: transparent; }
  .pagination .ellipsis::after {
    content: '\2026';
    padding: 0.1875rem 0.625rem;
    color: #000; }

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

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

.progress {
  background-color: #ccc;
  height: 1rem;
  margin-bottom: 1rem;
  border-radius: 0; }
  .progress.primary .progress-meter {
    background-color: #ff6900; }
  .progress.primary-accessible .progress-meter {
    background-color: #c75300; }
  .progress.primary-dark-hover .progress-meter {
    background-color: #994000; }
  .progress.secondary .progress-meter {
    background-color: #000; }
  .progress.standard-black .progress-meter {
    background-color: #1d1d1d; }
  .progress.darkgrey1 .progress-meter {
    background-color: #202020; }
  .progress.medium-gray .progress-meter {
    background-color: #333; }
  .progress.midgrey .progress-meter {
    background-color: #808285; }
  .progress.light-gray .progress-meter {
    background-color: #f2f2f2; }
  .progress.thin-gray .progress-meter {
    background-color: #f8f8f8; }
  .progress.border-grey .progress-meter {
    background-color: #ccc; }
  .progress.very-light-grey .progress-meter {
    background-color: #c9c9c9; }
  .progress.bright-grey .progress-meter {
    background-color: #e8e8e9; }
  .progress.disabled-grey .progress-meter {
    background-color: #808080; }
  .progress.neutral-grey .progress-meter {
    background-color: #4d4d4d; }
  .progress.steel-grey .progress-meter {
    background-color: #949494; }
  .progress.white-default .progress-meter {
    background-color: #fff; }
  .progress.white-ghost .progress-meter {
    background-color: #f2f2f3; }
  .progress.white-smoke .progress-meter {
    background-color: #e7e7e7; }
  .progress.success .progress-meter {
    background-color: #3adb76; }
  .progress.warning .progress-meter {
    background-color: #ffae00; }
  .progress.alert .progress-meter {
    background-color: #ec5840; }
  .progress.error .progress-meter {
    background-color: #f00; }
  .progress.unavailable .progress-meter {
    background-color: #ffe1be; }
  .progress.nobel .progress-meter {
    background-color: #979797; }
  .progress.light-gray-my-garage .progress-meter {
    background-color: #adb5bd; }
  .progress.unavailable-text .progress-meter {
    background-color: #de1c22; }
  .progress.green-accessible .progress-meter {
    background-color: #157f10; }
  .progress.red-accessible .progress-meter {
    background-color: #c61752; }

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

.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: #fff;
  white-space: nowrap; }

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

.slider-fill {
  position: absolute;
  top: 0;
  left: 0;
  display: inline-block;
  max-width: 100%;
  height: 0.5rem;
  background-color: #ccc;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  .slider-fill.is-dragging {
    -webkit-transition: all 0s linear;
    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;
  background-color: #ff6900;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
  -ms-touch-action: manipulation;
      touch-action: manipulation;
  border-radius: 0; }
  [data-whatinput='mouse'] .slider-handle {
    outline: 0; }
  .slider-handle:hover {
    background-color: #d95900; }
  .slider-handle.is-dragging {
    -webkit-transition: all 0s linear;
    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: absolute;
  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: absolute;
  left: auto;
  right: auto; }
  .sticky.is-anchored.is-at-bottom {
    bottom: 0; }

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

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

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

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

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

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

.switch-paddle {
  background: #ccc;
  cursor: pointer;
  display: block;
  position: relative;
  width: 4rem;
  height: 2rem;
  -webkit-transition: all 0.25s ease-out;
  transition: all 0.25s ease-out;
  border-radius: 0;
  color: inherit;
  font-weight: inherit; }
  input + .switch-paddle {
    margin: 0; }
  .switch-paddle::after {
    background: #fff;
    content: '';
    display: block;
    position: absolute;
    height: 1.5rem;
    left: 0.25rem;
    top: 0.25rem;
    width: 1.5rem;
    -webkit-transition: all 0.25s ease-out;
    transition: all 0.25s ease-out;
    -webkit-transform: translate3d(0, 0, 0);
            transform: translate3d(0, 0, 0);
    border-radius: 0; }
  input:checked ~ .switch-paddle {
    background: #ff6900; }
    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 .switch-paddle {
  width: 3rem;
  height: 1.5rem;
  font-size: 0.625rem; }

.switch.tiny .switch-paddle::after {
  width: 1rem;
  height: 1rem; }

.switch.tiny input:checked ~ .switch-paddle::after {
  left: 1.75rem; }

.switch.small .switch-paddle {
  width: 3.5rem;
  height: 1.75rem;
  font-size: 0.75rem; }

.switch.small .switch-paddle::after {
  width: 1.25rem;
  height: 1.25rem; }

.switch.small input:checked ~ .switch-paddle::after {
  left: 2rem; }

.switch.large .switch-paddle {
  width: 5rem;
  height: 2.5rem;
  font-size: 1rem; }

.switch.large .switch-paddle::after {
  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 #f2f2f2;
    background-color: #fff; }
  caption {
    font-weight: bold;
    padding: 0.5rem 0.625rem 0.625rem; }
  thead,
  tfoot {
    background: #f9f9f9;
    color: #000; }
    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 tr:nth-child(even) {
    background-color: #f2f2f2; }
  tbody th,
  tbody td {
    padding: 0.5rem 0.625rem 0.625rem; }

@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 tr:hover {
  background-color: #fafafa; }

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

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

.tabs {
  margin: 0;
  list-style-type: none;
  background: #fff;
  border: 1px solid #e6e6e6; }
  .tabs::before, .tabs::after {
    content: ' ';
    display: table; }
  .tabs::after {
    clear: both; }

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

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

.tabs.primary {
  background: #ff6900; }
  .tabs.primary > li > a {
    color: #fff; }
    .tabs.primary > li > a:hover, .tabs.primary > li > a:focus {
      background: #f26400; }

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

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

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

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

.thumbnail {
  border: solid 4px #fff;
  -webkit-box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
          box-shadow: 0 0 0 1px rgba(0, 0, 0, 0.2);
  display: inline-block;
  line-height: 0;
  max-width: 100%;
  -webkit-transition: -webkit-box-shadow 200ms ease-out;
  transition: -webkit-box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out;
  transition: box-shadow 200ms ease-out, -webkit-box-shadow 200ms ease-out;
  border-radius: 0;
  margin-bottom: 1rem; }
  .thumbnail:hover, .thumbnail:focus {
    -webkit-box-shadow: 0 0 6px 1px rgba(255, 105, 0, 0.5);
            box-shadow: 0 0 6px 1px rgba(255, 105, 0, 0.5); }

.title-bar {
  background: #fff;
  color: #000;
  padding: 0.5rem; }
  .title-bar::before, .title-bar::after {
    content: ' ';
    display: table; }
  .title-bar::after {
    clear: both; }
  .title-bar .menu-icon {
    margin-left: 0.25rem;
    margin-right: 0.25rem; }

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

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

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

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

.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: #000;
  font-size: 80%;
  color: #fff; }
  .tooltip::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent #000;
    border-bottom-style: solid;
    border-top-width: 0;
    position: absolute;
    bottom: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .tooltip.top::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: #000 transparent transparent;
    border-top-style: solid;
    border-bottom-width: 0;
    top: 100%;
    bottom: auto; }
  .tooltip.left::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent transparent transparent #000;
    border-left-style: solid;
    border-right-width: 0;
    top: 50%;
    bottom: auto;
    left: 100%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }
  .tooltip.right::before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    border: inset 0.75rem;
    border-color: transparent #000 transparent transparent;
    border-right-style: solid;
    border-left-width: 0;
    top: 50%;
    right: 100%;
    bottom: auto;
    left: auto;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); }

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

.top-bar-title {
  float: left;
  margin-right: 1rem; }

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

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

.hide {
  display: none !important; }

.invisible {
  visibility: hidden; }

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

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

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

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

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

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

@media 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: 82.4375em) {
  .hide-for-large-only {
    display: none !important; } }

@media screen and (max-width: 63.9375em), screen and (min-width: 82.5em) {
  .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;
  height: auto;
  width: 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-left: auto;
  margin-right: auto; }

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

.clearfix::after {
  clear: both; }

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

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

.align-justify {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.align-spaced {
  -ms-flex-pack: distribute;
      justify-content: space-around; }

.align-top {
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start; }

.align-self-top {
  -ms-flex-item-align: start;
      align-self: flex-start; }

.align-bottom {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end; }

.align-self-bottom {
  -ms-flex-item-align: end;
      align-self: flex-end; }

.align-middle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }

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

.align-stretch {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch; }

.align-self-stretch {
  -ms-flex-item-align: stretch;
      align-self: stretch; }

.small-order-1 {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }

.small-order-2 {
  -webkit-box-ordinal-group: 3;
      -ms-flex-order: 2;
          order: 2; }

.small-order-3 {
  -webkit-box-ordinal-group: 4;
      -ms-flex-order: 3;
          order: 3; }

.small-order-4 {
  -webkit-box-ordinal-group: 5;
      -ms-flex-order: 4;
          order: 4; }

.small-order-5 {
  -webkit-box-ordinal-group: 6;
      -ms-flex-order: 5;
          order: 5; }

.small-order-6 {
  -webkit-box-ordinal-group: 7;
      -ms-flex-order: 6;
          order: 6; }

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

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

.slide-in-down.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(-100%);
      -ms-transform: translateY(-100%);
          transform: translateY(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(100%);
      -ms-transform: translateY(100%);
          transform: translateY(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
          transform: translateY(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
          transform: translateX(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  opacity: 0;
  -webkit-transition-property: opacity;
  transition-property: opacity; }

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

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

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

.hinge-in-from-top.mui-enter {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          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;
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(0.5);
      -ms-transform: scale(0.5);
          transform: scale(0.5);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1.5);
      -ms-transform: scale(1.5);
          transform: scale(1.5);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: scale(1);
      -ms-transform: scale(1);
          transform: scale(1);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(-0.75turn);
      -ms-transform: rotate(-0.75turn);
          transform: rotate(-0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0.75turn);
      -ms-transform: rotate(0.75turn);
          transform: rotate(0.75turn);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 500ms;
          transition-duration: 500ms;
  -webkit-transition-timing-function: linear;
          transition-timing-function: linear;
  -webkit-transform: rotate(0);
      -ms-transform: rotate(0);
          transform: rotate(0);
  -webkit-transition-property: opacity, -webkit-transform;
  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 {
  -webkit-transition-duration: 750ms !important;
          transition-duration: 750ms !important; }

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

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

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

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

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

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

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

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

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

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

.long-delay {
  -webkit-transition-delay: 700ms !important;
          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; }

.responsive-embed,
.flex-video {
  height: 0;
  margin-bottom: 1rem;
  overflow: hidden;
  padding-bottom: 75%;
  position: relative; }

.responsive-embed iframe,
.responsive-embed object,
.responsive-embed embed,
.responsive-embed video,
.flex-video iframe,
.flex-video object,
.flex-video embed,
.flex-video video {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%; }

.responsive-embed iframe {
  border: 0; }

.responsive-embed.widescreen,
.flex-video.widescreen {
  padding-bottom: 56.25%; }

/* Chrome hack: SVG is rendered more smooth in Windozze. 100% magic, uncomment if you need it. */
/* Note, that will break hinting! In other OS-es font will be not as sharp as it could be */
/*
@media screen and (-webkit-min-device-pixel-ratio:0) {
  @font-face {
    font-family: 'fontello';
    src: url('../font/fontello.svg?62751503#fontello') format('svg');
  }
}
*/
[class^="icon-"]::before,
[class*=" icon-"]::before {
  display: inline-block;
  font-family: "fontello";
  /* you can be more comfortable with increased icons size */
  /* font-size: 120%; */
  /* Font smoothing. That was taken from TWBS */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  font-style: normal;
  /* opacity: .8; */
  /* For safety - reset parent styles, that can break glyph codes*/
  font-variant: normal;
  font-weight: normal;
  /* fix buttons height, for twitter bootstrap */
  line-height: 1em;
  /* Animation center compensation - margins should be symmetric */
  /* remove if not needed */
  margin-left: 0.2em;
  margin-right: 0.2em;
  speak: never;
  text-align: center;
  text-decoration: inherit;
  text-transform: none;
  width: 1em;
  /* Uncomment for 3D effect */
  /* text-shadow: 1px 1px 1px rgba(127, 127, 127, 0.3); */ }

.icon-alert::before {
  content: "\e800"; }

/* '' */
.icon-cart::before {
  content: "\e801"; }

/* '' */
.icon-customercareplan::before {
  content: "\e802"; }

/* '' */
.icon-livechat::before {
  content: "\e803"; }

/* '' */
.icon-location::before {
  content: "\e804"; }

/* '' */
.icon-search::before {
  content: "\e805"; }

/* '' */
.icon-severeweatherdesignation::before {
  content: "\e806"; }

/* '' */
.icon-cancel::before {
  content: "\e807"; }

/* '' */
.icon-wheelwarranty::before {
  content: "\e808"; }

/* '' */
.icon-myaccount::before {
  content: "\e809"; }

/* '' */
.icon-contact::before {
  content: "\e80a"; }

/* '' */
.icon-plus::before {
  content: "\e80b"; }

/* '' */
.icon-minus::before {
  content: "\e80c"; }

/* '' */
.icon-star::before {
  content: "\e80d"; }

/* '' */
.icon-up-open::before {
  content: "\e80e"; }

/* '' */
.icon-down-open::before {
  content: "\e80f"; }

/* '' */
.icon-accessibility::before {
  content: "\e810"; }

/* '' */
.icon-circle-checked::before {
  content: "\e811"; }

/* '' */
.icon-print::before {
  content: "\e812"; }

/* '' */
.icon-left-open::before {
  content: "\e813"; }

/* '' */
.icon-right-open::before {
  content: "\e814"; }

/* '' */
.icon-thumbs-down::before {
  content: "\e815"; }

/* '' */
.icon-tire::before {
  content: "\e816"; }

/* '' */
.icon-calendar::before {
  content: "\e817"; }

/* '' */
.icon-phone::before {
  content: "\e818"; }

/* '' */
.icon-lock::before {
  content: "\e819"; }

/* '' */
.icon-tested-by-kal::before {
  content: "\e820"; }

/* '' */
.icon-thumbs-up::before {
  content: "\e821"; }

/* '' */
.icon-star-empty::before {
  content: "\e822"; }

/* '' */
.icon-play::before {
  content: "\e823"; }

/* '' */
.icon-wheel::before {
  content: "\e824"; }

/* '' */
.icon-maintenance::before {
  content: "\e825"; }

/* '' */
.icon-seasonal-all::before {
  content: "\e826"; }

/* '' */
.icon-gears::before {
  content: "\e827"; }

/* '' */
.icon-book::before {
  content: "\e828"; }

/* '' */
.icon-filter::before {
  content: "\e829"; }

/* '' */
.icon-calendar-icon::before {
  content: "\e82c"; }

/* '' */
.icon-snowflake::before {
  content: "\e82d"; }

/* '' */
.icon-buynowpaylater::before {
  content: "\e82e"; }

/* '' */
.icon-angle-left::before {
  content: "\f104"; }

/* '' */
.icon-angle-right::before {
  content: "\f105"; }

/* '' */
.icon-angle-up::before {
  content: "\f106"; }

/* '' */
.icon-angle-down::before {
  content: "\f107"; }

/* '' */
.icon-circle::before {
  content: "\f111"; }

/* '' */
.icon-circle-thin::before {
  content: "\f1db"; }

/* "" */
.icon-star-half-alt::before {
  content: "\f123"; }

/* '' */
.icon-wifi::before {
  content: "\f1eb"; }

/* '' */
.icon-bus::before {
  content: "\f207"; }

/* '' */
.icon-exchange::before {
  content: "\e82f"; }

/* '' */
.icon-price-match-guarantee-line::before {
  content: "\e860"; }

/* '' */
.icon-tick::before {
  content: "\e831"; }

/* '' */
.icon-customer-care-plan-line::before {
  content: "\e832"; }

/* '' */
.icon-brakes-quality-parts::before {
  content: "\e833"; }

/* '' */
.icon-brakes-no-surprises::before {
  content: "\e834"; }

/* '' */
.icon-mail::before {
  content: "\e81a"; }

/* '' */
.icon-resend::before {
  content: "\e81b"; }

/* '' */
.icon-chat::before {
  content: "\e81c"; }

/* '' */
.icon-new-tab::before {
  content: "\e836"; }

/* '' */
/* Icons */
@font-face {
  font-family: "slick";
  font-style: normal;
  font-weight: normal;
  src: url("./fonts/slick.eot");
  src: url("./fonts/slick.eot?#iefix") format("embedded-opentype"), url("./fonts/slick.woff") format("woff"), url("./fonts/slick.ttf") format("truetype"), url("./fonts/slick.svg#slick") format("svg"); }

/* Arrows */
.slick-prev,
.slick-next {
  background: transparent;
  border: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0;
  outline: none;
  padding: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 20px; }

.slick-prev:hover,
.slick-prev:focus,
.slick-next:hover,
.slick-next:focus {
  background: transparent;
  color: transparent;
  outline: none; }

.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 {
  color: #fff;
  font-family: "slick";
  font-size: 20px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  line-height: 1;
  opacity: 0.75; }

.slick-prev {
  left: -25px; }

[dir="rtl"] .slick-prev {
  left: auto;
  right: -25px; }

.slick-prev::before {
  content: "←"; }

[dir="rtl"] .slick-prev::before {
  content: "→"; }

.slick-next {
  right: -25px; }

[dir="rtl"] .slick-next {
  left: -25px;
  right: auto; }

.slick-next::before {
  content: "→"; }

[dir="rtl"] .slick-next::before {
  content: "←"; }

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

.slick-dots {
  bottom: -25px;
  display: block;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  text-align: center;
  width: 100%; }

.slick-dots li {
  cursor: pointer;
  display: inline-block;
  height: 20px;
  margin: 0 5px;
  padding: 0;
  position: relative;
  width: 20px; }

.slick-dots li button {
  background: transparent;
  border: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0;
  outline: none;
  padding: 5px;
  width: 20px; }

.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 {
  color: #000;
  content: "•";
  font-family: "slick";
  font-size: 6px;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  height: 20px;
  left: 0;
  line-height: 20px;
  opacity: 0.25;
  position: absolute;
  text-align: center;
  top: 0;
  width: 20px; }

.slick-dots li.slick-active button::before {
  color: #000;
  opacity: 0.75; }

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

/* Arrows */
.slick-prev,
.slick-next {
  background: transparent;
  border: 0;
  color: transparent;
  cursor: pointer;
  display: block;
  font-size: 0;
  height: 20px;
  line-height: 0px;
  outline: none;
  padding: 0;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
      -ms-transform: translate(0, -50%);
          transform: translate(0, -50%);
  transform: translate(0, -50%);
  transform: translate(0, -50%);
  width: 20px; }
  .slick-prev:hover,
  .slick-prev:focus,
  .slick-next:hover,
  .slick-next:focus {
    background: transparent;
    color: transparent;
    outline: none; }
    .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 {
    color: #fff;
    font-family: "slick";
    font-size: 20px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    line-height: 1;
    opacity: 0.75; }

.slick-prev {
  left: -25px; }
  [dir="rtl"] .slick-prev {
    left: auto;
    right: -25px; }
  .slick-prev::before {
    content: "←"; }
    [dir="rtl"] .slick-prev::before {
      content: "→"; }

.slick-next {
  right: -25px; }
  [dir="rtl"] .slick-next {
    left: -25px;
    right: auto; }
  .slick-next::before {
    content: "→"; }
    [dir="rtl"] .slick-next::before {
      content: "←"; }

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

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

body,
html {
  height: auto; }

body {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin: 0; }

ol,
ul {
  list-style: none; }

.fullbleed, .footer-wrapper {
  margin: 0 auto;
  max-width: 1800px;
  width: 100%; }

.fullbleed-mobile {
  padding: 0 20px; }
  @media screen and (min-width: 64em) {
    .fullbleed-mobile {
      padding: 0 30px; } }
  @media screen and (max-width: 47.9375em) {
    .fullbleed-mobile {
      margin: 0 auto;
      padding: 0;
      width: 100%; } }

.row.atroot {
  padding: 0 15px; }
  @media screen and (min-width: 48em) {
    .row.atroot {
      padding: 0 20px; } }
  @media screen and (min-width: 64em) {
    .row.atroot {
      padding: 0 30px; } }
  @media screen and (max-width: 47.9375em) {
    .row.atroot.sel-info-wrapper {
      padding: 0; }
      .row.atroot.sel-info-wrapper .nopaddingsmall {
        padding: 0; } }

.no-js .top-bar {
  visibility: hidden; }

.no-js .title-bar {
  display: none; }

.no-js #mainNavWrapper {
  display: none; }

.visually-hidden {
  border: 0;
  clip: rect(0 0 0 0);
  height: 1px;
  margin: -1px;
  overflow: hidden;
  padding: 0;
  position: absolute;
  width: 1px; }

.reveal-overlay {
  background-color: rgba(0, 0, 0, 0.5); }

.visibility-hidden {
  visibility: hidden; }

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  line-height: 1em; }

a {
  color: #c75300; }

.large-headline {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 40px;
  line-height: 40px; }
  @media screen and (min-width: 48em) {
    .large-headline {
      font-size: 46px;
      line-height: 46px; } }
  @media screen and (min-width: 64em) {
    .large-headline {
      font-size: 66px;
      line-height: 66px; } }

.intro-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px;
  line-height: 20px; }
  @media screen and (min-width: 48em) {
    .intro-copy {
      font-size: 16px; } }
  @media screen and (min-width: 64em) {
    .intro-copy {
      font-size: 18px;
      line-height: 22px; } }

.small-intro-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .small-intro-copy {
      font-size: 14px; } }
  @media screen and (min-width: 64em) {
    .small-intro-copy {
      font-size: 16px;
      line-height: 20px; } }

.light-intro-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 16px;
  line-height: 20px; }
  @media screen and (min-width: 64em) {
    .light-intro-copy {
      font-size: 18px;
      line-height: 22px; } }

.footer-links {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 14px;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .footer-links {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 13px; } }
  @media screen and (min-width: 64em) {
    .footer-links {
      font-size: 13px; } }

.inline-link-alternate {
  color: #c75300;
  text-decoration: underline; }
  .inline-link-alternate:hover {
    color: #994000; }

.arrow-link {
  color: #000;
  font-weight: bold; }
  .arrow-link:hover {
    color: #000;
    text-decoration: underline; }
  .arrow-link::after {
    color: #ff6900;
    content: " >"; }

p,
.paragraph-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 18px; }
  @media screen and (min-width: 64em) {
    p,
    .paragraph-copy {
      font-size: 15px;
      line-height: 20px; } }

.small-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 12px;
  line-height: 16px; }
  @media screen and (min-width: 48em) {
    .small-copy {
      font-size: 13px;
      line-height: 17px; } }
  @media screen and (min-width: 64em) {
    .small-copy {
      font-size: 14px;
      line-height: 18px; } }

.tiny-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 10px;
  line-height: 14px; }
  @media screen and (min-width: 48em) {
    .tiny-copy {
      font-size: 11px;
      line-height: 16px; } }
  @media screen and (min-width: 64em) {
    .tiny-copy {
      font-size: 12px; } }

.tiny-headings {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 11px;
  line-height: 16px;
  text-transform: uppercase; }

.page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 1.3125rem;
  margin: 20px 0;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .page-title {
      margin: 30px 0; } }
  @media screen and (min-width: 64em) {
    .page-title {
      font-size: 1.625rem;
      margin: 50px 0 40px; } }

.pdp-main .page-title {
  font-size: 1rem; }
  @media screen and (min-width: 48em) {
    .pdp-main .page-title {
      margin: 30px 0 10px; } }
  @media screen and (min-width: 64em) {
    .pdp-main .page-title {
      margin: 50px 0 10px; } }

.tip-symbol {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (min-width: 48em) {
    .tip-symbol {
      display: -webkit-inline-box;
      display: -ms-inline-flexbox;
      display: inline-flex;
      -webkit-transform: translateY(-0.25rem);
          -ms-transform: translateY(-0.25rem);
              transform: translateY(-0.25rem); } }
  .tip-symbol::before {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 2px solid #ff6900;
    border-radius: 1.0625rem;
    color: #000;
    content: "?";
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    font-size: 0.6875rem;
    height: 1.0625rem;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    line-height: 0.6875rem;
    margin-right: 8px;
    width: 1.0625rem; }

.button {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  background: #ff6900;
  border: 3px solid #ff6900;
  color: #000;
  font-size: 13px;
  padding: 15px 18px;
  text-transform: uppercase; }
  .button.button-dark {
    background: #000; }
  .button:hover {
    background: #f6a583; }
  .button.button-dark:hover {
    background: #666; }
  .button.hollow {
    background: transparent;
    border: 3px solid #ff6900;
    color: #000; }
    .button.hollow:hover, .button.hollow:focus {
      background: #f6a583;
      border: 3px solid #ff6900;
      color: #000; }
  .button.button-dark.hollow {
    color: #fff; }
  .button.close-hollow-btn .active-btn-text {
    display: none; }
  .button.close-hollow-btn.is-active {
    background: #c75300;
    border-color: #c75300;
    color: #fff;
    position: relative; }
    .button.close-hollow-btn.is-active::after {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      content: "\e807";
      font-family: "fontello";
      font-size: 17px;
      position: absolute;
      right: 15px; }
    .button.close-hollow-btn.is-active .active-btn-text {
      display: block; }
    .button.close-hollow-btn.is-active .btn-text {
      display: none; }
  .button.secondary {
    background: #fff; }
    .button.secondary.hollow {
      background: transparent;
      border: 3px solid #ff6900;
      color: #fff; }
      .button.secondary.hollow:hover {
        background: #ff6900;
        border: 3px solid #ff6900;
        color: #000; }
    .button.secondary:hover {
      background: #313131; }
  .button.button-dark.secondary.hollow {
    color: #fff; }
  .button.disabled, .button:disabled, .button[disabled] {
    background: #808285;
    opacity: 0.5; }
    .button.disabled:hover, .button:disabled:hover, .button[disabled]:hover {
      background: #808285;
      opacity: 0.5; }
  .button.small {
    font-size: 11px;
    padding: 13px 15px; }
  .button.medium {
    font-size: 13px;
    padding: 15px 18px; }
  .button.large {
    font-size: 14px;
    padding: 16px 20px; }
  .button.full-width {
    margin-top: 1rem;
    width: 100%; }
  .button.hellobar {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #fff;
    margin: 0;
    padding: 0;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      .button.hellobar {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        background: #fff;
        color: #c75300;
        font-size: 11px;
        font-size: 11px;
        margin: 0 15px;
        padding: 12px 14px;
        text-transform: uppercase; } }
  .button.alternate {
    color: #fff; }
    .button.alternate:hover {
      color: #000; }

.v-view-on-vehicle.disabled .button {
  cursor: not-allowed;
  opacity: 0.5; }

.v-view-on-vehicle .link-above-product {
  background: #808285; }

.tested-bykal-badge {
  margin: 0 0 10px; }
  .tested-bykal-badge p.tested-bykal-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 12px;
    line-height: 1;
    margin: 0;
    text-transform: uppercase; }
  .tested-bykal-badge .icon-tested-by-kal {
    color: #ff6900;
    font-size: 20px; }

.tested-bykal-container {
  display: inline-block; }
  .tested-bykal-container p {
    display: inline-block;
    margin: 0;
    padding: 0; }
    .tested-bykal-container p .icon-tested-by-kal {
      color: #ff6900;
      font-size: 20px;
      vertical-align: middle; }
      .tested-bykal-container p .icon-tested-by-kal::before {
        margin-right: 0; }
    .tested-bykal-container p.tested-bykal-text {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 12px;
      line-height: 1;
      text-transform: uppercase; }

.product-badge {
  margin: 0 0 10px; }
  .product-badge span {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #f2f2f2;
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    margin: 0;
    margin: 7px 0;
    padding: 10px;
    text-transform: capitalize; }
    .product-badge span.product-image-badge {
      display: inline-block;
      line-height: initial;
      padding: 5px 5px 4px; }
      .product-badge span.product-image-badge img {
        height: 23px;
        width: 23px; }

.pt_product-details .product-winter-use,
.pt_product-compare .product-winter-use {
  position: relative;
  right: initial; }

.pt_product-compare .product-winter-use {
  text-align: right;
  top: 5px; }

.product-winter-use {
  position: absolute;
  right: 8px;
  top: 3px;
  z-index: 0; }
  .product-winter-use i {
    color: #ff6900;
    font-size: 23px; }

.overview i.icon-snowflake {
  margin-left: -3px; }

.loader {
  -webkit-animation: rotate 0.8s infinite linear;
          animation: rotate 0.8s infinite linear;
  animation: rotate 0.8s infinite linear;
  border: 8px solid #c75300;
  border-radius: 50%;
  border-right-color: transparent;
  bottom: 0;
  display: none;
  height: 3em;
  left: 0;
  margin: 0 auto 50px;
  margin: auto;
  position: absolute;
  right: 0;
  top: 0;
  width: 3em; }
  .loader.store-details-loader {
    bottom: -50px;
    top: auto; }

.error-text-box {
  background-color: #ffe1be;
  margin-bottom: 20px;
  margin-top: 10px;
  padding: 10px 10px 9px; }
  .error-text-box p.text {
    color: #de1c22;
    font-size: 14px;
    line-height: 18px;
    margin: 0;
    padding: 0; }

#productSelectorSlotWrapper .selector .loader {
  z-index: -1; }

#productSelectorSlotWrapper.expanded .selector .loader {
  z-index: 99; }

#psmodal #productSelectorSlotWrapper .selector .loader {
  z-index: 99; }

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

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

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

.videoWrapper {
  height: 0;
  padding-bottom: 56.25%;
  padding-top: 25px;
  position: relative; }
  .videoWrapper iframe {
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%; }

.product-attributes .category {
  display: inline-block;
  line-height: 1;
  text-transform: capitalize; }
  .product-attributes .category:first-of-type {
    margin: 0 10px 0 0; }
  .product-attributes .category::before {
    content: "";
    display: inline-block;
    height: 10px;
    margin: 0 5px 0 0;
    width: 10px; }

.product-attributes .cat-3-season::before,
.product-attributes .cat-all-season::before {
  background: #fbb116; }

.product-attributes .cat-performance::before {
  background: #6353a3; }

.product-attributes .cat-all-weather::before {
  background: #bf1a8d; }

.product-attributes .cat-winter::before {
  background: #20c3f3; }

.product-attributes .cat-touring::before {
  background: #00a651; }

.product-attributes .cat-sport-truck::before {
  background: #7c86c2; }

.product-attributes .cat-all-terrain::before {
  background: #7a5226; }

.product-attributes .cat-mud-terrain::before {
  background: #422800; }

.product-attributes .cat-commercial::before {
  background: #a7a9ac; }

.product-attributes .cat-ultra-high-performance::before {
  background: #a499ca; }

.plus-minus-accordion .is-accordion-submenu-parent {
  border-bottom: 1px solid #d9d9da; }
  .plus-minus-accordion .is-accordion-submenu-parent:first-child {
    border-top: 1px solid #d9d9da; }
  .plus-minus-accordion .is-accordion-submenu-parent > a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1rem;
    padding: 25px 0;
    text-transform: uppercase; }
    .plus-minus-accordion .is-accordion-submenu-parent > a::after {
      border: 0;
      color: #c75300;
      content: "\e80b";
      font-family: "fontello";
      font-size: 1rem;
      height: auto;
      margin: 0;
      margin-top: -8px;
      position: absolute;
      right: 0;
      top: 50%;
      width: auto; }

.plus-minus-accordion .is-accordion-submenu-parent[aria-expanded="true"] > a::after {
  content: "\e80c";
  font-family: "fontello"; }

.plus-minus-accordion .submenu {
  display: none;
  margin: 0 0 20px; }

a.inactive {
  cursor: default; }

.line-sections-separator {
  margin: 50px 0;
  position: relative; }
  @media screen and (min-width: 48em) {
    .line-sections-separator {
      margin: 0; } }
  .line-sections-separator::before {
    background: rgba(128, 130, 133, 0.3);
    bottom: 0;
    content: "";
    display: block;
    height: 1px;
    left: 0;
    margin: auto 0;
    right: 0;
    top: 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .line-sections-separator::before {
        height: 100%;
        margin: 0 auto;
        position: absolute;
        width: 1px; } }

.globalModalHeader {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #c75300;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 72px;
  min-height: 72px;
  padding: 0 60px 0 25px;
  position: relative; }
  .globalModalHeader .close-button {
    bottom: 0;
    color: #fff;
    margin: auto;
    position: absolute;
    right: 25px;
    top: 0; }
  .globalModalHeader h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 1.3125rem;
    margin: 0;
    text-transform: uppercase; }
    .globalModalHeader h2 span.questionmarkcircle {
      border: 3px solid #fff !important;
      font-size: 1.25rem;
      height: 32px;
      margin-right: 10px;
      min-width: 32px;
      width: 32px; }

.financingModal .globalModalHeader h2 {
  font-size: 1.125rem; }
  .financingModal .globalModalHeader h2 span.questionmarkcircle {
    font-size: 1rem;
    height: 26px;
    min-width: 26px;
    width: 26px; }

.globalModalContent {
  padding: 30px; }
  .globalModalContent p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: rem-cal(16); }
    .globalModalContent p strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }

.financingModal .globalModalContent {
  padding: 30px 62px; }
  @media screen and (max-width: 47.9375em) {
    .financingModal .globalModalContent {
      padding: 30px; } }

.financingModalButton {
  float: right;
  margin-bottom: 15px !important;
  padding-right: 20px; }
  @media screen and (max-width: 47.9375em) {
    .financingModalButton {
      float: none;
      padding-right: 0;
      text-align: center; } }
  .financingModalButton a {
    font-size: 11px;
    min-width: 170px; }
    @media screen and (max-width: 47.9375em) {
      .financingModalButton a {
        min-width: 140px; } }
  .financingModalButton .cb-cta {
    margin-top: 0;
    text-align: center; }
  .financingModalButton .cb-cta.button-hollow-black {
    padding: 7px 0 8px; }
  .financingModalButton .button {
    padding: 12px 18px;
    vertical-align: unset; }

.product-tile .product-size,
.product-tile .product-pricing {
  float: left;
  line-height: 1;
  width: 50%; }
  .product-tile .product-size.trailer-tile-info,
  .product-tile .product-pricing.trailer-tile-info {
    float: none;
    padding: 0;
    width: auto; }
    .product-tile .product-size.trailer-tile-info .attribute,
    .product-tile .product-pricing.trailer-tile-info .attribute {
      font-size: 12px;
      margin-bottom: 15px; }
  .product-tile .product-size.trailer-pricing,
  .product-tile .product-pricing.trailer-pricing {
    margin-top: 35px; }
    .product-tile .product-size.trailer-pricing .price-label,
    .product-tile .product-pricing.trailer-pricing .price-label {
      font-size: 12px;
      margin-bottom: 15px; }

.product-tile .product-size .attribute {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0; }

.product-tile .product-size .attr-column .attribute {
  margin: 0 0 5px; }

.product-tile .product-pricing {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 2.1875rem; }
  .product-tile .product-pricing .currency-indices {
    font-size: 1.0625rem; }
  .product-tile .product-pricing .price-sales {
    color: #000; }
  .product-tile .product-pricing .price-standard {
    color: #ff6900;
    display: block; }
    .product-tile .product-pricing .price-standard + .price-sales {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      float: left;
      font-size: 0.8125rem;
      margin: 2px 0 0;
      text-decoration: line-through; }
      .product-tile .product-pricing .price-standard + .price-sales .currency-indices {
        font-size: 0.8125rem; }
  .product-tile .product-pricing .rebate {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #ff6900;
    font-size: 0.75rem; }

.product-tile .size-label,
.product-tile .price-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #7a7c80;
  display: block;
  font-size: 0.6875rem;
  line-height: 1;
  margin: 0 0 8px;
  text-transform: uppercase; }

sub,
sup {
  font-size: 65%; }

.mainNavLiveChatCTA.openLiveChatButton {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #000;
  bottom: calc(30% - 17px);
  color: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.75rem;
  height: 2.125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 0.875rem;
  padding: 0.625rem;
  position: fixed;
  right: 0;
  -webkit-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
          transform: rotate(-90deg);
  -webkit-transform-origin: bottom right;
      -ms-transform-origin: bottom right;
          transform-origin: bottom right;
  z-index: 999; }
  .mainNavLiveChatCTA.openLiveChatButton.disabled {
    cursor: not-allowed;
    opacity: 0.5; }
  .mainNavLiveChatCTA.openLiveChatButton span {
    vertical-align: text-bottom; }

.header-nav.mobile-chat-btn {
  height: 0; }
  .header-nav.mobile-chat-btn .headerCartWrapper,
  .header-nav.mobile-chat-btn .headerSearchWrapper {
    display: none; }

.openLiveChatButton.disabled {
  cursor: not-allowed;
  opacity: 0.5; }

.csc-agentmessage {
  color: #f00;
  font-size: 20px;
  margin: 15px 0;
  text-align: center; }

.accordion {
  border-top: 1px solid #d9d9da;
  margin-top: 1.3125rem;
  width: 100%; }
  .accordion .toggle-item {
    border-bottom: 1px solid #d9d9da;
    padding: 1.4375rem 0;
    position: relative; }
    .accordion .toggle-item input[type="checkbox"] {
      cursor: pointer;
      height: 100%;
      left: 0;
      opacity: 0;
      position: absolute;
      top: 0;
      width: 100%; }
    .accordion .toggle-item .item-content {
      margin-top: 0.9375rem; }
    .accordion .toggle-item summary {
      font-size: 1rem; }
    .accordion .toggle-item summary::before {
      color: #ff6900;
      font-size: 1.25rem;
      line-height: 1rem;
      -webkit-margin-end: 5px;
              margin-inline-end: 5px; }
    .accordion .toggle-item input[type="checkbox"]:checked ~ .item-content {
      display: none; }
    .accordion .toggle-item input[type="checkbox"]:checked ~ summary::before {
      content: "+"; }
    .accordion .toggle-item input[type="checkbox"] ~ summary::before {
      content: "-"; }

.pt_product-search-result #main,
.pt_product-search-noresult #main,
.pt_product-compare #main,
.pt_product-details #main,
.pt_cart #main,
.pt_checkout #main,
.pt_order-confirmation #main {
  margin-bottom: 100px; }

@media screen and (max-width: 47.9375em) {
  .pt_product-search-result #main {
    margin-bottom: 0; } }

@media screen and (max-width: 47.9375em) {
  .pt_product-search-result .search-results-resource-center {
    margin-bottom: 100px; } }

.pt_account .reset-password-page {
  margin-bottom: 100px; }

[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 {
  height: 40px;
  line-height: 1.125rem;
  margin: 0;
  padding: 10px 15px; }

input::-ms-clear {
  display: none; }

select {
  background-image: url("../images/icons/select-icon.png");
  background-position: right center;
  height: 40px;
  padding: 0 15px; }
  @media screen and (min-width: 0\0) {
    select {
      background-image: url("../images/icons/select-icon.png"); } }

.sort-select {
  background-origin: border-box;
  background-position: right 1rem center;
  padding: 0 35px 0 10px; }

label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1;
  margin: 0 0 0.5rem; }

textarea {
  resize: none; }

.dialog-required {
  line-height: 1; }

.required-indicator {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #000;
  font-size: 0.875rem; }

input.error,
select.error,
textarea.error {
  border: 1px solid #f00; }

span.error,
.error-message,
.couponError,
.name-length-error {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: none;
  clear: both;
  color: #f00;
  display: inline-block;
  float: left;
  font-size: 0.75rem;
  line-height: 1.2;
  padding: 7px 0 0;
  width: 100%; }

.error-form {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #f00;
  font-size: 0.75rem;
  line-height: 1.2;
  margin: 10px 0; }

.form-row {
  margin: 0 0 20px; }
  .form-row::before, .form-row::after {
    content: ' ';
    display: table; }
  .form-row::after {
    clear: both; }

.form-caption.error-message a {
  text-decoration: underline; }

.checkbox-form,
.radio-form {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .checkbox-form .field-wrapper,
  .radio-form .field-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
    .checkbox-form .field-wrapper + label,
    .radio-form .field-wrapper + label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      margin: 0; }
  .checkbox-form input[type="checkbox"],
  .checkbox-form input[type="radio"],
  .radio-form input[type="checkbox"],
  .radio-form input[type="radio"] {
    margin: 2px 0.3125rem 0 0;
    opacity: 0;
    position: relative;
    z-index: 2; }
    .checkbox-form input[type="checkbox"]:focus,
    .checkbox-form input[type="radio"]:focus,
    .radio-form input[type="checkbox"]:focus,
    .radio-form input[type="radio"]:focus {
      outline: none; }
  .checkbox-form .input-custom,
  .radio-form .input-custom {
    background: #fff;
    display: block;
    left: 0;
    position: absolute;
    top: 2px;
    z-index: 1; }

.checkbox-form input[type="checkbox"]:checked + .input-custom {
  border-color: #000; }
  .checkbox-form input[type="checkbox"]:checked + .input-custom::after {
    content: "\f00c"; }

.checkbox-form input[type="checkbox"]:checked:disabled + .input-custom {
  color: #000; }

.checkbox-form .input-custom {
  border: 1px solid #d9d9d9;
  color: #ff6900;
  line-height: 17px; }
  .checkbox-form .input-custom::after {
    content: "";
    font-family: fontawesome;
    position: absolute; }

.checkbox-form .input-custom,
.checkbox-form input[type="checkbox"] {
  height: 17px;
  width: 17px; }

.radio-form input[type="radio"]:checked + .input-custom {
  background: #ff6900;
  border-color: #ff6900; }

.radio-form .input-custom {
  border: 2px solid #d9d9d9;
  border-radius: 100%;
  line-height: 14px; }

.radio-form .input-custom,
.radio-form input[type="radio"] {
  height: 14px;
  width: 14px; }

.commercial-fleet-wrapper .input-custom,
.commercial-fleet-wrapper input[type="checkbox"] {
  border-color: #000;
  border-radius: 50%; }

.commercial-fleet-wrapper input[type="checkbox"]:checked + .input-custom {
  background: #ff6900;
  border-color: #ff6900; }
  .commercial-fleet-wrapper input[type="checkbox"]:checked + .input-custom::after {
    color: #fff; }

.slick-slider {
  display: block;
  position: relative;
  -webkit-tap-highlight-color: transparent;
  -ms-touch-action: pan-y;
      touch-action: pan-y;
  -webkit-user-select: none;
     -moz-user-select: none;
      -ms-user-select: none;
          user-select: none; }

.slick-slider-container {
  position: relative; }

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

.slick-list:focus,
.slick-arrow:focus {
  outline: none; }

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

.slick-track {
  display: block;
  left: 0;
  position: relative;
  top: 0; }
  .slick-track::before, .slick-track::after {
    content: "";
    display: table; }
  .slick-track::after {
    clear: both; }

.slick-loading .slick-track {
  visibility: hidden; }

.slick-slide {
  display: none;
  float: left;
  height: 100%;
  min-height: 1px; }
  .slick-slide img.slick-loading {
    visibility: hidden; }

.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 {
  border: 1px solid transparent;
  display: block;
  height: auto; }

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

.reveal {
  outline: none; }

.pac-container {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #000;
  font-size: 12px;
  padding: 20px 10px; }
  @media screen and (min-width: 48em) {
    .pac-container {
      margin-left: -22px; } }
  .pac-container .pac-item {
    border: 0;
    padding: 0 15px; }
    .pac-container .pac-item .pac-icon {
      display: none; }
    .pac-container .pac-item:hover {
      cursor: pointer; }
  .pac-container::after {
    display: none; }

.bottom-spaced-colums > div.columns {
  margin-bottom: 20px; }

.blog-card {
  background-position-x: 50%;
  background-position-y: 50%;
  background-size: cover;
  max-width: 100%;
  min-height: 320px;
  overflow: hidden;
  position: relative;
  width: auto; }
  .blog-card .blog-card-info-wrapper {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    color: #fff;
    position: absolute;
    width: 100%; }
    .blog-card .blog-card-info-wrapper .blog-card-info {
      padding: 21px; }
      @media screen and (max-width: 47.9375em) {
        .blog-card .blog-card-info-wrapper .blog-card-info h4 {
          font-size: 17px;
          line-height: 1.3em; } }
      @media screen and (min-width: 48em) {
        .blog-card .blog-card-info-wrapper .blog-card-info h4 {
          height: 4.25rem;
          line-height: 1.375rem;
          margin-bottom: 0;
          overflow: hidden; } }
      .blog-card .blog-card-info-wrapper .blog-card-info .tiny-headings {
        color: #ff6900;
        margin: 0; }
        @media screen and (max-width: 47.9375em) {
          .blog-card .blog-card-info-wrapper .blog-card-info .tiny-headings {
            display: none; } }
    .blog-card .blog-card-info-wrapper .blog-card-cta {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      background: #ff6900;
      color: #000;
      font-size: 12px;
      line-height: 45px;
      margin: 0;
      padding: 0 21px;
      text-transform: uppercase; }

@media screen and (max-width: 63.9375em) {
  .blog-card-wrapper .blog-card-info-wrapper {
    bottom: 0; }
    .blog-card-wrapper .blog-card-info-wrapper .blog-card-cta {
      display: none; } }

@media screen and (min-width: 64em) {
  .blog-card-wrapper .blog-card-info-wrapper {
    bottom: -45px;
    -webkit-transition: all 0.2s ease;
    transition: all 0.2s ease; }
  .blog-card-wrapper:hover .blog-card-info-wrapper {
    bottom: 0; } }

.hello-bar {
  background: #262626;
  color: #fff;
  min-height: 30px;
  overflow: hidden;
  padding: 10px 45px 10px 15px;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .hello-bar {
      height: 40px; } }
  .hello-bar p {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    display: inline;
    margin: 0;
    padding: 0; }
  .hello-bar a {
    color: #fff;
    text-decoration: underline; }
    .hello-bar a:hover {
      opacity: 0.5; }
  .hello-bar .fa-times {
    cursor: pointer;
    font-size: 18px;
    margin-top: -8px;
    position: absolute;
    right: 20px;
    top: 23px; }
    @media screen and (min-width: 48em) {
      .hello-bar .fa-times {
        top: 50%; } }

.custom-menu-overlay {
  background: #000;
  display: none;
  height: 100%;
  opacity: 0.6;
  position: fixed;
  width: 100%;
  z-index: 3; }

.header-banner,
.header-nav {
  position: relative;
  z-index: 4; }

.header-nav {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  background: #f2f2f2;
  font-size: 12px;
  height: 2.5rem;
  position: relative;
  z-index: 4; }
  .header-nav a {
    color: #000; }
    .header-nav a:hover {
      text-decoration: underline; }
  .header-nav .mainNavActionsWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 40px; }
  .header-nav #headerNavLocationCTA {
    color: #000;
    font-weight: bold; }
    .header-nav #headerNavLocationCTA span {
      bottom: 3px;
      display: none;
      font-size: 15px;
      position: absolute;
      right: -20px; }
    .header-nav #headerNavLocationCTA:hover {
      text-decoration: underline; }
      .header-nav #headerNavLocationCTA:hover span {
        display: inline-block; }

ul.headerNavExternalLinks,
ul#headerNavActions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0; }
  ul.headerNavExternalLinks li,
  ul#headerNavActions li {
    display: inline-block;
    margin-left: 25px; }
    ul.headerNavExternalLinks li:first-child,
    ul#headerNavActions li:first-child {
      margin-left: 0;
      min-width: 68px; }
  ul.headerNavExternalLinks li.headerNavLocationWrapper,
  ul#headerNavActions li.headerNavLocationWrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      ul.headerNavExternalLinks li.headerNavLocationWrapper,
      ul#headerNavActions li.headerNavLocationWrapper {
        margin-right: 25px; } }
    ul.headerNavExternalLinks li.headerNavLocationWrapper i.icon-location,
    ul#headerNavActions li.headerNavLocationWrapper i.icon-location {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      font-size: 16px; }
    ul.headerNavExternalLinks li.headerNavLocationWrapper.active,
    ul#headerNavActions li.headerNavLocationWrapper.active {
      border-bottom: 1px solid #dfe0e0; }
      ul.headerNavExternalLinks li.headerNavLocationWrapper.active i.icon-location,
      ul#headerNavActions li.headerNavLocationWrapper.active i.icon-location {
        color: #ff6900; }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper {
    padding: 0; } }

@media screen and (min-width: 48em) {
  #mainNavWrapper .top-bar-left,
  #mainNavWrapper .top-bar-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 40px; } }

#mainNavWrapper #mainNav {
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all; }
  @media screen and (min-width: 48em) {
    #mainNavWrapper #mainNav {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      #mainNavWrapper #mainNav > li a.l1MenuItem {
        position: relative; }
      #mainNavWrapper #mainNav > li.is-active a.l1MenuItem {
        color: #c75300; } }
  @media screen and (max-width: 47.9375em) {
    #mainNavWrapper #mainNav {
      display: block;
      width: 100%; }
      #mainNavWrapper #mainNav > li[aria-expanded="true"] a.l1MenuItem {
        color: #c75300; }
      #mainNavWrapper #mainNav > li a.l1MenuItem {
        color: #000;
        position: relative; } }
  #mainNavWrapper #mainNav .dropdown-pane {
    border-bottom: 0;
    border-left: 0;
    border-right: 0;
    border-top: 1px solid #e5e5e5; }

#mainNavWrapper .top-bar #mainNav > li,
#mainNavWrapper .top-bar #mainNav > li > a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #000;
  font-size: 14px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    #mainNavWrapper .top-bar #mainNav > li::after,
    #mainNavWrapper .top-bar #mainNav > li > a::after {
      display: none; } }
  #mainNavWrapper .top-bar #mainNav > li:hover,
  #mainNavWrapper .top-bar #mainNav > li > a:hover {
    color: #ff6900; }
  #mainNavWrapper .top-bar #mainNav > li ul,
  #mainNavWrapper .top-bar #mainNav > li li,
  #mainNavWrapper .top-bar #mainNav > li li a,
  #mainNavWrapper .top-bar #mainNav > li > a ul,
  #mainNavWrapper .top-bar #mainNav > li > a li,
  #mainNavWrapper .top-bar #mainNav > li > a li a {
    text-transform: none; }

#mainNavWrapper .top-bar #mainNav > li > a,
#mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link {
  display: block;
  line-height: 40px;
  padding: 0; }
  @media screen and (min-width: 64em) {
    #mainNavWrapper .top-bar #mainNav > li > a span,
    #mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link span {
      border-left: 2px solid #ff6900;
      padding: 0 19px; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #mainNavWrapper .top-bar #mainNav > li > a span,
    #mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link span {
      padding: 0 20px; } }
  #mainNavWrapper .top-bar #mainNav > li > a span,
  #mainNavWrapper .top-bar #mainNav > li .mobile-menu-item-link span {
    color: #000; }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper .top-bar #mainNav li {
    border-top: 1px solid #808285; }
    #mainNavWrapper .top-bar #mainNav li.is-submenu-item {
      display: block; } }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper .top-bar #mainNav li a {
    font-size: 22px;
    line-height: 67px;
    margin: 0;
    padding: 0 30px;
    width: 100%; } }

@media screen and (max-width: 47.9375em) {
  #mainNavWrapper .top-bar #mainNav li a.mobile-submenu-trigger {
    padding-right: 1rem; } }

#mainNavWrapper .top-bar #mainNav li.js-drilldown-back > a {
  color: #000;
  font-size: 1.375rem;
  line-height: 67px;
  text-transform: uppercase; }
  #mainNavWrapper .top-bar #mainNav li.js-drilldown-back > a::before {
    color: #ff6900;
    margin-top: -5px; }

#mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper {
  padding: 10px 0 25px; }
  @media screen and (max-width: 47.9375em) {
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper ul,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li {
      border: 0 !important;
      list-style-type: none;
      margin: 0; }
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h1,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h2,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h3,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h4,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h5,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper h6 {
      padding: 23px 45px 0; }
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li,
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      font-size: 14px;
      line-height: 32px;
      padding: 0; }
    #mainNavWrapper .top-bar #mainNav li .mobile-menu-wrapper li {
      padding: 0 45px; } }

#mainNavWrapper .top-bar #mainNav li:first-child a span {
  border: 0; }

#mainNavWrapper .mobile-submenu-trigger {
  height: 67px;
  position: absolute !important;
  text-align: right;
  width: 100%; }

#mainNavWrapper ul#mainNav .mobile-menu-wrapper h5 {
  color: #ff6900; }
  #mainNavWrapper ul#mainNav .mobile-menu-wrapper h5 a {
    font-size: 1.0625rem;
    line-height: 1em;
    padding: 0; }

@media screen and (min-width: 64em) {
  #mainNavWrapper .top-bar-right {
    float: none;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; } }

#mainNavWrapper .top-bar-right ul#mainNav {
  float: left;
  z-index: 1; }
  @media screen and (min-width: 64em) {
    #mainNavWrapper .top-bar-right ul#mainNav {
      margin: 0; } }

@media screen and (max-width: 47.9375em) {
  #mainMenuWrapper {
    position: relative;
    z-index: 1; } }

ul.mainNavActions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin: 0;
  min-width: 213px;
  position: relative;
  z-index: 100; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    ul.mainNavActions {
      min-width: auto; } }
  ul.mainNavActions > li {
    padding: 0 8px; }
    @media screen and (min-width: 64em) and (max-width: 82.4375em) {
      ul.mainNavActions > li {
        padding: 0 3px; } }
    ul.mainNavActions > li:last-child {
      padding-right: 0; }
  ul.mainNavActions li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  ul.mainNavActions a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    display: block;
    font-size: 12px;
    line-height: 20px; }
    ul.mainNavActions a i {
      font-size: 20px; }
    ul.mainNavActions a i:hover {
      color: #c75300; }
  ul.mainNavActions h5 a {
    color: #ff6900;
    font-size: 1.125rem; }
  ul.mainNavActions .header-cta-button .button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 28px;
    margin: 0; }
    @media screen and (min-width: 64em) and (max-width: 82.4375em) {
      ul.mainNavActions .header-cta-button .button {
        white-space: nowrap; } }

.mobile-header-cta {
  text-align: center; }
  .mobile-header-cta .button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 28px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 10px auto;
    width: 80%; }

.header-main-nav {
  background-color: #fff;
  min-height: 40px;
  padding: 28px 0;
  position: sticky;
  position: sticky;
  top: 0;
  z-index: 99; }
  @media screen and (max-width: 47.9375em) {
    .header-main-nav {
      min-height: 60px;
      padding: 0; }
      .header-main-nav::after {
        height: 1px; } }
  .header-main-nav::after {
    background-color: #f2f2f2;
    bottom: 0;
    content: "";
    height: 2px;
    left: 0;
    position: absolute;
    width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .header-main-nav .row.atroot {
      padding: 0;
      width: 100%; } }
  .header-main-nav.no-js {
    height: 60px; }
  @media screen and (min-width: 48em) {
    .header-main-nav-sticked .header-logo-image {
      max-width: 90px; } }
  @media screen and (min-width: 64em) {
    .header-main-nav-sticked .header-logo-image {
      max-width: 110px; } }

.header-logo-image {
  height: auto;
  max-width: 90px;
  -webkit-transition: all 0.5s ease;
  transition: all 0.5s ease; }
  @media screen and (min-width: 48em) {
    .header-logo-image {
      max-width: 100px;
      padding: 20px 0; } }
  @media screen and (min-width: 64em) {
    .header-logo-image {
      max-width: 125px; } }

#locationChange {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative; }

#locationChangeTriggerWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all; }

#locationChangeFormWrapper {
  overflow: hidden;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all;
  width: 0; }

#locationChangeInput {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  background: transparent;
  border: 0;
  -webkit-box-shadow: none;
          box-shadow: none;
  font-size: 12px;
  height: 28px;
  line-height: 28px;
  margin: 0;
  max-width: 200px;
  padding: 0 25px 0 0; }
  #locationChangeInput::-ms-clear {
    display: none; }

#locationChangeFormClose {
  color: #dfe0e0;
  cursor: pointer;
  display: none;
  font-size: 18px;
  line-height: 28px;
  position: absolute;
  right: 0;
  top: 0; }

.title-bar {
  padding: 0;
  position: relative; }

#mobileMenuLogoWrapper {
  float: left;
  padding: 18px 0 0 30px; }

#mobileMenuTriggerWrapper {
  float: right;
  position: relative; }
  #mobileMenuTriggerWrapper ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    list-style-type: none;
    margin: 0;
    padding: 0; }
    #mobileMenuTriggerWrapper ul li {
      display: inline-block;
      font-size: 21px; }
      #mobileMenuTriggerWrapper ul li a {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #000;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 60px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        width: 36px; }
  #mobileMenuTriggerWrapper li a.active {
    color: #ff6900; }
  #mobileMenuTriggerWrapper .menu-icon {
    fill: #000;
    height: 60px;
    margin: 0 0 0 10px;
    outline: none;
    position: relative;
    -webkit-tap-highlight-color: transparent;
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
    width: 60px;
    z-index: 2; }
    #mobileMenuTriggerWrapper .menu-icon .mobileNav-svg {
      bottom: 0;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0;
      width: 60px; }
    #mobileMenuTriggerWrapper .menu-icon .mobileNav-rect {
      -webkit-transition: 0.3s ease all;
      transition: 0.3s ease all; }
    #mobileMenuTriggerWrapper .menu-icon.is-active .mobileNav-rect:first-child {
      -webkit-transform: rotate(43deg) translate(11px, -21px);
          -ms-transform: rotate(43deg) translate(11px, -21px);
              transform: rotate(43deg) translate(11px, -21px);
      transform: rotate(43deg) translate(11px, -21px);
      transform: rotate(43deg) translate(11px, -21px); }
    #mobileMenuTriggerWrapper .menu-icon.is-active .mobileNav-rect:nth-child(2) {
      opacity: 0; }
    #mobileMenuTriggerWrapper .menu-icon.is-active .mobileNav-rect:last-child {
      -webkit-transform: rotate(-45deg) translate(-30px, 1px);
          -ms-transform: rotate(-45deg) translate(-30px, 1px);
              transform: rotate(-45deg) translate(-30px, 1px);
      transform: rotate(-45deg) translate(-30px, 1px);
      transform: rotate(-45deg) translate(-30px, 1px); }
    #mobileMenuTriggerWrapper .menu-icon::after {
      display: none; }

#mobileNavActions {
  background: #f2f2f2;
  border-bottom: 1px solid #808285;
  border-top: 1px solid #808285;
  display: block;
  float: left;
  list-style-type: none;
  margin: 0;
  padding: 5px 30px;
  width: 100%; }
  #mobileNavActions li a {
    color: #000;
    display: block;
    line-height: 40px;
    width: 100%; }
    #mobileNavActions li a span {
      color: #ff6900; }
    #mobileNavActions li a.active {
      color: #ff6900; }
  #mobileNavActions li a#mobileLocationChangeFormClose {
    color: #dfe0e0;
    display: block;
    font-size: 18px;
    line-height: 40px;
    position: absolute;
    right: 0;
    text-align: center;
    top: 0;
    width: 45px; }
  #mobileNavActions .mobileNavExternalLinks {
    background: inherit;
    border-top: #bebebe 1px solid;
    font-size: 14px;
    margin-left: 0;
    margin-top: 8px;
    padding-top: 8px; }

#mobileLocationChange {
  position: relative; }

#mobileLocationChangeInput {
  margin: 0;
  max-width: 100%;
  padding: 0 45px 0 15px;
  width: 100%; }

#mobileLocationChangeFormWrapper {
  height: 0;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.3s ease all;
  transition: 0.3s ease all; }

.mini-cart-link {
  position: relative; }
  .mini-cart-link .minicart-quantity {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #fff;
    border-radius: 50%;
    color: #fff;
    font-size: 10px;
    height: 24px;
    position: absolute;
    right: -10px;
    text-align: center;
    top: -9px;
    width: 24px; }
    @media screen and (max-width: 47.9375em) {
      .mini-cart-link .minicart-quantity {
        line-height: 20px;
        right: -4px;
        top: 5px; } }
    .mini-cart-link .minicart-quantity .minicart-quantity-inner {
      background: #000;
      border-radius: 50%;
      display: block;
      height: 18px;
      line-height: 18px;
      margin: 0 auto;
      width: 18px; }

@media screen and (min-width: 48em) {
  .mega-menu {
    position: relative;
    z-index: 999; }
    .mega-menu .links-type h1,
    .mega-menu .links-type h2,
    .mega-menu .links-type h3,
    .mega-menu .links-type h4,
    .mega-menu .links-type h5,
    .mega-menu .links-type h6 {
      color: #c75300;
      padding-top: 10px; }
      .mega-menu .links-type h1 a,
      .mega-menu .links-type h2 a,
      .mega-menu .links-type h3 a,
      .mega-menu .links-type h4 a,
      .mega-menu .links-type h5 a,
      .mega-menu .links-type h6 a {
        color: #c75300; }
      .mega-menu .links-type h1 a:hover, .mega-menu .links-type h1:hover,
      .mega-menu .links-type h2 a:hover,
      .mega-menu .links-type h2:hover,
      .mega-menu .links-type h3 a:hover,
      .mega-menu .links-type h3:hover,
      .mega-menu .links-type h4 a:hover,
      .mega-menu .links-type h4:hover,
      .mega-menu .links-type h5 a:hover,
      .mega-menu .links-type h5:hover,
      .mega-menu .links-type h6 a:hover,
      .mega-menu .links-type h6:hover {
        color: #994000;
        text-decoration: underline; }
    .mega-menu .links-type ul {
      list-style-type: none;
      margin: 0;
      padding: 0; }
    .mega-menu .links-type li,
    .mega-menu .links-type li a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      font-size: 15px; }
    .mega-menu .links-type li {
      padding: 5px 0; }
      .mega-menu .links-type li a:hover {
        text-decoration: underline; }
    .mega-menu .editorial-type h1,
    .mega-menu .editorial-type h2,
    .mega-menu .editorial-type h3,
    .mega-menu .editorial-type h4,
    .mega-menu .editorial-type h5,
    .mega-menu .editorial-type h6 {
      color: #c75300;
      margin: 0;
      padding: 10px 0 5px; }
      .mega-menu .editorial-type h1:hover,
      .mega-menu .editorial-type h2:hover,
      .mega-menu .editorial-type h3:hover,
      .mega-menu .editorial-type h4:hover,
      .mega-menu .editorial-type h5:hover,
      .mega-menu .editorial-type h6:hover {
        color: #994000; }
    .mega-menu .editorial-type p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #808285;
      font-size: 14px;
      text-transform: none; }
    .mega-menu .editorial-type .content-custom-btn {
      color: #000; }
      .mega-menu .editorial-type .content-custom-btn:hover {
        text-decoration: underline; }
    .mega-menu .editorial-type img {
      display: block;
      width: 100%; }
    .mega-menu .mega {
      -webkit-box-shadow: 0 13px 20px -13px rgba(0, 0, 0, 0.15);
              box-shadow: 0 13px 20px -13px rgba(0, 0, 0, 0.15);
      left: 0% !important;
      margin: 0 auto !important;
      max-width: 1800px;
      padding: 60px 0;
      right: 0% !important;
      width: auto !important; }
      .mega-menu .mega .row {
        margin: 0 auto;
        max-width: 82.5rem; }
      .mega-menu .mega .columns {
        border-left: 1px solid #e5e5e5;
        padding: 0 35px; }
        .mega-menu .mega .columns:first-child {
          border: 0; }
      .mega-menu .mega .image-type a {
        display: block; }
      .mega-menu .mega .image-type img {
        display: block;
        width: 100%; } }

.is-dropdown-submenu-parent {
  position: relative; }
  @media screen and (min-width: 48em) {
    .is-dropdown-submenu-parent {
      position: static; }
      .is-dropdown-submenu-parent.is-active a.l1MenuItem::before {
        background: #ff6900;
        content: " ";
        height: 6px;
        left: 0;
        position: absolute;
        top: 60px;
        width: 100%; } }

@media screen and (max-width: 47.9375em) {
  .is-accordion-submenu-parent > a::after {
    border: 0;
    color: #ff6900;
    content: "\f107";
    display: block;
    font-family: "fontello";
    font-size: 30px;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    height: auto;
    line-height: 1em;
    position: absolute;
    right: 20px;
    text-align: center;
    text-transform: none;
    top: 24px;
    width: 1em; } }

.header-main-nav .is-drilldown .mega-menu {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.header-main-nav .is-drilldown-submenu {
  -webkit-overflow-scrolling: touch;
  overflow-y: scroll; }

@media screen and (max-width: 47.9375em) {
  .header-main-nav .is-drilldown-submenu-parent > a::after {
    border: 0;
    color: #ff6900;
    content: "\f105";
    display: inline;
    font-family: "fontello";
    position: initial; } }

@media screen and (max-width: 47.9375em) {
  .header-main-nav .is-drilldown-submenu .js-drilldown-back > a::before {
    border: 0;
    content: "\f104";
    font-family: "fontello";
    height: auto;
    width: auto; } }

@media screen and (max-width: 47.9375em) {
  .is-accordion-submenu-parent[aria-expanded='true'] > a::after {
    content: "\f106";
    -webkit-transform: initial;
        -ms-transform: initial;
            transform: initial;
    -webkit-transform-origin: initial;
        -ms-transform-origin: initial;
            transform-origin: initial; } }

#mobileSearchWrapper {
  float: left;
  position: relative;
  top: 1px;
  width: 100%;
  z-index: 9; }
  #mobileSearchWrapper .header-search {
    display: none; }
  #mobileSearchWrapper.active .header-search {
    display: block; }

@media screen and (min-width: 48em) {
  .header-search {
    overflow: hidden;
    -webkit-transition: 0.3s ease all;
    transition: 0.3s ease all;
    width: 0; } }

@media screen and (max-width: 47.9375em) {
  .header-search {
    background: #f2f2f2;
    padding: 15px;
    top: -1px;
    width: 100%; }
    .header-search fieldset {
      position: relative; }
    .header-search .seachFormInput {
      padding: 0 15px; }
    .header-search .seachFormInput {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      border: 1px solid #dfe0e0;
      -webkit-box-shadow: none;
              box-shadow: none;
      color: #000;
      font-size: 12px;
      margin: 0;
      padding: 0 25px 0 15px; }
    .header-search .searchFormClose {
      color: #dfe0e0;
      cursor: pointer;
      font-size: 18px;
      line-height: 40px;
      position: absolute;
      right: 10px;
      top: 0; } }

.headerSearchWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  .headerSearchWrapper.active {
    background: #fff;
    border-bottom: 1px solid #dfe0e0;
    padding: 0;
    right: 0;
    top: -8px;
    z-index: 1; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .headerSearchWrapper.active {
        background: #f2f2f2;
        position: relative;
        top: 0; } }
    @media screen and (max-width: 47.9375em) {
      .headerSearchWrapper.active {
        border: 0;
        position: relative;
        top: 0; } }
    .headerSearchWrapper.active .searchFormTrigger {
      color: #ff6900 !important;
      display: inline; }
      .headerSearchWrapper.active .searchFormTrigger i.icon-search::before {
        margin-left: 0; }
    .headerSearchWrapper.active .searchFormClose {
      display: block; }
    @media screen and (min-width: 48em) {
      .headerSearchWrapper.active .header-search {
        width: 220px; } }
    @media screen and (min-width: 64em) {
      .headerSearchWrapper.active .header-search {
        -webkit-transition-duration: 0.3s;
                transition-duration: 0.3s; } }
  .headerSearchWrapper .header-search .searchFormTrigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .headerSearchWrapper .searchFormTrigger {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
  .headerSearchWrapper .header-search fieldset {
    position: relative; }
  .headerSearchWrapper .seachFormButton {
    bottom: 0;
    position: absolute;
    right: 5px; }
    .headerSearchWrapper .seachFormButton:hover {
      color: #ff6900; }
  .headerSearchWrapper .seachFormInput {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: transparent;
    border: 1px solid #f2f2f2;
    -webkit-box-shadow: none;
            box-shadow: none;
    font-size: 12px;
    height: 28px;
    line-height: 28px;
    margin: 0;
    max-width: 100%;
    padding: 0 25px 0 10px; }
    .headerSearchWrapper .seachFormInput::-ms-clear {
      display: none; }
  .headerSearchWrapper .searchFormClose {
    color: #dfe0e0;
    cursor: pointer;
    display: none;
    font-size: 18px;
    line-height: 28px;
    position: absolute;
    right: 0;
    top: 0; }

.search-suggestions {
  background: #fff;
  -webkit-box-shadow: 0 8px 15px -2px rgba(0, 0, 0, 0.15);
          box-shadow: 0 8px 15px -2px rgba(0, 0, 0, 0.15);
  padding: 20px 0;
  position: absolute;
  right: 0;
  width: 585px; }
  @media screen and (min-width: 48em) {
    .search-suggestions {
      top: 64px; } }
  @media screen and (min-width: 64em) {
    .search-suggestions {
      top: 67px; } }
  @media screen and (max-width: 47.9375em) {
    .search-suggestions {
      padding: 30px;
      top: 70px;
      width: 100%; } }
  .mobile-search .search-suggestions {
    overflow-y: scroll; }
  .search-suggestions .hitgroup {
    margin: 0 0 30px; }
  .search-suggestions .generated-hitgroup {
    border-bottom: 1px solid #ccc;
    padding-bottom: 20px; }
  .search-suggestions h5 {
    color: #ff6900;
    margin: 0;
    padding-bottom: 20px;
    text-transform: uppercase; }
    .search-suggestions h5.popular-searches {
      font-size: 0.875rem;
      text-transform: none; }
  .search-suggestions .direct-page-link {
    color: #ff6900;
    font-size: 1.125rem;
    margin: 0;
    padding-bottom: 20px;
    text-transform: uppercase; }
  .search-suggestions .search-product-wrapper {
    border-left: 1px solid #dfe0e0;
    float: right;
    overflow-x: hidden;
    padding: 0 30px 0 40px;
    width: 340px; }
    @media screen and (max-width: 47.9375em) {
      .search-suggestions .search-product-wrapper {
        border: 0;
        padding: 0 0 20px;
        width: 100%; } }
  .search-suggestions .search-suggestion-wrapper {
    float: left;
    overflow: hidden;
    padding: 0 30px 0 40px;
    width: 245px; }
    @media screen and (max-width: 47.9375em) {
      .search-suggestions .search-suggestion-wrapper {
        border: 0;
        border-top: 1px solid #d4d4d4;
        margin-bottom: 0;
        padding: 30px 0;
        width: 100%; } }
    .search-suggestions .search-suggestion-wrapper a.hit {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      display: block;
      font-size: 0.875rem;
      padding-bottom: 10px; }
  .search-suggestions .product-suggestion {
    margin-bottom: 15px; }
  .search-suggestions .product-suggestion:hover {
    background-color: #f4f4f4; }
  .search-suggestions .product-link {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    .search-suggestions .product-link .product-image {
      border: 1px solid #dfe0e0;
      width: 60px; }
    .search-suggestions .product-link .product-details {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #000;
      font-size: 0.8125rem;
      padding-left: 20px; }
      .search-suggestions .product-link .product-details .product-brand {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }

.footer-social-media-wrapper {
  font-size: 28px;
  list-style-type: none;
  margin: 0;
  margin-top: 15px;
  padding: 0;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .footer-social-media-wrapper {
      font-size: 20px;
      margin-top: 0;
      text-align: left; } }
  .footer-social-media-wrapper li {
    display: inline;
    padding: 0 20px; }
    @media screen and (min-width: 48em) {
      .footer-social-media-wrapper li {
        padding: 0 0 0 20px; }
        .footer-social-media-wrapper li:first-child {
          padding: 0; } }
    .footer-social-media-wrapper li a {
      color: #000; }

.footer-copy-wrapper {
  background: #ff6900;
  min-height: 96px; }
  .footer-copy-wrapper .row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    min-height: 96px;
    padding-bottom: 15px;
    padding-top: 15px; }
    @media screen and (min-width: 48em) {
      .footer-copy-wrapper .row {
        height: 96px; } }

#footerLogoContainer {
  display: block;
  margin: 0 auto 8px;
  max-width: 108px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    #footerLogoContainer {
      float: left;
      margin: 0 auto;
      max-width: 108px;
      text-align: left; } }
  #footerLogoContainer img {
    display: block;
    height: auto;
    width: 100%; }

#footerCopyContainer {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #000;
  display: block;
  font-size: 10px;
  margin: 0;
  padding: 0;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #footerCopyContainer {
      float: right;
      font-size: 11px;
      margin: 0;
      padding: 0;
      text-align: right; } }
  @media screen and (max-width: 47.9375em) {
    #footerCopyContainer span {
      display: block;
      width: 100%; } }
  #footerCopyContainer a {
    color: #000;
    text-decoration: underline; }

#footerLiveChatCTA {
  color: #ff6900; }

.footer-wrapper {
  /* stylelint-disable-line */
  border-top: 1px solid #f2f2f2;
  padding: 55px 0 25px; }
  @media screen and (max-width: 47.9375em) {
    .footer-wrapper {
      padding: 45px 0 35px; } }
  .footer-wrapper .footer-logo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

ul.footer-links {
  color: #808285;
  list-style-type: none;
  margin: 0 0 30px; }
  ul.footer-links span {
    color: #ff6900; }
  ul.footer-links a {
    color: #808285; }
    ul.footer-links a:hover {
      text-decoration: underline; }
  ul.footer-links li {
    margin-bottom: 1.375rem; }
    @media screen and (min-width: 48em) {
      ul.footer-links li {
        margin-bottom: 5px; }
        ul.footer-links li:first-child {
          margin-bottom: 10px; }
          ul.footer-links li:first-child a {
            font-family: "Gotham A", "Gotham B", Arial;
            font-weight: 700;
            color: #000;
            font-size: 15px; } }
    @media screen and (max-width: 47.9375em) {
      ul.footer-links li a {
        color: #000; } }

.show-self-service .show-entry-point {
  display: block; }

.show-entry-point {
  display: none; }

.footer-email-wrapper {
  background: #f2f2f2;
  padding: 35px 0; }
  .footer-email-wrapper form fieldset {
    text-align: center; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper form fieldset {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center; } }
  .footer-email-wrapper label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 13px;
    padding: 0 0 15px; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper label {
        font-size: 15px;
        padding: 0 70px 0 0; } }
  .footer-email-wrapper .footer-email-input-wrapper,
  .footer-email-wrapper .footer-email-label-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper .footer-email-input-wrapper,
      .footer-email-wrapper .footer-email-label-wrapper {
        width: auto; } }
  @media screen and (min-width: 64em) {
    .footer-email-wrapper .footer-email-label-wrapper {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; } }
  @media screen and (min-width: 64em) {
    .footer-email-wrapper .footer-email-label-wrapper label {
      margin: 0; } }
  .footer-email-wrapper .footer-email-input-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0 15px;
    position: relative; }
    @media screen and (min-width: 64em) {
      .footer-email-wrapper .footer-email-input-wrapper {
        -webkit-box-pack: start;
            -ms-flex-pack: start;
                justify-content: flex-start; } }
    .footer-email-wrapper .footer-email-input-wrapper input {
      float: left;
      margin: 0; }
    .footer-email-wrapper .footer-email-input-wrapper button {
      height: 40px;
      margin: 0; }
      @media screen and (max-width: 47.9375em) {
        .footer-email-wrapper .footer-email-input-wrapper button {
          padding: 0;
          width: 40px; }
          .footer-email-wrapper .footer-email-input-wrapper button i {
            font-size: 22px; } }
    .footer-email-wrapper .footer-email-input-wrapper span.error {
      left: 0;
      padding: 0 15px;
      position: absolute;
      text-align: left;
      top: -18px; }
      @media screen and (max-width: 63.9375em) {
        .footer-email-wrapper .footer-email-input-wrapper span.error {
          text-align: center; } }

.newsletter-message {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .newsletter-message i {
    color: #ff6900;
    font-size: 1.375rem; }
  .newsletter-message span {
    font-size: 0.75rem; }

#subscribe-email {
  max-width: 305px; }
  @media screen and (min-width: 64em) {
    #subscribe-email {
      width: 315px; } }

#homepageAlertBar {
  background: #000;
  color: #fff;
  padding: 0 50px 0 0;
  position: relative; }
  #homepageAlertBar i.icon-alert {
    color: #ff6900;
    font-size: 30px;
    min-width: 42px; }
  #homepageAlertBar p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 25px auto; }
  #homepageAlertBar > div {
    display: table;
    min-height: 80px; }
  #homepageAlertBar strong {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  #homepageAlertBar #homepageAlertBarClose {
    cursor: pointer;
    font-size: 18px;
    position: absolute;
    right: 20px;
    top: 38%; }

#homepageThreeAssetGroup .main-left {
  width: 100%; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .main-left {
      width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    #homepageThreeAssetGroup .main-left {
      height: auto !important; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #homepageThreeAssetGroup .main-left {
      height: auto !important; } }

#homepageThreeAssetGroup .main-right {
  width: 100%; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .main-right {
      width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    #homepageThreeAssetGroup .main-right {
      height: auto !important; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #homepageThreeAssetGroup .main-right {
      height: auto !important; } }

#homepageThreeAssetGroup .right-column-wrapper {
  width: 100%; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .right-column-wrapper {
      background: #ff6900;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      height: 100%; } }

#homepageThreeAssetGroup .left-column {
  background: #f2f2f2;
  padding: 36px 32px 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .left-column {
      padding: 55px 32px 0; } }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .left-column {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      height: 100%;
      padding: 90px 60px 0; } }
  #homepageThreeAssetGroup .left-column h2 {
    color: #ff6900;
    font-size: 2rem; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .left-column h2 {
        font-size: 2.625rem;
        margin-bottom: 15px; } }
  #homepageThreeAssetGroup .left-column p {
    color: #808285;
    margin-bottom: 30px;
    max-width: 540px; }
  #homepageThreeAssetGroup .left-column ul {
    list-style: none;
    margin: 0 0 25px;
    padding: 0; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      #homepageThreeAssetGroup .left-column ul {
        margin-bottom: 25px; } }
    #homepageThreeAssetGroup .left-column ul p {
      display: inline;
      margin: 0; }
  #homepageThreeAssetGroup .left-column li::before {
    color: #ff6900;
    content: "\2022";
    font-size: 22px;
    line-height: 16px;
    padding-right: 0.25em;
    position: relative;
    top: 0.1em; }
  #homepageThreeAssetGroup .left-column a.button {
    margin-bottom: 75px; }

#homepageThreeAssetGroup .left-column-image-wrapper {
  background: #f2f2f2;
  padding: 0;
  position: relative; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .left-column-image-wrapper {
      -ms-flex-item-align: end;
          align-self: flex-end; } }
  #homepageThreeAssetGroup .left-column-image-wrapper img {
    width: 100%; }
  #homepageThreeAssetGroup .left-column-image-wrapper a.button {
    left: 0;
    position: absolute;
    top: 0; }

#homepageThreeAssetGroup .right-column-first {
  background-position: bottom left;
  background-size: cover;
  padding: 85px 32px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .right-column-first {
      padding: 100px 32px 90px; } }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .right-column-first {
      padding: 85px 80px; } }
  #homepageThreeAssetGroup .right-column-first img.right-column-first-icons {
    margin-bottom: 25px;
    max-width: 216px; }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-first img.right-column-first-icons {
        max-width: 225px; } }
  #homepageThreeAssetGroup .right-column-first h2 {
    color: #fff;
    font-size: 2rem;
    margin-bottom: 15px; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .right-column-first h2 {
        font-size: 2.625rem; } }
  #homepageThreeAssetGroup .right-column-first p {
    color: #fff;
    margin-bottom: 25px; }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-first p {
        max-width: 460px; } }
  #homepageThreeAssetGroup .right-column-first .button {
    margin: 0; }

#homepageThreeAssetGroup .right-column-second {
  background: #ff6900; }
  @media screen and (min-width: 64em) {
    #homepageThreeAssetGroup .right-column-second {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; } }

#homepageThreeAssetGroup .right-column-second-a {
  padding: 40px 32px 15px;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .right-column-second-a {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      -ms-flex: 1;
          flex: 1;
      padding: 60px 10px 40px 70px;
      text-align: left;
      width: 50%; } }
  #homepageThreeAssetGroup .right-column-second-a img {
    max-width: 190px; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .right-column-second-a img {
        max-width: 80%; } }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-second-a img {
        max-width: 90%; } }

#homepageThreeAssetGroup .right-column-second-b {
  padding: 0 32px 45px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #homepageThreeAssetGroup .right-column-second-b {
      -webkit-box-flex: 1;
          -ms-flex: 1 0 auto;
              flex: 1 0 auto;
      -ms-flex: 1;
          flex: 1;
      padding: 75px 45px 45px 0;
      width: 50%; } }
  #homepageThreeAssetGroup .right-column-second-b h2 {
    color: #fff;
    font-size: 26px;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      #homepageThreeAssetGroup .right-column-second-b h2 {
        font-size: 34px; } }
    @media screen and (min-width: 64em) {
      #homepageThreeAssetGroup .right-column-second-b h2 {
        font-size: 36px; } }

.row.collapse-row {
  margin-left: auto !important;
  margin-right: auto !important; }

.vertical-align {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important; }

.horizontal-align {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.info-tile-wrapper-spacearound {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (max-width: 63.9375em) {
    .info-tile-wrapper-spacearound {
      height: auto; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .info-tile-wrapper-spacearound {
      min-height: auto !important;
      padding-bottom: 60px;
      padding-top: 60px; } }
  @media screen and (max-width: 47.9375em) {
    .info-tile-wrapper-spacearound {
      min-height: auto !important;
      padding-bottom: 45px;
      padding-top: 60px; } }

.info-tile-wrapper {
  width: 100%; }
  .info-tile-wrapper.hovered {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  @media screen and (max-width: 47.9375em) {
    .info-tile-wrapper > div {
      margin-bottom: 15px; } }

.hompage-info-tile {
  border: 10px solid #f2f2f2;
  height: 100%;
  padding: 15px 38px 15px 14px;
  position: relative;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .hompage-info-tile {
      padding: 8px 20px 15px; }
      .hompage-info-tile a {
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  @media screen and (min-width: 64em) {
    .hompage-info-tile {
      padding-left: 40px;
      padding-right: 40px; } }
  .hompage-info-tile p {
    color: #808285;
    display: none; }
    @media screen and (min-width: 48em) {
      .hompage-info-tile p {
        display: block;
        width: 100%; } }
  .hompage-info-tile a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #000; }
    @media screen and (min-width: 48em) {
      .hompage-info-tile a {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  .hompage-info-tile i {
    color: #ff6900;
    display: block;
    font-size: 60px; }
    @media screen and (max-width: 47.9375em) {
      .hompage-info-tile i {
        font-size: 50px;
        line-height: 50px; } }
    .hompage-info-tile i::before {
      margin: 0;
      padding: 0; }
  .hompage-info-tile h4 {
    display: block;
    font-size: 16px;
    margin-left: 20px;
    text-align: left;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      .hompage-info-tile h4 {
        margin-bottom: 0; } }
    @media screen and (min-width: 48em) {
      .hompage-info-tile h4 {
        font-size: 22px;
        margin-left: 0;
        text-align: center; } }
  .hompage-info-tile.showbutton .button {
    display: block; }
  .hompage-info-tile .button {
    margin-bottom: 0; }
    @media screen and (min-width: 48em) {
      .hompage-info-tile .button {
        margin-bottom: 10px; } }
    @media screen and (min-width: 64em) {
      .hompage-info-tile .button {
        display: none; } }
  .hompage-info-tile .mobile-info-tile-CTA {
    font-size: 42px;
    position: absolute;
    right: 0; }

#headlinesWrapper {
  background-color: #262626;
  background-position: right bottom;
  background-repeat: no-repeat;
  background-size: 178px auto;
  padding: 4.25rem 0; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    #headlinesWrapper {
      background-size: 241px auto; } }
  @media screen and (min-width: 64em) {
    #headlinesWrapper {
      background-size: 316px auto;
      padding: 100px 0; } }
  #headlinesWrapper .title-wrapper {
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      #headlinesWrapper .title-wrapper {
        margin-bottom: 10px; } }
  #headlinesWrapper .cta-wrapper {
    margin-top: 30px; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      #headlinesWrapper .cta-wrapper {
        margin-top: 15px; } }
    #headlinesWrapper .cta-wrapper .button {
      margin: 0; }
  #headlinesWrapper h2.section-title {
    color: #fff;
    font-size: 26px; }
    @media screen and (min-width: 48em) {
      #headlinesWrapper h2.section-title {
        font-size: 36px; } }
  #headlinesWrapper p.section-subtitle {
    color: #808285;
    font-size: 14px; }
    @media screen and (min-width: 48em) {
      #headlinesWrapper p.section-subtitle {
        font-size: 16px; } }

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

.reveal.revealnine {
  border: 0;
  max-width: 900px;
  padding: 0;
  width: 100%; }

.bordered-top {
  border-top: 1px solid #f2f2f2; }

.reveal-overlay {
  overflow-y: hidden; }
  .reveal-overlay.scroll-overlay {
    overflow-y: scroll; }
    @media screen and (min-width: 48em) {
      .reveal-overlay.scroll-overlay {
        overflow-y: hidden; } }

.error-page-container {
  color: #fff; }
  .error-page-container .fullbleed, .error-page-container .footer-wrapper {
    background-size: cover; }
  .error-page-container .row {
    padding-bottom: 3.75rem;
    padding-top: 4.25rem; }
    @media screen and (min-width: 64em) {
      .error-page-container .row {
        padding-bottom: 12.5rem;
        padding-top: 12.875rem; } }
  .error-page-container h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 44px;
    line-height: 1.0435em;
    margin-bottom: 1.4375rem;
    text-transform: uppercase; }
    @media screen and (min-width: 64em) {
      .error-page-container h2 {
        font-size: 4.0625rem;
        margin-bottom: 0.8125rem; } }
  .error-page-container p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    line-height: 1.3em;
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 64em) {
      .error-page-container p {
        font-size: 18px; } }
  .error-page-container .button {
    color: inherit;
    margin: 0 0 0.9375rem;
    padding: 10px 28px; }
    @media screen and (min-width: 48em) {
      .error-page-container .button {
        margin: 0 0.9375rem 0 0; } }
    .error-page-container .button:hover {
      color: inherit; }

.browser-error {
  color: #ec5840;
  margin-bottom: -1.25rem;
  padding-top: 2rem; }

.privacypolicy-wrapper {
  padding: 50px 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .privacypolicy-wrapper {
      padding-bottom: 2.5rem; } }
  .privacypolicy-wrapper .privacypolicy-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 21px;
    margin-bottom: 35px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .privacypolicy-wrapper .privacypolicy-title {
        font-size: 26px; } }
  .privacypolicy-wrapper h4 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1em;
    margin-bottom: 15px;
    text-transform: uppercase; }
  .privacypolicy-wrapper p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin-bottom: 25px; }
  .privacypolicy-wrapper ul {
    list-style-type: disc;
    margin-bottom: 25px; }
    .privacypolicy-wrapper ul li {
      color: #ff6900; }
      .privacypolicy-wrapper ul li span {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 400;
        color: #000;
        font-size: 0.875rem; }

.modal p,
.modal .button {
  margin: 0; }

.modal p {
  font-family: "gotham", Arial;
  font-size: 0.875rem;
  line-height: 24px; }
  @media screen and (min-width: 48em) {
    .modal p {
      font-size: 1.125rem;
      line-height: 29px; } }

.modal .title {
  background-color: #ff6900;
  color: #fff;
  -webkit-box-flex: 1;
      -ms-flex-positive: 1;
          flex-grow: 1;
  font-size: 1.125rem;
  margin: 0;
  padding: 20px 0 20px 20px; }
  @media screen and (min-width: 48em) {
    .modal .title {
      font-size: 1.3125rem;
      padding: 22px 0 22px 30px; } }

.modal .modal-header {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.modal.reveal {
  border: 0;
  padding: 0; }

.modal .close-button {
  background-color: #ff6900;
  color: #fff;
  padding-right: 18px;
  position: unset; }
  @media screen and (min-width: 48em) {
    .modal .close-button {
      padding-right: 27px; } }

.gdpr-info-bar {
  background: rgba(0, 0, 0, 0.9);
  bottom: 0;
  color: #fff;
  left: 0;
  min-height: 50px;
  padding: 10px 0;
  position: fixed;
  right: 0;
  z-index: 10; }
  .gdpr-info-bar p {
    font-size: 0.875rem;
    line-height: 35px;
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .gdpr-info-bar p {
        line-height: 1.4; } }
  .gdpr-info-bar .button {
    margin: 0 0 0 10px;
    padding: 10px 15px; }
    @media screen and (max-width: 47.9375em) {
      .gdpr-info-bar .button {
        margin: 0; } }
  .gdpr-info-bar .gdpr-info-flex {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  @media print {
    .gdpr-info-bar {
      display: none; } }

.order-summary-products-title {
  display: none; }

.icon-calendar-icon,
.icon-print {
  margin-right: 0.5em; }

#province-modal-message {
  line-height: 20px;
  max-height: 65vh;
  padding: 30px;
  width: 750px; }
  @media screen and (max-width: 47.9375em) {
    #province-modal-message {
      display: grid;
      margin: 5%;
      min-height: 75vh;
      overflow-y: scroll;
      position: absolute;
      width: 90%; } }
  #province-modal-message * {
    font-family: "Gotham A", "Gotham B", Arial; }
  #province-modal-message .province-modal-content {
    padding-right: 10px; }
  #province-modal-message .message-close-button {
    font-size: 32px;
    line-height: 1;
    position: absolute;
    right: 1rem;
    top: 0.5rem; }
  #province-modal-message .title-section {
    padding-bottom: 30px; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message .title-section {
        padding: 0; } }
  #province-modal-message .content-section {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message .content-section {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
  #province-modal-message h4 {
    line-height: 20px; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message h4 {
        font-size: 17px; } }
  #province-modal-message img {
    margin-right: 30px; }
    @media screen and (max-width: 47.9375em) {
      #province-modal-message img {
        margin: 30px 0; } }
  #province-modal-message p {
    font-size: 16px;
    line-height: 20px; }

#province-selection-modal {
  margin: 0 auto;
  max-height: 80vh;
  max-width: 700px;
  min-height: auto;
  padding: 1rem;
  -webkit-transform: translateY(5%);
      -ms-transform: translateY(5%);
          transform: translateY(5%);
  width: 90%; }
  @media screen and (min-width: 48em) {
    #province-selection-modal {
      margin: auto;
      max-height: none;
      min-height: auto; } }
  #province-selection-modal .heading {
    font-size: 1rem; }
  #province-selection-modal .province-options {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin: 5px 0;
    padding: 16px 0; }
    @media screen and (min-width: 48em) {
      #province-selection-modal .province-options {
        display: grid;
        gap: 1rem;
        grid-template-columns: 1fr 1fr; } }
    #province-selection-modal .province-options .province-option {
      background-color: #f8f8f8;
      margin: 5px auto;
      width: 100%; }
      @media screen and (min-width: 48em) {
        #province-selection-modal .province-options .province-option {
          margin: 0;
          width: 320px; } }
      #province-selection-modal .province-options .province-option .province-label {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        cursor: pointer;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: 50px;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        padding: 1rem; }
        #province-selection-modal .province-options .province-option .province-label .province-name {
          width: 80%; }
        #province-selection-modal .province-options .province-option .province-label span {
          line-height: 1.2;
          text-transform: uppercase; }
        #province-selection-modal .province-options .province-option .province-label input {
          display: none; }
        #province-selection-modal .province-options .province-option .province-label .custom-radio-icon {
          border: #202020 1px solid;
          border-radius: 50%;
          display: inline-block;
          height: 20px;
          position: relative;
          width: 20px; }
        #province-selection-modal .province-options .province-option .province-label .custom-radio-icon i {
          color: #fff;
          font-size: 0.875rem;
          left: 50%;
          opacity: 0;
          position: absolute;
          top: 50%;
          -webkit-transform: translate(-50%, -50%);
              -ms-transform: translate(-50%, -50%);
                  transform: translate(-50%, -50%); }
        #province-selection-modal .province-options .province-option .province-label input[type="radio"]:checked + .custom-radio-icon {
          background-color: #ff6900;
          border: #ff6900 1px solid; }
        #province-selection-modal .province-options .province-option .province-label input[type="radio"]:checked + .custom-radio-icon i {
          opacity: 1; }
        #province-selection-modal .province-options .province-option .province-label.active {
          border-left: 10px solid #ff6900;
          padding-left: 6px; }
      #province-selection-modal .province-options .province-option label,
      #province-selection-modal .province-options .province-option input {
        margin: 0;
        padding: 0; }
  #province-selection-modal .modal-footer {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    #province-selection-modal .modal-footer .language-selector {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      width: 100%; }
      #province-selection-modal .modal-footer .language-selector a {
        color: #333;
        font-size: 0.875rem;
        font-weight: 325;
        padding: 2px; }
        #province-selection-modal .modal-footer .language-selector a.active {
          font-weight: 400;
          text-decoration: underline; }
  #province-selection-modal .province-selection-modal-error {
    color: #f00;
    font-size: 0.875rem;
    margin: 0; }

@media screen and (max-width: 47.9375em) {
  .pt_psresults .header-main-nav::after {
    background-color: #ccc; } }

@media screen and (min-width: 48em) {
  .pt_psresults .sel-info-wrapper .small-12.columns.psresults-title-border {
    padding: 0; } }

span.questionmarkcircle {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 2px solid #ff6900 !important;
  border-radius: 50%;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.75rem;
  font-weight: bold;
  height: 22px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-right: 5px;
  width: 22px; }
  span.questionmarkcircle.questionmark-white {
    border-color: #fff !important; }

#GSPNoResults {
  display: none; }

#psmodal,
#wheel-type-modal {
  max-width: 700px;
  padding: 0;
  width: 100%; }
  #psmodal .close-button,
  #wheel-type-modal .close-button {
    color: #ff6900;
    top: 15px;
    z-index: 99; }
  #psmodal .productSelector[data-selectortype="wheel_size"] .add-rear-size-cta,
  #psmodal .productSelector[data-selectortype="tire_size"] .add-rear-size-cta,
  #wheel-type-modal .productSelector[data-selectortype="wheel_size"] .add-rear-size-cta,
  #wheel-type-modal .productSelector[data-selectortype="tire_size"] .add-rear-size-cta {
    display: block !important; }
  #psmodal .productSelector .vehicleSelectorFindTire,
  #wheel-type-modal .productSelector .vehicleSelectorFindTire {
    display: none; }
    #psmodal .productSelector .vehicleSelectorFindTire.trailer-tire-hint,
    #wheel-type-modal .productSelector .vehicleSelectorFindTire.trailer-tire-hint {
      display: block; }
  #psmodal .productSelector .step.current .vehicleSelectorFindTire,
  #wheel-type-modal .productSelector .step.current .vehicleSelectorFindTire {
    display: block; }
    #psmodal .productSelector .step.current .vehicleSelectorFindTire.trailer-tire-hint,
    #wheel-type-modal .productSelector .step.current .vehicleSelectorFindTire.trailer-tire-hint {
      display: block; }
  @media screen and (max-width: 47.9375em) {
    #psmodal .productSelector[data-selectortype="tire_vehicle"], #psmodal .productSelector[data-selectortype="wheel_vehicle"],
    #wheel-type-modal .productSelector[data-selectortype="tire_vehicle"],
    #wheel-type-modal .productSelector[data-selectortype="wheel_vehicle"] {
      margin-top: 30px; } }
  #psmodal .selector,
  #wheel-type-modal .selector {
    overflow: hidden; }
    @media screen and (max-width: 47.9375em) {
      #psmodal .selector[data-selectortype="wheel_size"] .add-rear-size-cta,
      #psmodal .selector[data-selectortype="tire_size"] .add-rear-size-cta,
      #wheel-type-modal .selector[data-selectortype="wheel_size"] .add-rear-size-cta,
      #wheel-type-modal .selector[data-selectortype="tire_size"] .add-rear-size-cta {
        display: block !important; } }

.modal-content #productSelectorSlotWrapper {
  padding: 0; }
  .modal-content #productSelectorSlotWrapper .selector_options {
    margin-top: 0; }

.modal-content #productSelectorContent {
  max-width: 100%; }
  .modal-content #productSelectorContent .selector {
    padding: 30px; }
  .modal-content #productSelectorContent .selector_steps {
    margin-bottom: 10px; }

.findTireSizeModalHeader {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 72px;
  min-height: 72px;
  padding: 0 60px 0 25px;
  position: relative; }
  .findTireSizeModalHeader .close-button {
    bottom: 0;
    color: #fff;
    margin: auto;
    position: absolute;
    right: 25px;
    top: 0; }
  .findTireSizeModalHeader h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    font-size: 1.3125rem;
    margin: 0;
    text-transform: uppercase; }
    .findTireSizeModalHeader h2 span.questionmarkcircle {
      border: 3px solid #fff !important;
      font-size: 1.25rem;
      height: 32px;
      margin-right: 10px;
      min-width: 32px;
      width: 32px; }

.findTireSizeModalContent {
  padding: 30px; }
  .findTireSizeModalContent p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem; }
    .findTireSizeModalContent p strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }

@media screen and (max-width: 63.9375em) {
  .pt_storefront .header-main-nav,
  .pt_storefront .info-tile-wrapper,
  .pt_storefront .info-tile-wrapper-spacearound,
  .pt_storefront .footer-wrapper {
    background: #fff; } }

#productSelectorSlotWrapper,
#newSearchModal {
  padding: 35px 0;
  position: relative; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper.expanded #PSOverlay,
    #newSearchModal.expanded #PSOverlay {
      background: rgba(0, 0, 0, 0.5); }
    #productSelectorSlotWrapper.expanded .main-selector-tabs,
    #newSearchModal.expanded .main-selector-tabs {
      display: block; }
      #productSelectorSlotWrapper.expanded .main-selector-tabs::before, #productSelectorSlotWrapper.expanded .main-selector-tabs::after,
      #newSearchModal.expanded .main-selector-tabs::before,
      #newSearchModal.expanded .main-selector-tabs::after {
        content: ' ';
        display: table; }
      #productSelectorSlotWrapper.expanded .main-selector-tabs::after,
      #newSearchModal.expanded .main-selector-tabs::after {
        clear: both; }
      #productSelectorSlotWrapper.expanded .main-selector-tabs .main-selector-tab,
      #newSearchModal.expanded .main-selector-tabs .main-selector-tab {
        margin: 0;
        min-width: 200px;
        padding: 0 40px; }
    #productSelectorSlotWrapper.expanded .ps-right,
    #newSearchModal.expanded .ps-right {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
      #productSelectorSlotWrapper.expanded .ps-right #productSelectorContent,
      #newSearchModal.expanded .ps-right #productSelectorContent {
        max-width: 600px; }
    #productSelectorSlotWrapper.expanded .selector.active,
    #newSearchModal.expanded .selector.active {
      min-height: 316px; } }
  @media screen and (min-width: 64em) {
    #productSelectorSlotWrapper,
    #newSearchModal {
      background-size: cover;
      padding: 180px 0; }
      #productSelectorSlotWrapper.expanded .ps-left,
      #newSearchModal.expanded .ps-left {
        left: -50%;
        margin-left: -100%;
        opacity: 0; }
      #productSelectorSlotWrapper.expanded .ps-right,
      #newSearchModal.expanded .ps-right {
        left: 50%;
        width: 100%; }
        #productSelectorSlotWrapper.expanded .ps-right #productSelectorContent,
        #newSearchModal.expanded .ps-right #productSelectorContent {
          max-width: 750px; } }
  #productSelectorSlotWrapper .product-wrapper-background,
  #newSearchModal .product-wrapper-background {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover;
    top: 0; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper .product-wrapper-background,
      #newSearchModal .product-wrapper-background {
        height: 100%;
        position: absolute;
        width: 100%; } }
    @media screen and (max-width: 63.9375em) {
      #productSelectorSlotWrapper .product-wrapper-background,
      #newSearchModal .product-wrapper-background {
        height: 100vh;
        left: 0;
        position: fixed;
        width: 100vw;
        z-index: -1; } }
  #productSelectorSlotWrapper .insideSelector > a::after,
  #newSearchModal .insideSelector > a::after {
    content: "\f00d";
    font-family: fontawesome; }
  #productSelectorSlotWrapper .main-selector-tab,
  #newSearchModal .main-selector-tab {
    cursor: pointer; }
    #productSelectorSlotWrapper .main-selector-tab.active,
    #newSearchModal .main-selector-tab.active {
      cursor: default; }
      #productSelectorSlotWrapper .main-selector-tab.active a,
      #newSearchModal .main-selector-tab.active a {
        cursor: default; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper.expanded .main-selector-tabs,
    #newSearchModal.expanded .main-selector-tabs {
      display: none !important; } }
  #productSelectorSlotWrapper.no-tabs,
  #newSearchModal.no-tabs {
    padding: 60px 0; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper.no-tabs,
      #newSearchModal.no-tabs {
        padding: 70px 0; } }
    @media screen and (min-width: 64em) {
      #productSelectorSlotWrapper.no-tabs,
      #newSearchModal.no-tabs {
        padding: 90px 0; } }
    #productSelectorSlotWrapper.no-tabs .main-selector-tabs,
    #newSearchModal.no-tabs .main-selector-tabs {
      display: block; }
      @media screen and (min-width: 48em) {
        #productSelectorSlotWrapper.no-tabs .main-selector-tabs,
        #newSearchModal.no-tabs .main-selector-tabs {
          display: none; } }
    #productSelectorSlotWrapper.no-tabs .is-accordion-submenu-parent > a,
    #newSearchModal.no-tabs .is-accordion-submenu-parent > a {
      display: none; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper.no-tabs.expanded .main-selector-tabs,
      #newSearchModal.no-tabs.expanded .main-selector-tabs {
        display: none; } }
  #productSelectorSlotWrapper .add-rear-size,
  #productSelectorSlotWrapper .findTireSizeModalTrigger,
  #productSelectorSlotWrapper .looking-for-other,
  #newSearchModal .add-rear-size,
  #newSearchModal .findTireSizeModalTrigger,
  #newSearchModal .looking-for-other {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ff6900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 0.8125rem;
    margin-top: 20px;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper .add-rear-size,
      #productSelectorSlotWrapper .findTireSizeModalTrigger,
      #productSelectorSlotWrapper .looking-for-other,
      #newSearchModal .add-rear-size,
      #newSearchModal .findTireSizeModalTrigger,
      #newSearchModal .looking-for-other {
        bottom: -22px;
        left: 0;
        margin: 0;
        position: absolute; } }
  #productSelectorSlotWrapper .looking-for-other,
  #newSearchModal .looking-for-other {
    display: block;
    font-size: 1rem;
    position: initial; }
  #productSelectorSlotWrapper .add-rear-size,
  #newSearchModal .add-rear-size {
    left: auto;
    right: 0; }
    #productSelectorSlotWrapper .add-rear-size a,
    #newSearchModal .add-rear-size a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #ff6900;
      font-size: 0.8125rem; }
      #productSelectorSlotWrapper .add-rear-size a::after,
      #newSearchModal .add-rear-size a::after {
        content: "\f105";
        font-family: "fontello";
        padding-left: 5px; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper .rootlevelps,
    #newSearchModal .rootlevelps {
      display: block !important; } }
  #productSelectorSlotWrapper .orbit-container,
  #newSearchModal .orbit-container {
    height: auto !important;
    outline: none; }
    #productSelectorSlotWrapper .orbit-container .orbit-slide,
    #newSearchModal .orbit-container .orbit-slide {
      height: 100% !important;
      max-height: 100% !important; }
      @media screen and (max-width: 47.9375em) {
        #productSelectorSlotWrapper .orbit-container .orbit-slide,
        #newSearchModal .orbit-container .orbit-slide {
          display: block !important; } }
      #productSelectorSlotWrapper .orbit-container .orbit-slide.is-active,
      #newSearchModal .orbit-container .orbit-slide.is-active {
        display: block !important; }
  @media screen and (min-width: 48em) {
    #productSelectorSlotWrapper .pagedirect,
    #newSearchModal .pagedirect {
      color: #808285;
      display: inline-block; }
      #productSelectorSlotWrapper .pagedirect i.icon-angle-left::before,
      #newSearchModal .pagedirect i.icon-angle-left::before {
        margin-left: 0;
        padding-right: 6px;
        width: auto; } }
  #productSelectorSlotWrapper .selector_options,
  #newSearchModal .selector_options {
    overflow: hidden; }
    #productSelectorSlotWrapper .selector_options::before, #productSelectorSlotWrapper .selector_options::after,
    #newSearchModal .selector_options::before,
    #newSearchModal .selector_options::after {
      content: ' ';
      display: table; }
    #productSelectorSlotWrapper .selector_options::after,
    #newSearchModal .selector_options::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      #productSelectorSlotWrapper .selector_options,
      #newSearchModal .selector_options {
        margin-top: 15px; } }
    #productSelectorSlotWrapper .selector_options .paginated_results,
    #newSearchModal .selector_options .paginated_results {
      display: none;
      position: relative; }
      #productSelectorSlotWrapper .selector_options .paginated_results::before, #productSelectorSlotWrapper .selector_options .paginated_results::after,
      #newSearchModal .selector_options .paginated_results::before,
      #newSearchModal .selector_options .paginated_results::after {
        content: ' ';
        display: table; }
      #productSelectorSlotWrapper .selector_options .paginated_results::after,
      #newSearchModal .selector_options .paginated_results::after {
        clear: both; }
      @media screen and (min-width: 48em) {
        #productSelectorSlotWrapper .selector_options .paginated_results,
        #newSearchModal .selector_options .paginated_results {
          display: block; } }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-1 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-1 .resultsCol {
        width: 100%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-2 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-2 .resultsCol {
        width: 50%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-3 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-3 .resultsCol {
        width: 33.3%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-4 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-4 .resultsCol {
        width: 25%; }
      #productSelectorSlotWrapper .selector_options .paginated_results.columns-5 .resultsCol,
      #newSearchModal .selector_options .paginated_results.columns-5 .resultsCol {
        width: 20%; }
      #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol,
      #newSearchModal .selector_options .paginated_results .resultsCol {
        border-right: 1px solid #f2f2f2;
        float: left;
        list-style-type: none;
        margin: 0;
        padding: 0 6px; }
        #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol:last-child,
        #newSearchModal .selector_options .paginated_results .resultsCol:last-child {
          border: 0; }
        #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol a,
        #newSearchModal .selector_options .paginated_results .resultsCol a {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500;
          display: block;
          font-size: 0.8125rem;
          padding: 2px 6px; }
          #productSelectorSlotWrapper .selector_options .paginated_results .resultsCol a:hover,
          #newSearchModal .selector_options .paginated_results .resultsCol a:hover {
            background: #f2f2f2;
            color: #ff6900; }
  #productSelectorSlotWrapper > .row,
  #newSearchModal > .row {
    position: relative;
    z-index: 2; }

.wheeltype-selector-container h3 {
  color: #000;
  font-size: 1.0625rem;
  line-height: 1.0625rem;
  margin: 0;
  padding-bottom: 15px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .wheeltype-selector-container h3 {
      font-size: 1.25rem;
      line-height: 1.25rem;
      padding: 5px 0 0;
      text-align: left; } }

.wheeltype-selector-container .wheeltype-options {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .wheeltype-selector-container .wheeltype-options {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .wheeltype-selector-container .wheeltype-options .wheeltype-option {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #f2f2f2;
    border-left: 10px solid transparent;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 25px 20px 20px 0;
    min-height: 182px;
    padding: 8px 10px 8px 0;
    position: relative; }
    @media screen and (min-width: 48em) {
      .wheeltype-selector-container .wheeltype-options .wheeltype-option {
        -webkit-box-flex: 1;
            -ms-flex: 1 1 50%;
                flex: 1 1 50%;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option:last-child {
      margin: 25px 0 20px; }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option:hover {
      border-left: 10px solid #ff6900; }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option img {
      max-width: 160px;
      padding: 15px; }
      @media screen and (min-width: 48em) {
        .wheeltype-selector-container .wheeltype-options .wheeltype-option img {
          max-width: 100%;
          min-width: 50%;
          padding: 0 30px 0 10px; } }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option h3 {
      font-size: 1.0625rem;
      line-height: 1.0625rem;
      padding-bottom: 5px;
      text-align: left; }
      @media screen and (min-width: 48em) {
        .wheeltype-selector-container .wheeltype-options .wheeltype-option h3 {
          font-size: 1rem;
          font-size: 1.0625rem;
          margin-top: 10px;
          padding: 0; } }
    .wheeltype-selector-container .wheeltype-options .wheeltype-option p {
      font-size: 1rem;
      line-height: 1.125rem;
      margin: 0;
      padding: 6px 6px 15px 0;
      text-align: left; }
      @media screen and (min-width: 48em) {
        .wheeltype-selector-container .wheeltype-options .wheeltype-option p {
          font-size: 0.875rem;
          line-height: 1rem;
          margin: 3px 0 0; } }

.wheelsForWinterConditionsModalTrigger {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: inherit;
  -webkit-box-direction: inherit;
      -ms-flex-direction: inherit;
          flex-direction: inherit;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 0.8125rem;
  margin-top: 20px;
  text-transform: none; }
  @media screen and (min-width: 48em) {
    .wheelsForWinterConditionsModalTrigger {
      bottom: -22px;
      left: 0;
      margin: 0;
      position: absolute; } }

#PSOverlay {
  background: rgba(0, 0, 0, 0);
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  width: 100%;
  z-index: 1; }
  #PSOverlay.visible {
    background: rgba(0, 0, 0, 0.5); }

.trailer-banner-selector #PSOverlay {
  z-index: 0; }

h2.mobile-modal-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #000;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 22px;
  height: 64px;
  margin: 0;
  padding: 0 20px;
  text-transform: uppercase; }

#psMobileModal,
#psMobile {
  background: #fff;
  margin: 0; }
  #psMobileModal > li > a,
  #psMobile > li > a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    color: #ff6900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 21px;
    height: 64px;
    padding: 0 20px; }
    @media screen and (min-width: 48em) {
      #psMobileModal > li > a,
      #psMobile > li > a {
        display: none; } }
  #psMobileModal > li,
  #psMobile > li {
    border-top: 1px solid #f2f2f2; }
    @media screen and (min-width: 48em) {
      #psMobileModal > li,
      #psMobile > li {
        border: 0; } }
    #psMobileModal > li:first-child,
    #psMobile > li:first-child {
      border: 0; }
    #psMobileModal > li a,
    #psMobile > li a {
      color: #000;
      font-size: 22px; }
      #psMobileModal > li a.wheelsForWinterConditionsModalTrigger,
      #psMobile > li a.wheelsForWinterConditionsModalTrigger {
        color: #ff6900;
        font-size: 0.8125rem; }
  #psMobileModal .menu.nested,
  #psMobile .menu.nested {
    margin: 0; }

#productSelectorWrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (min-width: 64em) {
    #productSelectorWrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row; } }
  #productSelectorWrapper .ps-left {
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    margin: 0 auto 35px;
    margin-bottom: 35px;
    max-width: 600px;
    position: relative;
    text-align: center;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorWrapper .ps-left {
        margin: 0 auto 45px; } }
    @media screen and (min-width: 64em) {
      #productSelectorWrapper .ps-left {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: left;
            -ms-flex-pack: left;
                justify-content: left;
        margin: 0;
        max-width: 100%;
        padding-right: 50px;
        text-align: left;
        width: 50%; } }
    #productSelectorWrapper .ps-left h2 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 2.875rem;
      line-height: 1.2em;
      text-transform: uppercase; }
      @media screen and (min-width: 64em) {
        #productSelectorWrapper .ps-left h2 {
          font-size: 4.1875rem; } }
    #productSelectorWrapper .ps-left p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 1.125rem;
      line-height: 1.2em;
      margin: 10px 0 0; }
      @media screen and (min-width: 48em) {
        #productSelectorWrapper .ps-left p {
          font-size: 1rem; } }
      @media screen and (min-width: 64em) {
        #productSelectorWrapper .ps-left p {
          font-size: 1.125rem; } }
  #productSelectorWrapper .ps-right {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    left: 0;
    position: relative;
    -webkit-transition: all 0.5s ease-in-out;
    transition: all 0.5s ease-in-out; }
    @media screen and (min-width: 64em) {
      #productSelectorWrapper .ps-right {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end;
        width: 50%; } }

#productSelectorContent {
  max-width: 100%;
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #productSelectorContent {
      margin: 0;
      max-width: 100%; } }
  @media screen and (min-width: 64em) {
    #productSelectorContent {
      margin: 0;
      max-width: 610px; } }
  #productSelectorContent.inpage .vehicleSelectorFindTire {
    display: none; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.inpage .vehicleSelectorFindTire {
        display: none; }
        #productSelectorContent.inpage .vehicleSelectorFindTire.trailer-tire-hint {
          display: block; } }
    #productSelectorContent.inpage .vehicleSelectorFindTire.trailer-tire-hint {
      display: block; }
  #productSelectorContent .main-selector-tabs {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%; }
  #productSelectorContent .selector {
    background: #fff;
    padding: 15px;
    position: relative;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector {
        display: none;
        padding: 30px; } }
    #productSelectorContent .selector.active {
      background: #fff;
      display: block; }
  #productSelectorContent .selector-tab {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #f2f2f2;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin-top: 15px;
    padding: 15px;
    position: relative; }
    #productSelectorContent .selector-tab div:not(.selector-description),
    #productSelectorContent .selector-tab button {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    #productSelectorContent .selector-tab:first-child {
      margin-top: 0; }
    #productSelectorContent .selector-tab:hover::before {
      border-left: 10px solid #ff6900;
      bottom: 0;
      content: "";
      display: block;
      height: 100%;
      left: 0;
      position: absolute;
      top: 0; }
  #productSelectorContent .selector-image {
    display: none;
    float: left;
    margin-right: 15px;
    max-width: 110px;
    overflow: hidden;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector-image {
        display: block;
        float: left;
        max-width: 220px;
        min-width: 120px;
        overflow: hidden;
        width: 100%; }
        #productSelectorContent .selector-image img {
          width: 100%; } }
  #productSelectorContent .selector-description {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    float: left;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector-description {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        width: 56%; } }
    #productSelectorContent .selector-description h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #000;
      font-size: 17px;
      line-height: 17px;
      max-width: 100%;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .selector-description h3 {
          font-size: 20px; } }
    #productSelectorContent .selector-description p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 15px;
      line-height: 18px;
      margin: 0;
      max-width: 100%;
      padding: 0; }
  #productSelectorContent .main-selector-tab {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: rgba(0, 0, 0, 0.5);
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    float: left;
    font-size: 1.1875rem;
    height: 44px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin-left: 2px;
    padding: 0 20px; }
    #productSelectorContent .main-selector-tab:first-child {
      bottom: 0;
      margin: 0; }
    #productSelectorContent .main-selector-tab.active {
      background: #fff;
      height: 48px; }
      #productSelectorContent .main-selector-tab.active button {
        color: #000; }
    #productSelectorContent .main-selector-tab button {
      color: #fff;
      text-transform: uppercase; }
  #productSelectorContent .selector-tabs {
    width: 100%; }
  #productSelectorContent .looking-for-other-tires {
    padding-bottom: 15px;
    padding-top: 30px; }
    #productSelectorContent .looking-for-other-tires.trailer-page-redirect {
      bottom: -22px;
      left: auto;
      padding-bottom: 0;
      padding-top: 0;
      right: 0; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .looking-for-other-tires.trailer-page-redirect {
          position: absolute; } }
      #productSelectorContent .looking-for-other-tires.trailer-page-redirect .looking-for-other {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        font-size: 0.8125rem; }
  #productSelectorContent .productSelector {
    display: none;
    position: relative; }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent .productSelector.staggered-active[data-frontrear="front"] .add-rear-size-cta {
        display: none !important; }
      #productSelectorContent .productSelector.staggered-active[data-frontrear="rear"] .add-rear-size-cta {
        display: block !important; } }
    @media screen and (min-width: 48em) {
      #productSelectorContent .productSelector {
        min-height: 220px; }
        #productSelectorContent .productSelector[data-categoryid="tires"] {
          padding-bottom: 15px; }
          #productSelectorContent .productSelector[data-categoryid="tires"] .add-rear-size,
          #productSelectorContent .productSelector[data-categoryid="tires"] .findTireSizeModalTrigger {
            bottom: -15px; } }
    #productSelectorContent .productSelector[data-selectortype="wheel_size"] .findTireSizeModalTrigger {
      display: none; }
    #productSelectorContent .productSelector.active {
      display: block; }
    #productSelectorContent .productSelector .front-rear-mobile {
      display: none; }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent .productSelector.staggered-active {
        display: block !important; }
        #productSelectorContent .productSelector.staggered-active .front-rear-mobile {
          display: block; } }
  #productSelectorContent .selector_close {
    color: #ff6900;
    cursor: pointer;
    display: none;
    font-size: 18px;
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_close {
        display: block;
        line-height: 25px; } }
  #productSelectorContent .front-rear {
    display: none; }
    #productSelectorContent .front-rear::before, #productSelectorContent .front-rear::after {
      content: ' ';
      display: table; }
    #productSelectorContent .front-rear::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .front-rear {
        position: absolute;
        top: 12px; }
        #productSelectorContent .front-rear a {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500;
          color: #999;
          font-size: 13px; }
        #productSelectorContent .front-rear > div {
          border-left: 1px solid #ccc;
          float: left;
          line-height: 1em; }
          #productSelectorContent .front-rear > div a {
            padding: 0 10px; }
          #productSelectorContent .front-rear > div:first-child {
            border: 0; }
            #productSelectorContent .front-rear > div:first-child a {
              padding-left: 0; } }
    #productSelectorContent .front-rear a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 14px; }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent .front-rear.staggered-active {
        display: none !important; } }
    #productSelectorContent .front-rear.active {
      display: block; }
    #productSelectorContent .front-rear > div.active a {
      background: transparent;
      color: #ff6900; }
  #productSelectorContent .front-rear-mobile {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 20px;
    text-transform: uppercase; }
    #productSelectorContent .front-rear-mobile .rear {
      margin-top: 20px; }
  #productSelectorContent .productSelector[data-selectortype="tire_size"] .add-rear-size-cta, #productSelectorContent .productSelector[data-selectortype="wheel_size"] .add-rear-size-cta {
    display: block; }
  #productSelectorContent .add-rear-size-cta {
    display: none; }
    #productSelectorContent .add-rear-size-cta.mobile-only {
      margin-bottom: 15px; }
      #productSelectorContent .add-rear-size-cta.mobile-only .add-rear-size {
        bottom: 0;
        margin: 0;
        position: relative; }
        #productSelectorContent .add-rear-size-cta.mobile-only .add-rear-size a {
          font-size: 16px;
          text-transform: none; }
          #productSelectorContent .add-rear-size-cta.mobile-only .add-rear-size a::after {
            content: "\f105";
            font-family: "fontello";
            font-size: 12px;
            padding: 0 5px;
            position: relative; }
  #productSelectorContent .selector_options_mobile {
    border: 1px solid #f2f2f2;
    border-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 15px 15px 10px; }
    #productSelectorContent .selector_options_mobile .findTireSizeModalTrigger {
      display: none !important; }
    #productSelectorContent .selector_options_mobile a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: #f2f2f2;
      color: #000 !important;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 14px;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      line-height: rem-cal(18);
      margin: 0 0 5px;
      min-height: 40px;
      padding: 0 5px;
      text-align: center; }
      #productSelectorContent .selector_options_mobile a.wheelsForWinterConditionsModalTrigger {
        background: transparent;
        color: #ff6900 !important;
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        font-size: 1rem;
        font-weight: bold;
        line-height: 1.125rem;
        padding: 15px 0 6px;
        text-align: left; }
        #productSelectorContent .selector_options_mobile a.wheelsForWinterConditionsModalTrigger .questionmarkcircle {
          color: #ff6900;
          margin-right: 10px;
          width: 30px; }
      #productSelectorContent .selector_options_mobile a.pagedirect {
        display: none; }
    #productSelectorContent .selector_options_mobile .resultsCol {
      border: 0;
      list-style-type: none;
      margin: 0;
      padding: 0; }
  #productSelectorContent .selector_steps::before, #productSelectorContent .selector_steps::after {
    content: ' ';
    display: table; }
  #productSelectorContent .selector_steps::after {
    clear: both; }
  @media screen and (min-width: 48em) {
    #productSelectorContent .selector_steps {
      padding-right: 30px; } }
  #productSelectorContent .selector_steps .step {
    color: #ff6900;
    float: left;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_steps .step {
        width: auto; }
        #productSelectorContent .selector_steps .step::before {
          color: #808285;
          content: "\f105";
          font-family: "fontello";
          font-size: 12px;
          padding: 0 10px;
          position: relative;
          top: -2px; }
        #productSelectorContent .selector_steps .step:first-child::before {
          display: none; } }
    #productSelectorContent .selector_steps .step[data-current-key=VEHICLE_NAME] {
      display: none; }
    #productSelectorContent .selector_steps .step.chosen a {
      cursor: pointer; }
    #productSelectorContent .selector_steps .step > a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #999;
      cursor: default;
      font-size: 18px; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .selector_steps .step > a {
          font-size: 16px;
          text-transform: none; } }
    #productSelectorContent .selector_steps .step .selector_options_mobile {
      display: none !important; }
    #productSelectorContent .selector_steps .step:first-child .steplink {
      border-top: 1px solid #f2f2f2; }
      @media screen and (min-width: 48em) {
        #productSelectorContent .selector_steps .step:first-child .steplink {
          border: 0; } }
  #productSelectorContent .selector_steps .current .selector_options_mobile {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_steps .current .selector_options_mobile {
        display: none !important; } }
  #productSelectorContent .selector_steps .current a {
    color: #ff6900; }
  #productSelectorContent .selector_steps .chosen a {
    color: #000; }
  #productSelectorContent .selector_steps .chosen .selector_options_mobile {
    display: none !important; }
  #productSelectorContent .selector_steps .steplink {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 1px solid #f2f2f2;
    border-top: 0;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 50px;
    text-align: center; }
    @media screen and (min-width: 48em) {
      #productSelectorContent .selector_steps .steplink {
        border: 0;
        display: inline-block;
        height: auto;
        min-height: 0;
        text-align: initial; } }

.inline-question-mark {
  display: inline-box;
  margin: 0 0 0 10px; }
  .inline-question-mark .questionmarkcircle {
    border-width: 2px;
    height: 18px !important;
    margin: 0;
    position: relative;
    top: -2px;
    width: 18px !important; }

@media screen and (min-width: 64em) {
  .newsearch-tireselection {
    float: right;
    padding: 0 25px 0 20px; } }

@media screen and (max-width: 63.9375em) {
  .pdp-main .psresults-wrapper {
    padding: 50px 0 10px; } }

.psresults-wrapper {
  padding: 50px 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .psresults-wrapper {
      padding-bottom: 2.5rem; } }
  @media screen and (max-width: 47.9375em) {
    .psresults-wrapper.small-top {
      padding: 0 0 1.875rem; }
      .psresults-wrapper.small-top .psresults-title-border {
        border-bottom: 1px solid #ccc; }
      .psresults-wrapper.small-top h2.psresults-title {
        margin: 0;
        padding: 18px 0; } }
  .psresults-wrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 21px;
    margin-bottom: 35px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .psresults-wrapper h2 {
        font-size: 26px; } }
  .psresults-wrapper .selection-information {
    width: 100%; }
    @media screen and (min-width: 48em) {
      .psresults-wrapper .selection-information {
        display: block !important; } }
  .psresults-wrapper .sel-info-wrap {
    background: #f2f2f2;
    padding: 10px;
    position: relative; }
    .psresults-wrapper .sel-info-wrap .questionmarkcircle {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-width: 3px;
      color: #ff6900;
      height: 21px;
      width: 21px; }
  @media screen and (max-width: 47.9375em) {
    .psresults-wrapper .car-image-col {
      position: absolute;
      right: 10px;
      top: 20px;
      z-index: 1; } }
  @media screen and (min-width: 48em) {
    .psresults-wrapper .car-image-col {
      position: relative; } }
  .psresults-wrapper .car-image {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-sizing: initial;
            box-sizing: initial;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: 100% !important;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative; }
    @media screen and (min-width: 48em) {
      .psresults-wrapper .car-image {
        bottom: 0;
        padding: 0 30px 0 10px;
        position: absolute;
        top: 0;
        width: calc(100% - 50px); } }
  @media screen and (min-width: 48em) and (min-width: 0\0) {
    .psresults-wrapper .car-image {
      width: 100%; } }
    @media screen and (min-width: 64em) {
      .psresults-wrapper .car-image {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        height: auto; } }
    @media screen and (max-width: 47.9375em) {
      .psresults-wrapper .car-image .loader {
        display: none !important; } }
    .psresults-wrapper .car-image p {
      margin: 0; }
    .psresults-wrapper .car-image .ps-results-image-tip {
      border: 0;
      position: absolute;
      right: -18px;
      top: -8px;
      width: 22px; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .car-image .ps-results-image-tip {
          left: -10px;
          top: 0; } }
      .psresults-wrapper .car-image .ps-results-image-tip span.questionmarkcircle {
        height: 16px;
        width: 16px; }
  .psresults-wrapper .minimized-vehicle-vizualizer .sel-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem; }
    @media screen and (max-width: 47.9375em) {
      .psresults-wrapper .minimized-vehicle-vizualizer .sel-title {
        font-size: 0.875rem; } }
    .psresults-wrapper .minimized-vehicle-vizualizer .sel-title span {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400; }
    .psresults-wrapper .minimized-vehicle-vizualizer .sel-title a {
      font-size: 0.8125rem; }
      @media screen and (max-width: 47.9375em) {
        .psresults-wrapper .minimized-vehicle-vizualizer .sel-title a {
          font-size: 0.75rem; } }
  .psresults-wrapper .sel-info.row {
    background: #fff;
    padding-bottom: 12px;
    padding-top: 12px;
    position: relative; }
    .psresults-wrapper .sel-info.row.left-arrow::before {
      border-bottom: 12px solid transparent;
      border-right: 12px solid #fff;
      border-top: 12px solid transparent;
      bottom: 0;
      content: "";
      display: none;
      height: 0;
      left: -12px;
      margin: auto;
      position: absolute;
      top: 0;
      width: 0; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .sel-info.row.left-arrow::before {
          display: block; } }
    .psresults-wrapper .sel-info.row .init-selector {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 13px; }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .init-selector {
          margin-top: 29px; } }
    .psresults-wrapper .sel-info.row .info-modal {
      margin: 0; }
      .psresults-wrapper .sel-info.row .info-modal .findTireSizeModalTrigger {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #808285;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 13px;
        margin-top: 15px; }
    .psresults-wrapper .sel-info.row .left-info {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      padding: 0 0 10px; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .sel-info.row .left-info {
          padding: 10px; } }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .left-info {
          padding: 10px 0; } }
      .psresults-wrapper .sel-info.row .left-info .sel-title {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        font-size: 17px;
        margin: 0; }
        @media screen and (max-width: 47.9375em) {
          .psresults-wrapper .sel-info.row .left-info .sel-title {
            min-height: 56px; } }
        @media screen and (min-width: 64em) {
          .psresults-wrapper .sel-info.row .left-info .sel-title {
            font-size: 18px; } }
        .psresults-wrapper .sel-info.row .left-info .sel-title.nominheight {
          min-height: initial; }
        .psresults-wrapper .sel-info.row .left-info .sel-title a {
          color: #000;
          font-size: 13px; }
          .psresults-wrapper .sel-info.row .left-info .sel-title a:hover {
            text-decoration: underline; }
    .psresults-wrapper .sel-info.row .sel-subtitle {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 13px;
      margin: 5px 0 0;
      padding-right: 50px; }
      @media screen and (min-width: 48em) {
        .psresults-wrapper .sel-info.row .sel-subtitle {
          padding: 0; } }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .sel-subtitle {
          font-size: 0.71875rem;
          line-height: 16.5px; } }
      .psresults-wrapper .sel-info.row .sel-subtitle strong {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        font-weight: normal; }
      .psresults-wrapper .sel-info.row .sel-subtitle span {
        border-bottom: 2px dotted #ff6900; }
      .psresults-wrapper .sel-info.row .sel-subtitle .separator {
        border: 0;
        padding: 0 10px; }
    @media screen and (max-width: 47.9375em) {
      .psresults-wrapper .sel-info.row .right-info {
        padding: 0; } }
    .psresults-wrapper .sel-info.row .right-info > div {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      @media screen and (min-width: 64em) {
        .psresults-wrapper .sel-info.row .right-info > div {
          border-left: 1px solid #f2f2f2;
          height: 100%; } }

.tire-type-content #productGridUrl {
  display: none; }

.tire-type-content .left-icon-wrapper {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 12px;
  line-height: 1em;
  margin: 0; }
  .tire-type-content .left-icon-wrapper [class^="icon-"] {
    color: #ff6900;
    float: left;
    font-size: 23px;
    margin-right: 12px; }

.tire-type-content .vcenter {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.tire-type-content .tire-types {
  display: none;
  margin-top: 60px; }

.tire-type-content .tire-types.packages {
  display: block; }

.tire-type-content .tires-guided-path {
  margin-bottom: 30px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .tire-type-content .tires-guided-path > img {
      max-width: 50%;
      padding-right: 1.3rem; } }
  .tire-type-content .tires-guided-path.category-select-first-step {
    background: #fff;
    border: 10px solid #e6e6e6;
    padding: 40px 20px 30px;
    position: relative;
    text-align: center;
    -webkit-transition: background-color 100ms;
    transition: background-color 100ms; }
    @media screen and (min-width: 64em) {
      .tire-type-content .tires-guided-path.category-select-first-step .image {
        display: inline-block; } }
    .tire-type-content .tires-guided-path.category-select-first-step .image {
      display: none; }
    .tire-type-content .tires-guided-path.category-select-first-step .guided-section-head {
      margin-bottom: 20px; }
      .tire-type-content .tires-guided-path.category-select-first-step .guided-section-head h3 {
        font-size: 20px; }
    .tire-type-content .tires-guided-path.category-select-first-step .arrow {
      background: #e6e6e6;
      bottom: -20px;
      display: none;
      height: 40px;
      left: 50%;
      margin-left: -30px;
      position: absolute;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 40px; }
    .tire-type-content .tires-guided-path.category-select-first-step.active {
      opacity: 1; }
      .tire-type-content .tires-guided-path.category-select-first-step.active + .tire-types {
        opacity: 1; }
    .tire-type-content .tires-guided-path.category-select-first-step:hover {
      background: #e6e6e6; }
      .tire-type-content .tires-guided-path.category-select-first-step:hover .button {
        background: #f6a583; }
  .tire-type-content .tires-guided-path img {
    height: 50px;
    margin-bottom: 20px; }
  .tire-type-content .tires-guided-path .button {
    text-transform: uppercase; }

.tire-type-content .mid-line-copy {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #000;
  font-size: 16px;
  margin: 25px 0; }
  @media screen and (min-width: 48em) {
    .tire-type-content .mid-line-copy {
      font-size: 18px;
      margin: 50px 0; } }
  @media screen and (min-width: 64em) {
    .tire-type-content .mid-line-copy {
      font-size: 18px; } }

.tire-type-content .tire-types-section-head {
  margin-bottom: 10px; }
  .tire-type-content .tire-types-section-head::before, .tire-type-content .tire-types-section-head::after {
    content: ' ';
    display: table; }
  .tire-type-content .tire-types-section-head::after {
    clear: both; }
  .tire-type-content .tire-types-section-head h3 {
    font-size: 18px; }
    @media screen and (min-width: 64em) {
      .tire-type-content .tire-types-section-head h3 {
        font-size: 22px; } }
  .tire-type-content .tire-types-section-head p {
    font-size: 16px; }

.tire-type-content .category-column-wrapper {
  padding-bottom: 15px; }

.tire-type-content .cat-types-cta {
  margin-top: 35px; }

.tire-type-content .result_btn {
  margin-bottom: 30px; }
  @media screen and (min-width: 64em) {
    .tire-type-content .result_btn {
      margin-bottom: 0; } }
  .tire-type-content .result_btn button {
    font-size: 13px;
    margin: 0;
    text-transform: uppercase; }
  .tire-type-content .result_btn .button[disabled] {
    background: #808285;
    border: 0; }

.tire-type-content .selector_checkbox {
  border: 5px solid #f2f2f2;
  border-left-width: 8px;
  margin: 0 0 15px;
  padding: 15px 70px 15px 30px;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 64em) {
    .tire-type-content .selector_checkbox:hover {
      border-left-width: 13px;
      cursor: pointer; }
      .tire-type-content .selector_checkbox:hover .tiretype-indicator {
        left: -13px;
        width: 13px; } }
  .tire-type-content .selector_checkbox label {
    display: none;
    left: -200px;
    position: relative;
    width: 0; }
  .tire-type-content .selector_checkbox h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: inline-block;
    font-size: 16px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .tire-type-content .selector_checkbox h3 {
        font-size: 18px; } }
    @media screen and (min-width: 64em) {
      .tire-type-content .selector_checkbox h3 {
        font-size: 20px; } }
    .tire-type-content .selector_checkbox h3 [class^="icon-"] {
      color: #ff6900;
      font-size: 23px;
      position: relative;
      top: -3px; }
  .tire-type-content .selector_checkbox p,
  .tire-type-content .selector_checkbox .has-tip {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #808285;
    font-size: 12px;
    margin: 0; }
    @media screen and (min-width: 48em) {
      .tire-type-content .selector_checkbox p,
      .tire-type-content .selector_checkbox .has-tip {
        font-size: 14px; } }
  .tire-type-content .selector_checkbox p {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (min-width: 48em) {
      .tire-type-content .selector_checkbox p {
        display: -webkit-inline-box;
        display: -ms-inline-flexbox;
        display: inline-flex;
        -webkit-margin-start: 12px;
                margin-inline-start: 12px; } }
  .tire-type-content .selector_checkbox .has-tip {
    border-bottom: 0;
    color: #000;
    font-weight: normal;
    line-height: 1em; }
    .tire-type-content .selector_checkbox .has-tip:hover {
      border-bottom: 1px solid #000; }
  .tire-type-content .selector_checkbox .fa {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    bottom: 0;
    color: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 16px;
    margin: auto;
    position: absolute;
    right: 20px;
    top: 0; }
    .tire-type-content .selector_checkbox .fa::before {
      border: 3px solid #f2f2f2;
      border-radius: 50%;
      padding: 5px; }
  .tire-type-content .selector_checkbox .tiretype-indicator {
    background: #f2f2f2;
    height: calc(100% + 10px);
    left: -8px;
    position: absolute;
    top: -5px;
    width: 8px; }
  .tire-type-content .selector_checkbox.catcolor-all-weather .tiretype-indicator {
    background: #bf1a8d; }
  .tire-type-content .selector_checkbox.catcolor-winter .tiretype-indicator {
    background: #20c3f3; }
  .tire-type-content .selector_checkbox.catcolor-3-season .tiretype-indicator, .tire-type-content .selector_checkbox.catcolor-all-season .tiretype-indicator {
    background: #fbb116; }
  .tire-type-content .selector_checkbox.catcolor-performance .tiretype-indicator {
    background: #6353a3; }
  .tire-type-content .selector_checkbox.catcolor-touring .tiretype-indicator {
    background: #00a651; }
  .tire-type-content .selector_checkbox.catcolor-mud-terrain .tiretype-indicator {
    background: #422800; }
  .tire-type-content .selector_checkbox.catcolor-sport-truck .tiretype-indicator {
    background: #9ecf7c; }
  .tire-type-content .selector_checkbox.catcolor-all-terrain .tiretype-indicator {
    background: #7a5226; }
  .tire-type-content .selector_checkbox.catcolor-commercial .tiretype-indicator {
    background: #a7a9ac; }
  .tire-type-content .selector_checkbox.catcolor-ultra-high-performance .tiretype-indicator {
    background: #a499ca; }

.selector_checkbox.selected .fa {
  color: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .selector_checkbox.selected .fa::before {
    border-color: #ff6900; }

.tooltip.oem-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 12px;
  max-width: 230px !important;
  min-width: 230px !important;
  padding: 0; }
  .tooltip.oem-tip::before {
    border: inset 0.45rem;
    border-bottom-style: solid;
    border-color: transparent transparent #ff6900; }
  .tooltip.oem-tip h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 13px;
    line-height: 30px;
    margin: 0;
    padding: 0 15px; }
  .tooltip.oem-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 12px;
    margin: 0;
    padding: 15px; }
  .tooltip.oem-tip.top::before {
    border: inset 0.45rem;
    border-color: #fff transparent transparent transparent;
    border-top-style: solid; }
  .tooltip.oem-tip.bottom::before {
    border: inset 0.45rem;
    border-color: transparent transparent #ff6900 transparent;
    border-top-style: solid; }
  .tooltip.oem-tip.right::before {
    border: inset 0.45rem;
    border-color: transparent #fff transparent transparent;
    border-right-style: solid; }
  .tooltip.oem-tip.left::before {
    border: inset 0.45rem;
    border-color: transparent transparent transparent #fff;
    border-left-style: solid; }

.tooltip.cattype-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 12px;
  max-width: 380px !important;
  min-width: 230px !important;
  padding: 0; }
  .tooltip.cattype-tip::before {
    border: inset 0.45rem;
    border-bottom-style: solid;
    border-color: transparent transparent #ff6900; }
  .tooltip.cattype-tip h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    border-bottom: 3px solid #ff6900;
    color: #000;
    font-size: 13px;
    line-height: 30px;
    margin: 0;
    padding: 0 15px; }
  .tooltip.cattype-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 12px;
    margin: 0;
    padding: 15px; }
    .tooltip.cattype-tip p img {
      float: left;
      max-width: 130px; }
  .tooltip.cattype-tip.top::before {
    border: inset 0.45rem;
    border-color: #fff transparent transparent transparent;
    border-top-style: solid; }
  .tooltip.cattype-tip.bottom::before {
    border: inset 0.45rem;
    border-color: transparent transparent #ff6900 transparent;
    border-top-style: solid; }
  .tooltip.cattype-tip.right::before {
    border: inset 0.45rem;
    border-color: transparent #fff transparent transparent;
    border-right-style: solid; }
  .tooltip.cattype-tip.left::before {
    border: inset 0.45rem;
    border-color: transparent transparent transparent #fff;
    border-left-style: solid; }

.tooltip.disabled-email-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 0.75rem;
  max-width: 246px !important;
  min-width: 246px !important;
  padding: 15px; }
  .tooltip.disabled-email-tip::before {
    border: inset 0.45rem;
    border-bottom-style: solid;
    border-color: transparent transparent #fff; }
  .tooltip.disabled-email-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.75rem;
    line-height: 0.9375rem;
    margin: 0;
    padding: 0 0 2px; }
  .tooltip.disabled-email-tip .orange-phone,
  .tooltip.disabled-email-tip .pale-grey-text {
    padding: 0; }
  .tooltip.disabled-email-tip .orange-phone {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #ff6900;
    font-size: 0.6875rem; }
  .tooltip.disabled-email-tip .pale-grey-text {
    color: #808285; }

#guidedSellingPathWrapper {
  display: none; }
  #guidedSellingPathWrapper .gspAnswer.selected {
    border: 4px solid #ff6900; }

.ps-landing-content-wrapper {
  padding: 60px 0; }
  @media screen and (min-width: 64em) {
    .ps-landing-content-wrapper {
      padding: 90px 0; } }
  .ps-landing-content-wrapper img {
    display: block;
    height: auto;
    margin-bottom: 20px;
    width: 100%; }
  .ps-landing-content-wrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    margin-bottom: 0;
    text-align: center; }
    @media screen and (min-width: 48em) {
      .ps-landing-content-wrapper h2 {
        font-size: 21px;
        margin-bottom: 25px;
        text-align: left; } }
    @media screen and (min-width: 64em) {
      .ps-landing-content-wrapper h2 {
        font-size: 22px; } }
  .ps-landing-content-wrapper h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 17px; }
    @media screen and (min-width: 48em) {
      .ps-landing-content-wrapper h3 {
        font-size: 18px; } }
    @media screen and (min-width: 64em) {
      .ps-landing-content-wrapper h3 {
        font-size: 22px;
        padding: 0 10px; } }
  .ps-landing-content-wrapper p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #000;
    font-size: 14px; }
    @media screen and (min-width: 64em) {
      .ps-landing-content-wrapper p {
        padding: 0 10px; } }
  .ps-landing-content-wrapper .row > div {
    margin-bottom: 45px; }
    @media screen and (min-width: 48em) {
      .ps-landing-content-wrapper .row > div {
        margin-bottom: 0; } }

#oemarkingModal {
  border: 0;
  max-width: 380px;
  padding: 0; }
  #oemarkingModal h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 0.8125rem;
    margin-bottom: 10px;
    padding: 9px 15px;
    text-transform: uppercase; }
  #oemarkingModal p {
    font-size: 0.75rem;
    padding: 0 15px; }
  #oemarkingModal .oemarkingModalCta {
    color: #ff6900;
    font-size: 0.75rem;
    padding: 0 15px 15px;
    text-align: right; }

#fitmentModal {
  border: 0;
  max-width: 380px;
  padding: 0; }
  #fitmentModal h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 0.8125rem;
    margin-bottom: 10px;
    padding: 9px 15px;
    text-transform: uppercase; }
  #fitmentModal p {
    font-size: 0.75rem;
    padding: 0 15px; }
  #fitmentModal .fitmentModalCta {
    color: #ff6900;
    font-size: 0.75rem;
    padding: 0 15px 15px;
    text-align: right; }

.reveal.vcenter {
  left: 50% !important;
  position: absolute;
  top: 50% !important;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%); }

#productSelectorSlotWrapper.expanded #productSelectorContent.service-selector-content {
  max-width: 774px; }

#productSelectorContent.service-selector-content .choice-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 0; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .choice-wrapper {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }

#productSelectorContent.service-selector-content .choice {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 15px;
  min-height: 182px;
  position: relative; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .choice {
      -webkit-box-flex: 1;
          -ms-flex: 1 1 50%;
              flex: 1 1 50%;
      margin-bottom: 2px;
      margin-left: 2px;
      margin-top: 30px;
      width: 347px; } }
  #productSelectorContent.service-selector-content .choice img {
    max-width: 100px; }
  #productSelectorContent.service-selector-content .choice:hover {
    background-color: #ff6900;
    color: #fff;
    cursor: pointer; }
    #productSelectorContent.service-selector-content .choice:hover .check-icon {
      border: 2px solid #fff; }
  #productSelectorContent.service-selector-content .choice[data-value="Yes"] {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #productSelectorContent.service-selector-content .choice[data-value="No"] {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }

#productSelectorContent.service-selector-content .check-icon {
  border: 2px solid #dedede;
  border-radius: 50%;
  height: 19px;
  margin: 10px 10px 0;
  position: absolute;
  right: 0;
  top: 0;
  width: 19px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .check-icon {
      height: 27px;
      margin: 15px 15px 0;
      width: 27px; } }
  #productSelectorContent.service-selector-content .check-icon.selected {
    background-color: #fff; }
    #productSelectorContent.service-selector-content .check-icon.selected::before {
      color: #ff6900;
      content: "\f00c";
      display: block;
      font-family: fontawesome;
      font-size: 11px;
      text-align: center;
      width: 16px; }
      @media screen and (min-width: 48em) {
        #productSelectorContent.service-selector-content .check-icon.selected::before {
          font-size: 16px;
          width: 25px; } }

#productSelectorContent.service-selector-content .productSelector h3 {
  color: #000;
  font-size: 0.875rem;
  margin: 0;
  text-align: center; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .productSelector h3 {
      font-size: 1.25rem;
      padding: 5px 0 0;
      text-align: left; } }

#productSelectorContent.service-selector-content .selector-tab {
  padding: 20px 10px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .selector-tab {
      padding: 28px 0; } }

@media screen and (min-width: 48em) {
  #productSelectorContent.service-selector-content .selector-image {
    margin-left: 30px;
    max-width: 250px;
    min-width: 250px; } }

#productSelectorContent.service-selector-content .selector-description {
  margin-right: 10px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .selector-description {
      max-width: 187px; } }
  #productSelectorContent.service-selector-content .selector-description h3 {
    margin-bottom: 10px; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.service-selector-content .selector-description h3 {
        font-size: 1.25rem;
        line-height: 24px;
        margin-bottom: 20px; } }
  #productSelectorContent.service-selector-content .selector-description .button {
    color: #000;
    font-size: 0.625rem;
    max-width: 137px; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.service-selector-content .selector-description .button {
        font-size: 0.875rem; } }
    @media screen and (max-width: 47.9375em) {
      #productSelectorContent.service-selector-content .selector-description .button {
        margin-top: 0;
        padding: 12px 10px; } }

#productSelectorContent.service-selector-content .tire_mount p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #919191;
  font-size: 14px;
  margin: 0;
  padding-left: 15px; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .tire_mount p {
      font-size: 18px;
      padding-left: 24px; } }

#productSelectorContent.service-selector-content .tire_mount .choice:first-child {
  -webkit-box-ordinal-group: 2;
      -ms-flex-order: 1;
          order: 1; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .tire_mount .choice:first-child {
      margin-right: 0; } }

#productSelectorContent.service-selector-content .tire_mount .choice:last-child {
  -webkit-box-ordinal-group: 1;
      -ms-flex-order: 0;
          order: 0; }
  @media screen and (min-width: 48em) {
    #productSelectorContent.service-selector-content .tire_mount .choice:last-child {
      margin-right: 14px; } }

#productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice img {
    max-width: 180px; }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice p {
    margin: 0;
    padding: 0; }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice:first-child {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }
    @media screen and (min-width: 48em) {
      #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice:first-child {
        margin-right: 14px; } }
  #productSelectorContent.service-selector-content .VEHICLE_TYPE_1 .choice:last-child {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }

@media screen and (min-width: 48em) {
  #choiceModal.reveal {
    max-width: 467px; } }

#choiceModal strong {
  display: block;
  padding-bottom: 20px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    #choiceModal strong {
      padding-bottom: 25px; } }

#choiceModal .modal-content {
  padding: 30px 20px;
  text-align: center; }
  @media screen and (min-width: 48em) {
    #choiceModal .modal-content {
      padding: 40px 0; } }

@media screen and (min-width: 48em) {
  #choiceModal .button {
    max-width: 130px; } }

.pagination {
  margin: 0 0 50px; }
  .pagination ul {
    margin: 0; }
  .pagination li {
    display: inline-block;
    font-size: 12px;
    line-height: 1;
    margin: 0 12px 0 0;
    padding: 9px; }
    .pagination li a {
      padding: 0; }
  .pagination .current-page {
    background: #c75300;
    color: #fff; }

.stores-pagination .pagination .current {
  padding: 9px; }
  .stores-pagination .pagination .current a {
    color: #fff;
    cursor: inherit; }
    .stores-pagination .pagination .current a:hover {
      background: transparent; }

.search-result-content .grid-tile,
.page-designer-kaltire .grid-tile {
  margin-bottom: 20px; }
  @media screen and (min-width: 48em) {
    .search-result-content .grid-tile,
    .page-designer-kaltire .grid-tile {
      margin-bottom: 45px; } }
  .search-result-content .grid-tile.new-row:first-of-type,
  .page-designer-kaltire .grid-tile.new-row:first-of-type {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }

.search-result-content .product-tile-content,
.page-designer-kaltire .product-tile-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-flex: 1;
      -ms-flex: 1 0 auto;
          flex: 1 0 auto;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  padding: 0 15px 15px;
  position: relative; }
  .search-result-content .product-tile-content::before, .search-result-content .product-tile-content::after,
  .page-designer-kaltire .product-tile-content::before,
  .page-designer-kaltire .product-tile-content::after {
    content: ' ';
    display: table; }
  .search-result-content .product-tile-content::after,
  .page-designer-kaltire .product-tile-content::after {
    clear: both; }

.search-result-content .product-tile,
.page-designer-kaltire .product-tile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  border: 3px solid #f2f2f2;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  position: relative; }
  .search-result-content .product-tile .product-link-above,
  .page-designer-kaltire .product-tile .product-link-above {
    height: 100%;
    position: absolute;
    width: 100%;
    z-index: 2; }
  .search-result-content .product-tile .link-above-product,
  .page-designer-kaltire .product-tile .link-above-product {
    background-color: #f2f2f2;
    border: 3px solid #fff;
    position: relative;
    z-index: 3; }
    .search-result-content .product-tile .link-above-product:hover,
    .page-designer-kaltire .product-tile .link-above-product:hover {
      background-color: #f6a583;
      border: 3px solid #ff6900;
      color: #000; }
  .search-result-content .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover),
  .page-designer-kaltire .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) {
    border-color: #757575; }
    .search-result-content .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .recommended-bagde,
    .page-designer-kaltire .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .recommended-bagde {
      background: #d9d9da; }
    .search-result-content .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .product-compare label,
    .page-designer-kaltire .product-tile:hover:not(.product-tile-active):not(.product-tile--cart-button-hover) .product-compare label {
      text-decoration: underline; }
  @media only screen and (max-width: 1279px) {
    .search-result-content .product-tile:not(.isMasterProduct) .product-pricing,
    .page-designer-kaltire .product-tile:not(.isMasterProduct) .product-pricing {
      font-size: 1.5625rem; } }
  .search-result-content .product-tile .recommended-bagde,
  .page-designer-kaltire .product-tile .recommended-bagde {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #f2f2f2;
    color: #ff6900;
    padding: 3px 0;
    text-align: center;
    width: 100%; }
  .search-result-content .product-tile .promo-badge,
  .page-designer-kaltire .product-tile .promo-badge {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: #ff6900;
    color: #000;
    font-size: 0.75rem;
    left: 0;
    margin: 0 7px;
    padding: 5px;
    position: absolute;
    top: 7px; }
  .search-result-content .product-tile .product-badge,
  .page-designer-kaltire .product-tile .product-badge {
    color: #000;
    left: 0;
    margin: 0 6px;
    position: absolute;
    z-index: 1; }
  .search-result-content .product-tile .product-name,
  .page-designer-kaltire .product-tile .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1.375rem;
    line-height: 1;
    margin: 0 0 15px;
    word-wrap: break-word; }
    .search-result-content .product-tile .product-name .brand-name,
    .page-designer-kaltire .product-tile .product-name .brand-name {
      font-size: 0.8125rem;
      margin: 0 0 5px; }
    .search-result-content .product-tile .product-name a,
    .page-designer-kaltire .product-tile .product-name a {
      color: #000; }
  .search-result-content .product-tile .v-view-on-vehicle,
  .page-designer-kaltire .product-tile .v-view-on-vehicle {
    min-height: 65px; }
    .search-result-content .product-tile .v-view-on-vehicle .button,
    .page-designer-kaltire .product-tile .v-view-on-vehicle .button {
      margin-bottom: 5px; }
  .search-result-content .product-tile .product-price,
  .page-designer-kaltire .product-tile .product-price {
    color: #000; }
    .search-result-content .product-tile .product-price::before, .search-result-content .product-tile .product-price::after,
    .page-designer-kaltire .product-tile .product-price::before,
    .page-designer-kaltire .product-tile .product-price::after {
      content: ' ';
      display: table; }
    .search-result-content .product-tile .product-price::after,
    .page-designer-kaltire .product-tile .product-price::after {
      clear: both; }
    .search-result-content .product-tile .product-price .rebate ~ .price-sales,
    .page-designer-kaltire .product-tile .product-price .rebate ~ .price-sales {
      color: #ff6900; }
  .search-result-content .product-tile .price-sales,
  .page-designer-kaltire .product-tile .price-sales {
    float: left;
    margin: 0 5px 0 0; }
  .search-result-content .product-tile .rebate,
  .page-designer-kaltire .product-tile .rebate {
    float: left;
    margin: 10px 0 0; }
  .search-result-content .product-tile .add-all-to-cart,
  .page-designer-kaltire .product-tile .add-all-to-cart {
    height: 60px;
    margin-bottom: 0; }

.search-result-content .marketing-info-wrapper,
.page-designer-kaltire .marketing-info-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #f2f2f2;
  border: 3px solid #ccc;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  padding: 30px 10px; }
  .search-result-content .marketing-info-wrapper .marketing-title,
  .page-designer-kaltire .marketing-info-wrapper .marketing-title {
    font-size: 1.125rem;
    margin-bottom: 20px;
    text-align: center; }
  .search-result-content .marketing-info-wrapper .marketing-info-section,
  .page-designer-kaltire .marketing-info-wrapper .marketing-info-section {
    padding: 15px 0;
    position: relative;
    text-align: center; }
    .search-result-content .marketing-info-wrapper .marketing-info-section h4,
    .page-designer-kaltire .marketing-info-wrapper .marketing-info-section h4 {
      font-size: 1rem;
      text-align: center; }
    .search-result-content .marketing-info-wrapper .marketing-info-section p,
    .page-designer-kaltire .marketing-info-wrapper .marketing-info-section p {
      color: #000;
      font-size: 0.8125rem; }
    .search-result-content .marketing-info-wrapper .marketing-info-section i,
    .page-designer-kaltire .marketing-info-wrapper .marketing-info-section i {
      color: #ff6900;
      display: block;
      font-size: 2.5rem; }
      .search-result-content .marketing-info-wrapper .marketing-info-section i::before,
      .page-designer-kaltire .marketing-info-wrapper .marketing-info-section i::before {
        margin: 0;
        padding: 0; }

.search-result-content .product-image,
.page-designer-kaltire .product-image {
  margin: 15px 0; }
  .search-result-content .product-image .thumb-link,
  .page-designer-kaltire .product-image .thumb-link {
    display: block;
    margin: 0 auto;
    max-height: 215px;
    max-width: 215px;
    text-align: center; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .search-result-content .product-image .thumb-link,
      .page-designer-kaltire .product-image .thumb-link {
        max-height: 195px;
        max-width: 195px; } }

.search-result-content .tested-bykal-badge,
.page-designer-kaltire .tested-bykal-badge {
  min-height: 20px; }

.search-result-content .product-name .brand-name,
.page-designer-kaltire .product-name .brand-name {
  display: block; }

.search-result-content .product-attributes .attribute,
.page-designer-kaltire .product-attributes .attribute {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0 0 8px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search-result-content .product-attributes .attribute,
    .page-designer-kaltire .product-attributes .attribute {
      font-size: 0.8125rem; } }

.search-result-content .product-attributes .name,
.page-designer-kaltire .product-attributes .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.search-result-content .product-attributes .value,
.page-designer-kaltire .product-attributes .value {
  text-transform: capitalize; }

.search-result-content .product-attributes .category,
.page-designer-kaltire .product-attributes .category {
  color: #808285;
  font-size: 0.8125rem; }

.search-result-content .categories-box,
.page-designer-kaltire .categories-box {
  line-height: 1;
  margin: 10px 0 15px; }

.search-result-content .not-available-msg,
.page-designer-kaltire .not-available-msg {
  color: #f00;
  font-weight: bold; }

.search-result-content .availability-msg,
.page-designer-kaltire .availability-msg {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1;
  padding: 0 0 10px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .search-result-content .availability-msg,
    .page-designer-kaltire .availability-msg {
      font-size: 0.8125rem; } }
  .search-result-content .availability-msg .availability-label,
  .page-designer-kaltire .availability-msg .availability-label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }

.search-result-content .product-size,
.page-designer-kaltire .product-size {
  padding-right: 0.3125rem; }
  @media screen and (min-width: 64em) {
    .search-result-content .product-size,
    .page-designer-kaltire .product-size {
      padding-right: 0.625rem; } }
  .search-result-content .product-size .product-attributes .attribute,
  .page-designer-kaltire .product-size .product-attributes .attribute {
    font-size: 0.75rem; }

.search-result-content .product-pricing,
.page-designer-kaltire .product-pricing {
  padding-left: 0.3125rem; }
  @media screen and (min-width: 64em) {
    .search-result-content .product-pricing,
    .page-designer-kaltire .product-pricing {
      padding-left: 0.625rem; } }

.search-result-content .isMasterProduct .product-pricing,
.page-designer-kaltire .isMasterProduct .product-pricing {
  padding-left: 0;
  width: 100%; }

.search-result-content .isMasterProduct .master-product-price,
.search-result-content .isMasterProduct .rebate,
.page-designer-kaltire .isMasterProduct .master-product-price,
.page-designer-kaltire .isMasterProduct .rebate {
  display: inline-block; }

.search-result-content .isMasterProduct .rebate,
.page-designer-kaltire .isMasterProduct .rebate {
  float: none;
  line-height: 1.2; }

.search-result-content .view-on-vehicle,
.page-designer-kaltire .view-on-vehicle {
  margin: 10px 0 0;
  width: 100%; }

.search-result-content .size-price-qty-box,
.page-designer-kaltire .size-price-qty-box {
  margin: auto 0 0; }
  .search-result-content .size-price-qty-box .product-size .box-spacing:first-of-type,
  .search-result-content .size-price-qty-box .product-pricing .box-spacing:first-of-type,
  .page-designer-kaltire .size-price-qty-box .product-size .box-spacing:first-of-type,
  .page-designer-kaltire .size-price-qty-box .product-pricing .box-spacing:first-of-type {
    margin: 0 0 35px; }
  .search-result-content .size-price-qty-box .product-pricing,
  .page-designer-kaltire .size-price-qty-box .product-pricing {
    color: #ff6900; }

.search-result-content .product-tile__actions,
.page-designer-kaltire .product-tile__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  z-index: 2; }

.search-result-content .product-tile__add-to-cart,
.page-designer-kaltire .product-tile__add-to-cart {
  -webkit-box-flex: 1;
      -ms-flex: 1 1 100%;
          flex: 1 1 100%;
  height: 60px; }
  .search-result-content .product-tile__add-to-cart .add-to-cart,
  .page-designer-kaltire .product-tile__add-to-cart .add-to-cart {
    height: 60px;
    margin-bottom: 0;
    width: 100%; }

.compare-items-container {
  background: #fff;
  border-top: 1px solid #d9d9da;
  bottom: 0;
  left: 0;
  position: fixed;
  width: 100%;
  z-index: 3; }

.compare-items {
  margin: 0 auto;
  max-width: 1240px; }
  .compare-items .compare-item {
    height: 160px;
    margin: 30px 50px 30px 0;
    position: relative;
    width: 150px; }
    .compare-items .compare-item img {
      display: block;
      height: 145px;
      margin: 0 auto;
      padding: 10px 0 15px;
      width: 120px; }
    .compare-items .compare-item .compare-item-name {
      text-align: center; }
    .compare-items .compare-item .compare-item-number {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #f2f2f2;
      color: #808285;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 1.5rem;
      height: 110px;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin: 0 auto;
      width: 110px; }
  .compare-items .compare-item-remove {
    position: absolute;
    right: 0;
    top: 0; }
  .compare-items .compare-title {
    font-size: 1rem;
    margin: 0; }
    @media screen and (max-width: 63.9375em) {
      .compare-items .compare-title {
        display: none; } }
  .compare-items .button {
    margin: 0 0 0 25px;
    padding: 15px 28px; }
  .compare-items .compare-action {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-top: 84px; }

.italic-text {
  font-style: italic; }

.finance-info {
  border: 2px solid #ff6900;
  display: inline-block;
  font-size: 0.9375rem;
  margin: 25px 0;
  padding: 0.5em; }
  .finance-info a {
    text-decoration: underline; }

@media screen and (min-width: 48em) {
  .search-result-content .product-tile-content {
    padding: 0 10px 15px; }
  .search-result-content .product-compare {
    border-top: 3px solid #f2f2f2;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 100%;
            flex: 1 1 100%;
    line-height: 55px;
    max-height: 60px;
    text-align: center; }
    .search-result-content .product-compare .compare-label,
    .search-result-content .product-compare .field-wrapper {
      cursor: pointer;
      display: inline-block;
      position: relative; }
    .search-result-content .product-compare .compare-label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #000;
      font-size: 0.875rem;
      margin: 0 5px 0 0;
      text-transform: uppercase; }
    .search-result-content .product-compare input {
      display: none;
      margin: 0;
      opacity: 0;
      position: relative;
      top: 4px;
      -webkit-user-select: none;
         -moz-user-select: none;
          -ms-user-select: none;
              user-select: none;
      z-index: 2; }
      .search-result-content .product-compare input:checked {
        display: inherit; }
      .search-result-content .product-compare input:checked + .input-custom::after {
        color: #000;
        content: "\e811";
        font-family: "fontello"; }
      .search-result-content .product-compare input:focus {
        outline: none; }
    .search-result-content .product-compare .input-custom {
      left: 0;
      position: absolute;
      top: 2px;
      z-index: 1; }
      .search-result-content .product-compare .input-custom::after {
        color: transparent;
        content: "\f1db";
        font-family: "fontello";
        left: 0;
        position: absolute; }
    .search-result-content .product-compare .input-custom,
    .search-result-content .product-compare input {
      height: 17px;
      width: 17px; }
  .search-result-content .product-tile-active {
    border-color: #ff6900; }
    .search-result-content .product-tile-active .product-compare {
      background: #ff6900;
      border: 3px solid #ff6900; }
      .search-result-content .product-tile-active .product-compare .compare-label {
        color: #000;
        text-decoration: underline; }
  .search-result-content .product-tile-active .recommended-bagde,
  .search-result-content .product-tile--cart-button-hover .recommended-bagde {
    background: #ff6900;
    color: #fff; }
  .search-result-content .product-tile-active .compare-label,
  .search-result-content .product-tile--cart-button-hover .compare-label {
    color: #ff6900; }
  .search-result-content .product-tile--cart-button-hover {
    border-color: #757575; }
    .search-result-content .product-tile--cart-button-hover .compare-label {
      color: #000; } }

.pt_product-search-result .page-title {
  margin-bottom: 0; }

.pt_product-search-result .start-new-search-wrapper {
  text-align: end; }
  .pt_product-search-result .start-new-search-wrapper .loader {
    z-index: 10; }

.pt_product-search-result .start-new-search {
  margin-bottom: 0;
  margin-top: 10px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_product-search-result .start-new-search {
      margin-top: 20px 0;
      width: auto; } }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .start-new-search {
      margin-top: 35px; } }

.pt_product-search-result .psresults-wrapper {
  margin-top: 10px;
  padding: 0 0 10px; }

.pt_product-search-result .matched-products {
  margin: 0 0 20px; }
  .pt_product-search-result .matched-products p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 14px;
    margin: 0; }
  .pt_product-search-result .matched-products span {
    color: #ff6900; }

.pt_product-search-result .search-info {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 18px;
  margin: 0 0 25px; }

.pt_product-search-result .tabs-content {
  border: 0; }

.pt_product-search-result .search-results-tabs {
  border-bottom: 6px solid #f2f2f2;
  display: block;
  margin: 0 0 30px; }
  @media screen and (max-width: 63.9375em) {
    .pt_product-search-result .search-results-tabs {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .pt_product-search-result .search-results-tabs .tabs-title {
    margin: 0 0 -6px;
    text-align: center;
    width: 50%; }
    @media screen and (min-width: 48em) {
      .pt_product-search-result .search-results-tabs .tabs-title {
        width: auto; } }
    @media screen and (max-width: 63.9375em) {
      .pt_product-search-result .search-results-tabs .tabs-title {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1;
        width: auto; } }
    .pt_product-search-result .search-results-tabs .tabs-title > a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #808285;
      font-size: 16px; }
      @media screen and (max-width: 63.9375em) {
        .pt_product-search-result .search-results-tabs .tabs-title > a {
          font-size: 0.875rem;
          padding: 10px 0; } }
    .pt_product-search-result .search-results-tabs .tabs-title a[aria-selected="true"] {
      background: transparent;
      color: #000; }
    .pt_product-search-result .search-results-tabs .tabs-title.is-active {
      border-bottom: 6px solid #ff6900; }

.pt_product-search-result .tabs-panel {
  padding: 0; }
  @media screen and (min-width: 48em) {
    .pt_product-search-result .tabs-panel .sort-by-wrapper {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .tabs-panel .sort-by-wrapper {
      background: transparent;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      margin: 0 0 30px;
      padding: 0; } }
  .pt_product-search-result .tabs-panel .sort-by label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000; }

.pt_product-search-result .article-result {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  border-bottom: 1px solid #ccc;
  margin-bottom: 20px;
  padding-bottom: 20px; }
  .pt_product-search-result .article-result p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #808285;
    margin: 0; }
    @media screen and (max-width: 63.9375em) {
      .pt_product-search-result .article-result p {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 400;
        color: #000; } }
  .pt_product-search-result .article-result a {
    font-size: 0.75rem; }

.pt_product-search-result .sort-by select {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  margin: 0; }

.pt_product-search-result .sort-by-wrapper {
  margin-bottom: 10px; }

.pt_product-search-result #refinements-content-wrap {
  display: none; }
  @media screen and (max-width: 63.9375em) {
    .pt_product-search-result #refinements-content-wrap {
      background: #fff;
      position: absolute;
      width: 100%;
      z-index: 3; } }
  .pt_product-search-result #refinements-content-wrap.expanded {
    display: block; }
    @media screen and (max-width: 63.9375em) {
      .pt_product-search-result #refinements-content-wrap.expanded {
        -webkit-box-shadow: 2px 4px 5px #808080;
                box-shadow: 2px 4px 5px #808080; } }

.pt_product-search-result #refinements-content-trigger {
  margin: 0;
  width: 100%; }

.pt_product-search-result .refinements-wrapper {
  margin: 0 0 25px;
  position: relative; }

.pt_product-search-result .refinements [class^="icon-"]::before,
.pt_product-search-result .refinements [class*=" icon-"]::before {
  margin: 0; }

.pt_product-search-result .refinements .icon-circle-thin,
.pt_product-search-result .refinements .icon-circle {
  color: #c75300; }

.pt_product-search-result .refinements .refinements-content {
  border: 1px solid #f2f2f2;
  border-bottom: 0;
  padding-top: 44px;
  position: relative; }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .refinements .refinements-content {
      padding-top: 0; } }

.pt_product-search-result .refinements .clear-filters {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-bottom: 1px solid #f2f2f2;
  font-size: 14px;
  line-height: 1;
  padding: 15px 0 15px 15px;
  position: absolute;
  top: 0;
  width: 100%; }

.pt_product-search-result .refinements .is-accordion-submenu-parent {
  border-bottom: 1px solid #f2f2f2; }
  .pt_product-search-result .refinements .is-accordion-submenu-parent > a {
    font-size: 14px;
    padding: 15px 0 15px 37px; }

.pt_product-search-result .refinements .is-accordion-submenu {
  margin: -5px 0 10px 15px; }

.pt_product-search-result .refinements .is-accordion-submenu-parent[aria-expanded="true"] > a::before {
  content: "\e80c";
  font-family: "fontello"; }

.pt_product-search-result .refinements .is-accordion-submenu-parent > a::after {
  display: none; }

.pt_product-search-result .refinements .is-accordion-submenu-parent > a::before {
  color: #c75300;
  content: "\e80b";
  font-family: "fontello";
  left: 15px;
  position: absolute; }

.pt_product-search-result .refinements li a {
  color: #000; }

.pt_product-search-result .refinements .is-submenu-item a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  display: block;
  font-size: 14px;
  line-height: 1.2;
  padding: 5px 0;
  text-transform: capitalize; }

.pt_product-search-result .refinements .is-submenu-item i {
  float: left;
  padding: 0 5px 1px 0; }

.pt_product-search-result .is-accordion-submenu li.selected a {
  color: #000; }

.pt_product-search-result .info-box {
  margin: 50px 0 40px; }
  @media screen and (min-width: 64em) {
    .pt_product-search-result .info-box {
      background: #202020;
      color: #fff;
      padding: 20px 14px; }
      .pt_product-search-result .info-box .button {
        margin: 0;
        padding: 15px 10px; } }
  @media screen and (min-width: 82.5em) {
    .pt_product-search-result .info-box {
      padding: 20px; } }
  .pt_product-search-result .info-box .button span {
    font-size: 11px; }
  .pt_product-search-result .info-box h3 {
    font-size: 18px;
    margin: 0 0 10px; }
  .pt_product-search-result .info-box p {
    font-size: 12px;
    margin: 0 0 15px; }

.pt_product-search-result .live-chat-box {
  background: #f2f2f2;
  border: 2px solid #ccc;
  margin: 50px 0 40px;
  max-height: 375px;
  overflow: hidden;
  padding: 20px 14px 0;
  width: 210px; }
  @media screen and (max-width: 47.9375em) {
    .pt_product-search-result .live-chat-box {
      margin: 50px 20px 40px;
      max-height: 405px;
      width: 315px; } }
  .pt_product-search-result .live-chat-box h3 {
    font-size: 18px; }
  .pt_product-search-result .live-chat-box .button-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    .pt_product-search-result .live-chat-box .button-wrapper .button {
      margin: 0;
      padding: 15px 10px;
      width: 180px; }
      @media screen and (max-width: 47.9375em) {
        .pt_product-search-result .live-chat-box .button-wrapper .button {
          width: 280px; } }
      .pt_product-search-result .live-chat-box .button-wrapper .button span {
        font-size: 14px;
        font-weight: 700;
        line-height: 20px; }
  .pt_product-search-result .live-chat-box .image-wrapper {
    margin-bottom: 0;
    padding-top: 32px; }
    @media screen and (max-width: 47.9375em) {
      .pt_product-search-result .live-chat-box .image-wrapper {
        max-height: -webkit-fit-content;
        max-height: -moz-fit-content;
        max-height: fit-content;
        max-width: -webkit-fit-content;
        max-width: -moz-fit-content;
        max-width: fit-content; } }

.pt_product-search-result .live-chat-mobile {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.pt_product-search-result .need-help-box .button {
  position: relative; }
  .pt_product-search-result .need-help-box .button span {
    font-size: 11px;
    padding: 0 0 0 25px; }

.pt_product-search-result .need-help-box .icon-livechat {
  bottom: 0;
  font-size: 18px;
  height: 18px;
  margin: auto;
  position: absolute;
  top: 0; }

@media screen and (min-width: 48em) {
  .pt_product-search-result .search-results-content {
    padding: 0 10px 0 0; } }

.pt_product-search-result .search-results-content .folder-content-list {
  margin: 0; }
  .pt_product-search-result .search-results-content .folder-content-list li {
    margin: 0 0 50px; }
    .pt_product-search-result .search-results-content .folder-content-list li:last-child {
      margin: 0; }

.pt_product-search-result .search-results-content .content-title {
  font-size: calc-rem(18);
  line-height: 1;
  margin: 0 0 15px; }

.pt_product-search-result .search-results-content .readmore {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.pt_product-search-result .resource-center h3 {
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .pt_product-search-result .resource-center h3 {
      font-size: 1.375rem; } }

.pt_product-search-result .resource-center img {
  display: block;
  margin: 0 auto;
  max-width: 100%; }

.pt_product-search-result .resource-center .button {
  margin: 30px 0 0; }

.pt_product-search-result .change-location-box {
  background: rgba(0, 0, 0, 0.9);
  bottom: 0;
  color: #fff;
  left: 0;
  min-height: 50px;
  padding: 10px 0;
  position: fixed;
  right: 0;
  text-align: center;
  z-index: 10; }
  @media screen and (max-width: 47.9375em) {
    .pt_product-search-result .change-location-box {
      text-align: left; } }
  .pt_product-search-result .change-location-box p {
    font-size: 0.875rem;
    line-height: 35px;
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .pt_product-search-result .change-location-box p {
        line-height: 1.4; } }
  .pt_product-search-result .change-location-box .button {
    margin: 0 0 0 10px;
    padding: 10px 15px; }
    @media screen and (max-width: 47.9375em) {
      .pt_product-search-result .change-location-box .button {
        margin: 10px 0 0; } }

@media screen and (max-width: 47.9375em) {
  .pt_product-search-result .pagination ul {
    text-align: center; }
  .pt_product-search-result .pagination li {
    margin: 0;
    padding: 6px; } }

#newSearchModal {
  padding: 0; }
  @media screen and (min-width: 64em) {
    #newSearchModal {
      padding: 0; } }
  #newSearchModal .selector-image {
    display: none; }
  #newSearchModal .add-rear-size,
  #newSearchModal .findTireSizeModalTrigger,
  #newSearchModal .looking-for-other {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #ff6900;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: inherit;
    -webkit-box-direction: inherit;
        -ms-flex-direction: inherit;
            flex-direction: inherit;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 0.8125rem;
    margin-top: 20px;
    text-transform: none; }
    @media screen and (min-width: 48em) {
      #newSearchModal .add-rear-size,
      #newSearchModal .findTireSizeModalTrigger,
      #newSearchModal .looking-for-other {
        bottom: -22px;
        left: 0;
        margin: 0;
        position: absolute; } }
  #newSearchModal .looking-for-other {
    display: block;
    font-size: 1rem;
    position: initial; }
  #newSearchModal .close_button {
    color: #ff6900;
    cursor: pointer;
    display: none;
    font-size: 18px;
    position: absolute;
    right: 0;
    top: 0; }
    @media screen and (min-width: 48em) {
      #newSearchModal .close_button {
        display: block;
        line-height: 25px; } }

@media screen and (min-width: 48em) {
  .pt_product-search-result .matched-products {
    margin: 0; }
    .pt_product-search-result .matched-products p {
      font-size: 18px; }
  .pt_product-search-result .refinements-wrapper {
    margin: 0 0 45px; } }

@media screen and (min-width: 64em) {
  .pt_product-search-result .sort-by-wrapper {
    background: #000;
    color: #fff;
    margin-bottom: 55px;
    padding-bottom: 20px;
    padding-top: 20px; }
  .pt_product-search-result .sort-by label {
    color: #fff;
    font-size: 18px; }
  .pt_product-search-result #refinements-content-wrap {
    display: block; }
  .pt_product-search-result .refinements .refinements-content,
  .pt_product-search-result .refinements .is-accordion-submenu-parent,
  .pt_product-search-result .refinements .clear-filters {
    border: 0; }
  .pt_product-search-result .refinements .is-accordion-submenu-parent > a {
    padding: 12px 0 12px 20px; }
    .pt_product-search-result .refinements .is-accordion-submenu-parent > a::before {
      left: 0; }
    .pt_product-search-result .refinements .is-accordion-submenu-parent > a:hover {
      text-decoration: underline; }
  .pt_product-search-result .refinements .is-accordion-submenu {
    margin: 0; }
  .pt_product-search-result .refinements .clear-filters {
    padding: 5px 0 10px; }
  .pt_product-search-result .refinement-title {
    font-size: 18px;
    margin: 0 0 15px; }
    .pt_product-search-result .refinement-title.sizes-title {
      margin-top: 15px; } }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-badge {
    margin: 0 0 15px; }
  .pdp-main .tested-bykal-badge {
    margin: 0 0 30px; } }

.pdp-main .psresults-wrapper {
  padding-top: 0; }

.pdp-main .brand-name {
  font-size: 1rem;
  margin: 0 0 0.3125rem; }

.pdp-main .product-name {
  font-size: 1.375rem;
  margin: 0; }

@media screen and (min-width: 48em) {
  .pdp-main .pdp-top-name {
    margin-bottom: 2rem; }
    .pdp-main .pdp-top-name .product-name {
      font-size: 1.625rem; } }

.pdp-main .product-set-list::before, .pdp-main .product-set-list::after {
  content: ' ';
  display: table; }

.pdp-main .product-set-list::after {
  clear: both; }

.pdp-main .product-set-list .product-set-item {
  margin-bottom: 10px; }
  .pdp-main .product-set-list .product-set-item::before, .pdp-main .product-set-list .product-set-item::after {
    content: ' ';
    display: table; }
  .pdp-main .product-set-list .product-set-item::after {
    clear: both; }
  .pdp-main .product-set-list .product-set-item .quantity {
    float: right;
    max-width: 75px;
    min-width: 75px; }
    @media screen and (min-width: 64em) {
      .pdp-main .product-set-list .product-set-item .quantity {
        float: left; } }

.pdp-main .product-set-list .product-set-details {
  float: left;
  width: 70%; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-set-list .product-set-details {
      width: 100%; } }
  .pdp-main .product-set-list .product-set-details .product-price {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content; }

.pdp-main .product-set-list .add-sub-product {
  float: left;
  width: 30% !important; }
  @media screen and (max-width: 47.9375em) {
    .pdp-main .product-set-list .add-sub-product {
      margin: 8px 0 0 !important; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .product-set-list .add-sub-product {
      margin: 8px 0 0 !important; } }
  @media screen and (min-width: 64em) {
    .pdp-main .product-set-list .add-sub-product {
      margin-top: 15px !important;
      width: 100% !important; } }

.pdp-main .add-all-to-cart {
  margin-top: 0;
  width: 100%; }

.pdp-main .set-attr-titles {
  min-width: 200px;
  text-align: right; }
  .pdp-main .set-attr-titles::before, .pdp-main .set-attr-titles::after {
    content: ' ';
    display: table; }
  .pdp-main .set-attr-titles::after {
    clear: both; }
  .pdp-main .set-attr-titles .value-front {
    display: inline-block;
    font-size: 0.875rem;
    padding: 9px 12px; }
    .pdp-main .set-attr-titles .value-front::before, .pdp-main .set-attr-titles .value-front::after {
      content: ' ';
      display: table; }
    .pdp-main .set-attr-titles .value-front::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      .pdp-main .set-attr-titles .value-front {
        font-size: 1rem; } }
  .pdp-main .set-attr-titles .value-rear {
    display: inline-block;
    font-size: 0.875rem;
    min-width: 80px;
    padding: 9px 12px; }
    .pdp-main .set-attr-titles .value-rear::before, .pdp-main .set-attr-titles .value-rear::after {
      content: ' ';
      display: table; }
    .pdp-main .set-attr-titles .value-rear::after {
      clear: both; }
    @media screen and (min-width: 48em) {
      .pdp-main .set-attr-titles .value-rear {
        font-size: 1rem;
        min-width: 200px; } }

.pdp-main .manufacturer-number {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  font-size: 0.6875rem;
  margin: 5px 0 0; }

.pdp-main .multiple-manufacturer-numbers {
  margin: 0; }

.pdp-main .title-main-section {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-left: 3px solid #ff6900;
  font-size: 1.125rem;
  margin: 0 0 25px;
  padding: 0 0 0 18px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .pdp-main .title-main-section {
      font-size: 1.5rem; } }
  .pdp-main .title-main-section.review-title {
    margin: 0 0 20px; }

.pdp-main .product-attributes .attribute {
  font-size: 0.875rem;
  line-height: 1;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-attributes .attribute {
      font-size: 1rem; } }

.pdp-main .product-attributes .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.pdp-main .product-attributes .value {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  text-transform: capitalize; }

.pdp-main .overview,
.pdp-main .product-description,
.pdp-main .test-results,
.pdp-main .product-sizes,
.pdp-main .rating-box {
  margin-bottom: 100px; }

.pdp-main #productDescription,
.pdp-main #testResults,
.pdp-main #raitingReviews,
.pdp-main #productSizes {
  scroll-margin-top: 120px; }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-image-container {
    padding: 30px 0; } }

.pdp-main .product-thumbnails {
  margin: 10px 10px 0; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-thumbnails {
      float: left;
      margin: 0;
      position: relative;
      top: 0;
      width: 56px; } }
  @media screen and (min-width: 64em) {
    .pdp-main .product-thumbnails {
      width: 66px; } }
  @media screen and (min-width: 48em) {
    .pdp-main .product-thumbnails.top-padding {
      top: 15px; } }
  .pdp-main .product-thumbnails .slick-slider {
    margin: 0;
    text-align: center;
    visibility: hidden; }
    .pdp-main .product-thumbnails .slick-slider.slick-initialized {
      visibility: visible; }
  .pdp-main .product-thumbnails .thumb {
    cursor: pointer; }
    .pdp-main .product-thumbnails .thumb img {
      border: 1px solid #f2f2f2; }
      @media screen and (min-width: 48em) {
        .pdp-main .product-thumbnails .thumb img {
          margin-bottom: 5px; } }
  .pdp-main .product-thumbnails .slick-next,
  .pdp-main .product-thumbnails .slick-prev {
    color: transparent;
    margin: 0 auto;
    width: 20px; }
    @media screen and (min-width: 48em) {
      .pdp-main .product-thumbnails .slick-next,
      .pdp-main .product-thumbnails .slick-prev {
        left: 0;
        position: absolute;
        right: 0; } }
    .pdp-main .product-thumbnails .slick-next::before,
    .pdp-main .product-thumbnails .slick-prev::before {
      color: #000;
      font-family: "fontello"; }
    .pdp-main .product-thumbnails .slick-next.slick-disabled,
    .pdp-main .product-thumbnails .slick-prev.slick-disabled {
      pointer-events: none; }
      .pdp-main .product-thumbnails .slick-next.slick-disabled::before,
      .pdp-main .product-thumbnails .slick-prev.slick-disabled::before {
        color: #bfc0c2; }
  .pdp-main .product-thumbnails .slick-next {
    right: -15px; }
    @media screen and (min-width: 48em) {
      .pdp-main .product-thumbnails .slick-next {
        bottom: -23px;
        right: 0;
        top: auto; } }
    .pdp-main .product-thumbnails .slick-next::before {
      content: "\e814"; }
      @media screen and (min-width: 48em) {
        .pdp-main .product-thumbnails .slick-next::before {
          content: "\e80f"; } }
  .pdp-main .product-thumbnails .slick-prev {
    left: -15px; }
    @media screen and (min-width: 48em) {
      .pdp-main .product-thumbnails .slick-prev {
        left: 0;
        top: -10px; } }
    .pdp-main .product-thumbnails .slick-prev::before {
      content: "\e813"; }
      @media screen and (min-width: 48em) {
        .pdp-main .product-thumbnails .slick-prev::before {
          content: "\e80e"; } }
  .pdp-main .product-thumbnails .slick-slide.slick-current .productthumbnail {
    border: 1px solid #ff6900; }

.pdp-main .main-carousel {
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pdp-main .main-carousel {
      float: right;
      min-height: 272px;
      width: calc(100% - 70px); } }
  @media screen and (min-width: 64em) {
    .pdp-main .main-carousel {
      float: right;
      min-height: 317px;
      width: calc(100% - 85px); } }
  .pdp-main .main-carousel .slick-slider {
    margin: 0;
    visibility: hidden; }
    .pdp-main .main-carousel .slick-slider.slick-initialized {
      visibility: visible; }
  .pdp-main .main-carousel .videoWrapper {
    height: 315px;
    padding-bottom: 0;
    padding-top: 0; }
  .pdp-main .main-carousel .slick-slide {
    border: 1px solid #f2f2f2; }

.pdp-main .overview .product-attributes .attribute {
  font-size: 0.875rem;
  margin: 5px 0; }
  .pdp-main .overview .product-attributes .attribute.trailer-tire-attribute {
    font-size: 14px;
    margin-bottom: 15px; }

.pdp-main .overview .product-attributes.category-attributes .name {
  float: left;
  margin-right: 5px;
  min-height: 18px;
  overflow: hidden; }

.pdp-main .overview .product-attributes .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.pdp-main .overview .product-attributes .category {
  color: #808285; }

.pdp-main .overview .product-review {
  margin: 25px 0; }

.pdp-main .overview .aditional-details {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0 0 20px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .overview .aditional-details {
      padding-right: 0.625rem; } }

.pdp-main .price-right-box {
  width: 100%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .price-right-box {
      padding-left: 0.625rem;
      width: 50%; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .pdp-main .product-price-addtocart {
    margin: 40px 0 0; } }

.pdp-main .product-price-addtocart .product-price-wrap {
  float: left;
  margin-bottom: 15px;
  width: 100%; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-price-addtocart .product-price-wrap {
      margin: 0 0 25px;
      width: 100%; } }
  .pdp-main .product-price-addtocart .product-price-wrap .price-label {
    margin: 0 0 9px; }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-price-addtocart .price-right-box {
    position: relative; } }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-price-addtocart .price-right-box .inventory {
    position: absolute;
    right: 0;
    top: 0; } }

.pdp-main .product-price-addtocart .inventory {
  float: right; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-price-addtocart .inventory {
      float: left;
      width: 100%; } }
  .pdp-main .product-price-addtocart .inventory input {
    display: none;
    margin: 0; }
  @media screen and (min-width: 64em) {
    .pdp-main .product-price-addtocart .inventory .product-quantity {
      max-width: 75px;
      width: 50%; } }

@media screen and (max-width: 47.9375em) {
  .pdp-main .product-price-addtocart #totalPriceSection {
    margin-top: 14px;
    padding-bottom: 15px; } }

@media screen and (min-width: 64em) {
  .pdp-main .product-price-addtocart #totalPriceSection .quantity {
    margin-bottom: 15px; } }

.pdp-main .product-price-addtocart #totalPriceSection .product-price {
  display: inline;
  font-size: 1.5625rem; }
  .pdp-main .product-price-addtocart #totalPriceSection .product-price .currency-indices {
    font-size: 0.8125rem; }

.pdp-main .product-price-addtocart #totalPriceSection .price-standard {
  color: #c75300; }

.pdp-main .product-price-addtocart .product-add-to-cart {
  float: left;
  margin: 25px 0 0;
  width: 100%;
  margin: 0; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pdp-main .product-price-addtocart .product-add-to-cart {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  @media screen and (max-width: 47.9375em) {
    .pdp-main .product-price-addtocart .product-add-to-cart .button {
      margin: 0;
      width: 100%; } }

.pdp-main .product-price-addtocart .price-label,
.pdp-main .product-price-addtocart .quantity .quantity-total,
.pdp-main .product-price-addtocart .quantity label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  display: inherit;
  font-size: 0.6875rem;
  line-height: 1;
  margin-bottom: 9px;
  text-transform: uppercase; }

.pdp-main .product-price {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 2.1875rem;
  line-height: 1; }
  .pdp-main .product-price .currency-indices {
    font-size: 1.0625rem; }
  .pdp-main .product-price .price-sales {
    color: #000;
    margin: 0 10px 0 0; }
  .pdp-main .product-price .price-standard {
    color: #c75300; }
    .pdp-main .product-price .price-standard + .price-sales {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.8125rem;
      text-decoration: line-through; }
      .pdp-main .product-price .price-standard + .price-sales .currency-indices {
        font-size: 0.8125rem; }
  .pdp-main .product-price .rebate {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #ff6900;
    display: block;
    font-size: 0.75rem;
    margin: 10px 0 0; }
    @media screen and (min-width: 48em) and (max-width: 63.9375em) {
      .pdp-main .product-price .rebate {
        margin-bottom: 10px; } }

.pdp-main .product-description .long-description {
  font-size: 0.875rem;
  margin: 0 0 80px; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-description .long-description {
      margin: 0;
      padding: 0 35px 0 0; } }
  @media screen and (min-width: 64em) {
    .pdp-main .product-description .long-description {
      font-size: 1rem; } }

.pdp-main .product-description .care-plan .title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  margin: 0 0 15px; }

.pdp-main .test-results .driver-notes-wrap {
  margin: 0 0 30px; }

.pdp-main .test-results .driver-notes {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 1.125rem;
  font-style: italic; }

.pdp-main .test-results .driver-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #808285;
  font-size: 0.75rem; }

.pdp-main .test-results .testing-video-box {
  margin-bottom: 35px; }
  @media screen and (min-width: 48em) {
    .pdp-main .test-results .testing-video-box {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }

.pdp-main .test-results .questions {
  margin: 15px 0 0; }
  .pdp-main .test-results .questions p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.8125rem;
    margin: 0 0 10px; }
  .pdp-main .test-results .questions .inline-question-mark {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #808285;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 0; }
  .pdp-main .test-results .questions .questionmarkcircle {
    color: #ff6900;
    margin: 0 10px 0 0;
    top: 0; }

.pdp-main .test-results .season-title {
  float: left;
  font-size: 1.25rem;
  width: 100%; }

.pdp-main .test-results .attribute-title {
  font-size: 1rem;
  margin: 0 0 7px; }

@media screen and (min-width: 64em) {
  .pdp-main .test-results .seasson {
    padding-right: 2.5rem; } }

.pdp-main .test-results .seasson .section {
  margin: 0 0 35px; }
  @media screen and (min-width: 48em) {
    .pdp-main .test-results .seasson .section {
      float: left;
      width: 47%; }
      .pdp-main .test-results .seasson .section:nth-child(odd) {
        float: right; } }
  .pdp-main .test-results .seasson .section:last-child {
    margin: 0; }

.pdp-main .test-results .seasson ul {
  margin: 0; }

.pdp-main .test-results .seasson li {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  line-height: 1;
  margin: 5px 0; }
  .pdp-main .test-results .seasson li::before, .pdp-main .test-results .seasson li::after {
    content: ' ';
    display: table; }
  .pdp-main .test-results .seasson li::after {
    clear: both; }

.pdp-main .test-results .seasson .label-title {
  float: left;
  width: 50%; }
  @media screen and (min-width: 64em) {
    .pdp-main .test-results .seasson .label-title {
      width: 70%; } }

.pdp-main .test-results .seasson .label-title-bold {
  float: left;
  font-weight: 700;
  width: 50%; }
  @media screen and (min-width: 64em) {
    .pdp-main .test-results .seasson .label-title-bold {
      width: 70%; } }

.pdp-main .test-results .seasson .raiting {
  color: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 50%; }
  @media screen and (min-width: 64em) {
    .pdp-main .test-results .seasson .raiting {
      width: 30%; } }

.pdp-main .test-results .seasson [class^="icon-"]::before,
.pdp-main .test-results .seasson [class*=" icon-"]::before {
  margin: 0; }

.pdp-main .test-results .seasson i {
  float: left; }

.pdp-main .product-sizes .model-specs .model-box {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1rem;
  margin: 0 0 20px; }

.pdp-main .product-sizes .model-specs .model-size {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }

.pdp-main .product-sizes .view-all {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 0.8125rem;
  margin: 0 0 30px; }
  .pdp-main .product-sizes .view-all::before {
    content: "\f053";
    font-family: fontawesome;
    font-size: 7px;
    padding-right: 0.3125rem;
    vertical-align: middle; }

.pdp-main .product-sizes .product-attributes .attribute {
  padding: 9px 12px; }
  .pdp-main .product-sizes .product-attributes .attribute:nth-child(odd) {
    background: #f2f2f2; }
  .pdp-main .product-sizes .product-attributes .attribute:nth-child(even) {
    padding: 12px; }
  .pdp-main .product-sizes .product-attributes .attribute.finish_attribute .value:not(.value-rear) {
    display: none; }

.pdp-main .product-sizes .product-attributes .value {
  float: right; }

.pdp-main .product-sizes .product-attributes .value-rear {
  min-width: 80px;
  text-align: right; }
  @media screen and (min-width: 48em) {
    .pdp-main .product-sizes .product-attributes .value-rear {
      min-width: 200px; } }
  .pdp-main .product-sizes .product-attributes .value-rear .name {
    display: none; }

.pdp-main .product-sizes .load-range-title {
  margin-top: 40px; }

.pdp-main .service-info-wrapper .left-info .sel-subtitle strong {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.pdp-main .service-info-wrapper .right-info .newsearch-tireselection .init-selector {
  -ms-flex-item-align: center;
      align-self: center;
  margin: 0; }

.pdp-main .service-info-wrapper .service-info-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    .pdp-main .service-info-wrapper .service-info-content {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  .pdp-main .service-info-wrapper .service-info-content .sel-subtitle {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
    @media screen and (min-width: 48em) {
      .pdp-main .service-info-wrapper .service-info-content .sel-subtitle {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        font-size: 0.9375rem; } }
  .pdp-main .service-info-wrapper .service-info-content .tire {
    padding-right: 15px; }

.pdp-main .service-info-wrapper .sel-info {
  padding: 20px 0; }
  @media screen and (min-width: 48em) {
    .pdp-main .service-info-wrapper .sel-info {
      padding: 10px 0; } }

.product-size-tabs {
  -webkit-box-align: stretch;
      -ms-flex-align: stretch;
          align-items: stretch;
  border: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -webkit-box-flex: initial;
      -ms-flex-positive: initial;
          flex-grow: initial;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 47.9375em) {
    .product-size-tabs {
      display: block; } }
  .product-size-tabs.trailer-load-range-tabs {
    display: block; }
  .product-size-tabs .tabs-title {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border-bottom: 3px solid #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
        -ms-flex: 1 1 auto;
            flex: 1 1 auto;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    max-width: 25%;
    text-align: center;
    width: auto; }
    @media screen and (max-width: 47.9375em) {
      .product-size-tabs .tabs-title {
        display: block;
        -webkit-box-flex: 0;
            -ms-flex: 0 1 auto;
                flex: 0 1 auto;
        width: 25%; } }
    @media screen and (min-width: 64em) {
      .product-size-tabs .tabs-title {
        max-width: 22%; } }
    .product-size-tabs .tabs-title a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #808285;
      font-size: 16px;
      padding: 0.5rem 1rem 1rem; }
      .product-size-tabs .tabs-title a::after {
        content: "\f10e";
        font-family: fontawesome;
        font-size: 6px;
        vertical-align: super; }
      .product-size-tabs .tabs-title a.load-range-anchor {
        padding: 0.5rem 2rem 1rem; }
        .product-size-tabs .tabs-title a.load-range-anchor::after {
          content: none; }
    .product-size-tabs .tabs-title > a:focus,
    .product-size-tabs .tabs-title > a[aria-selected="true"] {
      background: transparent; }
    .product-size-tabs .tabs-title.is-active, .product-size-tabs .tabs-title:focus, .product-size-tabs .tabs-title:hover {
      border-bottom-color: #ff6900; }
      .product-size-tabs .tabs-title.is-active a,
      .product-size-tabs .tabs-title.is-active a:hover, .product-size-tabs .tabs-title:focus a,
      .product-size-tabs .tabs-title:focus a:hover, .product-size-tabs .tabs-title:hover a,
      .product-size-tabs .tabs-title:hover a:hover {
        color: #000; }

.product-size-tabs-content {
  border: 0; }
  .product-size-tabs-content .tabs-panel {
    padding: 2.75rem 0; }
    .product-size-tabs-content .tabs-panel a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000; }
    .product-size-tabs-content .tabs-panel ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin: 0; }
      .product-size-tabs-content .tabs-panel ul li {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        line-height: 48px; }
        @media screen and (min-width: 48em) {
          .product-size-tabs-content .tabs-panel ul li {
            -ms-flex-preferred-size: 33%;
                flex-basis: 33%;
            line-height: 30px; } }
    .product-size-tabs-content .tabs-panel.trailer-load-range-options {
      padding-top: 0.5rem; }
      .product-size-tabs-content .tabs-panel.trailer-load-range-options.is-active {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .product-size-tabs-content .tabs-panel.trailer-load-range-options .product-size-tabs {
        -webkit-box-flex: 1;
            -ms-flex-positive: 1;
                flex-grow: 1; }
      .product-size-tabs-content .tabs-panel.trailer-load-range-options .tabs-title {
        max-width: 65px; }
    .product-size-tabs-content .tabs-panel .tire-size-options {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .product-size-tabs-content .tabs-panel .tire-size-options {
          width: 70%; } }
      .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size {
        margin-bottom: 25px;
        width: 100%; }
        @media screen and (min-width: 48em) {
          .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size {
            margin-bottom: 0;
            width: auto; } }
        .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size:hover {
          background: #f2f2f2; }
          .product-size-tabs-content .tabs-panel .tire-size-options .trailer-tire-size:hover a {
            color: #ff6900; }

.image-tooltip {
  color: #ff6900;
  float: right;
  font-size: 12px;
  margin: 5px 0 0; }
  @media screen and (min-width: 48em) {
    .image-tooltip {
      float: left;
      margin: 5px 0 0 20px; } }
  .image-tooltip .has-tip {
    border: 0;
    font-weight: normal; }

.tooltip.img-tip {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  -webkit-box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
          box-shadow: 0 0 55px -16px rgba(0, 0, 0, 0.75);
  color: #000;
  font-size: 12px;
  max-width: 260px !important;
  min-width: 230px !important;
  padding: 0; }
  .tooltip.img-tip h1 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #ff6900;
    color: #fff;
    font-size: 13px;
    line-height: 1rem;
    margin: 0;
    padding: 7px 15px; }
  .tooltip.img-tip p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 12px;
    margin: 0;
    padding: 15px; }
  .tooltip.img-tip.top::before {
    border: inset 0.45rem;
    border-color: #fff transparent transparent transparent;
    border-top-style: solid; }

.pdp-master .product-sizef,
.pdp-master .product-wheelsizef {
  display: none; }

.pdp-master .product-price .rebate br {
  display: none; }

@media screen and (min-width: 48em) {
  .pdp-main .badges-box {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    margin-bottom: 15px;
    margin-top: 10px; }
    .pdp-main .badges-box p {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .pdp-main .product-badge,
  .pdp-main .tested-bykal-badge {
    margin: 0; }
  .pdp-main .tested-bykal-badge {
    padding: 7px; }
  .pdp-main .top-info-product-box {
    margin: 0 0 10px; } }

@media screen and (min-width: 64em) {
  .pdp-nav {
    margin: 0 0 70px;
    width: 100%; }
    .pdp-nav ul {
      margin: 0; }
    .pdp-nav li {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-bottom: 6px solid #f2f2f2;
      float: left;
      font-size: 1rem;
      text-align: center;
      width: 20%; }
      .pdp-nav li a {
        color: #808285;
        display: inline-block;
        padding: 0 0 15px;
        width: 100%; }
      .pdp-nav li:hover, .pdp-nav li.active {
        border-bottom: 6px solid #ff6900; }
        .pdp-nav li:hover a, .pdp-nav li.active a {
          color: #000; }
  .pdp-main .product-sizes .attr-column {
    float: left;
    width: 45%; }
    .pdp-main .product-sizes .attr-column:nth-child(2) {
      float: right; } }

@media screen and (min-width: 48em) and (max-width: 63.9375em) {
  .compare-page .scroll-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
    margin-right: 20px;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    -ms-overflow-style: -ms-autohiding-scrollbar; }
    .compare-page .scroll-section.no-margin {
      margin-right: 0; }
  .compare-page .row {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row nowrap;
            flex-flow: row nowrap; }
  .compare-page .section-title {
    border: 0;
    margin: 0; }
  .compare-page .title-border {
    border-top: 2px solid #f2f2f2;
    padding-top: 30px; }
  .compare-page .two-columns:nth-child(1) .title-border {
    margin-left: 0.625rem;
    padding-left: 0; }
  .compare-page .two-columns:nth-child(2) .title-border {
    margin-right: 0.625rem;
    padding-right: 0; }
  .compare-page .three-columns:nth-child(1) .title-border {
    margin-left: 0.625rem;
    padding-left: 0; }
  .compare-page .three-columns:nth-child(3) .title-border {
    margin-right: 0.625rem;
    padding-right: 0; } }

.compare-page .small-device-message p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 100px 0 0;
  text-align: center; }

.compare-page .page-title {
  margin: 25px 0 20px; }

.compare-page a.back {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.compare-page .section-box {
  margin: 0 0 50px; }

.compare-page .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-bottom: 2px solid #f2f2f2;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 30px;
  padding: 0 0 10px;
  text-transform: uppercase; }

.compare-page .product-column:not(:first-of-type) .section-title,
.compare-page .product-column:not(:first-of-type) .test-score .season-title {
  outline: 0;
  text-indent: -9999em; }

.compare-page #compare-table {
  margin-top: 100px; }
  .compare-page #compare-table .product-tile-content {
    position: relative; }
  .compare-page #compare-table .product-winter-use {
    position: absolute;
    right: 0; }

.compare-page .two-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .two-columns:nth-child(1) {
      padding-left: 0.625rem; }
      .compare-page .two-columns:nth-child(1) .row-spaces {
        padding-right: 8.33333%; }
    .compare-page .two-columns:nth-child(2) {
      padding-right: 0.625rem; }
      .compare-page .two-columns:nth-child(2) .row-spaces {
        padding-left: 8.33333%; } }

.compare-page .three-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .three-columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
      .compare-page .three-columns:nth-child(1) {
        padding-left: 0.625rem; }
        .compare-page .three-columns:nth-child(1) .row-spaces {
          padding-right: 2.1865rem; }
      .compare-page .three-columns:nth-child(2) .row-spaces {
        padding-left: 1.40575rem;
        padding-right: 1.40575rem; }
      .compare-page .three-columns:nth-child(3) {
        padding-right: 0.625rem; }
        .compare-page .three-columns:nth-child(3) .row-spaces {
          padding-left: 2.1865rem; } }

.compare-page .product-tile {
  height: auto !important;
  margin: 0 0 25px;
  text-align: center; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-tile .compare-remove-product {
      display: inline-block !important; } }
  @media screen and (min-width: 64em) {
    .compare-page .product-tile .product-image:hover + .product-name, .compare-page .product-tile .product-name:hover {
      /* stylelint-disable-line */ }
      .compare-page .product-tile .product-image:hover + .product-name .compare-remove-product, .compare-page .product-tile .product-name:hover .compare-remove-product {
        color: #ff6900;
        display: inline-block !important;
        margin: 0 0 0 5px;
        position: absolute;
        z-index: 2; } }
  .compare-page .product-tile .recommended-bagde,
  .compare-page .product-tile .promo-badge,
  .compare-page .product-tile .product-attributes,
  .compare-page .product-tile .availability-msg,
  .compare-page .product-tile .product-size,
  .compare-page .product-tile .tested-bykal-badge,
  .compare-page .product-tile .aditional-details {
    display: none; }
  .compare-page .product-tile .product-badge {
    position: absolute; }
  .compare-page .product-tile .product-image {
    margin: 0 auto;
    max-width: 215px;
    padding: 0 0 25px; }
    .compare-page .product-tile .product-image a {
      display: block; }
  .compare-page .product-tile .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    position: relative; }
    .compare-page .product-tile .product-name .brand-name {
      display: block;
      font-size: 16px;
      margin: 0 0 5px; }
    .compare-page .product-tile .product-name .name-link {
      color: #000; }
  .compare-page .product-tile .price-qty-box {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .compare-page .product-tile .product-pricing {
    text-align: left;
    width: 75%; }
    .compare-page .product-tile .product-pricing .price-sales,
    .compare-page .product-tile .product-pricing .price-standard {
      margin-bottom: -5px; }
    .compare-page .product-tile .product-pricing .price-standard + .price-sales {
      margin: 0 0 0 15px; }
  .compare-page .product-tile .product-price {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
  .compare-page .product-tile .rebate {
    margin: 0 0 0 15px; }
  .compare-page .product-tile .price-standard + .price-sales + .rebate {
    bottom: -20px;
    left: 0;
    position: absolute; }
  .compare-page .product-tile .inventory {
    float: right;
    width: 25%; }
  .compare-page .product-tile .quantity label,
  .compare-page .product-tile .quantity input.product-quantity {
    display: none; }
  .compare-page .product-tile .product-quantity select {
    margin: 0;
    max-width: 85px; }
  .compare-page .product-tile .product-add-to-cart {
    display: block;
    float: right;
    padding: 30px 0 0;
    text-align: right;
    width: 100%; }

.compare-page .button-group {
  margin: 0;
  text-align: right; }

.compare-page .categories .category {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #999;
  display: block;
  font-size: 0.8125rem; }
  .compare-page .categories .category:not(:first-of-type) {
    margin: 10px 0 0; }

.compare-page .summary .attribute,
.compare-page .tire-specs .attribute {
  font-size: 0.9375rem;
  margin: 0;
  padding: 7px 12px; }
  .compare-page .summary .attribute::before, .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::before,
  .compare-page .tire-specs .attribute::after {
    content: ' ';
    display: table; }
  .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::after {
    clear: both; }
  .compare-page .summary .attribute:nth-of-type(odd),
  .compare-page .tire-specs .attribute:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .summary .attribute:nth-of-type(even),
  .compare-page .tire-specs .attribute:nth-of-type(even) {
    padding: 9px 12px; }

.compare-page .summary .name,
.compare-page .tire-specs .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.compare-page .summary .value,
.compare-page .tire-specs .value {
  float: right;
  text-transform: capitalize; }

.compare-page .test-score .section {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem;
  padding: 12px; }
  .compare-page .test-score .section:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .test-score .section ul {
    margin: 0; }
  .compare-page .test-score .section li::before, .compare-page .test-score .section li::after {
    content: ' ';
    display: table; }
  .compare-page .test-score .section li::after {
    clear: both; }
  .compare-page .test-score .section .attribute-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.9375rem; }

.compare-page .test-score .label-title {
  float: left;
  padding-right: 10px;
  width: calc(100% - 75px); }

.compare-page .test-score .raiting {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 75px; }

.compare-page .test-score [class^="icon-"]::before,
.compare-page .test-score [class*=" icon-"]::before {
  margin: 0; }

.compare-page .test-score i {
  color: #ff6900;
  float: left; }

.compare-page .test-score .season-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 15px; }
  .compare-page .test-score .season-title:not(:first-of-type) {
    margin: 30px 0 15px; }

.compare-page .small-device-message p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1.25rem;
  margin: 100px 0 0;
  text-align: center; }

.compare-page .page-title {
  margin: 25px 0 20px; }

.compare-page a.back {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.compare-page .section-box {
  margin: 0 0 50px; }

.compare-page .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border-bottom: 2px solid #f2f2f2;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 30px;
  padding: 0 0 10px;
  text-transform: uppercase; }

.compare-page .product-column:not(:first-of-type) .section-title,
.compare-page .product-column:not(:first-of-type) .test-score .season-title {
  outline: 0;
  text-indent: -9999em; }

.compare-page #compare-table {
  margin-top: 100px; }
  .compare-page #compare-table .product-tile-content {
    position: relative; }
  .compare-page #compare-table .product-winter-use {
    position: absolute;
    right: 0; }

.compare-page .two-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .two-columns:nth-child(1) {
      padding-left: 0.625rem; }
      .compare-page .two-columns:nth-child(1) .row-spaces {
        padding-right: 8.33333%; }
    .compare-page .two-columns:nth-child(2) {
      padding-right: 0.625rem; }
      .compare-page .two-columns:nth-child(2) .row-spaces {
        padding-left: 8.33333%; } }

.compare-page .three-columns {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 50%;
          flex: 0 0 50%;
  max-width: 50%; }
  @media screen and (min-width: 64em) {
    .compare-page .three-columns {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 33.33333%;
              flex: 0 0 33.33333%;
      max-width: 33.33333%; }
      .compare-page .three-columns:nth-child(1) {
        padding-left: 0.625rem; }
        .compare-page .three-columns:nth-child(1) .row-spaces {
          padding-right: 2.1865rem; }
      .compare-page .three-columns:nth-child(2) .row-spaces {
        padding-left: 1.40575rem;
        padding-right: 1.40575rem; }
      .compare-page .three-columns:nth-child(3) {
        padding-right: 0.625rem; }
        .compare-page .three-columns:nth-child(3) .row-spaces {
          padding-left: 2.1865rem; } }

.compare-page .product-tile {
  height: auto !important;
  margin: 0 0 25px;
  text-align: center; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-tile .compare-remove-product {
      display: inline-block !important; } }
  @media screen and (min-width: 64em) {
    .compare-page .product-tile .product-image:hover + .product-name, .compare-page .product-tile .product-name:hover {
      /* stylelint-disable-line */ }
      .compare-page .product-tile .product-image:hover + .product-name .compare-remove-product, .compare-page .product-tile .product-name:hover .compare-remove-product {
        color: #ff6900;
        display: inline-block !important;
        margin: 0 0 0 5px;
        position: absolute;
        z-index: 2; } }
  .compare-page .product-tile .recommended-bagde,
  .compare-page .product-tile .promo-badge,
  .compare-page .product-tile .product-attributes,
  .compare-page .product-tile .availability-msg,
  .compare-page .product-tile .product-size,
  .compare-page .product-tile .tested-bykal-badge,
  .compare-page .product-tile .aditional-details {
    display: none; }
  .compare-page .product-tile .product-badge {
    position: absolute; }
  .compare-page .product-tile .product-image {
    margin: 0 auto;
    max-width: 215px;
    padding: 0 0 25px; }
    .compare-page .product-tile .product-image a {
      display: block; }
  .compare-page .product-tile .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 1;
    position: relative; }
    .compare-page .product-tile .product-name .brand-name {
      display: block;
      font-size: 16px;
      margin: 0 0 5px; }
    .compare-page .product-tile .product-name .name-link {
      color: #000; }
  .compare-page .product-tile .product-review {
    height: 25px;
    margin: 5px 0 25px; }
  .compare-page .product-tile .sa_s28_display_avg_rating {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    .compare-page .product-tile .sa_s28_display_avg_rating ul {
      margin: 0; }
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_rating,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_points_rating {
      display: inline-block; }
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_leftBrackets,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_productReviewCount,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_masterCategoryPageText,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_childCategoryPageText,
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_rightBrackets {
      display: none; }
    .compare-page .product-tile .sa_s28_display_avg_rating .sa_s28_points_rating span {
      color: #000;
      font-size: 0.75rem;
      margin: 0 0 0 5px; }
  .compare-page .product-tile .price-qty-box {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .compare-page .product-tile .product-pricing {
    text-align: left;
    width: 75%; }
    .compare-page .product-tile .product-pricing .price-sales,
    .compare-page .product-tile .product-pricing .price-standard {
      margin-bottom: -5px; }
    .compare-page .product-tile .product-pricing .price-standard + .price-sales {
      margin: 0 0 0 15px; }
  .compare-page .product-tile .product-price {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: relative; }
  .compare-page .product-tile .rebate {
    margin: 0 0 0 15px; }
  .compare-page .product-tile .price-standard + .price-sales + .rebate {
    bottom: -20px;
    left: 0;
    position: absolute; }
  .compare-page .product-tile .inventory {
    float: right;
    width: 25%; }
  .compare-page .product-tile .quantity label,
  .compare-page .product-tile .quantity input.product-quantity {
    display: none; }
  .compare-page .product-tile .product-quantity select {
    margin: 0;
    max-width: 85px; }
  .compare-page .product-tile .product-add-to-cart {
    display: block;
    float: right;
    padding: 30px 0 0;
    text-align: right;
    width: 100%; }

.compare-page .button-group {
  margin: 0;
  text-align: right; }

.compare-page .categories .category {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #999;
  display: block;
  font-size: 0.8125rem; }
  .compare-page .categories .category:not(:first-of-type) {
    margin: 10px 0 0; }

.compare-page .summary .attribute,
.compare-page .tire-specs .attribute {
  font-size: 0.9375rem;
  margin: 0;
  padding: 7px 12px; }
  .compare-page .summary .attribute::before, .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::before,
  .compare-page .tire-specs .attribute::after {
    content: ' ';
    display: table; }
  .compare-page .summary .attribute::after,
  .compare-page .tire-specs .attribute::after {
    clear: both; }
  .compare-page .summary .attribute:nth-of-type(odd),
  .compare-page .tire-specs .attribute:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .summary .attribute:nth-of-type(even),
  .compare-page .tire-specs .attribute:nth-of-type(even) {
    padding: 9px 12px; }

.compare-page .summary .name,
.compare-page .tire-specs .name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.compare-page .summary .value,
.compare-page .tire-specs .value {
  float: right;
  text-transform: capitalize; }

.compare-page .test-score .section {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem;
  padding: 12px; }
  .compare-page .test-score .section:nth-of-type(odd) {
    background: #f2f2f2; }
  .compare-page .test-score .section ul {
    margin: 0; }
  .compare-page .test-score .section li::before, .compare-page .test-score .section li::after {
    content: ' ';
    display: table; }
  .compare-page .test-score .section li::after {
    clear: both; }
  .compare-page .test-score .section .attribute-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.9375rem; }

.compare-page .test-score .label-title {
  float: left;
  padding-right: 10px;
  width: calc(100% - 75px); }

.compare-page .test-score .raiting {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  float: right;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  width: 75px; }

.compare-page .test-score [class^="icon-"]::before,
.compare-page .test-score [class*=" icon-"]::before {
  margin: 0; }

.compare-page .test-score i {
  color: #ff6900;
  float: left; }

.compare-page .test-score .season-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 15px; }
  .compare-page .test-score .season-title:not(:first-of-type) {
    margin: 30px 0 15px; }

.compare-page .product-set .product-tile {
  margin: 0; }
  .compare-page .product-set .product-tile .product-size .product-attributes {
    display: block; }

.compare-page .product-set .size-price-qty-box .box-spacing {
  margin: 0 0 25px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .size-price-qty-box .box-spacing {
      margin: 0 0 35px; } }

.compare-page .product-set .product-size {
  display: inline-block;
  text-align: left;
  width: 18%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .product-size {
      width: 30%; } }

.compare-page .product-set .priceQtyCompareForm {
  display: inline-block;
  width: 82%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .priceQtyCompareForm {
      width: 70%; } }
  .compare-page .product-set .priceQtyCompareForm .promotion {
    display: none; }

.compare-page .product-set .product-set-item::before, .compare-page .product-set .product-set-item::after {
  content: ' ';
  display: table; }

.compare-page .product-set .product-set-item::after {
  clear: both; }

.compare-page .product-set .product-set-details {
  display: inline-block;
  float: left;
  padding-left: 0.625rem;
  padding-right: 0.625rem;
  width: 65%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .product-set-details {
      width: 73%; }
      .compare-page .product-set .product-set-details .product-price {
        display: block; }
      .compare-page .product-set .product-set-details .price-sales,
      .compare-page .product-set .product-set-details .price-standard {
        margin-bottom: 0; }
      .compare-page .product-set .product-set-details .price-standard + .price-sales {
        margin: 2px 0 0; } }

.compare-page .product-set .product-pricing {
  width: 100%; }

.compare-page .product-set .add-sub-product {
  display: inline-block;
  float: right;
  text-align: right;
  width: 35%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .add-sub-product {
      width: 25%; } }
  .compare-page .product-set .add-sub-product .product-quantity {
    float: none;
    width: auto; }

.compare-page .product-set .product-add-to-cart {
  float: none;
  padding: 0; }

.compare-page .product-set .set-attr-titles {
  line-height: 1;
  padding: 0 12px 12px;
  text-align: right; }

.compare-page .product-set .set-attribute-name {
  display: inline-block;
  font-size: 15px;
  padding-left: 0.625rem;
  width: 18%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .set-attribute-name {
      width: 33%; } }

.compare-page .product-set .summary .attribute > .value,
.compare-page .product-set .tire-specs .attribute > .value {
  display: inline-block;
  padding-left: 0.625rem;
  text-align: right;
  width: 18%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .summary .attribute > .value,
    .compare-page .product-set .tire-specs .attribute > .value {
      width: 33%; } }

.compare-page .product-set .summary .attribute > .name,
.compare-page .product-set .tire-specs .attribute > .name {
  float: left; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .compare-page .product-set .summary .attribute > .name,
    .compare-page .product-set .tire-specs .attribute > .name {
      width: 34%; } }

.compare-page .product-set .tire-specs .value-rear .name {
  display: none; }

.compare-page .product-set .tire-specs .finish_attribute .value {
  width: 66%; }

.compare-page .product-set .tire-specs .finish_attribute .value:not(.value-rear) {
  display: none; }

.financing-blocks.active-plan .cb-column-child {
  background-color: #ff6900;
  color: #fff; }
  .financing-blocks.active-plan .cb-column-child h2,
  .financing-blocks.active-plan .cb-column-child a {
    color: #fff; }
  .financing-blocks.active-plan .cb-column-child a {
    text-decoration: none; }

.financing-blocks .cb-column-child {
  background-color: #fff;
  color: #000;
  min-height: 230px;
  position: relative;
  text-align: center; }
  .financing-blocks .cb-column-child h2 {
    color: #ff6900;
    font-size: 5.625rem;
    margin-bottom: 0;
    padding-top: 20px; }
  .financing-blocks .cb-column-child p.financing-month-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.875rem;
    margin-bottom: 56px; }
    .financing-blocks .cb-column-child p.financing-month-text + p.financing-small-info {
      letter-spacing: -2px;
      position: relative; }
  .financing-blocks .cb-column-child p.financing-info {
    font-size: 1.45rem;
    line-height: 1.6rem;
    margin-bottom: 0;
    padding: 0 10px; }
  .financing-blocks .cb-column-child p.financing-small-info {
    bottom: 12px;
    font-size: 1.5rem;
    left: 0;
    position: absolute;
    right: 0; }
  .financing-blocks .cb-column-child a {
    color: #000;
    text-decoration: underline; }
  .financing-blocks .cb-column-child img {
    margin: 40px auto 0;
    max-height: 90px;
    width: auto; }

.financing-blocks.steps-to-take .cb-column-child {
  border: 7px solid #1e1e1e;
  min-height: 438px; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .financing-blocks.steps-to-take .cb-column-child {
      min-height: 505px; } }
  .financing-blocks.steps-to-take .cb-column-child:hover {
    background-color: #fff;
    color: #000; }
    .financing-blocks.steps-to-take .cb-column-child:hover h2,
    .financing-blocks.steps-to-take .cb-column-child:hover a {
      color: #000; }
    .financing-blocks.steps-to-take .cb-column-child:hover a {
      text-decoration: underline; }
  .financing-blocks.steps-to-take .cb-column-child p.financing-small-info {
    font-size: 0.8125rem;
    line-height: 1.115rem;
    padding: 0 22px; }

.financing-blocks.steps-to-take h2 {
  color: #000;
  font-size: 1.4rem;
  font-weight: bold;
  padding: 30px 0 18px; }

.atroot .financing-blocks:not(.steps-to-take):nth-child(1),
.atroot .financing-blocks:not(.steps-to-take):nth-child(2) {
  border-right: 2px solid #ff3900; }
  @media screen and (max-width: 47.9375em) {
    .atroot .financing-blocks:not(.steps-to-take):nth-child(1),
    .atroot .financing-blocks:not(.steps-to-take):nth-child(2) {
      border-right: 0;
      position: relative; }
      .atroot .financing-blocks:not(.steps-to-take):nth-child(1)::before,
      .atroot .financing-blocks:not(.steps-to-take):nth-child(2)::before {
        border-bottom: 2px solid #ff3900;
        bottom: 0;
        content: "";
        height: 1px;
        left: 37%;
        position: absolute;
        width: 25%; } }

.last-monthly-column {
  padding-bottom: 50px !important; }
  @media screen and (max-width: 47.9375em) {
    .last-monthly-column {
      border-top: 2px solid #f2f2f2; } }
  @media screen and (min-width: 48em) {
    .last-monthly-column .columns {
      border-top: 2px solid #ff6900;
      padding-top: 50px; } }
  .last-monthly-column .cb-column-child h2 {
    color: #ff6900;
    font-size: 5.625rem;
    margin-bottom: 0;
    text-align: center; }
  .last-monthly-column .cb-column-child p.financing-month-text {
    font-size: 1.875rem;
    font-weight: bold;
    margin-bottom: 41px;
    text-align: center; }
  .last-monthly-column .cb-column-child p.financing-info-1,
  .last-monthly-column .cb-column-child p.financing-info-2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #ff6900;
    line-height: 1em; }
  .last-monthly-column .cb-column-child p.financing-info-1 {
    font-size: 2rem; }
  .last-monthly-column .cb-column-child p.financing-info-2 {
    font-size: 3.2rem; }
  .last-monthly-column .cb-column-child p.financing-small-info {
    font-size: 22px;
    letter-spacing: -2px; }
  @media screen and (min-width: 48em) {
    .last-monthly-column .cb-column-child .cb-column-child-copy:last-child {
      padding: 0 50px; } }
  @media screen and (max-width: 47.9375em) {
    .last-monthly-column .cb-column-child .cb-column-child-copy:last-child {
      text-align: center; }
      .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.financing-info-1,
      .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.financing-info-2 {
        text-align: left; }
      .last-monthly-column .cb-column-child .cb-column-child-copy:last-child a {
        margin: 0 auto;
        width: 90%; } }
  .last-monthly-column .cb-column-child .cb-column-child-copy:last-child a {
    text-align: center;
    width: 100%; }
  .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.terms-conditions {
    text-align: center; }
    .last-monthly-column .cb-column-child .cb-column-child-copy:last-child p.terms-conditions a {
      color: #000;
      font-size: 13px;
      text-align: center;
      text-decoration: underline; }

.cb-column-child-copy.single-column {
  text-align: center; }
  .cb-column-child-copy.single-column p.terms-conditions a {
    color: #000;
    font-size: 15px;
    text-align: center;
    text-decoration: none; }

.financing-apply-now-cta {
  margin-bottom: 50px; }
  .financing-apply-now-cta a {
    min-width: 220px; }
  .financing-apply-now-cta .cb-cta {
    margin: 0; }

#results-info-from-gsp {
  margin: 25px 0 50px; }
  #results-info-from-gsp img {
    display: block;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      #results-info-from-gsp img {
        margin-bottom: 20px; } }
  #results-info-from-gsp h4 {
    margin-bottom: 24px; }
  #results-info-from-gsp #change-responses-cta {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 13px; }
  #results-info-from-gsp.catcolor-all-weather h4 span {
    color: #bf1a8d; }
  #results-info-from-gsp.catcolor-winter h4 span {
    color: #20c3f3; }
  #results-info-from-gsp.catcolor-3-season h4 span,
  #results-info-from-gsp.catcolor-all-season h4 span {
    color: #fbb116; }
  #results-info-from-gsp.catcolor-performance h4 span {
    color: #6353a3; }
  #results-info-from-gsp.catcolor-touring h4 span {
    color: #00a651; }
  #results-info-from-gsp.catcolor-mud-terrain h4 span {
    color: #422800; }
  #results-info-from-gsp.catcolor-sport-truck h4 span {
    color: #9ecf7c; }
  #results-info-from-gsp.catcolor-all-terrain h4 span {
    color: #7a5226; }
  #results-info-from-gsp.catcolor-commercial h4 span {
    color: #a7a9ac; }
  #results-info-from-gsp.catcolor-ultra-high-performance h4 span {
    color: #a499ca; }

@media screen and (min-width: 64em) {
  #guidedSellingPathWrapper .atroot {
    padding: 0; } }

#guidedSellingPathWrapper #gspMobileClose {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 12px;
  padding: 20px 0; }

#guidedSellingPathWrapper h4 {
  font-size: 1.125rem;
  margin: 0 0 30px;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper h4 {
      font-size: 1.3125rem;
      margin-top: 50px;
      text-transform: none; } }

#guidedSellingPathWrapper h3 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  padding: 1.5em 0 0.75em; }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper h3 {
      font-size: 1.25rem; } }

#guidedSellingPathWrapper .gsp-question-wrapper {
  background: rgba(242, 242, 242, 0.85); }

#guidedSellingPathWrapper .gsp-question-number {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  border: 3px solid #ff6900;
  border-radius: 1em;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2em;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  line-height: 2em;
  margin: 0 1em 0 -3.5em;
  min-width: 2em;
  width: 2em; }

#guidedSellingPathWrapper .gsp-question-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #202020 url("../images/kaltire/question-header-image.png") -42px center no-repeat;
  background-size: 194px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 1rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-title {
      font-size: 1.375rem;
      padding: 0 0.625rem; } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-title {
      background-color: rgba(32, 32, 32, 0.85);
      background-image: url("../images/kaltire/question-header-image@2x.png");
      background-position: -66px center;
      background-size: 48%; } }
  #guidedSellingPathWrapper .gsp-question-title > div {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start;
    line-height: 1.25em;
    padding-bottom: 1.375em;
    padding-top: 1.375em; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-title > div {
        padding-bottom: 0.9775em;
        padding-right: 3rem;
        padding-top: 0.9775em; } }
    @media screen and (min-width: 64em) {
      #guidedSellingPathWrapper .gsp-question-title > div {
        padding-bottom: 1.4095em;
        padding-top: 1.4095em; } }

#guidedSellingPathWrapper .gspAnswer {
  cursor: pointer;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

#guidedSellingPathWrapper .fa-times {
  color: #fff;
  cursor: pointer;
  margin-top: -11px;
  position: absolute;
  right: 20px;
  top: 50%; }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .fa-times {
      right: 32px; } }
  #guidedSellingPathWrapper .fa-times:hover {
    color: #f2f2f2; }

#guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer {
  background-position: top center;
  background-size: cover;
  -ms-flex-preferred-size: calc(50% - 22.5px);
      flex-basis: calc(50% - 22.5px);
  flex-basis: calc(50% - 22.5px);
  height: 8.5em;
  margin: 0 0 1.2em 0.9375rem;
  max-width: calc(50% - 22.5px); }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer {
      -ms-flex-preferred-size: calc(33% - 20px);
          flex-basis: calc(33% - 20px);
      flex-basis: calc(33% - 20px);
      height: 11em;
      margin: 0 0.625rem 1.2em;
      max-width: calc(33% - 20px); } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer {
      -ms-flex-preferred-size: calc(20% - 20px);
          flex-basis: calc(20% - 20px);
      flex-basis: calc(20% - 20px);
      height: 12.5em;
      max-width: calc(20% - 20px); } }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer span {
    background: #fff;
    color: #000;
    font-size: 0.75rem;
    font-weight: bold;
    height: 37px;
    padding: 0 6px;
    position: relative;
    text-align: center;
    text-transform: uppercase;
    word-wrap: break-word;
    z-index: 2; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer span {
        font-size: 0.8125rem;
        height: 43px; } }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .gspAnswer:hover span {
    height: 49px; }

#guidedSellingPathWrapper .gsp-question-style-multiselect .selected {
  border: 0;
  position: relative; }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .selected span {
    background: #ff6900; }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .selected::after {
    background: rgba(0, 0, 0, 0.4);
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1; }
  #guidedSellingPathWrapper .gsp-question-style-multiselect .selected::before {
    border: 3px solid #fff;
    border-radius: 1.6875rem;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #fff;
    content: "\f00c";
    display: block;
    font-family: fontawesome;
    font-size: 1.4375rem;
    height: 3rem;
    left: 50%;
    margin-left: -1.5rem;
    position: absolute;
    text-align: center;
    top: 1.6875rem;
    width: 3rem;
    z-index: 2; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-style-multiselect .selected::before {
        border-width: 5px;
        font-size: 1.75rem;
        height: 3.4375rem;
        margin-left: -1.6875rem;
        top: 3.125rem;
        width: 3.4375rem; } }

#guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer {
  -ms-flex-item-align: start;
      align-self: flex-start; }
  @media screen and (max-width: 47.9375em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer {
      -ms-flex-item-align: start;
          align-self: flex-start;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      width: 50px; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:first-child {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:first-child h4,
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:first-child p {
      text-align: left; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:last-child {
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end; }
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:last-child h4,
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer:last-child p {
      text-align: right; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer h4 {
    font-size: 0.8125rem;
    margin: 2em 0 0.75em;
    position: relative;
    text-align: center;
    text-transform: uppercase; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer p {
    color: rgba(128, 130, 133, 0.7);
    font-size: 0.75rem;
    line-height: 1em;
    max-width: 200px;
    text-align: center;
    text-align: center; }
  #guidedSellingPathWrapper .gsp-question-style-radioselecta .gspAnswer.selected {
    border: 0; }

#guidedSellingPathWrapper .gsp-question-style-radioselecta .option-bg {
  background: #ff6900;
  border-radius: 24px;
  height: 47px;
  margin-top: 3.75em;
  width: 100%; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselecta .option-bg {
      margin-top: 9.375em; } }

#guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer,
#guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  color: #000;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  text-align: center; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer p,
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer p {
    font-size: inherit;
    line-height: 1.3125em;
    width: 14rem; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer strong,
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer strong {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }

#guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  height: 14.1875rem;
  margin: 30px 1.875rem; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer {
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%;
      height: 14.1875rem;
      margin: 30px 1.875rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:last-child {
        margin-left: 0.9375rem;
        margin-right: 1.25rem; } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer {
      height: 14.1875rem;
      margin: 30px 1.875rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer p {
        text-align: center;
        width: 12.13rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:last-child {
        margin-left: 0.9524em;
        margin-right: 0; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:hover {
    border: 4px solid #ff6900; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer span {
    background: #ff6900;
    color: #fff;
    font-size: 0.75rem;
    font-weight: bold;
    height: 37px;
    position: relative;
    text-transform: uppercase;
    z-index: 2; }
    @media screen and (min-width: 48em) {
      #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer span {
        font-size: 0.8125rem;
        height: 43px; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .gspAnswer:hover span {
    height: 49px; }

#guidedSellingPathWrapper .gsp-question-style-radioselectb img {
  height: 4.375rem;
  margin-bottom: 0.8rem; }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectb img {
      height: 5.625rem; } }

#guidedSellingPathWrapper .gsp-question-style-radioselectb .selected {
  border: 4px solid #ff6900;
  position: relative; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .selected::after {
    content: "";
    height: 100%;
    left: 0;
    position: absolute;
    top: 0;
    width: 100%;
    z-index: 1; }
  #guidedSellingPathWrapper .gsp-question-style-radioselectb .selected::before {
    background: #fff;
    border: 3px solid #fff;
    border-radius: 1.6875rem;
    border-width: 5px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #ff6900;
    content: "\f00c";
    display: block;
    font-family: fontawesome;
    font-size: 1.5rem;
    height: 3.0375rem;
    position: absolute;
    right: 0.725rem;
    text-align: center;
    top: 0.525rem;
    width: 3.0375rem;
    z-index: 2; }

#guidedSellingPathWrapper .gsp-question-style-radioselectc .gsp-question-number {
  margin-left: -3.75em; }

#guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
  height: 13rem;
  margin: 0 0.9375rem 1.875rem; }
  @media screen and (min-width: 48em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
      height: 13.8125rem;
      margin-top: -0.4375rem; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer:first-child {
        margin-left: 0; }
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer:last-child {
        margin-right: 0; } }
  @media screen and (min-width: 64em) {
    #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      height: 17rem; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer img {
    height: 8.625rem; }
    @media screen and (min-width: 64em) {
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer img {
        height: 10.8125rem; } }
  #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer p {
    margin-bottom: 0.7rem;
    width: 14rem; }
    @media screen and (min-width: 64em) {
      #guidedSellingPathWrapper .gsp-question-style-radioselectc .gspAnswer p {
        font-size: 1.375rem;
        margin-bottom: 0.7rem;
        padding-left: 0.9375rem;
        text-align: left;
        width: 19rem; } }

#guidedSellingPathWrapper .button {
  background: transparent;
  border: 3px solid #ff6900;
  color: #000;
  margin-bottom: 3.25em;
  padding: 13px 2.5em;
  text-transform: uppercase; }
  #guidedSellingPathWrapper .button:hover {
    background: #ffa566; }
  #guidedSellingPathWrapper .button.disabled {
    background: #808285;
    border-color: #808285;
    color: #fff; }

@media screen and (max-width: 47.9375em) {
  .gsp-question-style-radioselecta .gspAnswer h4,
  .gsp-question-style-radioselecta .gspAnswer p {
    display: none; }
  .gsp-question-style-radioselecta .gspAnswer:first-child h4,
  .gsp-question-style-radioselecta .gspAnswer:first-child p, .gsp-question-style-radioselecta .gspAnswer:last-child h4,
  .gsp-question-style-radioselecta .gspAnswer:last-child p {
    display: block; } }

.gsp-question-style-radioselecta .gspAnswer .option {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #fff;
  border: 1px solid #ff6900;
  border-radius: 18px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 36px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: -42px 5px 0;
  width: 36px; }
  .gsp-question-style-radioselecta .gspAnswer .option::after {
    background: rgba(128, 130, 133, 0.2);
    border-radius: 10px;
    content: "";
    display: block;
    height: 15px;
    width: 15px; }

.gsp-question-style-radioselecta .gspAnswer.selected .option,
.gsp-question-style-radioselecta .gspAnswer .option:hover {
  border: 1px solid #fff; }
  .gsp-question-style-radioselecta .gspAnswer.selected .option::after,
  .gsp-question-style-radioselecta .gspAnswer .option:hover::after {
    background: #ff6900; }

@media screen and (min-width: 64em) {
  .gsp-question-style-radioselectc .gsp-question-answers ul {
    pointer-events: none; } }

.gsp-question-style-radioselectc .gsp-question-answers ul:hover .gspAnswer:hover {
  border-color: #ff6900;
  border-width: 4px; }

.gsp-question-style-radioselectc .gspAnswer {
  -ms-flex-preferred-size: 100%;
      flex-basis: 100%;
  font-size: 1.125rem; }
  @media screen and (min-width: 48em) {
    .gsp-question-style-radioselectc .gspAnswer {
      -ms-flex-preferred-size: 40%;
          flex-basis: 40%; } }
  @media screen and (min-width: 64em) {
    .gsp-question-style-radioselectc .gspAnswer {
      font-size: 1.3125rem;
      pointer-events: auto; }
      .gsp-question-style-radioselectc .gspAnswer.selected {
        border-color: #ff6900; } }
  .gsp-question-style-radioselectc .gspAnswer strong::after {
    content: ","; }

.noresults-page p,
.noresults-page a {
  font-size: 0.875rem; }

.noresults-page .search-phrase {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .noresults-message {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0 0 30px; }
  .noresults-page .noresults-message p {
    font-size: 1.125rem; }

.noresults-page .section-title {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .new-search,
.noresults-page .related-search,
.noresults-page .resource-center {
  margin: 0 0 30px; }

.noresults-page .new-search input {
  height: 45px;
  margin: 0; }

.noresults-page .new-search .button {
  margin: 0 0 0 7px; }
  @media screen and (max-width: 47.9375em) {
    .noresults-page .new-search .button {
      height: 45px;
      padding: 0 10px; } }

.noresults-page .new-search .icon-search {
  font-size: 1.0625rem; }

.noresults-page .related-search .refinement-header {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .related-search ul {
  margin: 0; }

.noresults-page .related-search li {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 15px; }

@media screen and (max-width: 47.9375em) {
  .noresults-page .customer-service {
    border-top: 2px solid #ccc;
    padding: 30px 0 0; } }

.noresults-page .customer-service .box {
  margin: 0 0 20px; }

.noresults-page .customer-service h4 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1rem;
  margin: 0; }
  .noresults-page .customer-service h4 span {
    padding: 0 0 0 8px; }

.noresults-page .customer-service a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem; }

.noresults-page .customer-service p,
.noresults-page .customer-service a {
  margin: 0 0 0 30px; }

.noresults-page .noresults-selector {
  margin-top: 3.125rem; }
  .noresults-page .noresults-selector p {
    line-height: 1.6875rem; }
  .noresults-page .noresults-selector .button.hollow {
    color: inherit; }

@media screen and (min-width: 48em) {
  .noresults-page .noresults-message {
    background: #202020;
    color: #fff;
    margin: 0 0 45px;
    padding: 45px 0;
    text-align: center; }
  .noresults-page .medium-centered {
    left: 50%;
    position: relative;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .noresults-page .noresults-selector {
    background-image: url("../images/kaltire/question-header-image@2x.png");
    background-position: 550px center;
    background-repeat: no-repeat;
    background-size: 600px;
    margin-top: 3.125rem; } }

@media screen and (min-width: 64em) {
  .noresults-page .noresults-selector {
    background-position: 150% center; } }

.visualizer-wrapper {
  border: 6px solid #f2f2f2;
  margin-bottom: 1.875rem; }

.visualizer-container {
  padding: 0.625rem 0.75rem; }
  @media screen and (min-width: 48em) {
    .visualizer-container .visualizer-image {
      bottom: 4.175rem;
      position: absolute;
      right: 0.625rem; } }
  .visualizer-container .visualizer-tools {
    color: #808285;
    float: right;
    font-size: 13px;
    position: relative;
    z-index: 1; }
    .visualizer-container .visualizer-tools a {
      color: #808285; }
      .visualizer-container .visualizer-tools a:hover {
        text-decoration: underline; }
    .visualizer-container .visualizer-tools .minimize {
      display: none; }
  .visualizer-container .product-tile {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  .visualizer-container .brand-name {
    font-size: 17px; }
  .visualizer-container .product-name {
    font-size: 22px;
    line-height: 1;
    margin-bottom: 1.5rem; }
  .visualizer-container .finish {
    margin-bottom: 2.625rem;
    text-transform: capitalize; }
  .visualizer-container .finish,
  .visualizer-container .attribute {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem; }
    .visualizer-container .finish span,
    .visualizer-container .attribute span {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
  .visualizer-container .attribute {
    color: #ff6900;
    margin-bottom: 1.5rem; }
    .visualizer-container .attribute span {
      color: #000;
      display: block; }
    .visualizer-container .attribute em {
      font-style: normal; }
      .visualizer-container .attribute em::after {
        content: "\f10e";
        font-family: fontawesome;
        font-size: 6px;
        vertical-align: super; }
  .visualizer-container .product-pricing {
    float: none;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .visualizer-container .product-pricing .price-standard {
        display: inline-block; } }
    @media screen and (min-width: 48em) {
      .visualizer-container .product-pricing .price-standard + .price-sales {
        float: none; } }
  .visualizer-container .product-price {
    color: #ff6900;
    margin-bottom: 1.25rem; }
    .visualizer-container .product-price::before, .visualizer-container .product-price::after {
      content: ' ';
      display: table; }
    .visualizer-container .product-price::after {
      clear: both; }
  .visualizer-container .visualizer-tip {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    border: 0;
    color: #ff6900;
    font-size: 11px;
    margin-bottom: 1.25rem; }
    @media screen and (min-width: 48em) {
      .visualizer-container .visualizer-tip {
        bottom: 5px;
        position: absolute;
        right: 0.625rem; } }
  .visualizer-container .relative {
    position: relative; }

.visualizer-carousel {
  border-top: 6px solid #f2f2f2;
  padding: 1.25rem 3.5rem 0;
  position: relative; }
  .visualizer-carousel .carousel-wrapper {
    height: 14rem; }
  .visualizer-carousel .carousel-container {
    margin: 0; }

.v-carousel-item {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  cursor: pointer;
  font-size: 12px;
  height: 14rem;
  outline: none;
  text-align: center; }
  .v-carousel-item img {
    outline: none; }
  .v-carousel-item a {
    display: block;
    margin: 0 auto;
    max-width: 120px;
    outline: none; }
  .v-carousel-item .price {
    color: #808285; }
    .v-carousel-item .price .currency-code {
      font-size: 100%;
      top: 0; }
  .v-carousel-item.active, .v-carousel-item:hover {
    border-bottom: 6px solid #ff6900; }

.visualizer-colors {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.25rem 0 0.625rem; }
  @media screen and (min-width: 48em) {
    .visualizer-colors {
      bottom: 0.625rem;
      left: 50%;
      position: absolute;
      -webkit-transform: translateX(-50%);
          -ms-transform: translateX(-50%);
              transform: translateX(-50%); } }
  .visualizer-colors li {
    border: 1px solid #808285;
    border-radius: 10px;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    color: #fff;
    cursor: pointer;
    height: 1rem;
    line-height: 1rem;
    margin: 5px 2px;
    min-width: 1rem;
    overflow: hidden;
    position: relative;
    text-indent: -9999px;
    width: 1rem; }
    @media screen and (max-width: 47.9375em) {
      .visualizer-colors li {
        margin: 5px 2px; } }
    .visualizer-colors li::before {
      content: "\f111";
      font-family: fontawesome;
      font-size: 20px;
      left: 50%;
      margin: -0.5rem 0 0 -0.5rem;
      position: absolute;
      text-indent: 0;
      top: 50%; }
    .visualizer-colors li.active, .visualizer-colors li:hover {
      border-color: #ff6900; }

@media screen and (min-width: 48em) {
  #v-visualizer-large .product-tile {
    min-height: 24rem; } }

#v-visualizer-large .visualizer-tools .minimize {
  display: block; }

#v-visualizer-large .visualizer-tools .expand {
  display: none; }

#v-visualizer-large .product-tile {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700; }

.carousel-btn {
  border: 3px solid #ff6900;
  color: #000;
  height: 2rem;
  left: 1rem;
  line-height: 1.75rem;
  position: absolute;
  text-align: center;
  top: 4rem;
  width: 2rem; }
  .carousel-btn.slick-disabled {
    border-color: #e6e6e6;
    color: #e6e6e6; }
  .carousel-btn.carousel-next {
    left: auto;
    right: 1rem; }

#v-pdp-toplevelcomponent {
  position: relative; }
  @media screen and (min-width: 48em) {
    #v-pdp-toplevelcomponent #v-vehicle-image {
      min-height: 17.5rem; }
    #v-pdp-toplevelcomponent .relative {
      padding-bottom: 3.125rem; } }

#v-visualizer-default-vehicle-small {
  text-align: center; }

.login-wrapper {
  margin-bottom: 6.25rem;
  padding: 0.3125rem 0; }
  @media screen and (min-width: 48em) {
    .login-wrapper {
      border: 5px solid rgba(242, 242, 242, 0.8);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-bottom: 2.813rem;
      padding-top: 4.063rem; } }
  .pt_cart .login-wrapper {
    margin-bottom: 0; }
  .login-wrapper h5 {
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper h5 {
        margin-bottom: 1.375rem; } }
  .login-wrapper .dialog-required {
    margin: 0 0 1rem;
    text-align: left; }
  .login-wrapper .bordered-end {
    border-bottom: 1px solid #f2f2f2;
    margin-bottom: 2.375rem;
    padding-bottom: 0.3125rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .bordered-end {
        border-bottom: 0;
        border-right: 1px solid #f2f2f2;
        margin-bottom: 0;
        margin-right: 0.625rem;
        padding-bottom: 0;
        padding-right: 0.625rem; }
        .login-wrapper .bordered-end .button-group {
          margin-bottom: 0; } }
  .login-wrapper .password-reset {
    font-size: 0.6875rem;
    line-height: 1.625rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .password-reset {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        font-size: 0.75rem; } }
  .login-wrapper .login-rememberme {
    margin: 0.9375rem 0 1.875rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .login-rememberme {
        margin-bottom: 3.125rem; } }
  .login-wrapper .error-form {
    margin-bottom: 1.125rem; }
  .login-wrapper .login-create-account p {
    margin: 0.1875rem 0 1.75rem; }
    @media screen and (min-width: 48em) {
      .login-wrapper .login-create-account p {
        font-size: 0.875rem;
        line-height: 1.1875rem;
        margin-bottom: 2.875rem; } }

.login-page-title,
.brands-landing-wrapper .brands-page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 21px;
  margin: 20px 0;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .login-page-title,
    .brands-landing-wrapper .brands-page-title {
      font-size: 1.625rem;
      margin: 30px 0 2.9375rem; } }
  @media screen and (min-width: 48em) {
    .login-page-title,
    .brands-landing-wrapper .brands-page-title {
      margin: 50px 0 2.9375rem; } }

.ui-widget-overlay {
  background: rgba(0, 0, 0, 0.9);
  height: 100%;
  left: 0;
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 100; }

.ui-widget {
  font-size: 0.875rem;
  max-width: 100%;
  outline: none;
  padding: 0 0.9375rem;
  z-index: 101; }
  .ui-widget p {
    line-height: 1.375rem;
    margin-bottom: 1.375rem;
    margin-bottom: 1.5625rem; }
    @media screen and (min-width: 48em) {
      .ui-widget p {
        margin-bottom: 1rem; } }
  .ui-widget .dialog-content {
    background: #fff;
    padding: 1.0625rem 1.25rem; }
    @media screen and (min-width: 48em) {
      .ui-widget .dialog-content {
        padding: 1.6875rem 1.875rem 2.6875rem; } }
  .ui-widget h1 {
    font-size: 1.125rem;
    margin-bottom: 1.5625rem; }
    @media screen and (min-width: 48em) {
      .ui-widget h1 {
        margin-bottom: 1.1875rem; } }
  .ui-widget .ui-dialog-title {
    display: none; }
  .ui-widget .ui-dialog-titlebar-close {
    border: 0;
    outline: none;
    padding: 0;
    position: absolute;
    right: 35px;
    top: 12px; }
    @media screen and (min-width: 48em) {
      .ui-widget .ui-dialog-titlebar-close {
        right: 47px;
        top: 24px; } }
  .ui-widget .ui-button-icon-only .ui-button-text {
    display: none; }
  .ui-widget .ui-button-icon-only .ui-button-icon-primary::after {
    color: #ff6900;
    content: "\f00d";
    font-family: fontawesome;
    font-size: 1.5rem; }
  .ui-widget .ui-button-icon-only .ui-button-icon-primary:hover::after {
    color: #db5a00; }
  .ui-widget .ui-dialog-buttonpane {
    background: #fff;
    padding: 1.5rem 1.25rem; }
    @media screen and (min-width: 48em) {
      .ui-widget .ui-dialog-buttonpane {
        padding: 0 1.875rem 1.5em; } }
  .ui-widget.no-buttonpane .ui-dialog-buttonpane {
    display: none; }
  .ui-widget .button-modal {
    margin-top: -2rem;
    padding: 0.75rem 18px; }

.password-container {
  display: inline-block;
  width: 100%; }
  .password-container .field-wrapper {
    position: relative; }

.password-icon {
  cursor: pointer;
  height: 20px;
  position: absolute;
  right: 10px;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 20px; }
  .password-icon::after {
    background-image: url("../images/eye-show-password.svg");
    background-repeat: no-repeat;
    background-size: contain;
    content: "";
    cursor: pointer;
    display: inline-block;
    height: 20px;
    width: 20px; }
  .password-icon.password-show::after {
    background-image: url("../images/eye-hide-password.svg"); }

.forgot-password {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.8125rem; }

.password-reset-dialog {
  max-width: 42rem; }
  @media screen and (min-width: 48em) {
    .password-reset-dialog p {
      font-size: 0.875rem; }
    .password-reset-dialog .form-row {
      float: left;
      margin-right: 0.625rem;
      min-width: 400px; }
    .password-reset-dialog .button-group {
      display: inline-block;
      margin-top: 1.375rem; }
    .password-reset-dialog strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; } }
  .password-reset-dialog .button-group {
    margin-bottom: 0; }

.pt_account .medium-centered {
  margin-left: auto;
  margin-right: auto; }

.register-page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 21px;
  margin: 20px 0;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .register-page-title {
      font-size: 1.625rem;
      margin: 30px auto 2.5rem; } }
  @media screen and (min-width: 64em) {
    .register-page-title {
      margin-top: 20px; } }
  .register-page-title.has-subtitle {
    margin-bottom: 0.5rem; }

.register-breadcrumb {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  font-weight: bold;
  margin-top: 40px; }

.register-form {
  margin-bottom: 4.875rem; }
  .register-form .dialog-required {
    margin: 0 0 1rem;
    text-align: left; }
  .register-form .info-box {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285; }
    .register-form .info-box a {
      color: #808285;
      text-decoration: underline; }
      .register-form .info-box a:hover {
        text-decoration: none; }
    .register-form .info-box p {
      font-size: 0.875rem;
      margin-bottom: 1.75rem; }
      @media screen and (min-width: 48em) {
        .register-form .info-box p {
          margin-bottom: 3rem; } }
  .register-form .hidden-caption .form-caption {
    display: none; }
  .register-form .newsletter-text {
    margin-bottom: 30px;
    margin-top: 10px; }
    .register-form .newsletter-text span {
      line-height: 1rem; }

.noresults-page p,
.noresults-page a {
  font-size: 0.875rem; }

.noresults-page .search-phrase {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .noresults-message {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  margin: 0 0 30px; }
  .noresults-page .noresults-message p {
    font-size: 1.125rem; }

.noresults-page .section-title {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .new-search,
.noresults-page .related-search,
.noresults-page .resource-center {
  margin: 0 0 30px; }

.noresults-page .new-search input {
  height: 45px;
  margin: 0; }

.noresults-page .new-search .button {
  margin: 0 0 0 7px; }
  @media screen and (max-width: 47.9375em) {
    .noresults-page .new-search .button {
      height: 45px;
      padding: 0 10px; } }

.noresults-page .new-search .icon-search {
  font-size: 1.0625rem; }

.noresults-page .related-search .refinement-header {
  font-size: 1.125rem;
  margin: 0 0 15px; }

.noresults-page .related-search ul {
  margin: 0; }

.noresults-page .related-search li {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 15px; }

@media screen and (max-width: 47.9375em) {
  .noresults-page .customer-service {
    border-top: 2px solid #ccc;
    padding: 30px 0 0; } }

.noresults-page .customer-service .box {
  margin: 0 0 20px; }

.noresults-page .customer-service h4 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 1rem;
  margin: 0; }
  .noresults-page .customer-service h4 span {
    padding: 0 0 0 8px; }

.noresults-page .customer-service a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem; }

.noresults-page .customer-service p,
.noresults-page .customer-service a {
  margin: 0 0 0 30px; }

.noresults-page .noresults-selector {
  margin-top: 3.125rem; }
  .noresults-page .noresults-selector p {
    line-height: 1.6875rem; }
  .noresults-page .noresults-selector .button.hollow {
    color: inherit; }

@media screen and (min-width: 48em) {
  .noresults-page .noresults-message {
    background: #202020;
    color: #fff;
    margin: 0 0 45px;
    padding: 45px 0;
    text-align: center; }
  .noresults-page .medium-centered {
    left: 50%;
    position: relative;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%); }
  .noresults-page .noresults-selector {
    background-image: url("../images/kaltire/question-header-image@2x.png");
    background-position: 550px center;
    background-repeat: no-repeat;
    background-size: 600px;
    margin-top: 3.125rem; } }

@media screen and (min-width: 64em) {
  .noresults-page .noresults-selector {
    background-position: 150% center; } }

.packages-selection {
  margin: 40px 0 15px; }
  @media screen and (max-width: 47.9375em) {
    .packages-selection {
      padding: 0 30px; } }
  .packages-selection .circle-indicator {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #000;
    display: block;
    font-size: 18px; }
    @media screen and (min-width: 48em) {
      .packages-selection .circle-indicator {
        display: inline-block;
        margin-left: 90px; }
        .packages-selection .circle-indicator:first-child {
          margin: 0; } }
    .packages-selection .circle-indicator:first-child {
      margin: 0 0 12px; }
    .packages-selection .circle-indicator .pk-edit-wheel {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 13px;
      margin-left: 5px; }
    .packages-selection .circle-indicator .step-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      background: #000;
      border-radius: 50%;
      color: #fff;
      display: inline-block;
      font-size: 18px;
      height: 32px;
      line-height: 32px;
      margin: 0 0.3125rem 0 0;
      text-align: center;
      width: 32px; }
    .packages-selection .circle-indicator.selected {
      color: #ff6900; }
      .packages-selection .circle-indicator.selected .step-number {
        background: #ff6900; }
    .packages-selection .circle-indicator.disabled {
      color: #d9d9da; }
      .packages-selection .circle-indicator.disabled .step-number {
        background: #d9d9da; }

.selector-packages h2 {
  font-size: 1.25rem;
  margin-bottom: 0;
  text-transform: none; }

.selector-packages h5 {
  margin-bottom: 0; }
  @media screen and (max-width: 47.9375em) {
    .selector-packages h5 {
      margin-top: 2rem; } }

.selector-packages .mid-line-copy {
  margin: 2.5rem 0 2.375rem; }

.selector-packages .oe-size {
  border: 0;
  display: inline-block;
  margin: 0 0 1rem; }
  @media screen and (min-width: 48em) {
    .selector-packages .oe-size {
      margin: 0 0 3rem; } }
  .selector-packages .oe-size .sel-subtitle span {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
  .selector-packages .oe-size a {
    color: #808285;
    display: block;
    font-size: 0.9375rem;
    padding: 15px 18px; }
    .selector-packages .oe-size a:not(.sel-subtitle) {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #000;
      margin-bottom: 0;
      text-transform: uppercase; }
  .selector-packages .oe-size.oe-size-orange {
    background: #ff6900;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out; }
    .selector-packages .oe-size.oe-size-orange:hover {
      background: #ffa566;
      border-color: #ffa566; }
    .selector-packages .oe-size.oe-size-orange a {
      color: #fff; }

.selector-packages .optional-sizes-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin-bottom: 1.1875rem; }
  .selector-packages .optional-sizes-header i {
    color: #ff6900;
    margin-left: 15px; }
    .selector-packages .optional-sizes-header i::before {
      font-size: 40px;
      line-height: 27px; }

.selector-packages .show-self-service {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }

.selector-packages .oe-size-container .section-tite {
  margin-bottom: 0.5rem; }

.selector-packages .oe-size-container .sel-subtitle {
  margin: 0; }

.selector-packages .oe-size-container .subtitle-title {
  font-weight: bold; }

.selector-packages .your-vehicle-info {
  margin-bottom: 1rem; }

.selector-packages .section-title-tooltip {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 0.5rem; }
  .selector-packages .section-title-tooltip .sel-subtitle {
    margin-bottom: 0;
    margin-left: 0.5rem; }

.oe-size-btn {
  text-align: center; }

.section-question-copy p, .packages-section-heading p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #808285;
  font-size: 0.8125rem; }
  .section-question-copy p span, .packages-section-heading p span {
    color: #ff6900;
    cursor: pointer;
    float: left; }

.packages-section-heading {
  /* stylelint-disable-line */ }
  .packages-section-heading p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #000;
    font-size: 0.875rem;
    margin-bottom: 1.3125rem; }
  .packages-section-heading a {
    border-bottom: 2px dotted #ff6900;
    color: inherit;
    font-style: italic; }

.packages-section-heading-main {
  margin-top: 1rem; }
  .packages-section-heading-main p {
    margin-top: 1rem; }

.packages-staggered {
  margin-top: 1.875rem; }
  .packages-staggered .package-staggered-button {
    margin-left: 0.9375rem; }
    @media screen and (max-width: 47.9375em) {
      .packages-staggered .package-staggered-button {
        margin-left: 0;
        margin-top: 0.9375rem; } }

#rebatesLandingWrapper .rebatesTopSlotWrapper {
  background: #000;
  background-size: cover;
  color: #fff;
  padding: 70px 0 100px;
  position: relative; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebatesTopSlotWrapper {
      padding: 125px 0 135px; } }
  #rebatesLandingWrapper .rebatesTopSlotWrapper h1,
  #rebatesLandingWrapper .rebatesTopSlotWrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 46px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebatesTopSlotWrapper h1,
      #rebatesLandingWrapper .rebatesTopSlotWrapper h2 {
        font-size: 67px; } }
  #rebatesLandingWrapper .rebatesTopSlotWrapper p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.2rem;
    margin: 1.4rem 0 0; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebatesTopSlotWrapper p {
        font-size: 18px;
        line-height: 1.6rem; } }
  #rebatesLandingWrapper .rebatesTopSlotWrapper .rebates-tabs-nav-wrapper {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    left: 0;
    line-height: 45px;
    min-height: 45px;
    position: absolute;
    right: 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebatesTopSlotWrapper .rebates-tabs-nav-wrapper {
        line-height: 60px;
        min-height: 60px; } }

#rebatesLandingWrapper .rebates-tabs-nav {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  line-height: 45px;
  margin: 0; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-tabs-nav {
      line-height: 60px; } }
  #rebatesLandingWrapper .rebates-tabs-nav li {
    display: inline;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    position: relative;
    text-align: center; }
    #rebatesLandingWrapper .rebates-tabs-nav li.active a {
      opacity: 1; }
    #rebatesLandingWrapper .rebates-tabs-nav li a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #fff;
      display: block;
      font-size: 12px;
      opacity: 0.6;
      width: 100%; }
      @media screen and (min-width: 48em) {
        #rebatesLandingWrapper .rebates-tabs-nav li a {
          font-size: 16px; } }
    #rebatesLandingWrapper .rebates-tabs-nav li:hover::after, #rebatesLandingWrapper .rebates-tabs-nav li.active::after {
      background: #ff6900;
      bottom: 0;
      content: "";
      height: 3px;
      left: 0;
      position: absolute;
      right: 0;
      width: 100%; }
      @media screen and (min-width: 48em) {
        #rebatesLandingWrapper .rebates-tabs-nav li:hover::after, #rebatesLandingWrapper .rebates-tabs-nav li.active::after {
          height: 5px; } }

#rebatesLandingWrapper .rebatesMainContentWrapper {
  margin: 45px 0 115px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebatesMainContentWrapper {
      margin: 75px 0 115px; } }

#rebatesLandingWrapper .rebates-landing-head h2 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 18px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-landing-head h2 {
      font-size: 22px; } }

#rebatesLandingWrapper .rebates-landing-head p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-landing-head p {
      font-size: 16px; } }

#rebatesLandingWrapper .rebates-landing-head img {
  display: block;
  height: auto;
  width: 100%; }

#rebatesLandingWrapper .rebates-landing-head .button.small {
  margin: 20px 0 0;
  padding: 8px 15px; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-landing-head .button.small {
      font-size: 13px;
      margin: 30px 0 0;
      padding: 10px 15px; } }

#rebatesLandingWrapper .rebates-item {
  border: 6px solid #f2f2f2;
  margin: 15px 0 0;
  padding: 7px;
  width: 100%; }
  #rebatesLandingWrapper .rebates-item::before, #rebatesLandingWrapper .rebates-item::after {
    content: ' ';
    display: table; }
  #rebatesLandingWrapper .rebates-item::after {
    clear: both; }
  @media screen and (min-width: 48em) {
    #rebatesLandingWrapper .rebates-item {
      margin: 20px 0 0;
      padding: 12px; } }
  #rebatesLandingWrapper .rebates-item .rebates-item-img {
    display: none;
    float: left;
    width: 35.332%; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item .rebates-item-img {
        display: block; } }
    #rebatesLandingWrapper .rebates-item .rebates-item-img img {
      width: 100%; }
  #rebatesLandingWrapper .rebates-item .rebates-item-content {
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
    float: left;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item .rebates-item-content {
        padding-left: 20px;
        width: 64.67%; } }
  #rebatesLandingWrapper .rebates-item h3 {
    font-size: 16px;
    margin: 0;
    padding: 0 10px 5px; }
  #rebatesLandingWrapper .rebates-item h2 {
    font-size: 22px;
    margin: 0;
    padding: 0 10px 10px; }
  #rebatesLandingWrapper .rebates-item p {
    font-size: 14px;
    margin: 0;
    padding: 0 10px 18px; }
    #rebatesLandingWrapper .rebates-item p strong {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
  #rebatesLandingWrapper .rebates-item a.button {
    margin: 0 0 8px 10px;
    padding: 11px 15px; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item a.button {
        margin: 0 0 0 10px; } }

#rebatesLandingWrapper .rebates-item-type-row {
  overflow: hidden; }
  #rebatesLandingWrapper .rebates-item-type-row .rebates-item-type {
    float: left; }
    @media screen and (min-width: 48em) {
      #rebatesLandingWrapper .rebates-item-type-row .rebates-item-type {
        float: right; } }

#rebatesLandingWrapper .rebates-item-type {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  background: #ff6900;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  line-height: 27px;
  margin-bottom: 15px;
  padding: 0 13px; }
  #rebatesLandingWrapper .rebates-item-type.black {
    background: #000; }

@media screen and (max-width: 47.9375em) {
  .brands-landing-wrapper h4 {
    font-size: 18px; } }

.brands-landing-wrapper .brands-page-title {
  margin-bottom: 1.75rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-page-title {
      margin-bottom: 2.5rem; } }

.brands-landing-wrapper .brands,
.brands-landing-wrapper .featured-brands {
  border-bottom: 1px solid #f2f2f2;
  margin-bottom: 1.75rem;
  padding-bottom: 1.25rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands,
    .brands-landing-wrapper .featured-brands {
      margin-bottom: 4.1875rem;
      padding-bottom: 3.125rem; } }

.brands-landing-wrapper .brands-slot div {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -ms-flex-pack: distribute;
      justify-content: space-around;
  padding: 1rem 0; }
  .brands-landing-wrapper .brands-slot div p {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    max-width: 50%;
    padding: 1.8rem; }
    @media screen and (min-width: 48em) {
      .brands-landing-wrapper .brands-slot div p {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%;
        max-width: 25%; } }

.brands-landing-wrapper .brands {
  padding: 1rem 0; }

@media screen and (max-width: 47.9375em) {
  .brands-landing-wrapper .brands-item:nth-child(odd) {
    padding-right: 0.3125rem; }
  .brands-landing-wrapper .brands-item:nth-child(even) {
    padding-left: 0.3125rem; } }

.brands-landing-wrapper .brands-item a {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 3.75rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 0.625rem;
  padding: 0.625rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-item a {
      height: 8rem;
      margin-bottom: 1.3rem;
      padding: 1.3rem; } }

.brands-landing-wrapper .brands-item.featured-brands-item a {
  border: 6px solid #f2f2f2;
  height: 7.1875rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-item.featured-brands-item a {
      border-width: 10px;
      height: 15rem; } }

.brands-landing-wrapper .brands-item .button {
  display: none;
  margin: 0.625rem 0 0;
  min-height: 1.5rem;
  padding: 0.3125rem; }
  @media screen and (min-width: 48em) {
    .brands-landing-wrapper .brands-item .button {
      font-size: 0.8125rem;
      margin-top: 1.3rem;
      padding: 0.9375rem 0.625rem;
      padding-right: 0.625rem; } }

.brands-landing-wrapper .brands-item:hover .button {
  display: block; }

.brands-landing-wrapper .brands-item img {
  max-height: 4.0625rem; }

.brand-banner {
  background-size: cover;
  color: #fff;
  margin-bottom: 1.75rem;
  padding: 4rem 0 3rem; }
  @media screen and (min-width: 48em) {
    .brand-banner {
      margin-bottom: 3rem;
      padding: 8.75rem 0 8.25rem; }
      .brand-banner p {
        font-size: 18px;
        line-height: 1.5rem; } }
  .brand-banner h1,
  .brand-banner h2 {
    font-size: 42px;
    margin-bottom: 1.5rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .brand-banner h1,
      .brand-banner h2 {
        font-size: 67px;
        margin-bottom: 1rem; } }

.brand-banner-wrapper {
  margin-bottom: 2.75rem;
  min-height: 3.3125rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .brand-banner-wrapper {
      margin-bottom: 5rem;
      min-height: 3.75rem; } }
  .brand-banner-wrapper .brand-banner {
    background-position: 79% 20%;
    margin-bottom: 0;
    padding-bottom: 5.625rem; }
    @media screen and (min-width: 48em) {
      .brand-banner-wrapper .brand-banner {
        padding: 8.125rem 0 8.25rem; } }

.brand-menu-wrapper {
  background: rgba(0, 0, 0, 0.6);
  bottom: 0;
  height: 3.3125rem;
  left: 0;
  position: absolute;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .brand-menu-wrapper {
      height: 3.75rem; } }
  .brand-menu-wrapper ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0; }
    .brand-menu-wrapper ul li {
      -webkit-box-flex: 1;
          -ms-flex-positive: 1;
              flex-grow: 1;
      line-height: 3.3125rem;
      max-width: 33%; }
      @media screen and (min-width: 48em) {
        .brand-menu-wrapper ul li {
          line-height: 3.75rem; } }
      .brand-menu-wrapper ul li a {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 12px;
        height: 3.3125rem;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        line-height: 1rem;
        opacity: 0.6;
        padding: 5px;
        text-align: center; }
        @media screen and (min-width: 48em) {
          .brand-menu-wrapper ul li a {
            font-size: 16px;
            height: 3.75rem; } }
    .brand-menu-wrapper ul .selected,
    .brand-menu-wrapper ul a:hover {
      opacity: 1;
      position: relative; }
      .brand-menu-wrapper ul .selected::after,
      .brand-menu-wrapper ul a:hover::after {
        background: #ff6900;
        bottom: 0;
        content: "";
        display: block;
        height: 3px;
        left: 0;
        position: absolute;
        right: 0;
        width: 100%; }
        @media screen and (min-width: 48em) {
          .brand-menu-wrapper ul .selected::after,
          .brand-menu-wrapper ul a:hover::after {
            height: 6px; } }

.brand-page-title {
  border-left: 3px solid #ff6900;
  font-size: 24px;
  line-height: 1.125rem;
  margin-bottom: 2.75rem;
  padding-left: 1.125rem;
  text-transform: uppercase; }

.about-brand-section {
  margin-bottom: 2rem; }
  .about-brand-section iframe {
    max-width: 100%;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      .about-brand-section iframe {
        height: auto; } }
  .about-brand-section .button,
  .about-brand-section p {
    margin-bottom: 1.5rem; }
  .about-brand-section .about-brand-top {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }

.brand-page-products .grid-tile {
  /* stylelint-disable-line */ }

.brand-page-products .recommended-bagde,
.brand-page-products .product-compare {
  display: none; }

.contactus-landing-wrapper .contact-us-map {
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .contactus-landing-wrapper .contact-us-map {
      padding: 0 30px; } }

.contactus-landing-wrapper .contactus-banner {
  background-size: cover;
  color: #fff;
  margin-bottom: 1.75rem;
  padding: 4rem 0 3rem; }
  @media screen and (min-width: 48em) {
    .contactus-landing-wrapper .contactus-banner {
      margin-bottom: 3rem;
      padding: 8.75rem 0 8.25rem; }
      .contactus-landing-wrapper .contactus-banner p {
        font-size: 18px;
        line-height: 1.5rem; } }
  .contactus-landing-wrapper .contactus-banner .contactus-banner-text-block {
    margin-top: 3rem; }
  .contactus-landing-wrapper .contactus-banner p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
  .contactus-landing-wrapper .contactus-banner h2 {
    font-size: 42px;
    margin-bottom: 1.5rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .contactus-landing-wrapper .contactus-banner h2 {
        font-size: 67px;
        margin-bottom: 1rem; } }

@media screen and (max-width: 47.9375em) {
  .contactus-landing-wrapper .cards-title {
    font-size: 18px !important; } }

.contactus-landing-wrapper .contact-block {
  margin-bottom: 1.25rem; }

.contactus-landing-wrapper .contact-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px; }

.contactus-landing-wrapper .contact-openingdays {
  color: #999;
  margin-bottom: 0; }

.contactus-landing-wrapper .contact-divider {
  border-top: 1px solid #e8e8e9; }

.contactus-landing-wrapper .contactus-help {
  margin-top: 4rem; }

.contactus-landing-wrapper .contact-align-complement {
  font-family: "Gotham A", "Gotham B", Arial !important;
  font-size: 14px;
  font-weight: 400 !important;
  margin-bottom: 0;
  padding-left: 24px; }

.contactus-landing-wrapper .contactus-banner-wrapper {
  margin-bottom: 2.75rem;
  min-height: 3.3125rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .contactus-landing-wrapper .contactus-banner-wrapper {
      margin-bottom: 5rem;
      min-height: 3.75rem; } }
  .contactus-landing-wrapper .contactus-banner-wrapper .contactus-banner {
    margin-bottom: 0;
    padding-bottom: 5.625rem; }
    @media screen and (min-width: 48em) {
      .contactus-landing-wrapper .contactus-banner-wrapper .contactus-banner {
        padding: 8.125rem 0 8.25rem; } }

.contactus-landing-wrapper .contactus-page-title {
  border-left: 3px solid #ff6900;
  font-size: 26px;
  line-height: 1.125rem;
  margin-bottom: 2.75rem;
  padding-left: 1.125rem;
  text-transform: uppercase; }
  @media screen and (max-width: 47.9375em) {
    .contactus-landing-wrapper .contactus-page-title {
      font-size: 18px; } }

.contactus-landing-wrapper .contactus-help-cards {
  margin-bottom: 2rem;
  margin-top: 2rem; }
  .contactus-landing-wrapper .contactus-help-cards .cards-title {
    font-size: 1.375rem;
    margin-top: 0.9375rem; }
  @media screen and (max-width: 47.9375em) {
    .contactus-landing-wrapper .contactus-help-cards .card-block {
      margin-bottom: 1rem; } }
  .contactus-landing-wrapper .contactus-help-cards .card-icon {
    display: inline-block;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-style: normal;
    font-variant: normal;
    font-weight: normal;
    line-height: 1em;
    margin-right: 0.2em;
    speak: none;
    text-align: center;
    text-decoration: inherit;
    text-transform: none;
    width: 1em; }
  .contactus-landing-wrapper .contactus-help-cards .cards-description {
    font-size: 0.875rem; }
  .contactus-landing-wrapper .contactus-help-cards a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.875rem; }
  .contactus-landing-wrapper .contactus-help-cards .assistance-block {
    background: #ededed;
    margin-top: 1.5rem;
    padding: 1.25rem; }
    .contactus-landing-wrapper .contactus-help-cards .assistance-block .assistance-text {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #999;
      margin-bottom: 0.3125rem; }
    .contactus-landing-wrapper .contactus-help-cards .assistance-block .assistance-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #f60;
      margin-bottom: 0.3125rem; }

.contactus-address {
  display: block; }
  @media screen and (min-width: 48em) {
    .contactus-address {
      display: none; } }
  .contactus-address .address-title {
    font-size: 1.125rem;
    margin-top: 0.9375rem; }
  .contactus-address .address-location {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin-bottom: 0; }
  .contactus-address .address-directions {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.8125rem; }
  .contactus-address .address-workinghours {
    margin-bottom: 2rem; }

@media print {
  a[href]::after {
    content: none; }
  .pt_order-confirmation {
    margin: 5mm;
    width: 100%; }
    .pt_order-confirmation .header-banner,
    .pt_order-confirmation .header-nav,
    .pt_order-confirmation .print-link,
    .pt_order-confirmation .login-create-account,
    .pt_order-confirmation .need-help-checkout,
    .pt_order-confirmation .footer-wrapper,
    .pt_order-confirmation .footer-copy-wrapper,
    .pt_order-confirmation .top-bar-right,
    .pt_order-confirmation .add-to-calendar {
      display: none; }
    .pt_order-confirmation .atroot,
    .pt_order-confirmation .confirmation-page {
      display: block;
      margin-top: 0; }
    .pt_order-confirmation .checked-icon {
      -webkit-box-shadow: 0 0 0 4px #ff6900 inset !important;
              box-shadow: 0 0 0 4px #ff6900 inset !important; }
    .pt_order-confirmation .header-main-nav::after {
      display: none; }
    .pt_order-confirmation .header-main-nav .top-bar-left .header-logo-image {
      float: right;
      height: 50%;
      width: 20%; }
    .pt_order-confirmation .confirmation-page {
      float: left;
      left: 0;
      top: 0;
      width: 100%; }
      .pt_order-confirmation .confirmation-page .confirmation-message h1 {
        margin-top: -15mm; }
      .pt_order-confirmation .confirmation-page .section-title-box {
        left: 0;
        margin: 0;
        padding-left: 0; }
      .pt_order-confirmation .confirmation-page .section-box-wrap {
        width: 100%; }
        .pt_order-confirmation .confirmation-page .section-box-wrap .section-box {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 41.66667%;
                  flex: 0 0 41.66667%;
          max-width: 41.66667%; }
      .pt_order-confirmation .confirmation-page .order-information .order-date {
        left: 0;
        margin-left: 0;
        padding-left: 0; }
      .pt_order-confirmation .confirmation-page .main-section-header .productname-column {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.66667%;
                flex: 0 0 33.66667%;
        max-width: 33.66667%; }
      .pt_order-confirmation .confirmation-page .main-section-header .productvalues-column {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.33333%;
                flex: 0 0 66.33333%;
        max-width: 66.33333%; }
      .pt_order-confirmation .confirmation-page .product-row .orderdetails-productname,
      .pt_order-confirmation .confirmation-page .service-row .orderdetails-productname {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 33.66667%;
                flex: 0 0 33.66667%;
        max-width: 33.66667%; }
      .pt_order-confirmation .confirmation-page .product-row .orderdetails-productvalues,
      .pt_order-confirmation .confirmation-page .service-row .orderdetails-productvalues {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 66.33333%;
                flex: 0 0 66.33333%;
        max-width: 66.33333%; }
      .pt_order-confirmation .confirmation-page .product-row .line-item-price .section-header,
      .pt_order-confirmation .confirmation-page .product-row .line-item-quantity .section-header,
      .pt_order-confirmation .confirmation-page .product-row .line-item-total .section-header,
      .pt_order-confirmation .confirmation-page .service-row .line-item-price .section-header,
      .pt_order-confirmation .confirmation-page .service-row .line-item-quantity .section-header,
      .pt_order-confirmation .confirmation-page .service-row .line-item-total .section-header {
        display: none; }
      .pt_order-confirmation .confirmation-page .main-section-header {
        left: 0;
        margin: 0 0 5mm;
        padding: 2mm 0; }
    .pt_order-confirmation .confirmation-message-wrapper {
      margin: 0 auto 10px !important; }
    .pt_order-confirmation .appointment-details-wrapper {
      margin-bottom: 0 !important; }
    .pt_order-confirmation .order-information {
      margin: 10px 0; }
    .pt_order-confirmation .personal-payment-info .section-title.show-for-medium {
      display: none; }
    .pt_order-confirmation .personal-payment-info .small-12 {
      padding-left: 0 !important;
      padding-right: 0 !important; }
    .pt_order-confirmation .payment-verification .section-box {
      padding-left: 14px !important; }
    .pt_order-confirmation .order-confirmation-details .order-payment-summary {
      padding-left: 0 !important;
      padding-right: 0 !important; }
    .pt_order-confirmation .product-specific-messages {
      margin-left: 0 !important;
      margin-right: 0 !important;
      padding-left: 0 !important;
      padding-right: 0 !important; }
  .need-changes {
    display: none; }
  #inside_holder,
  .mainNavLiveChatCTA {
    display: none; } }

.page-iam-store-locator .pac-container {
  margin: 0; }

.pt_store-locator .page-title {
  margin: 20px 0 0; }
  @media screen and (min-width: 48em) {
    .pt_store-locator .page-title {
      margin: 30px 0 10px; } }
  @media screen and (min-width: 64em) {
    .pt_store-locator .page-title {
      margin: 50px 0 20px; } }

.pt_store-locator .page-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 0.8125rem;
  margin: 0 0 20px; }
  @media screen and (min-width: 48em) {
    .pt_store-locator .page-link {
      margin: 0 0 30px; } }
  @media screen and (min-width: 64em) {
    .pt_store-locator .page-link {
      margin: 0 0 35px; } }

.pt_store-locator #filters-content-wrap {
  display: none; }
  .pt_store-locator #filters-content-wrap.expanded {
    display: block;
    padding: 15px 0 0; }

.pt_store-locator .vehicle-types-section {
  padding: 1.25rem 1rem 0; }
  @media screen and (min-width: 64em) {
    .pt_store-locator .vehicle-types-section {
      padding: 1.25rem 2.5rem 0; } }

.pt_store-locator .vehicle-types-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.pt_store-locator .vehicle-radio-button {
  display: none; }

.pt_store-locator .vehicle-types-title {
  font-weight: 600;
  margin-bottom: 0.875rem; }

.pt_store-locator .vehicle-type {
  border: 2px solid #e8e8e9;
  margin-right: 0.9375rem;
  min-height: 100px;
  position: relative;
  text-align: center;
  width: 100%; }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .pt_store-locator .vehicle-type {
      margin-right: 0.3125rem; } }
  .pt_store-locator .vehicle-type .personal-vehicle-label {
    background-image: url("../images/vehicle-type/personal.svg"); }
  .pt_store-locator .vehicle-type .commercial-vehicle-label {
    background-image: url("../images/vehicle-type/commercial.svg"); }
  .pt_store-locator .vehicle-type .fleet-vehicle-label {
    background-image: url("../images/vehicle-type/fleet.svg"); }
  .pt_store-locator .vehicle-type .personal-vehicle-label,
  .pt_store-locator .vehicle-type .commercial-vehicle-label,
  .pt_store-locator .vehicle-type .fleet-vehicle-label {
    background-position: center top 28px;
    background-repeat: no-repeat; }
    .pt_store-locator .vehicle-type .personal-vehicle-label span,
    .pt_store-locator .vehicle-type .commercial-vehicle-label span,
    .pt_store-locator .vehicle-type .fleet-vehicle-label span {
      height: 100%; }
  .pt_store-locator .vehicle-type:last-child {
    margin-right: 0; }
  .pt_store-locator .vehicle-type:has(input:checked) {
    border: 2px solid #c75300; }
    .pt_store-locator .vehicle-type:has(input:checked) label {
      color: #c75300; }
    .pt_store-locator .vehicle-type:has(input:checked) .personal-vehicle-label {
      background-image: url("../images/vehicle-type/personal-selected.svg"); }
    .pt_store-locator .vehicle-type:has(input:checked) .commercial-vehicle-label {
      background-image: url("../images/vehicle-type/commercial-selected.svg"); }
    .pt_store-locator .vehicle-type:has(input:checked) .fleet-vehicle-label {
      background-image: url("../images/vehicle-type/fleet-selected.svg"); }
  .pt_store-locator .vehicle-type:hover {
    background-color: #e8e8e9;
    border: 2px solid #000; }
  .pt_store-locator .vehicle-type .vehicle-type-icon {
    max-width: 60px;
    min-height: 35px; }
  .pt_store-locator .vehicle-type .vehicle-type-tooltip {
    position: absolute;
    right: 0;
    top: 0; }
  .pt_store-locator .vehicle-type .questionmarkcircle {
    cursor: pointer;
    height: 18px;
    margin: 0.1875rem;
    width: 18px; }
  .pt_store-locator .vehicle-type label {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    cursor: pointer;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-weight: 700;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: 0;
    padding-top: 3.75rem; }

.pt_store-locator .location-item-summary {
  margin-top: 0.9375rem; }

.store-locator-page-wrapper {
  min-height: 685px;
  padding: 0; }
  @media screen and (min-width: 48em) {
    .store-locator-page-wrapper {
      border-bottom: 1px solid #e8e8e9;
      min-height: 820px; } }

.store-locator-page {
  position: relative; }
  .store-locator-page ul {
    margin: 0; }
  .store-locator-page p {
    font-size: 14px;
    line-height: 1.3; }
  .store-locator-page .list-view {
    display: block !important; }
  .store-locator-page .locations-list {
    padding: 0 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page .locations-list {
        padding: 0 2.5rem;
        text-align: right; } }
    .store-locator-page .locations-list .page-link {
      color: #000;
      font-weight: normal;
      margin: 0;
      text-decoration: underline; }
  .store-locator-page .search-container {
    padding: 1.25rem 1rem 0; }
    @media screen and (min-width: 64em) {
      .store-locator-page .search-container {
        padding: 1.25rem 2.5rem 0; } }
    .store-locator-page .search-container .button {
      margin: 0 0 0 7px; }
      @media screen and (min-width: 48em) {
        .store-locator-page .search-container .button {
          margin-left: 0;
          width: auto; } }
    .store-locator-page .search-container .button.small {
      padding: 11.5px 15px; }
    .store-locator-page .search-container .start_location {
      background-color: #f2f2f2;
      border-color: #f2f2f2;
      padding: 0.625rem 2.1875rem; }
      .store-locator-page .search-container .start_location::-webkit-input-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location::-moz-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location:-ms-input-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location::-ms-input-placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location::placeholder {
        color: #808285;
        font-weight: 400; }
      .store-locator-page .search-container .start_location:focus {
        border-color: #000; }
        .store-locator-page .search-container .start_location:focus::-webkit-input-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus::-moz-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus:-ms-input-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus::-ms-input-placeholder {
          color: transparent; }
        .store-locator-page .search-container .start_location:focus::placeholder {
          color: transparent; }
    .store-locator-page .search-container .search-field-wrapper {
      position: relative;
      width: 100%; }
      .store-locator-page .search-container .search-field-wrapper .icon-search {
        left: 10px;
        position: absolute;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); }
      .store-locator-page .search-container .search-field-wrapper .icon-cancel {
        position: absolute;
        right: 10px;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%); }
        .store-locator-page .search-container .search-field-wrapper .icon-cancel:hover {
          cursor: pointer; }
  .store-locator-page .store-filters .breadcrumbs-filters .button {
    background-color: #f2f2f2;
    border: 0;
    font-size: 0.8125rem;
    margin: 0;
    width: 100%; }
    .store-locator-page .store-filters .breadcrumbs-filters .button:hover {
      background-color: #f6a583;
      color: #000; }
    .store-locator-page .store-filters .breadcrumbs-filters .button.is-active::after {
      content: ""; }
    .store-locator-page .store-filters .breadcrumbs-filters .button.is-active .clear-filters {
      display: block; }
    .store-locator-page .store-filters .breadcrumbs-filters .button.breadcrumb-filter {
      font-weight: 500;
      margin-right: 0.3125rem;
      margin-top: 0.3125rem;
      padding: 0.3125rem 1.25rem 0.3125rem 0.3125rem;
      position: relative;
      text-transform: none;
      width: auto; }
    .store-locator-page .store-filters .breadcrumbs-filters .button .clear-breadcrumb-filter {
      font-size: 1rem;
      position: absolute;
      right: 0.125rem;
      top: 0.25rem; }
    .store-locator-page .store-filters .breadcrumbs-filters .button .clear-filters {
      position: absolute;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%);
      border: 0;
      display: none;
      font-size: 17px;
      position: absolute;
      right: 5px; }
  .store-locator-page .store-filters .breadcrumbs-wrapper {
    border: 1px solid #e8e8e9;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 1.25rem;
    padding: 0.625rem 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page .store-filters .breadcrumbs-wrapper {
        padding: 0.625rem 2.5rem; } }
  .store-locator-page .store-filters .filters-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .store-locator-page .store-filters .filters-wrapper.is-active .filters-button::after {
      content: "\e80e"; }
  .store-locator-page .store-filters .filters-button,
  .store-locator-page .store-filters .filters-title {
    color: #000;
    display: inline-block;
    font-size: 0.875rem;
    font-weight: 700; }
  .store-locator-page .store-filters .filters-button {
    margin-right: 0.9375rem;
    position: relative;
    text-align: right; }
    .store-locator-page .store-filters .filters-button::after {
      content: "\e80f";
      font-family: "fontello", sans-serif;
      font-size: 0.625rem;
      padding-left: 0.3125rem;
      padding-top: 0.1875rem;
      position: absolute; }
  .store-locator-page #filters-content-wrap p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    line-height: 1;
    margin: 0 0 0.875rem;
    padding: 0 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page #filters-content-wrap p {
        padding: 0 1rem 0 2.5rem; } }
  .store-locator-page #filters-content-wrap .clear-filters {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-right: 1rem; }
    @media screen and (min-width: 64em) {
      .store-locator-page #filters-content-wrap .clear-filters {
        padding-right: 2.5rem; } }
    .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button {
      background: transparent;
      border: 3px solid #ff6900;
      color: #000;
      font-size: 0.75rem;
      margin: 0;
      padding: 0.625rem;
      text-transform: uppercase; }
      .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button:hover, .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button:focus {
        background: #f6a583;
        border: 3px solid #ff6900;
        color: #000; }
      .store-locator-page #filters-content-wrap .clear-filters .clear-filters-button:disabled {
        background-color: #c9c9c9;
        border-color: #c9c9c9;
        color: #fff; }
  .store-locator-page #filters-content-wrap .filters-content-wrapper {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .store-locator-page .filters-overlay {
    background: transparent;
    display: none;
    height: calc(100% - 278px);
    position: absolute;
    width: 40%;
    z-index: 100; }
  .store-locator-page .store-filter {
    -webkit-appearance: none;
       -moz-appearance: none;
            appearance: none;
    clip: rect(0, 0, 0, 0);
    overflow: hidden;
    position: absolute;
    width: 1px; }
    .store-locator-page .store-filter:not(:checked) + label, .store-locator-page .store-filter:checked + label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      margin-left: 0;
      padding: 0 0 0 1.5rem;
      position: relative; }
      .store-locator-page .store-filter:not(:checked) + label::before, .store-locator-page .store-filter:checked + label::before {
        color: #808285;
        content: "\f1db";
        font-family: "fontello", sans-serif;
        font-size: 1.125rem;
        left: 0;
        position: absolute; }
    .store-locator-page .store-filter:checked + label::before {
      color: #ff6900;
      content: "\f111"; }
    .store-locator-page .store-filter:disabled + label {
      color: #c9c9c9; }
      .store-locator-page .store-filter:disabled + label::before {
        color: #c9c9c9; }
  .store-locator-page .hide-filter {
    display: none; }
  .store-locator-page .locations-box {
    width: 100%; }
    .store-locator-page .locations-box .location-item {
      border-bottom: 1px solid #e8e8e9;
      border-left: 7px solid transparent;
      cursor: pointer;
      padding-left: 0.5625rem;
      padding-right: 1rem; }
      @media screen and (min-width: 64em) {
        .store-locator-page .locations-box .location-item {
          background-position: right 1.125rem center;
          padding-left: 2.5rem;
          padding-right: 2.5rem; } }
      .store-locator-page .locations-box .location-item.active, .store-locator-page .locations-box .location-item:hover {
        border-left: 7px solid #ff6900; }
      .store-locator-page .locations-box .location-item.active {
        background-color: #e4e4e4; }
        .store-locator-page .locations-box .location-item.active .pr-snippet-stars.pr-snippet-stars-png {
          background-color: #e4e4e4; }
      .store-locator-page .locations-box .location-item .pr-snippet-rating-decimal {
        color: #000; }
      .store-locator-page .locations-box .location-item .store-details-wrapper {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; }
      .store-locator-page .locations-box .location-item .cb-cta {
        margin: 0; }
      .store-locator-page .locations-box .location-item p {
        margin: 0 0 5px; }
    .store-locator-page .locations-box .scroll-loader {
      bottom: -70px;
      display: none;
      top: auto; }
    .store-locator-page .locations-box .location-item-inner {
      padding: 20px 0 15px; }
    .store-locator-page .locations-box .phone-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
    .store-locator-page .locations-box .location-item-distance {
      color: #000;
      font-weight: 300; }
  .store-locator-page .location-item-name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .store-locator-page .location-item-name p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 1rem;
      line-height: 1.3;
      margin: 0 0 0.625rem; }
    .store-locator-page .location-item-name .nickname {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: block; }
  .store-locator-page .map-view {
    overflow: hidden;
    position: relative; }
    .store-locator-page .map-view .error-container {
      background-color: #ff6900;
      display: none;
      position: absolute;
      top: 0;
      width: 100%;
      z-index: 10; }
      .store-locator-page .map-view .error-container .close-button {
        color: #fff;
        cursor: pointer;
        font-size: 1.125rem;
        right: 15px;
        top: 50%;
        -webkit-transform: translateY(-50%);
            -ms-transform: translateY(-50%);
                transform: translateY(-50%);
        transform: translateY(-50%);
        transform: translateY(-50%); }
      .store-locator-page .map-view .error-container .error-message {
        color: #000;
        font-size: 0.875rem;
        margin: 0;
        padding: 15px 40px 15px 15px; }
    .store-locator-page .map-view .loader {
      z-index: 10; }
    .store-locator-page .map-view .gps-toggle {
      background: #fff;
      border: 1px solid #d0d0d0;
      bottom: 15px;
      cursor: pointer;
      display: inline-block;
      padding: 6px 8px;
      position: absolute;
      right: 15px;
      z-index: 10; }
      .store-locator-page .map-view .gps-toggle i {
        color: #ddd;
        font-size: 24px; }
      .store-locator-page .map-view .gps-toggle.active i {
        color: #000; }

.pt_store-locator #filters-content-wrap.expanded {
  background: #fff;
  height: 100%;
  width: 100%;
  z-index: 1; }

@media screen and (max-width: 47.9375em) {
  .map-view {
    max-width: 100%;
    width: 100%; }
  .view-map-btn {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    float: right;
    font-size: 0.8125rem;
    margin: 0 0 20px; }
    .view-map-btn .active-btn-text {
      display: none; }
    .view-map-btn.is-active .btn-text {
      display: none; }
    .view-map-btn.is-active .active-btn-text {
      display: block; }
  .locations-box {
    float: left; } }

#map-box {
  background-color: #e5e3df;
  min-height: 320px; }

@media screen and (min-width: 48em) {
  .store-locator-page #map-box {
    float: right;
    width: 60%; }
  .store-locator-page .map-view {
    max-width: 100%;
    width: 100%; }
  .store-locator-page .list-view {
    padding-top: 278px;
    width: 40%; }
  .store-locator-page .search-filter-box {
    float: left;
    width: 40%; }
  .store-locator-page .search-container .start_location {
    margin: 0; }
  .store-locator-page .search-container .button {
    margin-left: 0.625rem; }
  .pt_store-locator #filters-content-wrap.expanded {
    height: calc(100% - 278px);
    overflow: auto;
    position: absolute;
    width: 40%; } }

.locations-box {
  overflow-y: scroll; }

.todays-hours-toggle {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }
  .todays-hours-toggle .store-hours-expanded {
    opacity: 0;
    -webkit-transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
    visibility: hidden; }
    .todays-hours-toggle .store-hours-expanded .store-schedule {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
  .todays-hours-toggle .store-hours-collapsed {
    display: inline-block;
    margin-bottom: 0.5rem; }
    .todays-hours-toggle .store-hours-collapsed * {
      cursor: pointer; }
    .todays-hours-toggle .store-hours-collapsed::after {
      content: "\e80f";
      cursor: pointer;
      font-family: "fontello", sans-serif;
      font-size: 0.625rem;
      padding-left: 0.3125rem;
      padding-top: 0.1875rem;
      position: absolute; }
  .todays-hours-toggle.is-active .store-hours-collapsed::after {
    content: "\e80e"; }
  .todays-hours-toggle.is-active .store-hours-expanded {
    opacity: 1;
    visibility: visible; }

.todays-hours-label {
  font-weight: bold; }

.store-closed {
  color: #c61752;
  font-weight: bold; }

.store-open {
  color: #157f10;
  font-weight: bold; }

.store-hours-wrapper {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  max-height: 0;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease-in-out;
  transition: max-height 0.3s ease-in-out; }
  .store-hours-wrapper.expanded {
    max-height: 500px; }

.store-schedule {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  display: grid;
  gap: 10px;
  grid-template-columns: auto minmax(0, 1fr);
  justify-items: start; }
  .store-schedule .store-day {
    width: 110px; }

@media screen and (min-width: 48em) {
  .all-stores .plus-minus-accordion .is-accordion-submenu-parent > a {
    padding-left: 22px; }
    .all-stores .plus-minus-accordion .is-accordion-submenu-parent > a::after {
      left: 0; }
  .all-stores .submenu {
    -webkit-column-count: 2;
       -moz-column-count: 2;
            column-count: 2;
    column-count: 2;
    column-count: 2; }
    .all-stores .submenu[aria-hidden=false] {
      display: block !important; } }

.all-stores .city-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 15px;
  margin: 5px 0 -2px;
  text-transform: capitalize; }

.all-stores .store-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 13px;
  margin: 0 0 15px;
  padding: 0;
  text-transform: capitalize; }

.all-stores .menu .city-box {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin: 0 0 10px;
  width: 100%; }

.store-details-page {
  padding: 0 1.25rem 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    .store-details-page .map-container {
      margin: 40px 0 100px; } }
  @media screen and (min-width: 48em) {
    .store-details-page .row-separator {
      margin-bottom: 25px; }
    .store-details-page .store-hours {
      margin-bottom: 0; }
    .store-details-page .plus-minus-accordion .menu.nested {
      margin: 0; }
    .store-details-page .section-title {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-left: 3px solid #ff6900;
      color: #000;
      cursor: default;
      font-size: 1.5rem;
      margin: 0 0 35px;
      padding: 0 0 0 20px;
      text-transform: uppercase; } }
  @media screen and (max-width: 47.9375em) {
    .store-details-page .map-container {
      margin: 40px 0 100px; }
    .store-details-page #map,
    .store-details-page #streetview {
      min-height: 250px; } }
  @media screen and (min-width: 48em) {
    .store-details-page .row-separator {
      margin-bottom: 25px; }
    .store-details-page .store-hours {
      margin-bottom: 0; }
    .store-details-page .plus-minus-accordion .menu.nested {
      margin: 0; }
    .store-details-page .section-title {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      border-left: 3px solid #ff6900;
      color: #000;
      cursor: default;
      font-size: 1.5rem;
      margin: 0 0 35px;
      padding: 0 0 0 20px;
      text-transform: uppercase; } }
  .store-details-page ul {
    margin: 0; }
  .store-details-page li {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4;
    margin-bottom: 0; }
    .store-details-page li.store-address {
      line-height: 1.7; }
  .store-details-page .close-button {
    border: 2px solid #ff6900;
    border-radius: 50%;
    color: #000;
    font-size: 1.5rem;
    height: 30px;
    top: 16px;
    width: 30px; }
  .store-details-page .store-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.25rem;
    padding-top: 1.25rem; }
    .store-details-page .store-name .nickname {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: block; }
  .store-details-page .sa_s28_display_avg_rating {
    margin: 0 0 15px; }
  .store-details-page .link {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
    @media screen and (min-width: 48em) {
      .store-details-page .link {
        font-size: 0.8125rem; } }
  .store-details-page .store-contact-info {
    margin: 1.25rem 0; }
    .store-details-page .store-contact-info p {
      margin: 0; }
  .store-details-page .store-hours {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1.4; }
  .store-details-page .bold-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  .store-details-page .about-location {
    margin-bottom: 20px;
    margin-top: 10px; }
    @media screen and (min-width: 48em) {
      .store-details-page .about-location {
        margin-bottom: 0; } }
  .store-details-page .store-amenities {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    @media screen and (max-width: 47.9375em) {
      .store-details-page .store-amenities {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .store-details-page .store-amenities i {
      font-size: 1.125rem;
      margin-right: 0.3125rem; }
      .store-details-page .store-amenities i::before {
        margin: 0; }
  .store-details-page .offered-service-name {
    font-size: 1rem;
    line-height: 1.5;
    list-style: disc; }
  .store-details-page .is-accordion-submenu-parent a::after {
    color: #000;
    content: "\e80f";
    font-family: "fontello", sans-serif;
    font-size: 0.875rem;
    position: absolute;
    right: 20px;
    -webkit-transition: -webkit-transform 0.3s ease;
    transition: -webkit-transform 0.3s ease;
    transition: transform 0.3s ease;
    transition: transform 0.3s ease, -webkit-transform 0.3s ease; }
  .store-details-page .is-accordion-submenu-parent[aria-expanded="true"] a::after {
    content: "\e80f";
    -webkit-transform: rotate(180deg);
        -ms-transform: rotate(180deg);
            transform: rotate(180deg); }
  .store-details-page .is-accordion-submenu-parent .store-services-content {
    margin: 0 0 2.5rem 2.5rem; }
  .store-details-page .is-accordion-submenu-parent .service-title h3 {
    color: #000;
    display: inline-block;
    font-family: "Gotham A", "Gotham B", Arial;
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0;
    padding: 0 2.1875rem 0 1.25rem;
    text-transform: capitalize; }
  .store-details-page .store-services-list {
    -webkit-column-count: 1;
       -moz-column-count: 1;
            column-count: 1; }
    @media screen and (min-width: 48em) {
      .store-details-page .store-services-list {
        -webkit-column-count: 3;
           -moz-column-count: 3;
                column-count: 3; } }
    @media screen and (min-width: 64em) {
      .store-details-page .store-services-list {
        -webkit-column-count: 4;
           -moz-column-count: 4;
                column-count: 4; } }
  .store-details-page .map-container ul li {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background-color: #8a8a8a;
    display: inline-block;
    margin-right: 2px;
    min-width: 110px;
    text-align: center; }
    .store-details-page .map-container ul li.ui-state-active {
      background-color: #ff6900; }
    .store-details-page .map-container ul li a.ui-tabs-anchor {
      color: #fff;
      display: block;
      font-size: 1.125rem;
      padding: 0 10px; }
  .store-details-page .title-main-section {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    border-left: 3px solid #ff6900;
    font-size: 1rem;
    margin: 0 0 25px;
    padding: 0 0 0 18px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .store-details-page .title-main-section {
        font-size: 1.5rem; } }
    .store-details-page .title-main-section.review-title {
      margin: 1.875rem 0 1.25rem; }

.store-location-info {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (max-width: 47.9375em) {
    .store-location-info {
      -webkit-box-orient: vertical;
      -webkit-box-direction: reverse;
          -ms-flex-direction: column-reverse;
              flex-direction: column-reverse; } }
  .store-location-info .store-address {
    font-family: "Gotham A", "Gotham B", Arial;
    font-size: 0.875rem;
    font-weight: 400;
    line-height: 1.125rem;
    margin-bottom: 1rem;
    text-rendering: optimizeLegibility; }
    @media screen and (min-width: 64em) {
      .store-location-info .store-address {
        font-size: 0.9375rem;
        line-height: 1.25rem; } }
  .store-location-info .store-distance {
    font-size: 0.75rem; }

.store-locator-page-wrapper {
  position: relative; }

.store-details-sidebar {
  background-color: #fff;
  height: calc(100% - 320px);
  left: -100%;
  margin-top: 320px;
  overflow: hidden;
  position: absolute;
  -webkit-transition: top 0.3s ease-in-out;
  transition: top 0.3s ease-in-out;
  width: 100%;
  z-index: 2; }
  @media screen and (min-width: 48em) {
    .store-details-sidebar {
      height: 100%;
      left: -40%;
      margin-top: 0;
      opacity: 0;
      top: 0;
      -webkit-transition: left 0.4s ease-in-out, opacity 0.4s ease-in-out;
      transition: left 0.4s ease-in-out, opacity 0.4s ease-in-out;
      width: 40%; } }
  .store-details-sidebar.open {
    left: 0;
    opacity: 1;
    overflow: visible; }
    @media screen and (min-width: 48em) {
      .store-details-sidebar.open {
        overflow: auto; } }

.map-container {
  position: relative; }
  @media screen and (max-width: 47.9375em) {
    .map-container .gmnoprint,
    .map-container .gm-control-active,
    .map-container .gm-iv-address,
    .map-container .gps-toggle {
      display: none; } }

.store-details-mode .switch-to-street-view,
.store-details-mode .switch-to-map-view {
  margin: 0.3125rem 0 0;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .store-details-mode .switch-to-street-view,
    .store-details-mode .switch-to-map-view {
      font-size: 0.5625rem;
      padding: 0.3125rem; } }

.store-details-mode .street-view-wrapper {
  height: 100%;
  width: 100%; }
  .store-details-mode .street-view-wrapper #streetview {
    height: 100%; }

.store-details-mode .is-small-view {
  background: #fff;
  bottom: 25px;
  height: 250px;
  left: 20px;
  padding: 0.9375rem 0.9375rem 3.75rem;
  position: absolute;
  width: 200px;
  z-index: 2; }
  @media screen and (max-width: 47.9375em) {
    .store-details-mode .is-small-view {
      height: 140px;
      padding: 0.625rem 0.625rem 2.1875rem;
      width: 110px; } }
  .store-details-mode .is-small-view .map-view,
  .store-details-mode .is-small-view .street-view {
    pointer-events: none; }
    .store-details-mode .is-small-view .map-view .gmnoprint,
    .store-details-mode .is-small-view .map-view .gm-control-active,
    .store-details-mode .is-small-view .map-view .gm-iv-address,
    .store-details-mode .is-small-view .map-view .gps-toggle,
    .store-details-mode .is-small-view .street-view .gmnoprint,
    .store-details-mode .is-small-view .street-view .gm-control-active,
    .store-details-mode .is-small-view .street-view .gm-iv-address,
    .store-details-mode .is-small-view .street-view .gps-toggle {
      display: none; }
  .store-details-mode .is-small-view #streetview {
    height: 100%; }

.map-accordion {
  bottom: 20px;
  position: absolute; }

.cta-buttons .link {
  display: inline;
  margin: 0;
  padding-right: 0.9375rem; }

.icon-angle-left::before {
  color: #ff6900;
  font-size: 1.25rem;
  margin: 0;
  width: auto; }

.accessibility-table {
  border-spacing: 1px; }
  .accessibility-table td {
    border-right: 1px solid #e6e6e6; }
    .accessibility-table td:last-child {
      border-right: 0; }

.account-subtitle {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.875rem;
  margin-bottom: 1.75rem; }
  @media screen and (min-width: 64em) {
    .account-subtitle {
      font-size: 1.125rem;
      margin-bottom: 3rem; } }
  .account-subtitle .link {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.8125rem; }

.account-section-heading {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  margin: 25px 0; }
  .account-section-heading.top-heading {
    margin-top: 10px; }
  .account-section-heading + .back {
    margin-top: -1.3rem; }

.modify-appointment-button {
  margin-top: 30px;
  max-width: 208px; }
  .modify-appointment-button .modify-account {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 28px;
    text-align: center; }

.account-section {
  padding-bottom: 3rem; }
  @media screen and (min-width: 48em) {
    .account-section {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-top: 3rem; } }
  @media screen and (max-width: 47.9375em) {
    .account-section .nav-wrapper.columns {
      padding: 0; } }
  @media screen and (max-width: 47.9375em) {
    .account-section .content-wrapper {
      padding: 25px 15px; } }
  .account-section .my-garage-page-title {
    margin-bottom: 15px; }
  .account-section .order-history-description {
    font-size: 1rem;
    margin-bottom: 25px; }
    @media screen and (min-width: 48em) {
      .account-section .order-history-description {
        max-width: 75%; } }
  .account-section .back {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.8125rem;
    margin-bottom: 1.75rem; }
    .account-section .back a::before {
      content: "\f053";
      display: inline-block;
      font-family: fontawesome;
      font-size: 0.5rem;
      line-height: 0.9375rem;
      vertical-align: middle; }
  .account-section .button-group {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-preferred-size: 25%;
        flex-basis: 25%;
    width: 100%; }
    .account-section .button-group .button-link {
      color: #000;
      margin-left: 15px;
      text-align: center; }
    .account-section .button-group .button-link,
    .account-section .button-group .button {
      -ms-flex-preferred-size: 30%;
          flex-basis: 30%;
      margin-top: 0;
      width: auto; }
      @media screen and (min-width: 48em) {
        .account-section .button-group .button-link,
        .account-section .button-group .button {
          -ms-flex-preferred-size: 20%;
              flex-basis: 20%; } }
  .account-section .order-history-footer {
    margin-top: 20px; }
    .account-section .order-history-footer .here-to-help {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .account-section .order-history-footer .action-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
    .account-section .order-history-footer .orderSummaryLiveChat,
    .account-section .order-history-footer .phone-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      color: #ff6900; }
    .account-section .order-history-footer .action-icon .card-icon {
      max-height: 16px; }
    .account-section .order-history-footer .main-section-title {
      font-size: 18px; }
  .account-section .modify-appointment-important {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #ff6900; }
  .account-section .modify-appointment-info {
    padding: 1rem 1.25rem 0.1rem; }
    @media screen and (min-width: 48em) {
      .account-section .modify-appointment-info {
        padding: 1.875rem; } }
  .account-section .no-orders-selectors {
    margin: 0 -10px; }
    .account-section .no-orders-selectors .selector-container {
      -ms-flex-item-align: stretch;
          align-self: stretch;
      padding: 10px; }
    .account-section .no-orders-selectors .no-order-selector-tab {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background: #f2f2f2;
      cursor: pointer;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      margin-top: 15px;
      padding: 15px;
      position: relative; }
      .account-section .no-orders-selectors .no-order-selector-tab:hover::before {
        border-left: 10px solid #ff6900;
        bottom: 0;
        content: "";
        display: block;
        height: 100%;
        left: 0;
        position: absolute;
        top: 0; }
    .account-section .no-orders-selectors .selector-image {
      float: left;
      min-width: 120px;
      overflow: hidden;
      padding-right: 15px;
      width: 120px; }
    .account-section .no-orders-selectors .selector-tab-title {
      font-size: 20px;
      text-transform: uppercase; }

.account-block-border {
  margin-bottom: 1.25rem; }
  .account-block-border.personal-info {
    position: relative; }
    @media screen and (min-width: 48em) {
      .account-block-border.personal-info {
        padding-top: 0; } }
  .account-block-border.order-block {
    border: 1px solid #e8e8e9; }
  .account-block-border .account-info-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    margin-bottom: 0; }
  .account-block-border .label-wrapper {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .account-block-border label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    line-height: 1.5;
    margin: 0; }
    .account-block-border label .top-label {
      font-size: 14px; }
      .account-block-border label .top-label a {
        font-size: 14px; }
  .account-block-border .account-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem; }
  .account-block-border .ps-results-image-tip {
    border: 0;
    display: block;
    font-weight: normal; }
  .account-block-border .email-address-info {
    border: 1px solid #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 10px;
    padding: 10px 15px;
    position: relative;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .account-block-border .email-address-info {
        width: 80%; } }

.account-email-tooltip .tooltip-phone {
  color: #ff6900;
  font-weight: bold; }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.account-page .mobile-account-label .account-page,
  .secondary-navigation.order-page .mobile-account-label .order-page {
    display: block; } }

.secondary-navigation .menu-items-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }
  @media screen and (max-width: 47.9375em) {
    .secondary-navigation .menu-items-wrapper.expanded {
      background-color: #f2f2f2;
      padding-bottom: 30px; } }

@media screen and (min-width: 48em) {
  .secondary-navigation .menu.vertical > li.menu-item.highlighted a {
    color: #c75300;
    font-weight: 700;
    text-decoration: underline; } }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation .menu.vertical > li.menu-item {
    background-color: #fff;
    border-bottom: 1px solid #ccc;
    display: none;
    padding: 0 20px 0 30px; }
    .secondary-navigation .menu.vertical > li.menu-item .toggle-icon {
      display: none; }
    .secondary-navigation .menu.vertical > li.menu-item.highlighted {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      background-color: #ff6900;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      .secondary-navigation .menu.vertical > li.menu-item.highlighted .toggle-icon {
        display: block; } }

.secondary-navigation .menu li a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #000;
  font-size: 16px;
  margin: 10px 0;
  padding: 0; }
  @media screen and (max-width: 47.9375em) {
    .secondary-navigation .menu li a {
      margin: 15px 0; } }
  .secondary-navigation .menu li a:hover {
    background: transparent;
    text-decoration: underline; }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.account-page .menu-item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .secondary-navigation.account-page .menu-item.account-page {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.order-page .menu-item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .secondary-navigation.order-page .menu-item.order-page {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

@media screen and (max-width: 47.9375em) {
  .secondary-navigation.carfax-history-page .menu-item {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
    .secondary-navigation.carfax-history-page .menu-item.carfax-history-page {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; } }

.mobile-account-menu {
  border: 1px solid #ccc;
  font-size: 13px;
  margin-bottom: 1.25rem;
  padding: 0.75rem; }
  .mobile-account-menu li a {
    color: #000;
    padding: 0.3125rem 0 0.625rem; }
  .mobile-account-menu:hover,
  .mobile-account-menu .active-submenu {
    border-color: #000; }

.menu.mobile-account-list {
  margin: 0.75rem 0.3125rem 0; }

.menu li .mobile-account-label {
  padding: 0; }
  .menu li .mobile-account-label span {
    display: none; }
  .menu li .mobile-account-label::after {
    color: #000;
    content: "\f0dc";
    font-family: fontawesome;
    font-size: 14px;
    right: -2px;
    top: 0.25rem; }

@media screen and (max-width: 47.9375em) {
  .button-group.no-bot-margin {
    margin: 0; } }

.account-block-grey {
  background: #f2f2f2;
  margin-bottom: 1.25rem;
  padding: 1rem 1.25rem 0.1rem; }
  @media screen and (min-width: 48em) {
    .account-block-grey {
      padding: 1.875rem 1.875rem 0.5rem; } }
  .account-block-grey .openLiveChatButton b {
    font-weight: bold !important; }
  @media screen and (max-width: 47.9375em) {
    .account-block-grey b {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-weight: normal; } }
  .account-block-grey h5 {
    margin-bottom: 0.75rem; }
    @media screen and (max-width: 47.9375em) {
      .account-block-grey h5 {
        font-size: 16px;
        line-height: 21px; } }
    @media screen and (min-width: 48em) {
      .account-block-grey h5 {
        margin-bottom: 0.375rem; } }
  .account-block-grey p {
    font-size: 14px; }
    @media screen and (min-width: 48em) {
      .account-block-grey p a {
        margin: 1.75rem 0 0.25rem; } }
    .account-block-grey p a:not(.phone-link) {
      display: block; }
      @media screen and (max-width: 47.9375em) {
        .account-block-grey p a:not(.phone-link) {
          margin-bottom: 1rem; } }

@media screen and (max-width: 47.9375em) {
  .bottom-space-mobile {
    margin-bottom: 1.25rem; } }

.button-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: inline-block;
  font-size: 14px;
  font-weight: normal;
  line-height: 1;
  margin-top: 0.625rem;
  padding: 0.75rem 0;
  text-align: center;
  vertical-align: middle;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .button-link {
      margin: 0 0 0 1.25rem;
      text-align: left;
      width: auto; } }

.pt_account .phone-link,
.pt_order .phone-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .pt_account .phone-link,
    .pt_order .phone-link {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000; }
      .pt_account .phone-link:hover,
      .pt_order .phone-link:hover {
        color: #000; } }

.orderdetails .order-shipments .product-brand,
.order-history-list .product-brand {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 0.875rem;
  line-height: 1; }

.orderdetails .order-shipments .product-name,
.order-history-list .product-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1; }
  @media screen and (min-width: 64em) {
    .orderdetails .order-shipments .product-name,
    .order-history-list .product-name {
      font-size: 1.125rem; } }

.order-history-list {
  margin-left: 0; }
  .order-history-list .label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    background: transparent;
    color: #000;
    display: block;
    font-size: 15px;
    padding: 0; }
    .order-history-list .label .fa {
      font-size: 18px; }
    .order-history-list .label .fa-calendar-o {
      margin: 0 0.3125rem 0 0; }
  @media screen and (max-width: 47.9375em) {
    .order-history-list .accordion-order-header {
      margin: 15px 0; } }
  .order-history-list .order-history-items {
    padding-top: 20px; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-history-items {
        padding-top: 25px; } }
    @media screen and (min-width: 48em) {
      .order-history-list .order-history-items .row {
        width: 100%; } }
    @media screen and (max-width: 47.9375em) {
      .order-history-list .order-history-items .columns {
        padding: 0; } }
    .order-history-list .order-history-items .order-totals {
      border-top: 1px solid #ccc;
      margin: 0; }
      .order-history-list .order-history-items .order-totals .order-value {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .order-history-list .order-history-items .order-totals .total-value-row {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
      .order-history-list .order-history-items .order-totals .order-totals-row,
      .order-history-list .order-history-items .order-totals .row {
        margin: 0; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-history-items .order-info {
        padding-top: 25px; } }
    .order-history-list .order-history-items .order-info .order-info-row {
      margin: 0; }
      .order-history-list .order-history-items .order-info .order-info-row .row {
        margin: 0; }
    .order-history-list .order-history-items .order-info .main-section-header {
      display: none; }
    .order-history-list .order-history-items .order-info .line-items {
      padding: 0; }
      .order-history-list .order-history-items .order-info .line-items .product-row {
        margin-left: 0;
        margin-right: 0; }
      .order-history-list .order-history-items .order-info .line-items .orderdetails-productvalues,
      .order-history-list .order-history-items .order-info .line-items .orderdetails-productname {
        padding: 0; }
      .order-history-list .order-history-items .order-info .line-items .row {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        margin: 10px 0; }
    .order-history-list .order-history-items .order-info .order-payment-summary {
      border-bottom: 0;
      border-left: 0;
      border-right: 0;
      padding-left: 0;
      padding-right: 0; }
    .order-history-list .order-history-items .order-info,
    .order-history-list .order-history-items .order-totals {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000;
      padding-top: 20px; }
    .order-history-list .order-history-items .value-column {
      text-align: right; }
  .order-history-list .order-history-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .order-history-list .order-history-header button {
      margin-top: 1.625rem;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-history-header button {
          width: auto; } }
    .order-history-list .order-history-header .label {
      margin-bottom: 0.375rem; }
    .order-history-list .order-history-header .value {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000;
      display: block;
      font-size: 14px;
      margin-bottom: 1rem; }
      .order-history-list .order-history-header .value.paid-online {
        margin: 0; }
    .order-history-list .order-history-header .order-header-info {
      border-bottom: 1px solid #ccc;
      color: #000;
      margin: 0;
      padding-bottom: 5px;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-history-header .order-header-info .row {
          margin: 0; } }
      .order-history-list .order-history-header .order-header-info .columns {
        padding: 0; }
    .order-history-list .order-history-header .order-location {
      text-transform: capitalize; }
    .order-history-list .order-history-header .order-information-client .value,
    .order-history-list .order-history-header .order-location .value {
      margin-bottom: 0; }
    .order-history-list .order-history-header .cancelled-order,
    .order-history-list .order-history-header .modified-order {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700; }
    .order-history-list .order-history-header .modified-order {
      color: #ff6900;
      font-size: 12px;
      margin-bottom: 0; }
    .order-history-list .order-history-header .cancelled-order {
      color: #f00; }
  .order-history-list .order-history-table {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 15px; }
    .order-history-list .order-history-table tbody {
      border: 0; }
      .order-history-list .order-history-table tbody tr {
        background: transparent; }
    .order-history-list .order-history-table th,
    .order-history-list .order-history-table td {
      line-height: 1.25rem;
      padding: 0 0 1.375rem; }
      .order-history-list .order-history-table th:first-child,
      .order-history-list .order-history-table td:first-child {
        width: 56%; }
      .order-history-list .order-history-table th:last-child,
      .order-history-list .order-history-table td:last-child {
        text-align: right;
        width: 10%; }
    .order-history-list .order-history-table th {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-weight: normal;
      text-align: left; }
    .order-history-list .order-history-table .old-price {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.75rem;
      text-decoration: line-through; }
  .order-history-list .order-block .order-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background: #fff;
    color: #000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    font-size: 14px;
    font-weight: 500;
    height: 64px;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 0 20px; }
    .order-history-list .order-block .order-title::after {
      border: 0;
      color: #848484;
      content: "\f107";
      display: block;
      font-family: "fontello";
      -webkit-font-smoothing: antialiased;
      -moz-osx-font-smoothing: grayscale;
      font-style: normal;
      font-variant: normal;
      font-weight: normal;
      height: auto;
      line-height: 1em;
      position: absolute;
      right: 20px;
      text-align: center;
      text-transform: none;
      top: 8px;
      width: 1em; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title::after {
          font-size: 1.25rem;
          top: 50%;
          -webkit-transform: translateY(-30%);
              -ms-transform: translateY(-30%);
                  transform: translateY(-30%); } }
    .order-history-list .order-block .order-title[aria-expanded="true"]::after {
      -webkit-transform: scaleY(-1);
          -ms-transform: scaleY(-1);
              transform: scaleY(-1);
      -webkit-transform-origin: 50% 50%;
          -ms-transform-origin: 50% 50%;
              transform-origin: 50% 50%; }
    .order-history-list .order-block .order-title .order-total {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #000;
      font-size: 1rem;
      font-weight: bold;
      margin-right: 30px; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title .order-total {
          font-size: 1.125rem; } }
    .order-history-list .order-block .order-title .order-number-status {
      display: block; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title .order-number-status {
          font-size: 18px; } }
    .order-history-list .order-block .order-title .order-vehicle-name {
      display: block;
      padding: 10px 0 15px; }
      @media screen and (min-width: 48em) {
        .order-history-list .order-block .order-title .order-vehicle-name {
          padding: 10px 0 0; } }
      .order-history-list .order-block .order-title .order-vehicle-name.unknown {
        color: #979797; }
  .order-history-list .order-block .accordion-content {
    border: 0;
    margin: 0;
    min-height: 70px;
    padding: 16px 10px 0;
    position: relative; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-block .accordion-content {
        padding: 16px 23px 0; } }
  .order-history-list .order-block .car-appointment-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    background: #f2f2f2;
    color: #000;
    font-size: 0.875rem;
    line-height: 22px;
    margin-bottom: 20px;
    padding: 10px; }
    @media screen and (min-width: 48em) {
      .order-history-list .order-block .car-appointment-info {
        margin-bottom: 30px;
        padding: 20px; } }
  .order-history-list .load-more-container {
    position: relative;
    text-align: center;
    width: 100%; }
  .order-history-list .productvalues-column {
    font-size: 14px; }
    @media screen and (min-width: 48em) {
      .order-history-list .productvalues-column {
        font-size: 16px; } }
    .order-history-list .productvalues-column .mobile-titles {
      font-family: "gotham-bold", Arial;
      font-weight: bold; }

.orderdetails .order-information {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 1rem;
  margin: 0 0 25px;
  padding-top: 0.625rem; }
  @media screen and (min-width: 48em) {
    .orderdetails .order-information {
      padding-top: 1.625rem; } }
  .orderdetails .order-information .order-number {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    margin: 0 0 5px; }
    @media screen and (min-width: 48em) {
      .orderdetails .order-information .order-number {
        margin: 0 0 10px; } }
    .orderdetails .order-information .order-number .value {
      color: #000; }

.orderdetails .account-block-grey .label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500; }

.orderdetails .label {
  background: transparent;
  color: #000;
  font-size: 1em;
  padding: 0; }

.orderdetails .account-block-border {
  border-width: 2px;
  margin-bottom: 1.875rem; }
  @media screen and (min-width: 48em) {
    .orderdetails .account-block-border {
      margin-bottom: 2.8125rem; } }

.orderdetails .account-section-heading {
  margin-bottom: 1.875rem; }

.orderdetails .mini-address-location p,
.orderdetails .account-info p,
.orderdetails .appointment-info p {
  font-size: 0.875rem;
  margin: 0; }
  .orderdetails .mini-address-location p.email,
  .orderdetails .account-info p.email,
  .orderdetails .appointment-info p.email {
    display: none; }

.orderdetails .appointment-time {
  color: #808285; }

.orderdetails .line-sections-separator::before {
  background: #f2f2f3; }

.account-info-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.account-info-message {
  color: #808285;
  display: block; }

.order-payment-summary {
  border: 2px solid #ccc;
  margin: 0;
  padding: 1rem 1.25rem 0; }
  .order-payment-summary::before, .order-payment-summary::after {
    content: ' ';
    display: table; }
  .order-payment-summary::after {
    clear: both; }
  @media screen and (min-width: 48em) {
    .order-payment-summary {
      padding: 1.5625rem 1.875rem 0; } }
  .order-payment-summary .order-summary-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.125rem;
    margin: 0 0 1.5625rem; }
    @media screen and (min-width: 48em) {
      .order-payment-summary .order-summary-title {
        display: none; } }
  @media screen and (min-width: 48em) {
    .order-payment-summary .order-detail-summary {
      float: right;
      padding-left: 0.625rem;
      width: 58.33333%; } }
  @media screen and (min-width: 64em) {
    .order-payment-summary .order-detail-summary {
      width: 41.66667%; } }
  .order-payment-summary .vehicle-info {
    display: none; }
  .order-payment-summary .order-totals-table {
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .order-payment-summary .order-totals-table .order-total td {
        padding-bottom: 15px; } }
    .order-payment-summary .order-totals-table tbody {
      border: 0; }
      .order-payment-summary .order-totals-table tbody tr:nth-child(even) {
        background: transparent; }
      .order-payment-summary .order-totals-table tbody td {
        padding: 0; }
        @media screen and (min-width: 48em) {
          .order-payment-summary .order-totals-table tbody td {
            padding: 5px 0; } }
    .order-payment-summary .order-totals-table tr {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.875rem; }
      .order-payment-summary .order-totals-table tr td:first-child {
        padding-right: 0.625rem;
        text-align: left; }
      .order-payment-summary .order-totals-table tr td:last-child {
        text-align: right; }
      .order-payment-summary .order-totals-table tr.bold {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
      @media screen and (min-width: 48em) {
        .order-payment-summary .order-totals-table tr.order-total {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 400; } }
      .order-payment-summary .order-totals-table tr.amount-total-paid.bold, .order-payment-summary .order-totals-table tr.amount-store-total.bold {
        font-size: 0.9375rem; }
  .order-payment-summary .currency-code {
    font-size: 0.5625rem; }

.account-info-row .account-info-wrapper {
  border-bottom: 1px solid #e8e8e9;
  padding: 15px 0; }
  .account-info-row .account-info-wrapper p {
    margin: 0; }

.account-info-row.expanded .account-info-wrapper {
  display: none; }

.account-info-row.expanded .edit-form {
  display: block; }

.account-info-row .edit-form {
  display: none;
  margin-top: 15px; }
  .account-info-row .edit-form .required-indicator {
    display: none; }

.account-info-row .password-dots {
  font-size: 12px;
  letter-spacing: -2px; }
  .account-info-row .password-dots .icon-circle::before {
    color: #424242;
    margin: 0;
    padding: 0;
    width: 12px; }

.account-info-row .reset-password-button {
  font-size: 14px; }

.account-info-row .edit-toggle {
  color: #c75300;
  font-size: 14px; }

.account-info-row .int-phone-testing {
  margin: 15px 0; }

.verification-modal {
  padding: 25px;
  width: 500px; }
  @media screen and (max-width: 47.9375em) {
    .verification-modal {
      height: auto;
      margin: 20px;
      min-height: auto;
      width: auto; } }
  .verification-modal .close-button {
    color: #ff6900;
    font-size: 22px;
    top: 20px; }
  .verification-modal .verification-title {
    font-size: 16px;
    margin-bottom: 30px; }
  .verification-modal .icon-verify-method::before {
    font-size: 20px;
    font-weight: bold;
    margin-bottom: 16px; }
  .verification-modal .verification-method {
    font-weight: normal;
    overflow-wrap: break-word;
    padding: 3px 0;
    text-transform: none;
    word-break: break-all; }
  .verification-modal .verification-text-message {
    font-size: 12px;
    line-height: 16px;
    margin: 0; }
  .verification-modal .customer-contact {
    font-weight: 500; }
  .verification-modal .verification-actions {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding-top: 15px; }
    .verification-modal .verification-actions.disable-resend {
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end; }
  .verification-modal .verify-code-btn {
    margin: 0;
    padding: 10px 18px; }
    .verification-modal .verify-code-btn[disabled] {
      border-color: #808285; }
  .verification-modal .resend-code {
    color: #c75300;
    font-size: 13px;
    font-weight: 400;
    text-align: left;
    text-decoration: underline; }
  .verification-modal .verification-code-sent {
    margin-bottom: 10px; }
  .verification-modal .verification-error {
    color: #f00;
    font-size: 12px;
    margin: 0; }
  .verification-modal .icon-resend::before {
    margin: 0; }
  .verification-modal .verify-code-form {
    margin-top: 20px; }

.send-verification-code-form {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  @media screen and (max-width: 47.9375em) {
    .send-verification-code-form {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .send-verification-code-form .send-verification-code {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    min-height: 110px;
    padding: 10px; }
    @media screen and (min-width: 48em) {
      .send-verification-code-form .send-verification-code {
        max-width: 220px;
        width: 100%; } }
    .send-verification-code-form .send-verification-code[disabled] {
      background-color: #e5e5e5;
      border-color: #e5e5e5; }

.cart-summary-box .product-name {
  text-transform: uppercase; }

.cart-summary-box .line-item .product-brand,
.cart-summary-box .line-item .product-name,
.cart-summary-box .line-item .line-item-price,
.cart-summary-box .line-item .item-quantity,
.cart-summary-box .line-item .price-total {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem; }

.cart-summary-box .line-item .front-back-set-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }

.cart-summary-box .line-item .currency-code {
  font-size: 0.5625rem; }

.login-modal {
  height: 160px;
  min-height: 160px;
  position: absolute !important;
  width: 400px; }
  @media screen and (min-width: 48em) {
    .login-modal {
      height: 175px;
      min-height: 175px; } }
  @media screen and (max-width: 63.9375em) {
    .login-modal {
      margin-top: 70px !important;
      max-width: calc(100vw - 20px); } }
  .login-modal .close-button {
    color: #000; }
  .login-modal .login-modal-title {
    margin-bottom: 15px; }
  .login-modal p {
    font-size: 14px;
    margin-bottom: 15px;
    padding: 10px 0; }
    @media screen and (min-width: 48em) {
      .login-modal p {
        font-size: 15px;
        margin-bottom: 20px; } }
  .login-modal a {
    margin: 0; }
  .login-modal .no-thanks {
    padding: 8px; }
    .login-modal .no-thanks a {
      color: #000;
      font-size: 14px; }
    .login-modal .no-thanks :hover {
      text-decoration: underline; }
  .login-modal .cb-cta.button-full-white {
    padding: 8px 60px; }

@media screen and (max-width: 47.9375em) {
  .pt_mygarage .columns.mobile-padding-right-6px {
    padding-right: 6px; }
  .pt_mygarage .columns.mobile-padding-left-6px {
    padding-left: 6px; } }

.pt_mygarage .width-50-percent {
  width: 50%; }

.pt_mygarage .dotted-border {
  border-bottom: 3.5px dotted #ff6900; }

.pt_mygarage .arrow {
  color: #ff6900; }

.pt_mygarage .top-section,
.pt_mygarage .top-section-archive {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 15px 0; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .top-section,
    .pt_mygarage .top-section-archive {
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .pt_mygarage .top-section p,
      .pt_mygarage .top-section .car-add-new,
      .pt_mygarage .top-section button,
      .pt_mygarage .top-section-archive p,
      .pt_mygarage .top-section-archive .car-add-new,
      .pt_mygarage .top-section-archive button {
        width: 100%; }
      .pt_mygarage .top-section .car-add-new,
      .pt_mygarage .top-section-archive .car-add-new {
        margin-top: 25px; } }
  .pt_mygarage .top-section p,
  .pt_mygarage .top-section-archive p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 18px;
    font-weight: 700;
    line-height: 21.6px;
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .pt_mygarage .top-section p,
      .pt_mygarage .top-section-archive p {
        font-size: 16px; } }

@media screen and (max-width: 47.9375em) {
  .pt_mygarage .top-section {
    margin: 0; } }

@media screen and (max-width: 47.9375em) {
  .pt_mygarage .top-section-archive p {
    width: 75%; }
  .pt_mygarage .top-section-archive button {
    width: 30%; } }

.pt_mygarage .subtitle-text {
  font-size: 16px;
  margin-bottom: 25px; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .subtitle-text {
      font-size: 14px; } }

.pt_mygarage .car-add-new button.cb-cta.button-hollow-black {
  font-size: 13px;
  margin: 0;
  padding: 11px 15px; }

.pt_mygarage .cars-container,
.pt_mygarage .cars-container-archived {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .cars-container,
    .pt_mygarage .cars-container-archived {
      margin-left: -15px;
      width: calc(100% + 30px); } }

.pt_mygarage .car-container {
  background: #f2f2f2;
  margin-bottom: 50px;
  padding: 10px 10px 30px;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_mygarage .car-container {
      margin-bottom: 30px;
      padding: 10px; } }
  .pt_mygarage .car-container p {
    margin: 0; }
  .pt_mygarage .car-container .cb-cta {
    margin: 5px 0; }

.pt_mygarage .car-visuals {
  -ms-flex-line-pack: center;
      align-content: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: relative;
  text-align: center; }

.pt_mygarage .car-information {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  background: #fff;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  font-size: 13px;
  height: 100%;
  line-height: 1;
  padding: 15px;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_mygarage .car-information::before {
      border-color: #fff transparent;
      border-style: solid;
      border-width: 14px 14px 0;
      content: "";
      display: block;
      left: -21px;
      position: absolute;
      top: calc(50% - 7px);
      -webkit-transform: rotate(90deg);
          -ms-transform: rotate(90deg);
              transform: rotate(90deg);
      width: 0;
      z-index: 0; } }

.pt_mygarage .car-image {
  max-height: 100%;
  max-width: 100%;
  min-height: 70px;
  padding: 10px 10px 0; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .car-image {
      max-height: 100px;
      max-width: 200px;
      min-height: 90px; } }
  .pt_mygarage .car-image .loader {
    display: block; }

.pt_mygarage .car-name,
.pt_mygarage .car-vin,
.pt_mygarage .car-plate-add,
.pt_mygarage .car-plate-edit {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #ff6900;
  cursor: pointer;
  font-size: 12px;
  line-height: 14.4px;
  padding-top: 2px;
  text-decoration: underline;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .car-name,
    .pt_mygarage .car-vin,
    .pt_mygarage .car-plate-add,
    .pt_mygarage .car-plate-edit {
      margin-bottom: 15px; } }

.pt_mygarage .car-plate-edit,
.pt_mygarage .car-name,
.pt_mygarage .car-vin {
  color: #000;
  padding-bottom: 4px;
  text-decoration: none; }
  .pt_mygarage .car-plate-edit span,
  .pt_mygarage .car-name span,
  .pt_mygarage .car-vin span {
    text-decoration: underline; }

.pt_mygarage .car-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 17px;
  line-height: 1; }

.pt_mygarage .car-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 14px;
  font-weight: 500;
  line-height: 16.8px; }
  .pt_mygarage .car-name i {
    color: #ff6900;
    font-size: 15px; }

.pt_mygarage .car-tire-wheel > div {
  line-height: 17px;
  margin-top: 14px; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .car-tire-wheel > div {
      margin-top: 12px; } }

.pt_mygarage .car-tire-wheel,
.pt_mygarage .car-info-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%; }

.pt_mygarage .car-info-bottom {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  font-size: 14px;
  font-weight: bold;
  line-height: 1;
  margin-top: auto;
  padding-top: 16px;
  row-gap: 17px; }
  .pt_mygarage .car-info-bottom a {
    color: #000; }
    @media screen and (max-width: 47.9375em) {
      .pt_mygarage .car-info-bottom a {
        width: 100%; } }

.pt_mygarage .car-no-order-history {
  color: #808285; }

.pt_mygarage .car-appointment {
  background: #fff;
  border-left: 5px solid #ff6900;
  margin-top: 16px;
  padding: 15px 20px; }

.pt_mygarage .car-appointment-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 16px;
  line-height: 22px;
  padding-bottom: 5px; }

.pt_mygarage .car-appointment-info {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 20px; }

.pt_mygarage .appointment-map,
.pt_mygarage .modify-appointment {
  color: #ff6900; }

.pt_mygarage .appointment-map {
  text-transform: capitalize; }

.pt_mygarage .modify-appointment {
  font-size: 0.875rem; }

.pt_mygarage .car-buy-actions {
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-flow: row wrap;
          flex-flow: row wrap;
  -webkit-box-pack: space-evenly;
      -ms-flex-pack: space-evenly;
          justify-content: space-evenly;
  margin-top: 6px; }
  .pt_mygarage .car-buy-actions a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-flex: 1;
        -ms-flex-positive: 1;
            flex-grow: 1;
    font-size: 13px;
    line-height: 15px;
    text-align: center; }
    @media screen and (max-width: 47.9375em) {
      .pt_mygarage .car-buy-actions a {
        font-size: 11px;
        line-height: 12px; } }
    .pt_mygarage .car-buy-actions a:last-child {
      margin-right: 0; }

.pt_mygarage .car-buy-action,
.pt_mygarage .services-cta {
  width: 100%; }
  .pt_mygarage .car-buy-action.cb-cta.button-hollow-black, .pt_mygarage .car-buy-action.cb-cta.button-full-white,
  .pt_mygarage .services-cta.cb-cta.button-hollow-black,
  .pt_mygarage .services-cta.cb-cta.button-full-white {
    padding: 11px 0; }

.pt_mygarage .services-cta {
  background-color: #fff; }
  .pt_mygarage .services-cta:hover, .pt_mygarage .services-cta:focus {
    background: #f6a583; }

.pt_mygarage .custom-class .questionmarkcircle {
  float: left; }

.pt_mygarage .highlight-existing-car {
  border: 2px solid #ff6900;
  -webkit-transition: border-width 0.5s linear;
  transition: border-width 0.5s linear; }
  .pt_mygarage .highlight-existing-car.transition-to-end {
    border-width: 0; }

.pt_mygarage .toggle-archived-cars {
  color: #000;
  font-size: 14px; }
  .pt_mygarage .toggle-archived-cars i {
    font-size: 10px;
    vertical-align: top; }

.pt_mygarage .archived-cars {
  margin-top: 20px; }
  @media screen and (max-width: 47.9375em) {
    .pt_mygarage .archived-cars {
      margin-left: -15px;
      width: calc(100% + 30px); } }

.service-actions-modal {
  top: 50%; }
  @media screen and (max-width: 47.9375em) {
    .service-actions-modal {
      height: auto;
      margin: auto;
      min-height: auto;
      width: 95%; } }
  .service-actions-modal .modal-title {
    margin: 8px 0;
    padding: 0 10px; }
  .service-actions-modal .car-buy-actions {
    padding: 10px 0; }
  .service-actions-modal .car-buy-action {
    text-align: center;
    width: 100%; }
  .service-actions-modal .modal-close {
    background-color: transparent;
    color: #ff6900;
    position: absolute;
    right: 15px;
    top: 15px; }
    .service-actions-modal .modal-close span {
      font-size: 30px;
      font-weight: 600;
      line-height: 1; }

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

.flex-order-1 {
  -webkit-box-ordinal-group: 0;
      -ms-flex-order: -1;
          order: -1; }

.garage-modal-title {
  margin-bottom: 30px; }

[form-ctrl] .vin-container {
  display: none; }

[form-ctrl][form-ctrl="carfax"] .vin-container, [form-ctrl][form-ctrl="editVehicleData"] .vin-container {
  display: block; }

.garage-modal {
  width: 100%; }
  .garage-modal#verify-vehicle-modal .description {
    font-size: 14px;
    line-height: 22px; }
  .garage-modal .modal-title {
    font-size: 20px;
    line-height: 24px;
    margin-bottom: 20px; }
  .garage-modal .modal-close {
    background-color: transparent;
    position: absolute;
    right: 15px;
    top: 15px; }
    .garage-modal .modal-close span {
      font-size: 30px;
      font-weight: 400;
      line-height: 1; }
  .garage-modal .description {
    font-size: 16px;
    line-height: 22px;
    margin-bottom: 20px;
    padding: 0; }
  .garage-modal .vehicles-section {
    gap: 20px; }
    .garage-modal .vehicles-section .car-container {
      max-width: calc(50% - 10px);
      padding: 0; }
  .garage-modal .name-your-vehicle-fields {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 15px; }
    @media screen and (max-width: 47.9375em) {
      .garage-modal .name-your-vehicle-fields .field-container {
        max-width: 100%;
        min-width: 100%; }
        .garage-modal .name-your-vehicle-fields .field-container:nth-child(even), .garage-modal .name-your-vehicle-fields .field-container:nth-child(odd) {
          padding-left: 0;
          padding-right: 0; } }
    .garage-modal .name-your-vehicle-fields .field-container {
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      margin-bottom: 15px;
      max-width: 50%;
      min-width: 50%; }
      .garage-modal .name-your-vehicle-fields .field-container:nth-child(even) {
        padding-left: 15px; }
      .garage-modal .name-your-vehicle-fields .field-container:nth-child(odd) {
        padding-right: 15px; }
      .garage-modal .name-your-vehicle-fields .field-container .field-label {
        font-size: 14px;
        font-weight: bold;
        line-height: 16px; }
  .garage-modal .buttons-wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    .garage-modal .buttons-wrap.align-to-right {
      -webkit-box-pack: right;
          -ms-flex-pack: right;
              justify-content: right; }
    .garage-modal .buttons-wrap button {
      font-size: 12px;
      height: 42px;
      line-height: 20px;
      margin-bottom: 0;
      max-width: 200px;
      min-width: 200px;
      padding: 0 20px; }
      @media screen and (max-width: 47.9375em) {
        .garage-modal .buttons-wrap button {
          -webkit-box-flex: 1;
              -ms-flex: 1;
                  flex: 1;
          max-width: none;
          min-width: auto; } }
      .garage-modal .buttons-wrap button:disabled {
        background-color: #e5e5e5;
        border-color: #e5e5e5;
        opacity: 1; }
    .garage-modal .buttons-wrap.fit-width button {
      max-width: none;
      min-width: 200px; }
  .garage-modal .close-button {
    color: #000; }
  .garage-modal p {
    padding: 10px 0; }
  .garage-modal a {
    margin: 0; }
  .garage-modal input {
    margin: 6px 0 0;
    padding: 10px 15px; }
  .garage-modal .plate-no-container {
    margin-bottom: 30px; }
  .garage-modal .cb-cta.button-hollow-black,
  .garage-modal .cb-cta.button-full-white {
    padding: 8px 60px; }

.vehicle-exists-modal {
  max-width: 400px; }

.plate-number-modal {
  min-height: 100px; }

.plate-number-modal,
.car-edit-modal,
.vehicle-info-modal,
#verify-vehicle-modal {
  max-width: 700px;
  padding: 30px; }
  .plate-number-modal .garage-vehicle-name,
  .car-edit-modal .garage-vehicle-name,
  .vehicle-info-modal .garage-vehicle-name,
  #verify-vehicle-modal .garage-vehicle-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 20px;
    line-height: 24px;
    padding: 0 36px 20px 0; }

#verify-vehicle-modal {
  max-height: 80vh;
  overflow: auto; }

.car-edit-modal p {
  padding: 0 0 10px; }

.add-plate-no {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #ff6900;
  cursor: pointer;
  font-size: 12px;
  line-height: 14.4px;
  text-decoration: underline; }

.pt_order .d-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.pt_order .position-relative {
  position: relative; }

.pt_order .flex-wrap {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.pt_order .flex-column {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column; }

.pt_order .switcher-container {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center; }
  @media screen and (min-width: 48em) {
    .pt_order .switcher-container {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-direction: row;
              flex-direction: row;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }

.pt_order .switcher {
  display: block;
  margin-bottom: 16px;
  min-height: 1.5rem;
  position: relative;
  z-index: 1; }
  @media screen and (min-width: 48em) {
    .pt_order .switcher {
      text-align: end; } }

.pt_order .switcher-input {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  height: 1.25rem;
  opacity: 0;
  padding: 0;
  pointer-events: none;
  position: absolute;
  right: 0;
  width: 1rem;
  z-index: -1; }
  .pt_order .switcher-input:checked ~ .switcher-label::before {
    border-color: #ff6900; }
  .pt_order .switcher-input:checked ~ .switcher-label::after {
    background-color: #ff6900;
    right: 3px; }

.pt_order .switcher-label {
  display: inline-block;
  line-height: 24px;
  margin: 0;
  padding-right: 45px;
  position: relative;
  vertical-align: top; }
  .pt_order .switcher-label::before {
    background-color: #fff;
    border: 1px solid #adb5bd;
    border-radius: 12.5px;
    content: "";
    display: block;
    height: 24px;
    pointer-events: all;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;
    transition: background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-box-shadow 0.15s ease-in-out;
    width: 39px; }
  .pt_order .switcher-label::after {
    background: 50% / 50% 50% no-repeat;
    background-color: #adb5bd;
    border-radius: 0.5rem;
    content: "";
    display: block;
    height: 18px;
    position: absolute;
    right: 18px;
    top: 3px;
    transition: transform 0.15s ease-in-out,background-color 0.15s ease-in-out,border-color 0.15s ease-in-out,box-shadow 0.15s ease-in-out,-webkit-transform 0.15s ease-in-out;
    width: 18px; }

.pt_order .order-history-filter-box {
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-bottom: 20px; }

.pt_order .order-history-filter-item {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  border: 2px solid #e8e8e9;
  margin: 0;
  min-height: 122px;
  padding: 14px 10px 10px;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .pt_order .order-history-filter-item {
      min-height: 125px; } }
  .pt_order .order-history-filter-item::before {
    border: 1px solid #e8e8e9;
    border-radius: 100%;
    content: "";
    height: 19px;
    position: absolute;
    right: 8px;
    top: 8px;
    width: 19px;
    z-index: 1; }

.pt_order .order-checkbox {
  opacity: 0;
  position: absolute;
  z-index: 1; }
  .pt_order .order-checkbox:checked ~ .order-history-filter-item {
    border: 2px solid #ff6900; }
    .pt_order .order-checkbox:checked ~ .order-history-filter-item::before {
      background-color: #ff6900;
      border-color: #ff6900; }
    .pt_order .order-checkbox:checked ~ .order-history-filter-item::after {
      border-bottom: 2px solid #fff;
      border-right: 2px solid #fff;
      content: "";
      display: inline-block;
      height: 10px;
      margin-left: 60%;
      position: absolute;
      right: 14px;
      top: 11px;
      -webkit-transform: rotate(45deg);
          -ms-transform: rotate(45deg);
              transform: rotate(45deg);
      width: 6px;
      z-index: 1; }

.pt_order .car-image {
  max-width: 149px; }

.pt_order .car-name {
  padding: 6px 0 4px;
  text-align: center; }

.pt_order .car-plate,
.pt_order .car-name {
  font-size: 0.75rem;
  text-align: center; }

#carfax-history-modal {
  font-size: 0.75rem;
  max-width: 816px;
  padding: 1.25rem;
  top: 16px;
  width: 100%; }
  @media screen and (max-width: 47.9375em) {
    #carfax-history-modal {
      position: sticky; } }
  #carfax-history-modal .modal-content {
    max-height: 78vh; }
    @media screen and (max-width: 47.9375em) {
      #carfax-history-modal .modal-content {
        max-height: 78vh;
        /* Use vh as a fallback for browsers that do not support Custom Properties */
        max-height: calc(var(dynamicScreenSize, 1vh) * 100);
        overflow-y: scroll;
        padding-bottom: 20px; } }
  #carfax-history-modal .modal-title {
    font-size: 1.25rem;
    margin-bottom: 1.25rem; }
  #carfax-history-modal .modal-text {
    font-size: 1rem;
    line-height: 1.375rem; }
  #carfax-history-modal .carfax-history-header {
    margin-bottom: 1.25rem; }
    @media screen and (max-width: 47.9375em) {
      #carfax-history-modal .carfax-history-header {
        margin-top: 18px; } }
  #carfax-history-modal .license-plate-wrapper {
    background-color: #f2f2f2;
    padding: 12px 16px; }
    #carfax-history-modal .license-plate-wrapper .license-plate-header {
      font-size: 1.125rem;
      margin-bottom: 1.25rem; }
    #carfax-history-modal .license-plate-wrapper .license-plate-content {
      -webkit-column-gap: 1.25rem;
         -moz-column-gap: 1.25rem;
              column-gap: 1.25rem;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      @media screen and (max-width: 47.9375em) {
        #carfax-history-modal .license-plate-wrapper .license-plate-content {
          -webkit-box-orient: vertical;
          -webkit-box-direction: normal;
              -ms-flex-direction: column;
                  flex-direction: column; } }
      #carfax-history-modal .license-plate-wrapper .license-plate-content .column, #carfax-history-modal .license-plate-wrapper .license-plate-content .columns {
        -webkit-box-flex: 1;
            -ms-flex: 1;
                flex: 1;
        margin-bottom: 0;
        padding: 0; }
      #carfax-history-modal .license-plate-wrapper .license-plate-content .license-plate-inner {
        margin-bottom: 20px; }
        #carfax-history-modal .license-plate-wrapper .license-plate-content .license-plate-inner .plate-number-input {
          margin-top: 8px; }
        #carfax-history-modal .license-plate-wrapper .license-plate-content .license-plate-inner .error:not(.licensePlate) > * {
          max-width: 232px; }
      #carfax-history-modal .license-plate-wrapper .license-plate-content .form-row {
        margin-bottom: 0; }
    #carfax-history-modal .license-plate-wrapper .error-vin {
      background-color: #ffe1be;
      color: #f00;
      display: none;
      padding: 6px; }
  #carfax-history-modal .input-custom {
    padding-left: 2px; }
  #carfax-history-modal .or-break {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 8px;
    padding: 0 10px;
    text-transform: uppercase; }
  #carfax-history-modal .or-break::before,
  #carfax-history-modal .or-break::after {
    border-bottom: 2px solid #f2f2f2;
    content: "";
    -webkit-box-flex: 1;
        -ms-flex: 1 1;
            flex: 1 1;
    margin: auto; }
  #carfax-history-modal .or-break::before {
    margin-right: 10px; }
  #carfax-history-modal .or-break::after {
    margin-left: 10px; }
  #carfax-history-modal .vin-wrapper {
    background-color: #f2f2f2;
    padding: 12px 16px; }
    #carfax-history-modal .vin-wrapper .vin-header {
      font-size: 1.125rem;
      margin-bottom: 1.25rem; }
    #carfax-history-modal .vin-wrapper .vin-number-input {
      margin-top: 6px; }
  #carfax-history-modal .vehicle-information {
    font-size: 0.875rem;
    line-height: 1rem;
    margin-bottom: 10px; }

#carfax-delete-modal {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  max-width: 31.25rem;
  padding: 20px;
  width: 100%; }
  #carfax-delete-modal .modal-title {
    font-size: 1.25rem;
    margin-bottom: 1.375rem; }
  #carfax-delete-modal .modal-text {
    font-size: 1rem;
    line-height: 1.375rem; }
  #carfax-delete-modal .buttons-wrap {
    -webkit-column-gap: 60px;
       -moz-column-gap: 60px;
            column-gap: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 1.25rem; }
    #carfax-delete-modal .buttons-wrap button {
      -webkit-box-flex: 50%;
          -ms-flex: 50%;
              flex: 50%; }

#carfax-history-modal .carfax-modal-close,
#carfax-delete-modal .carfax-modal-close {
  cursor: pointer;
  font-size: 32px;
  line-height: 1;
  position: absolute;
  right: 1rem;
  top: 0.5rem;
  z-index: 5; }

#carfax-history-modal button,
#carfax-delete-modal button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  font-size: 12px;
  height: 42px;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

#carfax-delete-form,
#vehicle-fieldset {
  min-height: 42px;
  position: relative; }

.grey-line {
  border-bottom: 2px solid #f2f2f2;
  content: "";
  margin: 12px 0; }

.find-vin-wrapper .item-content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .find-vin-wrapper .item-content ul {
    list-style-type: disc; }

.modal-buttons {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 16px; }
  .modal-buttons .button {
    width: 200px; }

.service-unavailable-section {
  background-color: #f2f2f2;
  margin: 8px 0 24px;
  padding: 12px 16px; }
  .service-unavailable-section .section-title {
    display: none;
    font-size: 1.125rem;
    margin-bottom: 1.125rem; }
  .service-unavailable-section .unavailable-text {
    background-color: #ffe1be;
    color: #f00;
    padding: 6px; }

.vehicle-data-section {
  background-color: #f2f2f2;
  margin: 0;
  padding: 20px; }
  .vehicle-data-section .section-title {
    font-size: 1.125rem;
    margin-bottom: 20px; }
  .vehicle-data-section .checkbox-form {
    margin-bottom: 0; }
  .vehicle-data-section .vehicle-data-content .save-vehicle-container {
    margin-top: 9px; }
    .vehicle-data-section .vehicle-data-content .save-vehicle-container .save-vehicle-checkbox {
      -webkit-transform: scale(1.5);
          -ms-transform: scale(1.5);
              transform: scale(1.5); }

.modal-buttons .carflex-logo {
  height: 50px;
  width: 160px; }

.modal-buttons #carfax-search-button {
  background-color: #fff;
  border: 3px solid #202020;
  height: 45px;
  margin-left: auto;
  max-width: 150px;
  padding: 0; }

.modal-buttons #carfax-service-button {
  height: 45px;
  margin-left: 14px;
  max-width: 235px;
  padding: 0; }

.no-service-history {
  padding: 20px; }
  .no-service-history .section-title {
    font-size: 1.125rem;
    margin-bottom: 1.25rem; }
  .no-service-history p {
    margin-bottom: 1.25rem; }
  .no-service-history .no-service-button {
    margin-bottom: 0; }

@media screen and (max-width: 47.9375em) {
  .pt_carfax .row.atroot .content-column {
    padding-left: 0;
    padding-right: 0; } }

.pt_carfax .page-description {
  font-size: 1rem;
  margin-bottom: 25px; }

.pt_carfax .about-carfax-wrapper .about-carfax-title {
  margin-top: 3.125rem; }

.pt_carfax .about-carfax-wrapper .toggle-item .item-content {
  position: relative; }
  .pt_carfax .about-carfax-wrapper .toggle-item .item-content a {
    z-index: 2; }

.pt_carfax .no-service-history {
  margin-bottom: 3.125rem; }

.service-history-wrap[toggle-state="initial"] .service-history {
  display: none; }

.service-history-wrap[toggle-state="initial"] .no-service-history {
  display: none; }

.service-history-wrap[toggle-state="no-service"] .service-history {
  display: none; }

.service-history-wrap[toggle-state="has-service"] .no-service-history {
  display: none; }

.service-history {
  width: 100%; }
  .service-history .history-header {
    background-color: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 1.25rem;
    position: relative; }
    @media screen and (max-width: 47.9375em) {
      .service-history .history-header {
        padding: 0.9375rem 0.625rem; } }
    .service-history .history-header .header-content {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
    .service-history .history-header .logo-container {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-flex: 0;
          -ms-flex: 0;
              flex: 0; }
      @media screen and (max-width: 47.9375em) {
        .service-history .history-header .logo-container {
          -webkit-box-align: end;
              -ms-flex-align: end;
                  align-items: flex-end; } }
    .service-history .history-header .carfax-logo {
      bottom: 1.25rem;
      height: auto; }
    .service-history .history-header .delete-button {
      color: #c75300;
      cursor: pointer;
      -webkit-box-flex: 1;
          -ms-flex: 1;
              flex: 1;
      font-size: 0.8125rem;
      text-decoration: underline; }
  .service-history .history-table {
    width: 100%; }
    .service-history .history-table .table-header {
      background-color: #e5e5e5; }
      @media screen and (max-width: 47.9375em) {
        .service-history .history-table .table-header .table-column.services-performed {
          display: none; } }
      .service-history .history-table .table-header .table-row {
        border-bottom: 0; }
    .service-history .history-table p {
      font-size: 0.875rem;
      line-height: 20px;
      margin-bottom: 0; }
    .service-history .history-table b {
      font-size: 0.875rem; }
  .service-history .table-row {
    border-bottom: 1px solid #d9d9da;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (max-width: 47.9375em) {
      .service-history .table-row {
        gap: 0.625rem;
        padding: 0.625rem; } }
  .service-history .table-column {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0.625rem 0.9375rem; }
    @media screen and (max-width: 47.9375em) {
      .service-history .table-column {
        padding: 0; } }
    .service-history .table-column p:last-child {
      margin-bottom: 0; }
    .service-history .table-column.services-performed {
      -webkit-box-flex: 2;
          -ms-flex: 2;
              flex: 2; }
      @media screen and (max-width: 47.9375em) {
        .service-history .table-column.services-performed {
          min-width: 100%; }
          .service-history .table-column.services-performed b.mobile-header {
            display: inline; } }
      .service-history .table-column.services-performed .mobile-header {
        display: none; }

.sel-info.left-arrow {
  min-height: 126px; }

.brakes-details {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 50px auto; }
  .brakes-details h2 {
    margin-bottom: 20px;
    text-transform: capitalize; }
  @media screen and (max-width: 63.9375em) {
    .brakes-details .brakes-details-wrapper {
      padding: 0; } }
  .brakes-details .brakes-grid-wrapper {
    background: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    height: 100%;
    padding: 30px 15px; }
    .brakes-details .brakes-grid-wrapper h2 {
      min-width: 290px; }
      @media screen and (max-width: 47.9375em) {
        .brakes-details .brakes-grid-wrapper h2 {
          font-size: 18px; } }
    .brakes-details .brakes-grid-wrapper .grid-maker {
      font-weight: bold; }
      .brakes-details .brakes-grid-wrapper .grid-maker span {
        padding-left: 2px; }
    .brakes-details .brakes-grid-wrapper .brakes-grid {
      background-color: #fff;
      border-right: 1px solid #ccc;
      border-top: 1px solid #ccc;
      display: grid;
      grid-template-columns: repeat(3, minmax(50px, 1fr));
      margin-bottom: 15px; }
      .brakes-details .brakes-grid-wrapper .brakes-grid .grid-item {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        border-bottom: 1px solid #ccc;
        border-left: 1px solid #ccc;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: 16px;
        font-weight: 400;
        padding: 10px; }
        @media screen and (max-width: 63.9375em) {
          .brakes-details .brakes-grid-wrapper .brakes-grid .grid-item {
            font-size: 14px; } }
      .brakes-details .brakes-grid-wrapper .brakes-grid .grid-header,
      .brakes-details .brakes-grid-wrapper .brakes-grid .grid-vehicle-type {
        font-weight: bold; }
    .brakes-details .brakes-grid-wrapper .brakes-disclaimer {
      margin-bottom: 15px;
      width: 90%; }
      .brakes-details .brakes-grid-wrapper .brakes-disclaimer p {
        font-size: 12px;
        -webkit-margin-after: 0;
                margin-block-end: 0; }
    .brakes-details .brakes-grid-wrapper .brakes-no-results {
      background-color: #fff;
      margin: 20px 0;
      padding: 10px; }
      .brakes-details .brakes-grid-wrapper .brakes-no-results p {
        font-size: 18px;
        font-weight: bold;
        line-height: 1.5rem;
        -webkit-margin-after: 0;
                margin-block-end: 0;
        padding: 15px; }
    .brakes-details .brakes-grid-wrapper .brakes-included {
      margin-top: 10px; }
      .brakes-details .brakes-grid-wrapper .brakes-included .included-block {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .brakes-details .brakes-grid-wrapper .brakes-included p {
        font-size: 16px;
        font-weight: bold;
        -webkit-margin-after: 5px;
                margin-block-end: 5px; }
      .brakes-details .brakes-grid-wrapper .brakes-included ul {
        font-size: 14px;
        font-weight: 400;
        margin-left: 0; }
        .brakes-details .brakes-grid-wrapper .brakes-included ul i {
          color: #c75300;
          margin-right: 10px; }
  .brakes-details .brakes-inspection-wrapper {
    background-color: #fff;
    border: 1px solid #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 30px 25px 0; }
    @media screen and (max-width: 63.9375em) {
      .brakes-details .brakes-inspection-wrapper {
        margin-top: 25px; }
        .brakes-details .brakes-inspection-wrapper h2 {
          text-wrap: nowrap; }
        .brakes-details .brakes-inspection-wrapper img {
          max-width: 90%; } }
    .brakes-details .brakes-inspection-wrapper p {
      width: 95%; }
    .brakes-details .brakes-inspection-wrapper .button {
      width: 75%; }
      @media screen and (max-width: 63.9375em) {
        .brakes-details .brakes-inspection-wrapper .button {
          width: 100%; } }
    .brakes-details .brakes-inspection-wrapper .brakes-image-container {
      margin-top: 50px; }
      .brakes-details .brakes-inspection-wrapper .brakes-image-container p {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin-bottom: 0; }

.brakes-packages-wrapper {
  background-image: url("../images/interface/tire-mark.png");
  background-position: right;
  background-repeat: no-repeat;
  background-size: 50%;
  border: 1px solid #ccc;
  padding: 15px; }
  @media screen and (max-width: 63.9375em) {
    .brakes-packages-wrapper {
      background-position: top right; } }
  .brakes-packages-wrapper h2 {
    text-align: center;
    text-transform: capitalize; }
  .brakes-packages-wrapper .brakes-packages {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
    @media screen and (max-width: 63.9375em) {
      .brakes-packages-wrapper .brakes-packages {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .brakes-packages-wrapper .brakes-packages .packages-block {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin: 0 15px;
      width: 33%; }
      @media screen and (max-width: 63.9375em) {
        .brakes-packages-wrapper .brakes-packages .packages-block {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          margin: 0 0 15px;
          width: 100%; } }
      .brakes-packages-wrapper .brakes-packages .packages-block p {
        text-align: center; }
        @media screen and (max-width: 63.9375em) {
          .brakes-packages-wrapper .brakes-packages .packages-block p {
            text-align: left; }
            .brakes-packages-wrapper .brakes-packages .packages-block p.packages-title {
              margin-bottom: 5px; } }
        .brakes-packages-wrapper .brakes-packages .packages-block p.packages-title {
          font-weight: bold; }
      .brakes-packages-wrapper .brakes-packages .packages-block i {
        color: #ff6900;
        font-size: 50px; }

#stickyCTA {
  bottom: -100%;
  -webkit-box-shadow: 0 0 10px 2px #202020;
          box-shadow: 0 0 10px 2px #202020;
  left: 0;
  position: fixed;
  -webkit-transition: bottom 0.4s;
  transition: bottom 0.4s;
  width: 100%;
  z-index: 5; }
  #stickyCTA.slide {
    bottom: 0; }
  #stickyCTA a {
    margin-bottom: 0;
    width: 100%; }

.cart-empty {
  margin-top: 4rem; }
  .cart-empty h1 {
    margin-bottom: 2rem;
    text-align: center; }
  .cart-empty .cart-action-continue-shopping {
    float: none;
    margin-bottom: 4rem;
    text-align: center; }

.cart-page {
  margin-top: 2.5rem; }
  @media screen and (max-width: 47.9375em) {
    .cart-page {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; } }
  .cart-page .page-title {
    margin: 0;
    text-transform: none; }
    .cart-page .page-title h1 {
      font-size: 1.3125rem;
      line-height: 1;
      margin: 0;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        .cart-page .page-title h1 {
          font-size: 1.625rem; } }
  .cart-page .vehicle-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    line-height: 1.3;
    margin: 0.625rem 0 0; }
    @media screen and (min-width: 48em) {
      .cart-page .vehicle-info {
        font-size: 1.125rem; } }
    .cart-page .vehicle-info .editVehicleCart {
      color: #000;
      text-decoration: underline; }
    .cart-page .vehicle-info a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.8125rem; }
  .cart-page .cart-technical-difficulties {
    background-color: #000;
    color: #fff;
    text-align: center; }
    .cart-page .cart-technical-difficulties .small-12 {
      padding: 30px 10px 20px; }
      .cart-page .cart-technical-difficulties .small-12 p span {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
  .cart-page .cart-technical-difficulties.header .row {
    margin: -40px 0 10px; }
  .cart-page .header-product-details {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.125rem;
    margin: 1rem 0; }
  .cart-page .item-list {
    border: 4px solid #f2f2f3;
    margin: 0 0 1.5625rem;
    padding: 1.25rem 0; }
    .cart-page .item-list .section-header {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 0.9375rem;
      margin: 0 0 0.3125rem; }
  @media screen and (min-width: 48em) {
    .cart-page .main-section-header .qty-header {
      text-align: center; }
    .cart-page .main-section-header .total-price-header {
      text-align: right; } }
  @media screen and (min-width: 48em) {
    .cart-page .cart-row .item-quantity,
    .cart-page .service-row .item-quantity {
      text-align: center; }
    .cart-page .cart-row .item-total,
    .cart-page .cart-row .service-item-total,
    .cart-page .service-row .item-total,
    .cart-page .service-row .service-item-total {
      text-align: right; } }
  .cart-page .cart-line-separator::before {
    background: #e8e8e9;
    bottom: 0;
    content: "";
    display: block;
    height: 2px;
    left: 0;
    margin: auto 0;
    right: 0;
    top: 0;
    width: 100%; }
  .cart-page .order-summary-row {
    margin-bottom: 1.875rem; }
    @media screen and (min-width: 48em) {
      .cart-page .order-summary-row {
        margin-bottom: 3.125rem; } }
    @media screen and (min-width: 48em) {
      .cart-page .order-summary-row .cart-line-separator {
        -webkit-box-ordinal-group: 4;
            -ms-flex-order: 3;
                order: 3; } }
  .cart-page .disclaimer-cart {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-size: 0.75rem;
    margin-top: 0.625rem; }
    .cart-page .disclaimer-cart p {
      color: #000;
      font-size: 0.75rem;
      margin: 0; }
      .cart-page .disclaimer-cart p.levy-message-cart {
        color: #808285;
        font-weight: bold;
        margin-top: 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    .cart-page .order-summary {
      margin-top: 3.125rem; } }
  .cart-page .order-totals-table {
    margin: 0.9375rem 0; }
    .cart-page .order-totals-table tbody {
      border: 0; }
      .cart-page .order-totals-table tbody td {
        padding: 0 0 0.9375rem; }
    .cart-page .order-totals-table tr {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      background: #f2f2f2;
      font-size: 0.875rem;
      line-height: 1; }
      .cart-page .order-totals-table tr td:first-child {
        padding-right: 0.9375rem;
        text-align: left; }
      .cart-page .order-totals-table tr td:last-child {
        text-align: right; }
      .cart-page .order-totals-table tr.vehicle-info {
        display: none; }
      .cart-page .order-totals-table tr.order-total {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700;
        font-size: 0.9375rem; }
        .cart-page .order-totals-table tr.order-total td {
          padding-bottom: 0; }
  .cart-page .out-of-stock-message-box {
    float: right;
    margin: 0 0 1.875rem;
    width: 300px; }
    @media screen and (min-width: 48em) {
      .cart-page .out-of-stock-message-box {
        margin: 0 0 3.125rem; } }
    .cart-page .out-of-stock-message-box p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.75rem;
      font-style: italic;
      margin: 0; }
    .cart-page .out-of-stock-message-box a {
      text-decoration: underline; }
  .cart-page .cart-financing {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    background-color: #fff;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 0.9375rem;
    min-height: 45px; }
    .cart-page .cart-financing p {
      color: #000;
      display: inline-block;
      float: left;
      font-size: 0.875rem;
      font-weight: 500;
      margin: 0; }
    .cart-page .cart-financing .cart-financing-link {
      display: inline-block;
      margin-left: 6px; }
  @media screen and (min-width: 48em) {
    .cart-page .cart-action-checkout-box {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; } }
  .cart-page .cart-action-checkout {
    margin: 0 0 0.9375rem; }
    @media screen and (min-width: 48em) {
      .cart-page .cart-action-checkout {
        margin: 0; } }
    .cart-page .cart-action-checkout .button {
      font-size: 0.75rem;
      margin: 0;
      padding: 0.75rem 1.125rem;
      width: 100%; }
      .cart-page .cart-action-checkout .button::before {
        content: "\f023";
        font-family: fontawesome;
        padding-right: 5px; }
  .cart-page .need-help-cart h3 {
    font-size: 1.125rem;
    margin: 0 0 0.625rem; }
  .cart-page .need-help-cart p {
    font-size: 0.75rem;
    margin: 0 0 0.3125rem; }
  .cart-page .need-help-cart a {
    font-size: 0.875rem; }
  .cart-page .verify-vehicle {
    border: 4px solid #f2f2f3;
    margin: 1rem 0 0;
    padding: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .cart-page .verify-vehicle {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        padding: 1.125rem; } }
    @media screen and (min-width: 48em) {
      .cart-page .verify-vehicle .left-box,
      .cart-page .verify-vehicle .right-box {
        width: 41.66667%; }
      .cart-page .verify-vehicle .left-box {
        float: left; }
      .cart-page .verify-vehicle .right-box {
        float: right;
        margin-left: 16.66667%;
        text-align: right; } }
    .cart-page .verify-vehicle p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.875rem;
      line-height: 1.3;
      margin: 0 0 1.25rem; }
      @media screen and (min-width: 48em) {
        .cart-page .verify-vehicle p {
          margin: 0; } }
    .cart-page .verify-vehicle .button {
      margin: 0; }
      @media screen and (max-width: 47.9375em) {
        .cart-page .verify-vehicle .button {
          width: 100%; } }
  @media screen and (max-width: 47.9375em) {
    .cart-page .verified-response {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .cart-page .verified-response .icon-box {
    float: left;
    padding-right: 1.313rem;
    text-align: center;
    width: 27%; }
  .cart-page .verified-response .text-box {
    width: 73%; }
    @media screen and (min-width: 48em) {
      .cart-page .verified-response .text-box {
        width: 100%; } }
  .cart-page .verified-response .icon-alert {
    color: #c75300;
    font-size: 1.875rem; }
    @media screen and (min-width: 48em) {
      .cart-page .verified-response .icon-alert {
        margin: 0 0.9375rem 0 0; } }
  .cart-page .verified-response .fa-check {
    color: #c75300;
    font-size: 16px; }
    @media screen and (min-width: 48em) {
      .cart-page .verified-response .fa-check {
        margin: 0 0.9375rem 0 0; } }
    .cart-page .verified-response .fa-check::before {
      border: 3px solid #c75300;
      border-radius: 50%;
      padding: 0.3125rem; }
  .cart-page .verified-response p {
    margin: 0; }
  @media screen and (min-width: 48em) {
    .cart-page .verified-response .left-box {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; } }
  .cart-page .verified-response .right-box p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
    @media screen and (max-width: 47.9375em) {
      .cart-page .verified-response .right-box p {
        margin: 0.3125rem 0 0; } }
    .cart-page .verified-response .right-box p a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.8125rem; }
  @media screen and (min-width: 48em) {
    .cart-page .sticky-section-wrapper {
      position: sticky;
      top: 100px; } }
  .cart-page .sticky-section-wrapper .order-summary-wrapper {
    background-color: #f2f2f2;
    padding: 0.9375rem; }
  .cart-page .sticky-section-wrapper .marketing-card {
    background-image: url("../images/interface/tire-mark.png");
    background-repeat: no-repeat;
    background-size: 100%;
    margin-top: 1.25rem; }
    .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: 100%;
      min-height: 20px;
      padding-top: 0.9375rem; }
      .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper .learn-more-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper .learn-more-link:hover > .more-info-text {
          text-decoration: underline; }
      .cart-page .sticky-section-wrapper .marketing-card .learn-more-wrapper .more-info-text {
        color: #000;
        display: inline-block;
        font-size: 0.875rem;
        margin: 0; }
  .cart-page .sticky-section-wrapper .marketing-info-wrapper {
    border: 4px solid #f2f2f3;
    height: 100%;
    padding: 0.9375rem; }
    .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-title {
      font-size: 1.25rem; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-title span {
        color: #ff6900; }
    .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding-top: 0.625rem;
      position: relative;
      text-align: left; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section .content-wrapper {
        padding-left: 1.25rem; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section h4 {
        font-size: 1rem; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section p {
        color: #000;
        font-size: 0.8125rem;
        margin-bottom: 0; }
      .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section i {
        color: #ff6900;
        display: block;
        font-size: 1.875rem; }
        .cart-page .sticky-section-wrapper .marketing-info-wrapper .marketing-info-section i::before {
          margin: 0;
          padding: 0; }

.cart-row {
  margin-bottom: 1.25rem; }
  .cart-row .service-row {
    margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .cart-row .product-list-item {
      margin: 0 0 0.9375rem; } }
  .cart-row .item-image {
    margin: 0 auto;
    max-width: 100px; }
    @media screen and (min-width: 48em) {
      .cart-row .item-image {
        max-width: 120px; } }
    @media screen and (min-width: 64em) {
      .cart-row .item-image {
        max-width: 190px; } }
  .cart-row .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1.125rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .cart-row .product-name {
        font-size: 1.375rem; } }
  .cart-row .product-brand {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: block;
    font-size: 0.875rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .cart-row .product-brand {
        font-size: 1rem; } }
  .cart-row .product-attributes .attribute {
    font-size: 0.875rem;
    line-height: 1;
    margin: 0;
    padding: 0.3125rem 0; }
  .cart-row .product-attributes.category-attributes .name {
    float: left;
    margin-right: 0.3125rem;
    min-height: 18px;
    overflow: hidden; }
  .cart-row .product-attributes .name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500; }
  .cart-row .product-attributes .value {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    text-transform: capitalize; }
  .cart-row .availability-attribute {
    font-size: 0.875rem;
    line-height: 1;
    padding: 0.3125rem 0; }
    .cart-row .availability-attribute .availability-label {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }
    .cart-row .availability-attribute .product-availability-list {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: inline-block;
      line-height: 1;
      margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .cart-row .item-qty-price-section {
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
          -ms-flex-direction: row-reverse;
              flex-direction: row-reverse; } }
  @media screen and (min-width: 48em) {
    .cart-row .section-header.qty-header,
    .cart-row .section-header.item-price-header {
      margin-bottom: 1.25rem; } }
  .cart-row .item-price {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .cart-row .item-price {
        text-align: right; } }
    .cart-row .item-price .old-price {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #808285;
      font-size: 0.75rem;
      text-decoration: line-through; }
  .cart-row .item-total {
    font-size: 1rem;
    margin-top: 2.25rem; }
    @media screen and (max-width: 47.9375em) {
      .cart-row .item-total {
        margin: 0.9375rem 0 0; } }
  .cart-row .price-total {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem; }
  .cart-row .product-card-quantity.item-quantity {
    text-align: left; }
    .cart-row .product-card-quantity.item-quantity .product-quantity {
      display: inline-block;
      max-width: 55px;
      width: 100%; }
      @media screen and (min-width: 48em) {
        .cart-row .product-card-quantity.item-quantity .product-quantity {
          display: block; } }
    .cart-row .product-card-quantity.item-quantity .productQuantity {
      margin: 0; }
  .cart-row .remove-btn {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 0.6875rem;
    text-decoration: underline; }
    @media screen and (min-width: 48em) {
      .cart-row .remove-btn {
        font-size: 0.875rem; } }
  .cart-row .rebate-box {
    margin: 1.25rem 0 0; }
    @media screen and (min-width: 48em) {
      .cart-row .rebate-box {
        padding-left: 1.875rem; } }
  .cart-row .rebate-badge {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    color: #c75300;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 0.6875rem;
    margin: 0 0 0.3125rem; }
    @media screen and (min-width: 48em) {
      .cart-row .rebate-badge {
        -webkit-box-pack: end;
            -ms-flex-pack: end;
                justify-content: flex-end; } }
    @media screen and (min-width: 64em) {
      .cart-row .rebate-badge {
        font-size: 0.8125rem; } }
    .cart-row .rebate-badge::before {
      background: url("../images/icons/rebate_icon.png") no-repeat;
      content: "";
      height: 25px;
      width: 30px; }
  .cart-row .rebate-text {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-size: 0.875rem;
    font-style: italic; }
  @media screen and (min-width: 48em) {
    .cart-row.first-pset {
      margin: 0 0 1.875rem; } }
  .cart-row.second-pset .item-image {
    display: none; }
  .cart-row.second-pset .remove-btn {
    margin: 0.9375rem 0 0; }
  .cart-row .front-back-set-label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #808285;
    font-size: 0.875rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cart-row .front-back-set-label {
        font-size: 0.6875rem; } }

.cart-services.required-services {
  margin-top: 2.5rem; }
  .cart-services.required-services .service-row {
    padding: 0.9375rem 0 0; }
  @media screen and (max-width: 47.9375em) {
    .cart-services.required-services .service-item-price-wrapper {
      margin-top: 0.9375rem; } }
  @media screen and (max-width: 47.9375em) {
    .cart-services.required-services .item-price {
      padding-left: 0.625rem; } }
  .cart-services.required-services .service-info-wrapper {
    margin-left: 0; }

.cart-services.included-services .item-price {
  font-size: 1rem;
  font-weight: 500; }

.cart-services.included-services .service-row {
  border: 4px solid #f2f2f3; }
  @media screen and (min-width: 48em) {
    .cart-services.included-services .service-row {
      position: relative; } }

@media screen and (min-width: 48em) {
  .cart-services.included-services .service-item-price-wrapper {
    position: absolute;
    right: 0;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%); } }

.cart-services.grouped-services .recommended-service {
  font-size: 0.625rem;
  margin-bottom: 0.75rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .cart-services.grouped-services .recommended-service {
      text-align: right; } }
  .cart-services.grouped-services .recommended-service span {
    background-color: #f2f2f2;
    padding: 0.3125rem; }

.cart-services.grouped-services .service-row {
  border: 4px solid #f2f2f3; }

.cart-services.grouped-services .service-group-name {
  font-size: 1.125rem;
  margin: 2.5rem 0 0.9375rem; }

.cart-services.grouped-services .service-item-total {
  font-weight: 500; }

@media screen and (max-width: 47.9375em) {
  .cart-services.grouped-services .item-price {
    padding-left: 0.625rem; } }

@media screen and (max-width: 47.9375em) {
  .cart-services.grouped-services .service-item-price-wrapper {
    margin: 0.625rem 0; } }

@media screen and (min-width: 48em) {
  .cart-services.grouped-services .service-item-price-wrapper {
    max-height: 1.25rem; } }

@media screen and (max-width: 47.9375em) {
  .cart-services.grouped-services .service-item-price {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.cart-services .service-row {
  margin: 0;
  padding: 0.9375rem 0; }

.cart-services .bottom-margin {
  margin: 0 0 1.25rem; }

@media screen and (max-width: 47.9375em) {
  .cart-services .service-item-details {
    padding-left: 60px; } }

@media screen and (max-width: 47.9375em) {
  .cart-services .service-item-price-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.cart-services .service-info-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
      -ms-flex-direction: row;
          flex-direction: row;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    .cart-services .service-info-wrapper {
      margin-left: 1.5625rem; } }
  .cart-services .service-info-wrapper .service-image {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
  .cart-services .service-info-wrapper .service-description {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
    padding: 0 0 0 10px; }

.cart-services .service-name-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 0.625rem; }

.cart-services .service-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1; }

.cart-services .service-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  color: #808285;
  font-size: 0.6875rem; }
  @media screen and (min-width: 48em) {
    .cart-services .service-label {
      font-size: 0.8125rem; } }

.cart-services .short-description {
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .cart-services .short-description {
      margin: 0 0 0.625rem; } }

.cart-services .service-image {
  margin: 0 auto;
  max-width: 50px; }
  @media screen and (min-width: 48em) {
    .cart-services .service-image {
      max-width: 60px; } }

@media screen and (max-width: 47.9375em) {
  .cart-services .service-total-wrapper {
    padding: 0 0 0 0.75rem; } }

.cart-services .more-info-link {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  @media screen and (max-width: 47.9375em) {
    .cart-services .more-info-link {
      margin-top: 0.625rem; } }

.cart-services .more-info-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #000;
  font-size: 0.875rem;
  font-weight: 500;
  line-height: 1; }
  .cart-services .more-info-text:hover {
    text-decoration: underline; }

.cart-services .section-header {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1;
  margin: 0 0 0.3125rem; }

.cart-services .main-header {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 2.188rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .cart-services .main-header {
      margin: 0; } }

.cart-services .main-section-header {
  margin-bottom: 2.5rem; }

.cart-services .service-item-total {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 1rem;
  line-height: 1;
  margin-bottom: 0.5rem; }

.cart-services .item-price {
  font-size: 0.8125rem;
  font-weight: normal; }
  @media screen and (min-width: 48em) {
    .cart-services .item-price {
      text-align: right; } }

.reveal[id*="servicepopup"],
#serviceinfomodal {
  padding: 1.25rem; }
  @media screen and (min-width: 48em) {
    .reveal[id*="servicepopup"],
    #serviceinfomodal {
      padding: 1.875rem; } }
  .reveal[id*="servicepopup"] .close-button,
  #serviceinfomodal .close-button {
    color: #c75300;
    right: 1.125rem;
    top: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .reveal[id*="servicepopup"] .close-button,
      #serviceinfomodal .close-button {
        right: 1.75rem;
        top: 1.438rem; } }

.service-modal-content .service-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.2;
  margin: 0 0 1.25rem;
  width: 90%; }
  @media screen and (min-width: 48em) {
    .service-modal-content .service-name {
      font-size: 1rem;
      margin: 0 0 1.875rem; } }

.service-modal-content .service-image {
  margin: 0 0 1.25rem;
  text-align: center; }
  @media screen and (min-width: 48em) {
    .service-modal-content .service-image {
      float: left;
      margin: 0;
      width: 35%; } }

.service-modal-content .long-description {
  font-size: 14px;
  line-height: 1.4;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .service-modal-content .long-description {
      float: right;
      padding: 0 0 0 1.875rem;
      width: 65%; } }

.cart-verify-vehicle-modal {
  padding: 1.25rem; }
  @media screen and (min-width: 48em) {
    .cart-verify-vehicle-modal {
      padding: 1.875rem; } }

.cart-verify-vehicle-modal .title,
#serviceinfomodal .title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.2;
  margin: 0 0 1.25rem;
  width: 90%; }
  @media screen and (min-width: 48em) {
    .cart-verify-vehicle-modal .title,
    #serviceinfomodal .title {
      font-size: 1.125rem;
      margin: 0 0 1.875rem; } }

.cart-verify-vehicle-modal .description p,
#serviceinfomodal .description p {
  font-size: 0.875rem;
  line-height: 1.4; }

@media screen and (max-width: 47.9375em) {
  .cart-verify-vehicle-modal .buttons-box,
  #serviceinfomodal .buttons-box {
    text-align: center; } }

@media screen and (min-width: 48em) {
  .cart-verify-vehicle-modal .buttons-box,
  #serviceinfomodal .buttons-box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; } }

.cart-verify-vehicle-modal .buttons-box .button,
#serviceinfomodal .buttons-box .button {
  margin: 0 0 1.563rem;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .cart-verify-vehicle-modal .buttons-box .button,
    #serviceinfomodal .buttons-box .button {
      margin: 0 1.25rem 0 0;
      width: auto; } }

.cart-verify-vehicle-modal .buttons-box a,
#serviceinfomodal .buttons-box a {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.6875rem; }

#inside_holder #inside_liveChatTab {
  display: none !important; }

.cart-psmodal-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  line-height: 1.2;
  margin: 20px 0 0 30px;
  width: 85%; }
  @media screen and (min-width: 48em) {
    .cart-psmodal-title {
      font-size: 1.125rem; } }

.totals-sticky-button {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background: #ff6900;
  bottom: 0;
  -webkit-box-shadow: 0 -4px 10px #808080;
          box-shadow: 0 -4px 10px #808080;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.8125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 0.625rem 0.5rem;
  position: sticky;
  z-index: 10; }
  .totals-sticky-button .price-total {
    background: #fff;
    border-radius: 3px;
    padding: 0.3125rem; }
  .totals-sticky-button .price-total-text {
    padding-left: 0.25rem; }

#psmodal.cart-psmodal .close-button {
  right: 25px; }

#cartQuantityModal {
  border: 0;
  max-width: 380px;
  padding: 0; }
  #cartQuantityModal h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    background: #c75300;
    color: #fff;
    font-size: 0.8125rem;
    margin-bottom: 10px;
    padding: 9px 15px;
    text-transform: uppercase; }
  #cartQuantityModal p {
    font-size: 0.75rem;
    padding: 0 15px; }
  #cartQuantityModal .cartQuantityModalCta {
    color: #c75300;
    font-size: 0.75rem;
    padding: 0 15px 15px;
    text-align: right; }

#why-choose-kaltire-modal {
  padding: 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    #why-choose-kaltire-modal {
      height: -webkit-fit-content;
      height: -moz-fit-content;
      height: fit-content;
      margin: 0 auto;
      max-height: 100%;
      max-width: 90%;
      min-height: unset; } }
  #why-choose-kaltire-modal.reveal {
    left: 50%;
    position: fixed;
    top: 50% !important;
    -webkit-transform: translate(-50%, -50%);
        -ms-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%); }
    @media screen and (min-width: 48em) {
      #why-choose-kaltire-modal.reveal {
        max-width: 690px;
        width: 100%; } }
  #why-choose-kaltire-modal .modal-title {
    padding-bottom: 1.25rem; }
  #why-choose-kaltire-modal p {
    font-size: 0.875rem; }
  #why-choose-kaltire-modal .close-button {
    color: #c75300;
    top: 0.75rem; }

.contat-us-footer {
  margin-top: 5rem; }
  @media screen and (max-width: 47.9375em) {
    .contat-us-footer {
      margin-top: 1.875rem; } }
  .contat-us-footer .here-to-help {
    background: #f2f2f2;
    border: 3px solid #d8d8d8;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin: 0;
    padding: 0 1.5625rem; }
  .contat-us-footer .cart-footer-image {
    text-align: center; }
    .contat-us-footer .cart-footer-image img {
      height: 100%;
      max-height: 18.75rem; }
  .contat-us-footer .contact-us-content {
    padding-top: 1.875rem; }
    @media screen and (max-width: 47.9375em) {
      .contat-us-footer .contact-us-content {
        padding: 1.25rem 0; } }
  .contat-us-footer .section-subtitle {
    font-size: 1.0625rem; }
  .contat-us-footer .contact-info-section {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .contat-us-footer .contact-info-section {
        padding-top: 0.9375rem; } }
  .contat-us-footer .action-box-content p {
    line-height: 1.8;
    margin: 0; }
  @media screen and (max-width: 47.9375em) {
    .contat-us-footer .section-title-box {
      padding: 0.3125rem; } }
  .contat-us-footer .section-title-box h3 {
    font-size: 1.5rem; }
  .contat-us-footer .phone-number {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #c75300;
    padding-top: 0.625rem; }
  .contat-us-footer .orderSummaryLiveChat {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    margin-top: 1.25rem; }
    @media screen and (max-width: 47.9375em) {
      .contat-us-footer .orderSummaryLiveChat {
        width: 100%; } }
  .contat-us-footer .action-icon .card-icon {
    max-height: 1rem; }
  .contat-us-footer .main-section-title {
    font-size: 1.125rem;
    min-height: 1.375rem; }
  .contat-us-footer .card-icon {
    display: inline-block;
    line-height: 1.2;
    margin-right: 0.5rem;
    width: 1rem; }

.manufacturer-number {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  font-size: 0.6875rem;
  margin: 0 0 0.9375rem; }
  @media screen and (min-width: 48em) {
    .manufacturer-number {
      margin: 0 0 1.375rem; } }

#addtocartpopup {
  padding: 20px; }
  @media screen and (max-width: 47.9375em) {
    #addtocartpopup .product-image {
      display: none; } }
  #addtocartpopup .close-button {
    color: #ff6900; }
  #addtocartpopup .product-attributes,
  #addtocartpopup .categories-box,
  #addtocartpopup .availability-msg,
  #addtocartpopup .recommended-bagde,
  #addtocartpopup .promo-badge,
  #addtocartpopup .tested-bykal-badge {
    display: none; }
  #addtocartpopup .product-size .product-attributes {
    display: block; }
  #addtocartpopup .popup-title {
    font-size: 1.3125rem;
    margin: 0 0 10px;
    padding-right: 1rem; }
    @media screen and (min-width: 48em) {
      #addtocartpopup .popup-title {
        font-size: 18px; } }
  #addtocartpopup .popup-subtitle {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin: 0; }
  #addtocartpopup .new-cart-item {
    margin: 30px 0 25px; }
  #addtocartpopup .product-tile-box:first-of-type {
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      #addtocartpopup .product-tile-box:first-of-type {
        margin: 0 2% 0 0; } }
  #addtocartpopup .product-tile::before, #addtocartpopup .product-tile::after {
    content: ' ';
    display: table; }
  #addtocartpopup .product-tile::after {
    clear: both; }
  #addtocartpopup .product-name {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #000;
    font-size: 1.125rem;
    line-height: 1;
    margin: 0 0 15px;
    word-wrap: break-word; }
    #addtocartpopup .product-name .brand-name {
      display: block;
      font-size: 0.75rem; }
    #addtocartpopup .product-name a {
      color: #000; }
  #addtocartpopup .product-pricing {
    padding: 0 0 0 15px; }
    #addtocartpopup .product-pricing .box-spacing {
      padding: 0 0 10px; }
    #addtocartpopup .product-pricing .product-price::before, #addtocartpopup .product-pricing .product-price::after {
      content: ' ';
      display: table; }
    #addtocartpopup .product-pricing .product-price::after {
      clear: both; }
    #addtocartpopup .product-pricing .rebate {
      display: inline-block; }
  #addtocartpopup .actions {
    border-bottom: 2px solid #d9d9da;
    padding: 0 0 25px;
    text-align: center; }
    #addtocartpopup .actions.no-border {
      border: 0 !important; }
    #addtocartpopup .actions .button {
      margin: 0 0 20px;
      width: 100%; }
    #addtocartpopup .actions .cancel {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 0.6875rem; }
  #addtocartpopup .actions-margin {
    margin: 1.5rem 0 0; }
  #addtocartpopup .current-cart {
    margin: 25px 0 0; }
    @media screen and (min-width: 48em) {
      #addtocartpopup .current-cart {
        margin: 40px 0 0; } }
    #addtocartpopup .current-cart .product-badge {
      display: none; }
    #addtocartpopup .current-cart .popup-subtitle {
      margin: 0 0 15px; }
    #addtocartpopup .current-cart .product-tile {
      border: 6px solid #f2f2f2;
      padding: 15px 10px; }
      @media screen and (min-width: 48em) {
        #addtocartpopup .current-cart .product-tile {
          padding: 20px; } }
    #addtocartpopup .current-cart .product-size,
    #addtocartpopup .current-cart .product-image {
      display: none; }
    #addtocartpopup .current-cart .product-name {
      float: left;
      width: 60%; }
    #addtocartpopup .current-cart .product-pricing {
      font-size: 1.25rem;
      width: 40%; }
      #addtocartpopup .current-cart .product-pricing .currency-indices {
        font-size: 0.625rem; }

#cart-popup-container .product-tile-content {
  position: relative; }

#cart-popup-container .product-badge {
  max-width: 25%;
  position: absolute; }
  #cart-popup-container .product-badge span {
    margin-top: 0; }

@media screen and (min-width: 48em) {
  #addtocartpopup {
    width: 700px; }
    #addtocartpopup .new-cart-item .product-image {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 25%;
              flex: 0 0 25%;
      flex: 0 0 25%;
      margin-right: 8.33333%;
      max-width: 25%; }
    #addtocartpopup .new-cart-item .product-box {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 66.66667%;
              flex: 0 0 66.66667%;
      flex: 0 0 66.66667%;
      max-width: 66.66667%; }
    #addtocartpopup .new-cart-item .product-tile {
      border: 6px solid #f2f2f2;
      padding: 20px; }
    #addtocartpopup .new-cart-item .product-tile-content {
      display: flexbox;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: normal;
          -ms-flex-flow: row wrap;
              flex-flow: row wrap;
      flex-flow: row wrap;
      margin-left: auto;
      margin-right: auto;
      max-width: 82.5rem; }
    #addtocartpopup .actions {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      border-width: 1px;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: end;
          -ms-flex-pack: end;
              justify-content: flex-end;
      padding: 0 0 40px; }
      #addtocartpopup .actions .button {
        margin: 0;
        width: auto; }
      #addtocartpopup .actions .cancel {
        margin: 0 15px 0 0; } }

.cb-bordered-content {
  border: 7px solid #f2f2f2;
  padding: 15px 0; }
  @media screen and (min-width: 48em) {
    .cb-bordered-content {
      padding: 30px 0; } }

.cb-page-header {
  background-position: 50% 50%;
  background-size: cover;
  color: #fff;
  margin-bottom: 40px;
  padding: 100px 0 120px; }
  @media screen and (min-width: 48em) {
    .cb-page-header {
      margin-bottom: 100px;
      padding: 115px 0; } }
  .cb-page-header h1 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 42px;
    line-height: 1em;
    margin-bottom: 16px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-page-header h1 {
        font-size: 66px; } }
  .cb-page-header p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-page-header p {
        font-size: 18px; } }
  .cb-page-header .cb-cta {
    margin-top: 10px; }

.cb-cta {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #c75300;
  display: inline-block;
  font-size: 13px;
  margin-right: 10px;
  margin-top: 10px; }
  @media screen and (min-width: 48em) {
    .cb-cta {
      font-size: 14px; } }
  .cb-cta.button-hollow-white {
    border: 3px solid #ff6900;
    color: #fff;
    padding: 7px 30px;
    text-transform: uppercase;
    -webkit-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out; }
    @media screen and (min-width: 48em) {
      .cb-cta.button-hollow-white {
        padding: 9px 30px; } }
    .cb-cta.button-hollow-white:hover, .cb-cta.button-hollow-white:focus {
      background: #ff6900;
      border: 3px solid #ff6900;
      color: #000; }
  .cb-cta.button-hollow-black {
    border: 3px solid #ff6900;
    color: #000;
    margin-bottom: 5px;
    padding: 7px 30px;
    text-transform: uppercase;
    -webkit-transition: background-color 0.3s ease-in-out;
    transition: background-color 0.3s ease-in-out;
    -webkit-transition: all 0.3s ease-in-out;
    transition: all 0.3s ease-in-out;
    -webkit-transition-property: background, color;
    transition-property: background, color; }
    @media screen and (min-width: 48em) {
      .cb-cta.button-hollow-black {
        padding: 9px 30px; } }
    .cb-cta.button-hollow-black:hover, .cb-cta.button-hollow-black:focus {
      background: #f6a583;
      border: 3px solid #ff6900;
      color: #000; }
  .cb-cta.button-full-white {
    background: #ff6900;
    border: 3px solid #ff6900;
    color: #000;
    padding: 7px 30px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-cta.button-full-white {
        padding: 9px 30px; } }
    .cb-cta.button-full-white.financingLink {
      margin: 0 0 10px; }
    .cb-cta.button-full-white:hover, .cb-cta.button-full-white:focus {
      background: #ffa566;
      border: 3px solid #ffa566; }
  .cb-cta.link {
    color: #000;
    font-size: 0.8125rem; }
    @media screen and (min-width: 48em) {
      .cb-cta.link {
        font-size: 0.875rem; } }
    .cb-cta.link:hover {
      text-decoration: underline; }
    .cb-cta.link .arrow {
      color: #ff6900; }

.cb-cta-secondary {
  margin-right: 0; }

.cb-section-header {
  margin: 0 auto 25px; }
  .cb-section-header h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    border-left: 3px solid #ff6900;
    font-size: 18px;
    line-height: 1;
    margin-bottom: 16px;
    padding-left: 20px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-section-header h2 {
        font-size: 26px;
        max-width: 900px; } }
  .cb-section-header p,
  .cb-section-header li {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-section-header p,
      .cb-section-header li {
        font-size: 18px; } }
  .cb-section-header li {
    margin-bottom: 1rem; }

.cb-column {
  margin: 5px 0 0; }
  .cb-column .cb-column-child-copy {
    padding: 20px 0 0; }
  .cb-column .financing-blocks-title {
    color: #ff6900;
    font-size: 3rem;
    margin-bottom: 50px;
    margin-left: auto;
    margin-right: auto;
    max-width: 82.5rem;
    padding-left: 40px; }
    @media screen and (max-width: 47.9375em) {
      .cb-column .financing-blocks-title {
        padding-left: 15px; } }

.cb-column-child {
  margin: 0 0 40px; }
  .cb-column-child h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 16px; }
    @media screen and (min-width: 48em) {
      .cb-column-child h2 {
        font-size: 22px; } }
  .cb-column-child p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 13px;
    line-height: 1.3125rem;
    margin: 0 0 13px; }
    @media screen and (min-width: 48em) {
      .cb-column-child p {
        font-size: 14px; } }
  .cb-column-child img {
    display: block;
    width: 100%; }
  .cb-column-child .cb-cta {
    margin-top: 0; }
  @media screen and (min-width: 64em) {
    .cb-column-child .cb-column-child-copy {
      padding: 20px 10px 0; } }

.cb-image-alternate-column {
  margin: 0 0 50px; }
  .cb-image-alternate-column .cb-cta {
    margin-top: 0;
    padding: 7px 30px; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column .cb-cta {
        margin-top: 5px; } }
  .cb-image-alternate-column img {
    display: block;
    margin-bottom: 16px;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column img {
        margin: 0; } }
  .cb-image-alternate-column h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 16px; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column h2 {
        font-size: 22px; } }
  .cb-image-alternate-column p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 14px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-image-alternate-column p {
        font-size: 14px; } }

.cb-1-column-cta {
  background-position: 50% 100%;
  background-size: cover;
  color: #fff;
  margin: 0 auto 40px;
  min-height: 302px;
  padding: 60px 0; }
  @media screen and (min-width: 48em) {
    .cb-1-column-cta {
      padding: 75px 0 50px; } }
  .cb-1-column-cta > .row {
    width: 100%; }
  .cb-1-column-cta h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 18px;
    line-height: 1em;
    margin-bottom: 34px;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .cb-1-column-cta h2 {
        font-size: 26px; } }
  .cb-1-column-cta p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-1-column-cta p {
        font-size: 18px; } }
  @media screen and (max-width: 47.9375em) {
    .cb-1-column-cta .cb-cta {
      margin: 10px; } }

.cb-testimonial {
  background: #f2f2f2;
  color: #000;
  margin: 0 auto;
  padding: 65px 0; }
  @media screen and (min-width: 48em) {
    .cb-testimonial {
      margin: 0 auto;
      padding: 80px 0; } }
  .cb-testimonial h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 22px;
    line-height: 1em;
    margin-bottom: 14px; }
  .cb-testimonial p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 16px;
    line-height: 1.3125rem; }
    @media screen and (min-width: 48em) {
      .cb-testimonial p {
        font-size: 18px; } }
  .cb-testimonial .cb-testimonial-avatar {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .cb-testimonial .cb-testimonial-avatar img {
      display: inline-block;
      margin-right: 15px;
      max-width: 48px; }
    .cb-testimonial .cb-testimonial-avatar p {
      color: #999;
      font-size: 12px;
      margin: 0; }

.cb-3-column-feature {
  margin-bottom: 40px; }
  .cb-3-column-feature .cb-section-header {
    margin: 0 auto 20px; }
  .cb-3-column-feature .cb-column-child {
    margin-bottom: 20px; }
  .cb-3-column-feature .cb-column-child-copy {
    padding: 0; }
    .cb-3-column-feature .cb-column-child-copy h2 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 16px;
      text-transform: none; }
      @media screen and (min-width: 48em) {
        .cb-3-column-feature .cb-column-child-copy h2 {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500;
          font-size: 18px; } }
    @media screen and (min-width: 48em) {
      .cb-3-column-feature .cb-column-child-copy p {
        margin-bottom: 8px;
        padding-right: 20px; } }
    .cb-3-column-feature .cb-column-child-copy .cb-cta {
      margin-bottom: 10px;
      margin-top: 0; }

.cb-featured-products-cards {
  margin: 0 0 20px; }
  @media screen and (min-width: 64em) {
    .cb-featured-products-cards {
      margin: 0 0 60px; } }
  .cb-featured-products-cards .cb-cta {
    margin-top: 30px; }
  .cb-featured-products-cards h4 {
    font-size: 18px;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .cb-featured-products-cards h4 {
        font-size: 22px; } }
  .cb-featured-products-cards p {
    font-size: 14px;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .cb-featured-products-cards p {
        font-size: 18px;
        margin-bottom: 40px; } }
  .cb-featured-products-cards .product-tile {
    margin: 20px 0 0; }
    @media screen and (max-width: 47.9375em) {
      .cb-featured-products-cards .product-tile {
        height: initial !important; } }
    @media screen and (min-width: 64em) {
      .cb-featured-products-cards .product-tile {
        margin: 0; } }

.cb-product-details-card {
  margin: 0 0 30px; }
  @media screen and (min-width: 64em) {
    .cb-product-details-card {
      margin: 0 0 50px; } }
  .cb-product-details-card img.prodImg {
    display: block;
    width: 100%; }
    @media screen and (max-width: 47.9375em) {
      .cb-product-details-card img.prodImg {
        margin-bottom: 15px; } }
  .cb-product-details-card p {
    font-size: 13px; }
    @media screen and (min-width: 64em) {
      .cb-product-details-card p {
        font-size: 14px; } }
  .cb-product-details-card .cb-product-details-card-headings {
    margin-bottom: 14px; }
    @media screen and (min-width: 64em) {
      .cb-product-details-card .cb-product-details-card-headings {
        margin-bottom: 24px; } }
    .cb-product-details-card .cb-product-details-card-headings p {
      font-size: 14px; }
    .cb-product-details-card .cb-product-details-card-headings h4 {
      font-size: 13px;
      text-transform: none; }
      @media screen and (min-width: 64em) {
        .cb-product-details-card .cb-product-details-card-headings h4 {
          font-size: 16px; } }
    .cb-product-details-card .cb-product-details-card-headings h2 {
      font-size: 16px;
      text-transform: none; }
      @media screen and (min-width: 64em) {
        .cb-product-details-card .cb-product-details-card-headings h2 {
          font-size: 22px; } }
    .cb-product-details-card .cb-product-details-card-headings h5 {
      font-size: 12px;
      text-transform: none; }
  .cb-product-details-card table {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    border: 0;
    font-size: 14px;
    margin-bottom: 0; }
    .cb-product-details-card table thead {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      background: none;
      border: 0;
      padding: 5px 0 20px; }
      .cb-product-details-card table thead th {
        padding: 5px 0 20px; }
    .cb-product-details-card table th,
    .cb-product-details-card table td {
      padding-bottom: 0;
      padding-left: 0;
      padding-top: 0; }
    .cb-product-details-card table tbody {
      border: 0; }
    .cb-product-details-card table tr {
      background: none !important; }
  .cb-product-details-card .cb-product-details-card-cta-wrapper {
    min-height: 45px;
    position: relative; }
    @media screen and (max-width: 63.9375em) {
      .cb-product-details-card .cb-product-details-card-cta-wrapper {
        margin-top: 20px; } }
    @media screen and (min-width: 64em) {
      .cb-product-details-card .cb-product-details-card-cta-wrapper .cb-product-details-card-ctas {
        bottom: 0;
        position: absolute;
        right: 0; } }
    @media screen and (min-width: 64em) {
      .cb-product-details-card .cb-product-details-card-cta-wrapper .cb-product-details-card-ctas .cb-cta {
        margin-top: 0; } }

.cb-secondary-page-navigation {
  margin-bottom: 50px; }
  .cb-secondary-page-navigation .cb-secondary-page-nav-child {
    border: 10px solid #f2f2f2;
    padding: 8px 40px;
    text-align: center; }
    @media screen and (max-width: 47.9375em) {
      .cb-secondary-page-navigation .cb-secondary-page-nav-child {
        margin-bottom: 30px; } }
    .cb-secondary-page-navigation .cb-secondary-page-nav-child h4 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 16px;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        .cb-secondary-page-navigation .cb-secondary-page-nav-child h4 {
          font-size: 20px; } }
    .cb-secondary-page-navigation .cb-secondary-page-nav-child .cb-secondary-page-nav-icon {
      height: 100px;
      width: auto; }
    .cb-secondary-page-navigation .cb-secondary-page-nav-child p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #999;
      font-size: 16px; }

@media screen and (max-width: 47.9375em) {
  .cb-column-tabs .column-image-wrapper {
    margin-bottom: 20px; } }

.cb-column-tabs .tabs {
  border: 0;
  width: 100%; }
  .cb-column-tabs .tabs li a:hover,
  .cb-column-tabs .tabs li.is-active {
    position: relative; }
    .cb-column-tabs .tabs li a:hover::after,
    .cb-column-tabs .tabs li.is-active::after {
      background: #ff6900;
      bottom: -5px;
      content: "";
      height: 5px;
      left: 0;
      position: absolute;
      width: 100%; }
  .cb-column-tabs .tabs .tabs-title > a:focus,
  .cb-column-tabs .tabs .tabs-title > a[aria-selected="true"] {
    background: none;
    color: #000; }
  @media screen and (max-width: 47.9375em) {
    .cb-column-tabs .tabs li {
      width: 33.2%; } }
  .cb-column-tabs .tabs li a {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #999;
    font-size: 12px;
    padding: 15px;
    text-align: center; }
    @media screen and (min-width: 48em) {
      .cb-column-tabs .tabs li a {
        font-size: 16px;
        padding: 15px 60px; } }
    .cb-column-tabs .tabs li a:hover {
      color: #000; }

.cb-column-tabs .tabs-content {
  border: 0;
  border-top: 5px solid #f2f2f2;
  margin-bottom: 60px;
  padding: 40px 0 0; }
  .cb-column-tabs .tabs-content .tabs-panel {
    padding: 0; }
    .cb-column-tabs .tabs-content .tabs-panel h2 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 18px; }
      @media screen and (min-width: 48em) {
        .cb-column-tabs .tabs-content .tabs-panel h2 {
          font-size: 22px; } }
    .cb-column-tabs .tabs-content .tabs-panel p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 14px; }

.cb-1-column-details {
  margin-bottom: 50px; }
  .cb-1-column-details h4 {
    font-size: 18px; }
    @media screen and (min-width: 48em) {
      .cb-1-column-details h4 {
        font-size: 22px; } }
  .cb-1-column-details img {
    display: block; }
  .cb-1-column-details p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 14px; }

.cb-accordion {
  margin: 1.3125rem 0; }
  .cb-accordion .toggle-item summary {
    font-size: 1.125rem; }
  .cb-accordion .toggle-item .item-content {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    position: relative; }
    .cb-accordion .toggle-item .item-content * {
      font-size: 1rem; }

.pt_quebeclandingpage .simple-header-wrapper {
  max-width: 1800px;
  min-height: 96px; }
  @media screen and (max-width: 63.9375em) {
    .pt_quebeclandingpage .simple-header-wrapper {
      min-height: auto; } }
  .pt_quebeclandingpage .simple-header-wrapper .row {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    height: 96px; }
    @media screen and (max-width: 63.9375em) {
      .pt_quebeclandingpage .simple-header-wrapper .row {
        height: 60px; } }
  .pt_quebeclandingpage .simple-header-wrapper .simple-header-logo {
    float: left;
    padding-left: 10px;
    text-align: left; }

.pt_quebeclandingpage .cb-page-header {
  margin-bottom: 60px; }
  @media screen and (max-width: 63.9375em) {
    .pt_quebeclandingpage .cb-page-header {
      margin-bottom: 16px; } }
  .pt_quebeclandingpage .cb-page-header .cb-page-header {
    margin-bottom: 20px; }

.pt_quebeclandingpage .quebec-page-text {
  -webkit-columns: 2;
     -moz-columns: 2;
          columns: 2;
  margin: 0 auto 60px;
  max-width: 1300px;
  padding: 0 50px; }
  @media screen and (max-width: 82.4375em) {
    .pt_quebeclandingpage .quebec-page-text {
      padding: 0 40px; } }
  @media screen and (max-width: 63.9375em) {
    .pt_quebeclandingpage .quebec-page-text {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      margin-bottom: 0;
      padding: 0 30px; } }
  .pt_quebeclandingpage .quebec-page-text p {
    color: #1d1d1d;
    line-height: 1.6; }
  .pt_quebeclandingpage .quebec-page-text * {
    font-size: 18px; }

.pt_quebeclandingpage .quebec-page-stores-container {
  background-color: #f2f2f2;
  padding: 50px 30px; }
  @media screen and (max-width: 82.4375em) {
    .pt_quebeclandingpage .quebec-page-stores-container {
      padding: 50 35px; } }
  @media screen and (max-width: 63.9375em) {
    .pt_quebeclandingpage .quebec-page-stores-container {
      padding: 50px 30px; } }
  .pt_quebeclandingpage .quebec-page-stores-container .quebec-store-title {
    margin: 0 auto 40px;
    max-width: 1230px; }
  .pt_quebeclandingpage .quebec-page-stores-container h3 {
    font-size: 35px; }
  .pt_quebeclandingpage .quebec-page-stores-container .quebec-stores-details {
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
    margin: 0 auto;
    max-width: 1230px; }
    @media screen and (max-width: 63.9375em) {
      .pt_quebeclandingpage .quebec-page-stores-container .quebec-stores-details {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; } }
    .pt_quebeclandingpage .quebec-page-stores-container .quebec-stores-details .quebec-store-detail {
      max-width: 400px; }
      @media screen and (max-width: 63.9375em) {
        .pt_quebeclandingpage .quebec-page-stores-container .quebec-stores-details .quebec-store-detail {
          max-width: none;
          width: 100%; } }
      .pt_quebeclandingpage .quebec-page-stores-container .quebec-stores-details .quebec-store-detail h5 {
        border-bottom: 2px solid #ff6900;
        margin-bottom: 15px;
        padding-bottom: 15px; }
      .pt_quebeclandingpage .quebec-page-stores-container .quebec-stores-details .quebec-store-detail .quebec-store-address {
        text-decoration: underline; }
      .pt_quebeclandingpage .quebec-page-stores-container .quebec-stores-details .quebec-store-detail .quebec-store-phone {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        .pt_quebeclandingpage .quebec-page-stores-container .quebec-stores-details .quebec-store-detail .quebec-store-phone img {
          width: 17px; }
        .pt_quebeclandingpage .quebec-page-stores-container .quebec-stores-details .quebec-store-detail .quebec-store-phone p {
          margin: 0 0 0 10px; }

.pt_quebeclandingpage .footer-copy-wrapper .row {
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }

.footer-faq-wrapper {
  margin: 0 0 50px; }
  .footer-faq-wrapper hr {
    border-bottom-color: #e0e1e1;
    margin: 0 0 50px; }
  .footer-faq-wrapper h2 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.5rem;
    margin-bottom: 20px; }
  .footer-faq-wrapper h5 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    margin-bottom: 16px; }
  .footer-faq-wrapper p {
    font-size: 0.875rem; }
  .footer-faq-wrapper a.faq-cta {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.875rem; }
  @media screen and (max-width: 47.9375em) {
    .footer-faq-wrapper .columns {
      margin-bottom: 30px; } }

.guest-checkout-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  margin-top: 23px; }
  .guest-checkout-text p {
    margin: 0.1875rem 0 1.75rem; }
    @media screen and (min-width: 48em) {
      .guest-checkout-text p {
        font-size: 0.875rem;
        line-height: 1.1875rem;
        margin-bottom: 2.875rem; } }

.checkout-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 18px;
  line-height: 1em;
  margin-bottom: 25px; }

.pt_checkout legend {
  margin: 0; }

.pt_checkout select {
  margin: 0; }

.pt_checkout .dialog-required {
  display: block;
  margin: 0 0 1.25rem;
  text-align: right; }

.pt_checkout .step-back-link {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 0.8125rem;
  line-height: 1;
  margin: 20px 0; }

.pt_checkout .form-row-button {
  margin: 0 0 1.875rem;
  text-align: right; }
  @media screen and (min-width: 64em) {
    .pt_checkout .form-row-button {
      margin: 0; } }
  .pt_checkout .form-row-button button {
    margin: 0;
    width: 100%; }
    @media screen and (min-width: 48em) {
      .pt_checkout .form-row-button button {
        width: auto; } }

.payment-form {
  display: none; }
  .payment-form.active {
    display: block; }

.checkout-main-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.625rem;
  margin: 0 0 0.625rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .checkout-main-title {
      margin: 0 0 1.563rem; } }

.checkout-step h2 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1; }
  .checkout-step h2 span {
    color: #c75300; }

p.select-vehicle {
  padding-top: 0.625rem; }

.header-title-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 50px; }
  .header-title-wrapper .checkout-step-title {
    font-size: 1rem;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .header-title-wrapper .checkout-step-title {
        font-size: 1.25rem;
        margin: 0;
        padding: 15px 0; } }
  .header-title-wrapper .form-row-button {
    margin: 0; }

.checkout-main-row {
  margin-top: 1.25rem; }
  @media screen and (min-width: 64em) {
    .checkout-main-row {
      position: relative; } }

.checkout-progress-indicator {
  margin-bottom: 65px; }
  @media screen and (min-width: 48em) {
    .checkout-progress-indicator {
      margin-bottom: 87px; } }
  .checkout-progress-indicator .checkout-main-title {
    padding: 45px 0 15px;
    text-transform: none; }
  .checkout-progress-indicator .steps-wrapper {
    margin: 0 auto;
    max-width: 270px; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .steps-wrapper {
        max-width: 454px; } }
  .checkout-progress-indicator .steps {
    -ms-flex-line-pack: center;
        align-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
  .checkout-progress-indicator .step {
    background: #e7e7e7;
    border-radius: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 32px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    position: relative;
    width: 32px; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step {
        height: 46px;
        width: 46px; } }
    .checkout-progress-indicator .step::before {
      background-color: #e7e7e7;
      content: "";
      height: 2px;
      position: absolute;
      right: 32px;
      top: 16px;
      width: 48px;
      z-index: -1; }
      @media screen and (min-width: 48em) {
        .checkout-progress-indicator .step::before {
          right: 46px;
          top: 22px;
          width: 54px; } }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step:first-child {
        margin-left: 54px; }
        .checkout-progress-indicator .step:first-child::before {
          width: 54px; } }
    .checkout-progress-indicator .step:first-child::before {
      width: 24px; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step:last-child {
        margin-right: 54px; } }
    .checkout-progress-indicator .step:last-child::after {
      background-color: #e7e7e7;
      content: "";
      height: 2px;
      left: 32px;
      position: absolute;
      top: 16px;
      width: 24px;
      z-index: -1; }
      @media screen and (min-width: 48em) {
        .checkout-progress-indicator .step:last-child::after {
          left: 46px;
          top: 22px;
          width: 54px; } }
    .checkout-progress-indicator .step.active, .checkout-progress-indicator .step.passed {
      background: #ff6900;
      color: #ff6900; }
      .checkout-progress-indicator .step.active::before, .checkout-progress-indicator .step.passed::before {
        background-color: #ff6900; }
      .checkout-progress-indicator .step.active:last-child::after, .checkout-progress-indicator .step.passed:last-child::after {
        background-color: #ff6900; }
    .checkout-progress-indicator .step.passed {
      background-color: #fff;
      -webkit-box-shadow: 0 0 0 2px #ff6900 inset;
              box-shadow: 0 0 0 2px #ff6900 inset;
      color: #ff6900; }
      .checkout-progress-indicator .step.passed .icon {
        color: #ff6900; }
    .checkout-progress-indicator .step.inactive {
      color: #c9c9c9; }
  .checkout-progress-indicator .step-name {
    bottom: -15px;
    font-size: 8px;
    left: -50%;
    position: absolute;
    right: -50%; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .step-name {
        bottom: -20px;
        font-size: 0.625rem; } }
  .checkout-progress-indicator .icon {
    -ms-flex-item-align: center;
        align-self: center;
    color: #fff;
    font-size: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .checkout-progress-indicator .icon {
        font-size: 1.375rem; } }
    .checkout-progress-indicator .icon::before {
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-family: fontawesome;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; }
    .checkout-progress-indicator .icon-appointment::before {
      content: "\f271";
      padding-left: 1px; }
    .checkout-progress-indicator .icon-information::before {
      content: "\f007"; }
    .checkout-progress-indicator .icon-verification::before {
      content: "\f09d"; }
    .checkout-progress-indicator .icon-review::before {
      content: "\f15c"; }

.checkout-summary .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.125rem;
  line-height: 1;
  margin: 0 0 0.625rem; }

.product-specific-messages {
  background: #f2f2f3;
  margin: 1.25rem;
  padding: 0.625rem 1.25rem 1.25rem 1.25rem; }
  @media screen and (max-width: 63.9375em) {
    .product-specific-messages {
      margin: 0.625rem;
      padding: 0.125rem 0.9375rem 0.9375rem 0.9375rem; } }

.checkout-order-totals {
  border: 1px solid #ccc;
  margin: 0 0 1.5625rem;
  padding: 1rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .checkout-order-totals {
      margin: 0 0 2.5rem; } }
  @media screen and (min-width: 64em) {
    .checkout-order-totals {
      margin: 0 0 1rem; } }
  .checkout-order-totals .order-totals-table {
    margin: 0; }
    .checkout-order-totals .order-totals-table tbody {
      border: 0; }
      .checkout-order-totals .order-totals-table tbody tr:nth-child(even) {
        background: transparent; }
      .checkout-order-totals .order-totals-table tbody td {
        padding: 0 0 0.625rem; }
    .checkout-order-totals .order-totals-table tr {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.875rem;
      line-height: 1; }
      @media screen and (min-width: 48em) {
        .checkout-order-totals .order-totals-table tr {
          font-size: 0.9375rem; } }
      .checkout-order-totals .order-totals-table tr td:first-child {
        padding-right: 0.625rem;
        text-align: left; }
      .checkout-order-totals .order-totals-table tr td:last-child {
        text-align: right; }
      .checkout-order-totals .order-totals-table tr.bold {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
      .checkout-order-totals .order-totals-table tr.amount-total-paid {
        border-top: 2px solid #f2f2f3; }
        .checkout-order-totals .order-totals-table tr.amount-total-paid td {
          margin-top: 1rem;
          padding-top: 1rem; }
      .checkout-order-totals .order-totals-table tr.amount-store-total.bold, .checkout-order-totals .order-totals-table tr.amount-total-paid.bold {
        font-size: 0.9375rem; }
        @media screen and (min-width: 48em) {
          .checkout-order-totals .order-totals-table tr.amount-store-total.bold, .checkout-order-totals .order-totals-table tr.amount-total-paid.bold {
            font-size: 1rem; } }
        @media print {
          .checkout-order-totals .order-totals-table tr.amount-store-total.bold, .checkout-order-totals .order-totals-table tr.amount-total-paid.bold {
            font-size: 10px;
            font-style: normal;
            line-height: normal; } }
      @media print {
        .checkout-order-totals .order-totals-table tr.amount-store-total td, .checkout-order-totals .order-totals-table tr.amount-total-paid td {
          font-size: 10px; } }
      .checkout-order-totals .order-totals-table tr.vehicle-info {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 500;
        font-size: 0.875rem; }
        @media screen and (min-width: 48em) {
          .checkout-order-totals .order-totals-table tr.vehicle-info {
            font-size: 0.9375rem; } }
        .checkout-order-totals .order-totals-table tr.vehicle-info td {
          padding: 0 0 2.188rem;
          text-align: left; }
  .checkout-order-totals .rebate-message {
    margin: 0.625rem 0; }
    @media screen and (min-width: 48em) {
      .checkout-order-totals .rebate-message {
        margin: 0.625rem 0 0; } }
    .checkout-order-totals .rebate-message p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      color: #808285;
      font-style: italic;
      margin: 0; }
  .checkout-order-totals .levy-message-minisummary {
    border-top: 2px solid #f2f2f3;
    color: #8a8a8a;
    font-size: 0.75rem;
    line-height: 1rem;
    margin: 1.125rem 0 0 0;
    padding-top: 1rem; }
  .checkout-order-totals .step-back-link {
    margin: 0.625rem 0 0; }

.need-help-checkout h3 {
  font-size: 1.125rem;
  margin: 0 0 0.625rem; }

.need-help-checkout p {
  font-size: 0.75rem;
  margin: 0 0 0.3125rem; }

.need-help-checkout a {
  font-size: 0.875rem; }

.checkout-shipping legend {
  width: 100%; }

.checkout-shipping .dialog-required {
  display: inline-block;
  text-align: left; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .dialog-required {
      margin: 0 0 1.875rem; } }

@media screen and (min-width: 48em) {
  .checkout-shipping .save-for-billing {
    margin: 0 0 1.875rem; } }

.checkout-shipping .checkout-fields-container {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 1.25rem; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .checkout-fields-container {
      margin: 0 0 1.875rem; } }

.checkout-shipping .selection-box {
  margin: 0 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .selection-box {
      margin: 0 0 2.5rem; } }
  .checkout-shipping .selection-box .section-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 1rem;
    line-height: 1.5;
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .checkout-shipping .selection-box .section-title {
        font-size: 1.125rem; } }
  .checkout-shipping .selection-box .radio-form,
  .checkout-shipping .selection-box .checkbox-form {
    margin: 0 0 8px; }
  .checkout-shipping .selection-box .radio-form .field-wrapper + label {
    margin-left: 2px; }

@media screen and (min-width: 48em) {
  .checkout-shipping .commercial-fleet-wrapper .commercial-fleet-form {
    width: 50%; } }

.checkout-shipping .commercial-fleet-wrapper .section-title {
  font-weight: bold; }

.checkout-shipping .commercial-fleet-wrapper h1 {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  background: #c75300;
  color: #fff;
  font-size: 13px;
  line-height: 1rem;
  margin: 0;
  padding: 7px 15px; }

.checkout-shipping .commercial-fleet-wrapper .has-tip {
  border-bottom: 0;
  left: 8px;
  top: 0; }
  .checkout-shipping .commercial-fleet-wrapper .has-tip .questionmarkcircle {
    color: #c75300; }

.checkout-shipping .vehicle-information {
  margin: 20px 0 30px;
  max-width: 590px; }
  @media screen and (min-width: 48em) {
    .checkout-shipping .vehicle-information {
      margin: 20px 0 70px; } }
  .checkout-shipping .vehicle-information p {
    margin: 0; }
  .checkout-shipping .vehicle-information .informations {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    font-weight: normal;
    line-height: 1.3125rem;
    padding-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .checkout-shipping .vehicle-information .informations {
        font-size: 0.9375rem;
        padding-bottom: 30px; } }
  .checkout-shipping .vehicle-information .vehicle {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    text-transform: uppercase; }
  .checkout-shipping .vehicle-information .add-vehicle {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .checkout-shipping .vehicle-information .add-vehicle {
        max-width: 141px; } }
  .checkout-shipping .vehicle-information .edit-button {
    font-size: 0.8125rem;
    text-transform: capitalize; }

#psmodal.warning-modal {
  padding: 30px; }
  #psmodal.warning-modal h3 {
    font-size: 1.3125rem;
    margin: 0; }
  #psmodal.warning-modal p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 1rem;
    margin: 0;
    padding: 10px 0 30px; }
  #psmodal.warning-modal .close-button {
    top: 23px; }
  #psmodal.warning-modal .button {
    margin: 0; }
    @media screen and (min-width: 48em) {
      #psmodal.warning-modal .button {
        max-width: 210px; } }
  #psmodal.warning-modal .keep-vehicle {
    margin: 0 0 10px; }
    @media screen and (min-width: 48em) {
      #psmodal.warning-modal .keep-vehicle {
        margin: 0 10px 0 0; } }

@media screen and (max-width: 47.9375em) {
  .checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.postal-row {
    clear: left;
    padding-right: 0.3125rem; }
  .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.country-row {
    padding-left: 0.3125rem; } }

.checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
  float: left;
  width: 50%; }
  @media screen and (min-width: 48em) {
    .checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
      clear: none;
      padding: 0 0.625rem;
      width: 25%; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row:not(.city-row), .checkout-fields-container .form-row:not(.postal-row), .checkout-fields-container .form-row:not(.state-row), .checkout-fields-container .form-row:not(.checkbox-form), .checkout-fields-container .form-row:not(.country-row) {
    width: 50%; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(odd), .checkout-fields-container .form-row:not(.postal-row):nth-child(odd), .checkout-fields-container .form-row:not(.state-row):nth-child(odd), .checkout-fields-container .form-row:not(.checkbox-form):nth-child(odd), .checkout-fields-container .form-row:not(.country-row):nth-child(odd) {
      clear: left;
      float: left;
      padding: 0 0.625rem 0 0; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(even), .checkout-fields-container .form-row:not(.postal-row):nth-child(even), .checkout-fields-container .form-row:not(.state-row):nth-child(even), .checkout-fields-container .form-row:not(.checkbox-form):nth-child(even), .checkout-fields-container .form-row:not(.country-row):nth-child(even) {
      float: right;
      padding: 0 0 0 0.625rem; } }

.checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
  float: left;
  width: 50%; }
  @media screen and (min-width: 48em) {
    .checkout-fields-container .form-row.city-row, .checkout-fields-container .form-row.state-row, .checkout-fields-container .form-row.postal-row, .checkout-fields-container .form-row.country-row {
      clear: none;
      padding: 0 0.625rem;
      width: 25%; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row:not(.city-row), .checkout-fields-container .form-row:not(.postal-row), .checkout-fields-container .form-row:not(.state-row), .checkout-fields-container .form-row:not(.country-row) {
    width: 50%; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(odd), .checkout-fields-container .form-row:not(.postal-row):nth-child(odd), .checkout-fields-container .form-row:not(.state-row):nth-child(odd), .checkout-fields-container .form-row:not(.country-row):nth-child(odd) {
      clear: left;
      float: left;
      padding: 0 0.625rem 0 0; }
    .checkout-fields-container .form-row:not(.city-row):nth-child(even), .checkout-fields-container .form-row:not(.postal-row):nth-child(even), .checkout-fields-container .form-row:not(.state-row):nth-child(even), .checkout-fields-container .form-row:not(.country-row):nth-child(even) {
      float: right;
      padding: 0 0 0 0.625rem; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row.city-row {
    clear: left;
    padding-left: 0; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row.country-row {
    padding-right: 0; } }

@media screen and (min-width: 48em) {
  .checkout-fields-container .form-row.postal-row .field-wrapper {
    width: 50%; } }

.checkout-fields-container .form-row .field-wrapper.has-tooltip {
  position: relative; }
  .checkout-fields-container .form-row .field-wrapper.has-tooltip i {
    color: #8a8a8a;
    font-size: 1.125rem;
    position: absolute;
    right: 0.875rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
            transform: translateY(-50%);
    z-index: 1; }

.checkout-fields-container .form-row.form-indent.checkbox-form {
  padding: 0;
  width: 100%; }

.checkout-billing .top-payment-info {
  background-color: #f2f2f2;
  margin-bottom: 16px;
  padding: 30px; }
  @media screen and (max-width: 47.9375em) {
    .checkout-billing .top-payment-info {
      padding: 20px; } }
  .checkout-billing .top-payment-info p {
    margin: 0; }
  .checkout-billing .top-payment-info .due-payment-title {
    color: #c75300;
    font-size: 1.25rem;
    font-weight: bold;
    padding-bottom: 15px; }
    @media screen and (max-width: 47.9375em) {
      .checkout-billing .top-payment-info .due-payment-title {
        font-size: 1.0625rem;
        line-height: 1.4375rem;
        padding-bottom: 10px; } }

.checkout-billing .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1;
  margin: 0 0 1.25rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .checkout-billing .section-title {
      font-size: 0.9375rem;
      margin: 0 0 1.875rem; } }

.checkout-billing .checkout-fields-container {
  margin: 0 0 0.625rem; }
  @media screen and (min-width: 48em) {
    .checkout-billing .checkout-fields-container {
      margin: 0 0 1.875rem; } }
  @media screen and (min-width: 48em) {
    .checkout-billing .checkout-fields-container .form-row.address-row {
      padding: 0 !important;
      width: 100% !important; } }

.checkout-billing .payment-method {
  margin: 0 0 2.813rem; }

.checkout-billing .credit-card-logos {
  margin: 0 0 1.875rem;
  max-width: 150px; }

.checkout-billing #monerisFrame {
  height: 235px;
  width: 100%; }

.checkout-billing #monerisMsg {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #f00;
  float: left;
  font-size: 0.75rem;
  line-height: 1;
  width: 100%; }

.order-review-page .line-item-details .product-brand,
.confirmation-page .line-item-details .product-brand {
  font-size: 0.875rem;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-details .product-brand,
    .confirmation-page .line-item-details .product-brand {
      font-size: 0.9375rem; } }
  @media print {
    .order-review-page .line-item-details .product-brand,
    .confirmation-page .line-item-details .product-brand {
      font-size: 10px !important;
      font-style: normal;
      font-weight: 300 !important;
      line-height: normal; } }

.order-review-page .line-item-details .product-name,
.confirmation-page .line-item-details .product-name {
  font-size: 0.875rem;
  line-height: 18px; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-details .product-name,
    .confirmation-page .line-item-details .product-name {
      font-size: 0.9375rem;
      line-height: 22px; } }
  @media print {
    .order-review-page .line-item-details .product-name,
    .confirmation-page .line-item-details .product-name {
      font-size: 10px !important;
      font-style: normal;
      font-weight: 300 !important;
      line-height: normal; } }

.order-review-page .line-item-price,
.confirmation-page .line-item-price {
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-price,
    .confirmation-page .line-item-price {
      font-size: 0.9375rem; } }
  @media print {
    .order-review-page .line-item-price,
    .confirmation-page .line-item-price {
      font-size: 10px !important;
      font-style: normal;
      font-weight: 300 !important;
      line-height: normal; } }
  .order-review-page .line-item-price .old-price.old-price-checkout,
  .confirmation-page .line-item-price .old-price.old-price-checkout {
    color: #949494;
    float: left;
    font-size: 0.75rem;
    font-weight: 400;
    line-height: 1.125rem;
    margin-right: 5px; }
    @media screen and (min-width: 48em) {
      .order-review-page .line-item-price .old-price.old-price-checkout,
      .confirmation-page .line-item-price .old-price.old-price-checkout {
        font-size: 0.875rem;
        line-height: 1.25rem; } }
    @media print {
      .order-review-page .line-item-price .old-price.old-price-checkout,
      .confirmation-page .line-item-price .old-price.old-price-checkout {
        color: #949494 !important;
        font-size: 10px;
        font-style: normal;
        font-weight: 300;
        line-height: normal; } }

.order-review-page .line-item-quantity .item-quantity,
.confirmation-page .line-item-quantity .item-quantity {
  font-size: 0.75rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-quantity .item-quantity,
    .confirmation-page .line-item-quantity .item-quantity {
      font-size: 0.875rem; } }
  @media print {
    .order-review-page .line-item-quantity .item-quantity,
    .confirmation-page .line-item-quantity .item-quantity {
      font-size: 10px !important;
      font-style: normal;
      font-weight: 300 !important;
      line-height: normal; } }

.order-review-page .line-item-total .price-total,
.confirmation-page .line-item-total .price-total {
  font-size: 0.75rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-total .price-total,
    .confirmation-page .line-item-total .price-total {
      font-size: 0.875rem; } }
  @media print {
    .order-review-page .line-item-total .price-total,
    .confirmation-page .line-item-total .price-total {
      font-size: 10px !important;
      font-style: normal;
      font-weight: 300 !important;
      line-height: normal; } }

.order-review-page .address1,
.confirmation-page .address1 {
  float: left; }

.order-review-page .zip-code,
.confirmation-page .zip-code {
  text-transform: uppercase; }

.order-review-page address {
  font-style: normal; }

.order-review-page .section-title-box {
  background: #f2f2f2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 0 0 1.875rem;
  padding: 0.9375rem 0.625rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .section-title-box {
      background: none;
      border-top: 1px solid #f2f2f3;
      margin: 0 0 1.563rem;
      padding: 1.563rem 0 0; } }
  .order-review-page .section-title-box .main-section-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: inline-block;
    font-size: 1rem;
    line-height: 1;
    margin: 0; }
  .order-review-page .section-title-box .edit-section-link {
    font-size: 0.8125rem;
    line-height: 1; }

.order-review-page .section-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.875rem;
  line-height: 1;
  margin: 0 0 0.3125rem; }

.order-review-page .section-box-wrap {
  margin-bottom: 0.9375rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .section-box-wrap {
      margin-bottom: 1.563rem; } }
  .order-review-page .section-box-wrap .section-box {
    margin-bottom: 1.25rem; }
    @media screen and (max-width: 47.9375em) {
      .order-review-page .section-box-wrap .section-box {
        padding-left: 0.625rem;
        padding-right: 0.625rem; }
        .order-review-page .section-box-wrap .section-box.columns {
          padding-left: 1.563rem;
          padding-right: 1.563rem; } }
    @media screen and (min-width: 48em) {
      .order-review-page .section-box-wrap .section-box {
        margin-bottom: 0; } }
  .order-review-page .section-box-wrap p {
    font-size: 14px;
    line-height: 1;
    margin: 0 0 0.3125rem; }
  .order-review-page .section-box-wrap .appointment-time {
    color: #808285; }
  @media screen and (min-width: 48em) {
    .order-review-page .section-box-wrap .right-info-box .section-box {
      margin-bottom: 1.25rem; } }
  .order-review-page .section-box-wrap .vehicle-info-wrapper {
    margin-top: 1.875rem; }
    .order-review-page .section-box-wrap .vehicle-info-wrapper p {
      line-height: 22px; }

.order-review-page .disclaimer-checkout {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #808285;
  font-size: 0.875rem;
  line-height: 22px; }
  .order-review-page .disclaimer-checkout p {
    font-size: 0.875rem;
    margin: 0; }

.order-review-page .order-summary-footer {
  margin: 1.563rem 0; }
  @media screen and (min-width: 64em) {
    .order-review-page .order-summary-footer {
      margin: 3.125rem 0 0; } }

.order-review-page .button {
  font-size: 14px; }

.confirmation-page {
  margin: 1.25rem 0 0; }
  @media screen and (min-width: 48em) {
    .confirmation-page {
      margin: 3.438rem 0 0; } }
  .confirmation-page .login-box {
    background-color: #f2f2f2;
    margin: 0 0 1.875rem;
    padding: 1.25rem 0.9375rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .login-box {
        padding: 1.563rem 1.25rem; } }
    .confirmation-page .login-box.login-create-account .login-box-fieldset {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      .confirmation-page .login-box.login-create-account .login-box-fieldset .form-row {
        -ms-flex-preferred-size: 100%;
            flex-basis: 100%;
        margin-bottom: 18px; }
        @media screen and (min-width: 48em) {
          .confirmation-page .login-box.login-create-account .login-box-fieldset .form-row {
            -ms-flex-preferred-size: 30%;
                flex-basis: 30%;
            margin-bottom: 15px; } }
    .confirmation-page .login-box.login-create-account form {
      margin-bottom: 18px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .login-box.login-create-account form {
          margin-bottom: 8px; } }
    .confirmation-page .login-box.login-create-account .login-box-submit-button {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%;
      margin-top: 0; }
      @media screen and (min-width: 48em) {
        .confirmation-page .login-box.login-create-account .login-box-submit-button {
          margin-top: 10px; } }
      .confirmation-page .login-box.login-create-account .login-box-submit-button .button {
        font-size: 0.875rem; }
        @media screen and (max-width: 47.9375em) {
          .confirmation-page .login-box.login-create-account .login-box-submit-button .button {
            width: 100%; } }
    .confirmation-page .login-box.login-create-account .privacy-policy {
      color: #4d4d4d;
      font-size: 0.75rem;
      font-weight: 300;
      line-height: 1rem; }
      .confirmation-page .login-box.login-create-account .privacy-policy.link {
        text-decoration: underline; }
    .confirmation-page .login-box .button {
      margin: 0; }
  .confirmation-page .create-account-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem;
    font-weight: 500;
    line-height: 22px;
    margin-bottom: 18px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .create-account-title {
        font-size: 1.125rem;
        margin-bottom: 25px; } }
    .confirmation-page .create-account-title .desktop {
      display: none; }
      @media screen and (min-width: 48em) {
        .confirmation-page .create-account-title .desktop {
          display: block; } }
    .confirmation-page .create-account-title .mobile {
      display: block; }
      @media screen and (min-width: 48em) {
        .confirmation-page .create-account-title .mobile {
          display: none; } }
  .confirmation-page .create-account-description {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    margin-bottom: 18px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .create-account-description {
        margin-bottom: 25px; } }
    .confirmation-page .create-account-description ul {
      margin-left: 5px; }
      .confirmation-page .create-account-description ul p {
        font-size: 0.875rem;
        font-weight: 300;
        line-height: 22px;
        margin-bottom: 10px; }
  .confirmation-page .confirmation-message {
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message {
        margin: 0 0 2.188rem; } }
    .confirmation-page .confirmation-message h1 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      font-size: 1.125rem;
      line-height: 1;
      margin: 0 0 1.25rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message h1 {
          font-size: 1.375rem;
          margin: 0 0 1.875rem; } }
    .confirmation-page .confirmation-message p {
      font-size: 0.875rem;
      line-height: 1.3;
      margin: 0 0 0.9375rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message p {
          margin: 0 0 1.563rem; } }
  .confirmation-page .section-title-box {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 0 0 1.875rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .section-title-box {
        margin: 0 0 1.563rem;
        padding: 1.563rem 0 0; } }
    .confirmation-page .section-title-box .main-section-title {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      display: inline-block;
      font-size: 0.875rem;
      line-height: 1;
      margin: 0; }
    .confirmation-page .section-title-box .edit-section-link {
      font-size: 0.8125rem;
      line-height: 1; }
    .confirmation-page .section-title-box.action-box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      .confirmation-page .section-title-box.action-box .phone-number {
        color: #c75300; }
      .confirmation-page .section-title-box.action-box .orderSummaryLiveChat {
        color: #c75300;
        cursor: pointer; }
      .confirmation-page .section-title-box.action-box .action-icon .card-icon {
        max-height: 16px; }
  .confirmation-page .section-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.875rem;
    line-height: 1;
    margin: 0 0 0.3125rem; }
    .confirmation-page .section-title--top-margin {
      margin-top: 1.25rem; }
  .confirmation-page .section-box-wrap {
    margin-bottom: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .section-box-wrap {
        margin-bottom: 1.563rem; } }
    .confirmation-page .section-box-wrap .section-box {
      margin-bottom: 1.25rem; }
      @media screen and (max-width: 47.9375em) {
        .confirmation-page .section-box-wrap .section-box {
          padding-left: 0.625rem;
          padding-right: 0.625rem; }
          .confirmation-page .section-box-wrap .section-box.columns {
            padding-left: 1.2rem;
            padding-right: 1.2rem; } }
      @media screen and (min-width: 48em) {
        .confirmation-page .section-box-wrap .section-box {
          margin-bottom: 0; } }
    .confirmation-page .section-box-wrap p {
      font-size: 14px;
      line-height: 1;
      margin: 0 0 0.3125rem; }
    .confirmation-page .section-box-wrap .appointment-time {
      color: #808285; }
  .confirmation-page .sms-reminder-box p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-style: italic;
    margin: 0 0 1.563rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .sms-reminder-box p {
        margin: 0 0 1.875rem; } }
  .confirmation-page .order-confirmation-links a {
    display: block; }
  .confirmation-page .order-confirmation-links .add-to-calendar,
  .confirmation-page .order-confirmation-links .print-link {
    font-size: 0.875rem;
    margin-bottom: 15px; }
  @media print {
    .confirmation-page .order-confirmation-links {
      display: none; } }
  .confirmation-page .appt-info-box {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    border: 3px solid #f2f2f3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding: 0.9375rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .appt-info-box {
        border-width: 6px;
        padding: 1.25rem 0.9375rem; } }
    .confirmation-page .appt-info-box .img-box {
      margin: 0 0.4375rem 0 0;
      width: 50px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appt-info-box .img-box {
          margin: 0 1.25rem 0 0; } }
    .confirmation-page .appt-info-box .text-box {
      width: calc(100% - 57px); }
      @media screen and (min-width: 48em) {
        .confirmation-page .appt-info-box .text-box {
          width: calc(100% - 70px); } }
    .confirmation-page .appt-info-box h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 0.875rem;
      margin: 0; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appt-info-box h3 {
          font-size: 0.9375rem; } }
    .confirmation-page .appt-info-box p {
      font-size: 0.875rem;
      margin: 0; }
  .confirmation-page .order-information {
    border-bottom: 1px solid #ccc;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 0; }
    @media screen and (min-width: 48em) {
      .confirmation-page .order-information {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        padding-bottom: 30px; } }
    @media print {
      .confirmation-page .order-information {
        border-bottom: 1px solid #ccc;
        font-size: 12px;
        font-style: normal;
        font-weight: 300;
        line-height: 23px;
        margin-bottom: 20px;
        padding-bottom: 0; } }
    .confirmation-page .order-information .order-date {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.8125rem;
      margin: 0 0 0 0.625rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-information .order-date {
          margin: 0; } }
    .confirmation-page .order-information .section-title-box {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      margin-bottom: 15px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-information .section-title-box {
          border: 0;
          -webkit-box-flex: 1;
              -ms-flex: 1 1 auto;
                  flex: 1 1 auto;
          margin: 0;
          padding: 0; } }
      .confirmation-page .order-information .section-title-box .main-title {
        font-size: 1rem; }
        @media screen and (min-width: 48em) {
          .confirmation-page .order-information .section-title-box .main-title {
            font-size: 1.125rem; } }
    .confirmation-page .order-information-block {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
    .confirmation-page .order-information-locale .section-title-box {
      margin-bottom: 0;
      margin-top: 20px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-information-locale .section-title-box {
          margin-top: 0; } }
      @media print {
        .confirmation-page .order-information-locale .section-title-box {
          margin-bottom: 10px;
          margin-top: 0; } }
      .confirmation-page .order-information-locale .section-title-box .main-section-title {
        margin-bottom: 5px; }
        @media screen and (min-width: 48em) {
          .confirmation-page .order-information-locale .section-title-box .main-section-title {
            margin-bottom: 20px; } }
        @media print {
          .confirmation-page .order-information-locale .section-title-box .main-section-title {
            font-size: 10px;
            font-style: normal;
            line-height: normal;
            margin-bottom: 0; } }
      .confirmation-page .order-information-locale .section-title-box p {
        margin-bottom: 0; }
        @media print {
          .confirmation-page .order-information-locale .section-title-box p {
            font-size: 10px;
            font-style: normal;
            font-weight: 300;
            line-height: normal; } }
    .confirmation-page .order-information-locale .personal-information-box {
      margin-top: 20px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-information-locale .personal-information-box {
          margin-top: 0; } }
      @media print {
        .confirmation-page .order-information-locale .personal-information-box {
          margin-top: 0; } }
    @media print {
      .confirmation-page .order-information-locale {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        max-width: 50%; } }
  @media screen and (max-width: 47.9375em) {
    .confirmation-page .cart-summary-box {
      padding: 0 1.875rem 1.5625rem; } }
  @media screen and (min-width: 48em) {
    .confirmation-page .cart-summary-box {
      border: 2px solid #f2f2f3;
      border-bottom-width: 0; }
      .confirmation-page .cart-summary-box::before, .confirmation-page .cart-summary-box::after {
        content: ' ';
        display: table; }
      .confirmation-page .cart-summary-box::after {
        clear: both; } }
  .confirmation-page .mini-billing-address {
    margin-bottom: 1.25rem; }
    .confirmation-page .mini-billing-address + .section-box {
      padding: 0; }
  .confirmation-page .confirmation-message-wrapper {
    margin: 20px auto 0;
    padding-bottom: 35px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message-wrapper {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        border-bottom: 1px solid #ccc;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin: 0 auto 38px;
        padding-bottom: 38px; } }
    @media print {
      .confirmation-page .confirmation-message-wrapper {
        margin-bottom: 0;
        padding-bottom: 30px; } }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message-wrapper .header {
        -webkit-box-align: start;
            -ms-flex-align: start;
                align-items: flex-start;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between; } }
    .confirmation-page .confirmation-message-wrapper .header .print-info {
      display: none;
      font-size: 12px;
      font-style: normal;
      font-weight: 300;
      line-height: normal; }
      @media print {
        .confirmation-page .confirmation-message-wrapper .header .print-info {
          display: block; } }
    .confirmation-page .confirmation-message-wrapper .checked-icon {
      border-radius: 50%;
      height: 27px;
      margin-right: 15px;
      width: 27px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .checked-icon {
          -ms-flex-item-align: center;
              align-self: center;
          -webkit-box-shadow: 0 0 0 3px #c75300 inset;
                  box-shadow: 0 0 0 3px #c75300 inset;
          height: 28px;
          width: 28px; } }
      .confirmation-page .confirmation-message-wrapper .checked-icon::before {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        border: 4px solid #c75300;
        border-radius: 50%;
        color: #c75300;
        content: "\f00c";
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-family: fontawesome;
        font-size: 15px;
        height: 27px;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center;
        margin: 0;
        width: 27px; }
        @media screen and (min-width: 48em) {
          .confirmation-page .confirmation-message-wrapper .checked-icon::before {
            font-size: 0.9375rem;
            height: 28px;
            width: 28px; } }
      @media print {
        .confirmation-page .confirmation-message-wrapper .checked-icon {
          display: none; } }
    .confirmation-page .confirmation-message-wrapper .title {
      -webkit-box-align: baseline;
          -ms-flex-align: baseline;
              align-items: baseline;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      font-size: 1.375rem;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      line-height: 29px;
      margin: 0;
      padding-bottom: 10px;
      text-align: left; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .title {
          -ms-flex-item-align: center;
              align-self: center;
          font-size: 1.625rem;
          line-height: 33px;
          padding-bottom: 15px; } }
      @media print {
        .confirmation-page .confirmation-message-wrapper .title {
          font-size: 12px;
          font-style: normal;
          font-weight: bold;
          letter-spacing: -0.44px;
          line-height: 18px;
          margin-top: 20px; } }
    .confirmation-page .confirmation-message-wrapper .title-info {
      color: #000;
      font-size: 1.0625rem;
      font-style: normal;
      font-weight: 400;
      letter-spacing: -0.44px;
      line-height: 17px;
      /* 100% */
      margin-left: 43px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .title-info {
          font-size: 1.125rem;
          line-height: 1.125rem; } }
      .confirmation-page .confirmation-message-wrapper .title-info h5 {
        margin-bottom: 15px; }
      .confirmation-page .confirmation-message-wrapper .title-info .button {
        margin-bottom: 0;
        margin-right: 8px; }
      .confirmation-page .confirmation-message-wrapper .title-info .title-info-buttons {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
        @media screen and (max-width: 47.9375em) {
          .confirmation-page .confirmation-message-wrapper .title-info .title-info-buttons .width-100-mobile {
            font-size: 0.6875rem;
            width: 100%; } }
        @media screen and (max-width: 47.9375em) {
          .confirmation-page .confirmation-message-wrapper .title-info .title-info-buttons .width-50-mobile {
            width: 50%; } }
        @media print {
          .confirmation-page .confirmation-message-wrapper .title-info .title-info-buttons {
            display: none; } }
      @media print {
        .confirmation-page .confirmation-message-wrapper .title-info {
          display: none; } }
    .confirmation-page .confirmation-message-wrapper .subtitle {
      font-size: 0.9375rem;
      line-height: 25px;
      margin: 0;
      text-align: center; }
      @media screen and (min-width: 48em) {
        .confirmation-page .confirmation-message-wrapper .subtitle {
          text-align: left; } }
  .confirmation-page .appointment-details-wrapper {
    margin-bottom: 35px; }
    .confirmation-page .appointment-details-wrapper .section-title-box {
      border: 0;
      margin-bottom: 20px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .section-title-box {
          padding: 0; } }
    .confirmation-page .appointment-details-wrapper .section-title {
      line-height: 20px;
      margin-bottom: 10px; }
    .confirmation-page .appointment-details-wrapper .appointment-data-time-locale {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin-bottom: 25px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .appointment-data-time-locale {
          -webkit-box-orient: horizontal;
          -webkit-box-direction: normal;
              -ms-flex-direction: row;
                  flex-direction: row;
          margin-bottom: 30px; } }
      @media print {
        .confirmation-page .appointment-details-wrapper .appointment-data-time-locale {
          margin-bottom: 20px; } }
    .confirmation-page .appointment-details-wrapper .appointment-data-time p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #c75300;
      font-size: 1.125rem;
      line-height: 24px;
      margin-bottom: 0; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .appointment-data-time p {
          font-size: 1.25rem; } }
      @media print {
        .confirmation-page .appointment-details-wrapper .appointment-data-time p {
          color: #c75300 !important;
          font-size: 12px;
          font-style: normal;
          font-weight: bold;
          line-height: normal; } }
    .confirmation-page .appointment-details-wrapper .appointment-time {
      display: none; }
    .confirmation-page .appointment-details-wrapper .location-box {
      margin-bottom: 15px; }
      @media screen and (max-width: 47.9375em) {
        .confirmation-page .appointment-details-wrapper .location-box {
          margin-bottom: 25px; } }
      .confirmation-page .appointment-details-wrapper .location-box p {
        line-height: 24px;
        margin: 0; }
        @media print {
          .confirmation-page .appointment-details-wrapper .location-box p {
            font-size: 12px;
            font-style: normal;
            font-weight: 300;
            line-height: normal; } }
    @media screen and (min-width: 48em) {
      .confirmation-page .appointment-details-wrapper .appointment-button {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; } }
    .confirmation-page .appointment-details-wrapper .appointment-button .button {
      margin-bottom: 15px; }
    .confirmation-page .appointment-details-wrapper .appointment-button .add-to-calendar {
      font-size: 0.875rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .appointment-button .add-to-calendar {
          margin-right: 15px;
          max-width: 196px; } }
    @media screen and (min-width: 48em) {
      .confirmation-page .appointment-details-wrapper .appointment-button .print-link {
        max-width: 270px; } }
    .confirmation-page .appointment-details-wrapper .section-box-wrap {
      margin-bottom: 10px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .section-box-wrap {
          margin-bottom: 30px; } }
      @media print {
        .confirmation-page .appointment-details-wrapper .section-box-wrap .section-box {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%;
          max-width: 100%; } }
    .confirmation-page .appointment-details-wrapper .reminder-info {
      color: #808285;
      font-size: 0.875rem;
      line-height: 22px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .appointment-details-wrapper .main-section-title {
        font-size: 1rem;
        line-height: 20px; } }
    .confirmation-page .appointment-details-wrapper .appointment-instructions {
      border: 2px solid #f2f2f3;
      padding: 15px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .appointment-details-wrapper .appointment-instructions {
          padding: 30px; } }
    @media print {
      .confirmation-page .appointment-details-wrapper {
        page-break-after: always; } }
  .confirmation-page .customer-care {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding-top: 0; }
    @media screen and (min-width: 48em) {
      .confirmation-page .customer-care {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%; } }
    .confirmation-page .customer-care h3 {
      font-size: 1rem;
      font-weight: 500;
      line-height: 1.15625rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .customer-care h3 {
          margin-bottom: 15px; } }
    .confirmation-page .customer-care p {
      font-size: 0.875rem;
      font-weight: 300;
      line-height: 1.375rem;
      margin-bottom: 20px; }
  .confirmation-page .information-assets {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (min-width: 48em) {
      .confirmation-page .information-assets {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .confirmation-page .information-assets h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 1rem;
      line-height: 18px;
      margin-bottom: 25px; }
      @media print {
        .confirmation-page .information-assets h3 {
          margin-bottom: 15px; } }
    .confirmation-page .information-assets p {
      line-height: 22px; }
    .confirmation-page .information-assets .appt-info {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
      .confirmation-page .information-assets .appt-info .information-box,
      .confirmation-page .information-assets .appt-info div {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .confirmation-page .information-assets .appt-info div p {
        font-size: 0.875rem;
        font-weight: 400;
        line-height: 1.375rem;
        margin: 0;
        padding-left: 20px; }
        @media print {
          .confirmation-page .information-assets .appt-info div p {
            font-size: 12px;
            font-style: normal;
            font-weight: 300;
            line-height: normal; } }
    .confirmation-page .information-assets .information-box {
      margin-bottom: 10px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .information-assets .information-box {
          margin-bottom: 8px; } }
      .confirmation-page .information-assets .information-box div {
        -webkit-box-align: center;
            -ms-flex-align: center;
                align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex; }
      .confirmation-page .information-assets .information-box p {
        font-size: 0.875rem;
        margin: 0;
        padding-left: 20px; }
      .confirmation-page .information-assets .information-box img {
        max-height: 60px;
        max-width: 60px; }
        @media print {
          .confirmation-page .information-assets .information-box img {
            max-height: 25px;
            max-width: 25px; } }
      @media screen and (min-width: 48em) {
        .confirmation-page .information-assets .information-box:last-child:not(:first-child) {
          margin-bottom: 0; } }
    .confirmation-page .information-assets.assets-pdf .appt-info-pdf {
      border-right: 1px solid #979797; }
    .confirmation-page .information-assets.assets-pdf .customer-care {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column; }
  .confirmation-page .order-confirmation-details {
    border: 2px solid #f2f2f3; }
    @media print {
      .confirmation-page .order-confirmation-details {
        border: 0; } }
    .confirmation-page .order-confirmation-details .order-summary-title {
      display: none; }
    .confirmation-page .order-confirmation-details .cart-summary-box {
      border-bottom: 2px solid #e8e8e9;
      padding-bottom: 21px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .cart-summary-box {
          border: 0;
          border-bottom: 2px solid #f2f2f3;
          padding-bottom: 0; } }
      @media print {
        .confirmation-page .order-confirmation-details .cart-summary-box {
          border: 0;
          border-bottom: 1px solid #ccc;
          padding-bottom: 0; } }
      @media print {
        .confirmation-page .order-confirmation-details .cart-summary-box .main-section-header {
          padding-bottom: 10px; } }
      @media screen and (max-width: 47.9375em) {
        .confirmation-page .order-confirmation-details .cart-summary-box .main-section-header {
          margin-bottom: 21px;
          padding-bottom: 10px;
          padding-left: 0; } }
      @media screen and (max-width: 47.9375em) {
        .confirmation-page .order-confirmation-details .cart-summary-box .main-section-header .section-header {
          font-size: 0.9375rem;
          font-style: normal;
          line-height: 1.15625rem; } }
      @media print {
        .confirmation-page .order-confirmation-details .cart-summary-box .main-section-header .section-header {
          font-size: 10px;
          font-style: normal;
          font-weight: bold;
          line-height: normal; } }
      @media print {
        .confirmation-page .order-confirmation-details .cart-summary-box .main-section-header.show-for-small-only {
          display: none; } }
    .confirmation-page .order-confirmation-details .order-payment-summary {
      border: 0;
      margin-bottom: 21px;
      padding: 1.875rem 1.875rem 0; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .order-payment-summary {
          margin-bottom: 30px; } }
      .confirmation-page .order-confirmation-details .order-payment-summary .levy-message-orderdetails {
        color: #808285;
        font-size: 0.75rem;
        font-weight: bold;
        max-width: 360px; }
        @media screen and (max-width: 47.9375em) {
          .confirmation-page .order-confirmation-details .order-payment-summary .levy-message-orderdetails {
            margin-top: 1.25rem; } }
      @media print {
        .confirmation-page .order-confirmation-details .order-payment-summary {
          margin-bottom: 25px;
          padding: 10px 0 0; } }
    .confirmation-page .order-confirmation-details .order-summary-header {
      padding: 1.5625rem 1.875rem 0; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .order-summary-header {
          padding: 1.5625rem 1.875rem; } }
      @media print {
        .confirmation-page .order-confirmation-details .order-summary-header {
          padding: 30px 0 20px; } }
      .confirmation-page .order-confirmation-details .order-summary-header .order-information-block p {
        font-size: 0.875rem; }
    .confirmation-page .order-confirmation-details .line-items .product-brand,
    .confirmation-page .order-confirmation-details .line-items .product-name {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .line-items .product-brand,
        .confirmation-page .order-confirmation-details .line-items .product-name {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 500; } }
    .confirmation-page .order-confirmation-details .line-items .line-item-price {
      font-size: 0.75rem; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .line-items .line-item-price {
          font-size: 0.875rem; } }
    .confirmation-page .order-confirmation-details .productname-column .line-items-title {
      display: block; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .productname-column .line-items-title {
          display: none; } }
      @media print {
        .confirmation-page .order-confirmation-details .productname-column .line-items-title {
          display: none; } }
    .confirmation-page .order-confirmation-details .productname-column .order-summary-products-title {
      display: none; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-confirmation-details .productname-column .order-summary-products-title {
          display: block; } }
      @media print {
        .confirmation-page .order-confirmation-details .productname-column .order-summary-products-title {
          display: block; } }
  .confirmation-page .mini-address-location {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    .confirmation-page .mini-address-location p {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%; }
    .confirmation-page .mini-address-location .full-name {
      -webkit-box-ordinal-group: 1;
          -ms-flex-order: 0;
              order: 0; }
    .confirmation-page .mini-address-location .email {
      -webkit-box-ordinal-group: 2;
          -ms-flex-order: 1;
              order: 1; }
    .confirmation-page .mini-address-location .phone-number {
      -webkit-box-ordinal-group: 3;
          -ms-flex-order: 2;
              order: 2; }
    .confirmation-page .mini-address-location .postal-code {
      -webkit-box-ordinal-group: 4;
          -ms-flex-order: 3;
              order: 3;
      text-transform: uppercase; }
  .confirmation-page .installation-notice {
    background-color: #f8f8f8 !important;
    margin: 21px 15px 15px;
    padding: 20px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .installation-notice {
        margin: 30px 19px 20px; } }
    .confirmation-page .installation-notice p {
      font-size: 0.875rem;
      font-weight: 300;
      line-height: 1.375rem; }
      @media print {
        .confirmation-page .installation-notice p {
          font-size: 11px; } }
    @media print {
      .confirmation-page .installation-notice {
        margin: 0 !important;
        padding: 10px;
        -webkit-print-color-adjust: exact;
        /* stylelint-disable-line */ } }
  .confirmation-page .personal-payment-info {
    margin-left: 0;
    margin-right: 0; }
    @media screen and (min-width: 48em) {
      .confirmation-page .personal-payment-info .information-box {
        padding: 20px 0 0; }
        .confirmation-page .personal-payment-info .information-box--full-padding {
          padding: 20px; }
        .confirmation-page .personal-payment-info .information-box--grey-background {
          background-color: #f2f2f3; } }
    .confirmation-page .personal-payment-info .section-title-box--no-margin {
      margin: 0; }
    @media screen and (min-width: 48em) {
      .confirmation-page .personal-payment-info .title {
        font-size: 1rem;
        line-height: 20px;
        margin-bottom: 10px; } }
    .confirmation-page .personal-payment-info .title--orange {
      color: #c75300; }
    @media screen and (max-width: 63.9375em) {
      .confirmation-page .personal-payment-info .payment-verification {
        margin-left: 0;
        margin-right: 0; } }
    @media screen and (max-width: 63.9375em) {
      .confirmation-page .personal-payment-info .payment-verification .section-box {
        background-color: #f2f2f3;
        padding: 0 12px 15px; } }
    .confirmation-page .personal-payment-info .need-changes {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      margin-top: 35px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .personal-payment-info .need-changes {
          margin-top: 38px; } }
      .confirmation-page .personal-payment-info .need-changes .section-title-box {
        margin-top: 0;
        padding: 0; }
      .confirmation-page .personal-payment-info .need-changes p {
        font-weight: 300;
        line-height: 1.375rem;
        margin: 15px 0; }
        @media print {
          .confirmation-page .personal-payment-info .need-changes p {
            font-size: 12px;
            line-height: normal;
            margin: 10px 0; } }
      @media print {
        .confirmation-page .personal-payment-info .need-changes a {
          display: none; } }
      .confirmation-page .personal-payment-info .need-changes .printed-version-only {
        display: none; }
        @media print {
          .confirmation-page .personal-payment-info .need-changes .printed-version-only {
            display: inline-block; } }
      @media print {
        .confirmation-page .personal-payment-info .need-changes .main-section-title {
          font-size: 12px; } }
      @media print {
        .confirmation-page .personal-payment-info .need-changes {
          display: block;
          margin-top: 25px; } }
    @media print {
      .confirmation-page .personal-payment-info div:not(:first-child) {
        display: none; } }
  .confirmation-page .payment-verification p {
    display: inline; }
  .confirmation-page .order-totals-table tr {
    font-size: 0.75rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .order-totals-table tr {
        font-size: 0.875rem; } }
    @media print {
      .confirmation-page .order-totals-table tr {
        font-size: 10px;
        font-style: normal;
        font-weight: 300;
        line-height: normal; } }
    .confirmation-page .order-totals-table tr td {
      padding-bottom: 15px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .order-totals-table tr td {
          padding-bottom: 0; } }
      @media print {
        .confirmation-page .order-totals-table tr td {
          padding-bottom: 10px; } }
  .confirmation-page .order-totals-table tr.amount-store-total.bold {
    font-size: 0.75rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .order-totals-table tr.amount-store-total.bold {
        font-size: 0.875rem; } }
    @media print {
      .confirmation-page .order-totals-table tr.amount-store-total.bold {
        font-size: 10px !important;
        font-style: normal;
        font-weight: 300;
        line-height: normal; } }
  @media print {
    .confirmation-page .order-totals-table .order-total {
      font-weight: 300 !important; } }
  @media print {
    .confirmation-page .order-totals-table .amount-total-paid {
      font-weight: bold !important; } }

.product-detailed-info {
  line-height: 1.5;
  text-transform: capitalize; }
  .product-detailed-info .attribute-data {
    font-size: 0.875rem;
    margin: 0; }
    @media print {
      .product-detailed-info .attribute-data {
        font-size: 10px;
        font-style: normal;
        font-weight: 300 !important;
        line-height: normal; } }

.save-for-billing {
  display: none; }

.monerisInput {
  border-color: #cccccc;
  border-style: solid;
  border-width: 1px;
  display: block;
  height: 40px;
  margin-bottom: 20px;
  padding-bottom: 10px;
  padding-left: 15px;
  padding-right: 15px;
  padding-top: 10px; }

#monerisNameInput {
  width: 255px; }

.checkout-billing .checkout-fields-container div:first-child,
.checkout-billing .checkout-fields-container div:first-child + div {
  display: none; }

.mini-header {
  background-color: #f2f2f3; }
  .mini-header .header-logo {
    padding: 16px 0; }
    @media screen and (min-width: 48em) {
      .mini-header .header-logo {
        padding: 8px 0; } }
    @media print {
      .mini-header .header-logo {
        margin-left: 15px;
        text-align: left; } }
    @media print {
      .mini-header .header-logo img {
        aspect-ratio: 39/10;
        height: 20px;
        width: 78px; } }

.checkout-personal-info .account-info-checkout {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 14px;
  line-height: 1px; }

.checkout-personal-info .account-info-checkout-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  display: block;
  font-size: 14px;
  line-height: 20px;
  margin-top: 20px; }

.checkout-personal-info .account-info-form {
  display: none; }

.checkout-personal-info.expanded .account-info-form {
  display: block; }

.checkout-personal-info.expanded .account-info-checkout,
.checkout-personal-info.expanded .account-info-checkout-label,
.checkout-personal-info.expanded .name-length-error {
  display: none; }

.checkout-personal-info.expanded .account-info-form-toggle {
  display: none; }

.update-creds-link {
  text-decoration: underline; }

.required-field::after {
  content: "*";
  margin-left: 3px; }

.cart-summary-box .section-header {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.9375rem;
  line-height: 1;
  margin: 0 0 10px; }
  .cart-summary-box .section-header.qty-header {
    text-align: center; }
  .cart-summary-box .section-header.total-price-header {
    text-align: right; }

@media screen and (min-width: 48em) {
  .cart-summary-box .line-items {
    padding: 1.5625rem 1.875rem 0; } }

.cart-summary-box .line-item {
  margin-bottom: 1.25rem; }
  @media screen and (min-width: 48em) {
    .cart-summary-box .line-item {
      margin-bottom: 1.5625rem; } }

.cart-summary-box .line-item-details {
  line-height: 1;
  margin: 0 0 10px; }
  @media screen and (min-width: 48em) {
    .cart-summary-box .line-item-details {
      margin: 0; } }

.cart-summary-box .product-brand {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: block;
  font-size: 0.8125rem;
  line-height: 1; }

.cart-summary-box .product-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1; }
  @media screen and (min-width: 64em) {
    .cart-summary-box .product-name {
      font-size: 1.125rem; } }

.cart-summary-box .line-item-price {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400; }
  .cart-summary-box .line-item-price .old-price {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #808285;
    font-size: 0.75rem;
    text-decoration: line-through; }

.cart-summary-box .line-item-quantity {
  text-align: center; }

.cart-summary-box .item-quantity,
.cart-summary-box .price-total {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem; }

.cart-summary-box .line-item-total {
  text-align: right; }

.cart-summary-box .main-section-header {
  padding: 1.5625rem 1.875rem; }
  .cart-summary-box .main-section-header .section-header {
    margin: 0; }
  .cart-summary-box .main-section-header .border-botom {
    border-bottom: 1px solid #ccc;
    margin: 0 auto;
    padding-top: 10px;
    width: 108%; }
    @media screen and (min-width: 48em) {
      .cart-summary-box .main-section-header .border-botom {
        padding-top: 18px;
        width: 97.5%; } }
    @media print {
      .cart-summary-box .main-section-header .border-botom {
        display: none; } }
  @media print {
    .cart-summary-box .main-section-header {
      border-bottom: 1px solid #ccc; } }

.cart-summary-box .front-back-set-label {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  color: #808285;
  font-size: 0.6875rem;
  text-transform: uppercase; }

.cart-summary-box .first-pset {
  margin-bottom: 0.9375rem; }

.cart-summary-box .rebate-badge {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #ff6900;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .cart-summary-box .rebate-badge {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .cart-summary-box .rebate-badge {
      margin: 0.3125rem 0 0; } }
  .cart-summary-box .rebate-badge::before {
    background: url("../images/icons/rebate_icon.png") no-repeat;
    content: "";
    height: 25px;
    margin: 0 0.25rem 0 0;
    width: 25px; }

.cart-summary-box .rebate-text {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #808285;
  display: none;
  font-size: 0.875rem;
  font-style: italic; }

.service-row .product-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem; }

.orderdetails .cart-summary-box {
  border: 2px solid #f2f2f3;
  margin: 0 0 20px;
  padding: 1rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .orderdetails .cart-summary-box {
      border-bottom-width: 1px;
      margin: 0;
      padding: 0; } }

.orderdetails .rebate-box {
  display: none; }

.checkout-mini-cart {
  border: 1px solid #ccc;
  padding: 30px 20px; }
  .checkout-mini-cart .section-title {
    margin-bottom: 20px; }

@media screen and (min-width: 64em) {
  .checkout-mini-cart {
    padding: 0; }
    .checkout-mini-cart .section-title {
      margin: 1.25rem 0 0 1.25rem; }
    .checkout-mini-cart .main-section-header {
      display: none; }
    .checkout-mini-cart .cart-summary-box {
      border: 0;
      margin: 0; }
      .checkout-mini-cart .cart-summary-box .line-items {
        padding: 0; }
      .checkout-mini-cart .cart-summary-box .line-item {
        border-bottom: 1px solid #f2f2f3;
        margin: 0;
        padding: 1.25rem; }
        .checkout-mini-cart .cart-summary-box .line-item > div {
          -webkit-box-flex: 0;
              -ms-flex: 0 0 100%;
                  flex: 0 0 100%;
          margin: 0;
          max-width: 100%;
          padding: 0; }
        .checkout-mini-cart .cart-summary-box .line-item.first-pset {
          border-bottom: 0;
          padding-bottom: 0.3125rem; }
        .checkout-mini-cart .cart-summary-box .line-item.second-pset {
          padding-top: 0.3125rem; }
      .checkout-mini-cart .cart-summary-box .line-item-details {
        margin: 0 0 3px; }
      .checkout-mini-cart .cart-summary-box .product-brand {
        display: inline-block; }
      .checkout-mini-cart .cart-summary-box .product-brand,
      .checkout-mini-cart .cart-summary-box .product-name {
        font-size: 0.875rem; }
      .checkout-mini-cart .cart-summary-box .price-total {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; }
    .checkout-mini-cart .line-item-quantity .section-header {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      display: inline-block !important; }
      .checkout-mini-cart .line-item-quantity .section-header::after {
        content: ":"; }
    .checkout-mini-cart .service-row {
      border: 0; }
      .checkout-mini-cart .service-row .product-name {
        font-family: "Gotham A", "Gotham B", Arial;
        font-weight: 700; } }

@media screen and (max-width: 47.9375em) {
  .order-review-page .cart-summary-box {
    margin: 0 0 35px;
    padding: 0 0.625rem; } }

@media screen and (min-width: 48em) {
  .order-review-page .cart-summary-box {
    border: 2px solid #f2f2f3; } }

.order-review-page .appointment-data-time p {
  line-height: 22px;
  margin-bottom: 10px; }

.order-review-page .app-info-wrapper p {
  display: inline;
  line-height: 22px; }

.order-review-page .location-box .section-title,
.order-review-page .location-box p {
  line-height: 22px;
  margin: 0; }

@media screen and (min-width: 48em) {
  .order-review-page .section-title-box {
    padding: 50px 0 0; } }

@media screen and (min-width: 48em) {
  .order-review-page .section-box-wrap {
    margin-bottom: 50px; } }

.order-review-page .section-box-wrap .edit-section-link {
  display: block;
  font-size: 0.8125rem;
  line-height: 13px;
  padding-top: 10px; }

.order-review-page .mini-address-location {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  .order-review-page .mini-address-location p {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
  .order-review-page .mini-address-location .full-name {
    -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
            order: 0; }
  .order-review-page .mini-address-location .email {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  .order-review-page .mini-address-location .phone-number {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; }
  .order-review-page .mini-address-location .postal-code {
    display: none; }

.order-review-page .disclaimer-checkout {
  margin-bottom: 15px; }
  @media screen and (min-width: 48em) {
    .order-review-page .disclaimer-checkout {
      margin-bottom: 0; } }

.order-review-page .rebate-text,
.confirmation-page .rebate-text {
  display: block; }

.order-review-page .rebate-box,
.confirmation-page .rebate-box {
  float: right;
  text-align: right;
  width: 80%; }
  @media screen and (min-width: 48em) {
    .order-review-page .rebate-box,
    .confirmation-page .rebate-box {
      width: 25%; } }
  @media screen and (min-width: 64em) {
    .order-review-page .rebate-box,
    .confirmation-page .rebate-box {
      width: 27%; } }

.order-review-page .rebate-badge,
.confirmation-page .rebate-badge {
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.appointments.appointments-wrap {
  margin: 0 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .appointments.appointments-wrap {
      border-left: 1px solid #979797;
      margin: 50px 0 75px;
      padding-left: 44px; } }

.appointments .main-title {
  border-top: 1px solid #d9d9da;
  font-size: 1rem;
  line-height: 1;
  margin: 0 0 0.625rem;
  padding-top: 50px; }
  @media screen and (min-width: 48em) {
    .appointments .main-title {
      border: 0;
      font-size: 1.125rem;
      padding-top: 0; } }

.appointments .appointment-duration {
  color: #808285;
  font-size: 0.875rem;
  margin: 0 0 1.563rem; }

.appointments .appointment-calendar {
  position: relative; }
  .appointments .appointment-calendar .loader {
    bottom: -4em;
    top: auto; }

.appointments .clndr {
  border: 1px solid #e7e7e7;
  padding-bottom: 18px; }

.appointments .clndr-controls {
  border-bottom-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 1.875rem 0 1.25rem;
  position: relative; }
  .appointments .clndr-controls::before, .appointments .clndr-controls::after {
    content: ' ';
    display: table; }
  .appointments .clndr-controls::after {
    clear: both; }
  .appointments .clndr-controls .month {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem; }

.appointments .clndr-previous-button,
.appointments .clndr-next-button {
  cursor: pointer;
  float: left;
  text-indent: -9999px; }

.appointments .clndr-previous-button,
.appointments .clndr-next-button {
  width: 20px; }
  .appointments .clndr-previous-button::before,
  .appointments .clndr-next-button::before {
    color: #808285;
    font-family: "fontello";
    font-size: 12px;
    padding-top: 3px;
    position: absolute;
    text-indent: 0; }
    @media screen and (min-width: 48em) {
      .appointments .clndr-previous-button::before,
      .appointments .clndr-next-button::before {
        color: #000; } }

.appointments .clndr-previous-button::before {
  content: "\e813";
  left: 15px; }
  @media screen and (min-width: 48em) {
    .appointments .clndr-previous-button::before {
      left: 20px; } }

.appointments .clndr-next-button::before {
  content: "\e814";
  right: 15px; }
  @media screen and (min-width: 48em) {
    .appointments .clndr-next-button::before {
      right: 20px; } }

.appointments .clndr-table {
  border-collapse: separate;
  margin: 0; }
  .appointments .clndr-table thead {
    background: transparent;
    border: 1px solid #ddddde;
    border-top-width: 0; }
  .appointments .clndr-table tbody tr {
    background: transparent; }
  .appointments .clndr-table tbody td {
    cursor: pointer;
    padding: 0; }
  .appointments .clndr-table td {
    font-size: 0.875rem;
    line-height: 1;
    text-align: center; }
  .appointments .clndr-table .clndr-controls.week {
    padding: 20px 0 15px; }
  .appointments .clndr-table .header-day {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #808285;
    font-size: 0.625rem;
    padding: 0 0 0.625rem; }
    .appointments .clndr-table .header-day:first-child {
      border-left: 1px solid #ddddde; }
    .appointments .clndr-table .header-day:last-child {
      border-right: 1px solid #ddddde; }
  .appointments .clndr-table .event .w-day,
  .appointments .clndr-table .event .month-day {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  @media screen and (min-width: 48em) {
    .appointments .clndr-table .day .month-view {
      padding: 11px; } }
  @media screen and (min-width: 64em) {
    .appointments .clndr-table .day .month-view {
      font-size: 1.125rem;
      padding: 15px; } }
  @media only screen and (min-width: 1024px) and (max-width: 1100px) {
    .appointments .clndr-table .day .month-view {
      padding: 7px; } }
  @media only screen and (min-width: 1100px) and (max-width: 1319px) {
    .appointments .clndr-table .day .month-view {
      padding: 9px; } }
  .appointments .clndr-table .day.event:hover .day-contents {
    border: 1px solid #c75300; }
  .appointments .clndr-table .day:not(.event) {
    color: #808285;
    cursor: not-allowed; }
  .appointments .clndr-table .day.active-event .day-contents {
    background-color: #c75300;
    border-color: #c75300;
    color: #fff;
    padding: 0; }
  .appointments .clndr-table .first-day {
    padding: 0; }
  .appointments .clndr-table .month-day {
    font-size: 10px;
    line-height: 1;
    margin: 0;
    width: 100%; }
  .appointments .clndr-table .day-contents {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    height: 29px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    margin: auto;
    width: 29px; }
    @media screen and (min-width: 48em) {
      .appointments .clndr-table .day-contents {
        height: 33px;
        width: 33px; } }
  .appointments .clndr-table .w-day {
    font-size: 1rem;
    margin: 0; }
  .appointments .clndr-table .week-view .controll-wrapper {
    padding: 0; }

.appointments .clndr-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  .appointments .clndr-tabs .tab {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    border-bottom: 1px solid #e7e7e7;
    color: #808285;
    cursor: pointer;
    -webkit-box-flex: 0;
        -ms-flex: 0 0 50%;
            flex: 0 0 50%;
    font-size: 0.8125rem;
    padding: 10px 0; }
    .appointments .clndr-tabs .tab.active {
      background-color: #c75300;
      border-color: #c75300;
      color: #fff; }
  .appointments .clndr-tabs .month-tab {
    border-left: 0; }

.appointments .appointment-error-message p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  color: #f00;
  font-size: 0.875rem;
  line-height: 1.2; }

.appointments .appointment-date .appointments,
.appointments .appointment-date-time,
.appointments .no-available-appointments {
  border: 1px solid #ddddde;
  border-top-width: 0;
  padding: 1.563rem 1.25rem 0; }
  @media screen and (min-width: 48em) {
    .appointments .appointment-date .appointments,
    .appointments .appointment-date-time,
    .appointments .no-available-appointments {
      padding: 1.875rem 1.875rem 0; } }
  .appointments .appointment-date .appointments .appointment-date-title,
  .appointments .appointment-date-time .appointment-date-title,
  .appointments .no-available-appointments .appointment-date-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    display: block;
    font-size: 0.875rem;
    line-height: 1;
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date .appointments .appointment-date-title,
      .appointments .appointment-date-time .appointment-date-title,
      .appointments .no-available-appointments .appointment-date-title {
        font-size: 1rem; } }
  .appointments .appointment-date .appointments span:not(.appointment-date-title),
  .appointments .appointment-date-time span:not(.appointment-date-title),
  .appointments .no-available-appointments span:not(.appointment-date-title) {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 1; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date .appointments span:not(.appointment-date-title),
      .appointments .appointment-date-time span:not(.appointment-date-title),
      .appointments .no-available-appointments span:not(.appointment-date-title) {
        font-size: 1rem; } }

.appointments .appointment-date span:not(.appointment-date-title) {
  border: 1px solid #fff;
  cursor: pointer;
  float: left;
  margin: 0 0 0.3125rem;
  padding: 0.625rem 0.9375rem;
  text-align: center;
  width: 50%; }
  @media screen and (min-width: 48em) {
    .appointments .appointment-date span:not(.appointment-date-title) {
      margin: 0 0 0.9375rem;
      width: 16.6%; } }
  .appointments .appointment-date span:not(.appointment-date-title):hover {
    border: 1px solid #c75300; }

.appointments .appointment-date .appointments {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  padding: 20px; }
  .appointments .appointment-date .appointments .appointment-date-title {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%; }
  .appointments .appointment-date .appointments span {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 33%;
            flex: 0 0 33%;
    padding: 10px 0; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date .appointments span {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 25%;
                flex: 0 0 25%; } }
    .appointments .appointment-date .appointments span.appointment-active {
      background-color: #c75300;
      border: 1px solid #c75300;
      color: #fff; }

.appointments .appointment-date-time {
  display: none;
  padding-bottom: 1.563rem; }
  @media screen and (min-width: 48em) {
    .appointments .appointment-date-time {
      border: 0;
      padding: 1.875rem 0 0.9375rem; } }
  .appointments .appointment-date-time .appointment-date-title {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .appointments .appointment-date-time .appointment-date-title {
        display: inline-block; } }

.appointments .edit-appointment {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }
  @media screen and (min-width: 48em) {
    .appointments .edit-appointment {
      font-size: 0.9375rem; } }

.appointments .appt-expiry {
  margin: 1.25rem 0 0; }
  .appointments .appt-expiry p {
    color: #808285;
    font-size: 0.875rem;
    margin: 0; }

.appointments .need-help-checkout-appointment {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 50px 0 20px; }
  @media screen and (min-width: 48em) {
    .appointments .need-help-checkout-appointment {
      margin: 20px 0 0; } }
  .appointments .need-help-checkout-appointment p {
    margin-bottom: 10px; }
    @media screen and (min-width: 48em) {
      .appointments .need-help-checkout-appointment p {
        margin: 0;
        padding-right: 5px; } }
  .appointments .need-help-checkout-appointment a {
    font-size: 0.8125rem;
    font-weight: bold; }

.appointment-buttons-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 0 0 50px; }
  @media screen and (min-width: 48em) {
    .appointment-buttons-box {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap; } }
  @media screen and (min-width: 64em) {
    .appointment-buttons-box {
      margin: 0; } }
  .appointment-buttons-box .button {
    margin: 0; }
  @media screen and (min-width: 48em) {
    .appointment-buttons-box.with-appointment-date-time {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .appointment-buttons-box .appointment-date-time {
    margin-right: auto; }
  @media screen and (max-width: 47.9375em) {
    .appointment-buttons-box .appointment-continue {
      width: 100%; } }
  .appointment-buttons-box .appointment-date-time {
    margin-bottom: 20px;
    max-width: 376px; }
    @media screen and (min-width: 48em) {
      .appointment-buttons-box .appointment-date-time {
        margin-bottom: 0; } }
  .appointment-buttons-box .appt-expiry p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 14px;
    margin: 0; }

.appointment-page .appointment-page-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0 0 1.25rem; }
  @media screen and (max-width: 47.9375em) {
    .appointment-page .appointment-page-title {
      font-size: 1rem; } }
  @media screen and (min-width: 48em) {
    .appointment-page .appointment-page-title {
      margin: 0 0 10px; } }

.appointment-page .vertical-align {
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }

.appointment-page .start_location {
  border-right: 0;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1; }
  @media screen and (min-width: 48em) {
    .appointment-page .start_location {
      height: 45px; } }

.appointment-page .search-store {
  margin: 0;
  max-width: 40px;
  padding: 13px 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .search-store {
      height: 45px;
      max-width: 134px; } }

.appointment-page #map-box {
  margin: 0.625rem 0;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .appointment-page #map-box {
      margin: 1.25rem 0 0.625rem; } }

.appointment-page .toggle-map {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  line-height: 39px;
  margin: 15px 0 0;
  max-width: 100%;
  padding: 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .toggle-map {
      margin: 0 0 0 15px;
      max-width: 139px;
      padding: 0 15px; } }

.appointment-page .map-view {
  max-height: 360px !important; }
  @media screen and (min-width: 48em) {
    .appointment-page .map-view {
      max-height: 500px !important; } }

.appointment-page .list-view-items .location-item {
  border-bottom: 1px solid #d9d9da;
  position: relative; }

.appointment-page .list-view-items .location-item-wrapper {
  padding: 50px 0 55px; }

.appointment-page .list-view-items .more-times .button,
.appointment-page .list-view-items .book-now .button {
  margin-top: 20px; }
  @media screen and (min-width: 48em) {
    .appointment-page .list-view-items .more-times .button,
    .appointment-page .list-view-items .book-now .button {
      margin: 15px 0 0; } }

.appointment-page .list-view-items .more-times:not(.stored-here-btn) {
  padding-left: 7px; }

.appointment-page .list-view-items .more-times .hollow {
  padding: 13px 15px; }

.appointment-page .list-view-items .stored-here-btn {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin: 20px 0 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .list-view-items .stored-here-btn {
      margin: 0; } }
  .appointment-page .list-view-items .stored-here-btn .button {
    margin: 0; }
    @media screen and (min-width: 48em) {
      .appointment-page .list-view-items .stored-here-btn .button {
        max-width: 241px; } }

.appointment-page .list-view-items .stored-tires {
  -ms-flex-item-align: center;
      align-self: center; }

.appointment-page .list-view-items .book-now {
  padding-right: 7px; }

.appointment-page .list-view-items .show-store-box {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end; }

.appointment-page .list-view-items .show-store-info {
  background-image: url("../images/kaltire/listviewArrow.png");
  background-position: right center;
  background-repeat: no-repeat;
  height: 16px;
  width: 10px; }

.appointment-page .list-view-items .highlight-outofstock-store {
  border: 2px solid #ff6900;
  -webkit-transition: border-width 0.3s ease-in-out;
  transition: border-width 0.3s ease-in-out; }
  .appointment-page .list-view-items .highlight-outofstock-store.transition-to-end {
    border-width: 0; }

.appointment-page .list-view-items p,
.appointment-page .store-details-box p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .list-view-items p,
    .appointment-page .store-details-box p {
      margin: 0 0 0.3125rem; } }

.appointment-page .location-item-name {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1rem;
  line-height: 1.3; }
  @media screen and (min-width: 48em) {
    .appointment-page .location-item-name {
      margin: 0 0 0.3125rem; } }
  .appointment-page .location-item-name .nickname {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400; }

.appointment-page .location-item-distance {
  color: #808285;
  display: block;
  margin-top: 5px; }
  @media screen and (min-width: 48em) {
    .appointment-page .location-item-distance {
      font-size: 0.75rem;
      margin-top: 0; } }

.appointment-page .store-availability {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  line-height: 1.3;
  margin: 0.625rem 0 0; }
  .appointment-page .store-availability .availability-message {
    color: #808285;
    font-size: 0.9375rem; }
  .appointment-page .store-availability .earliest-available .slot-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700; }
  .appointment-page .store-availability .earliest-available .searching-for-availability {
    color: #f00;
    display: block;
    font-weight: bold; }
  .appointment-page .store-availability .earliest-available .float-clear-both {
    clear: both; }

.appointment-page .no-trailer-service {
  color: #808285;
  font-size: 0.9375rem;
  line-height: 1.3; }

@media screen and (min-width: 48em) {
  .appointment-page .rating-distance-box {
    -ms-flex-item-align: start;
        align-self: flex-start;
    text-align: right; } }

.appointment-page .back-and-pagination-wrapper {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 1.875rem 0; }
  @media screen and (min-width: 48em) {
    .appointment-page .back-and-pagination-wrapper {
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      margin: 1.875rem 0 -1.875rem; } }
  @media screen and (min-width: 48em) and (max-width: 63.9375em) {
    .appointment-page .back-and-pagination-wrapper {
      margin-bottom: 50px; } }
  @media screen and (min-width: 48em) {
    .appointment-page .back-and-pagination-wrapper .step-back-link {
      margin: 0; } }
  .appointment-page .back-and-pagination-wrapper .pagination {
    margin: 0; }

.appointment-page .map-infobox .store-back-box {
  margin: 20px 0 0; }

.appointment-page .map-infobox .store-back {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 0.8125rem; }

.appointment-page .store-details-box {
  margin-top: 50px; }
  .appointment-page .store-details-box .location-distance {
    padding: 20px 0; }
    @media screen and (min-width: 48em) {
      .appointment-page .store-details-box .location-distance {
        padding: 10px 0; } }
  .appointment-page .store-details-box .more-info-box {
    margin: 0.625rem 0 1.875rem; }
    .appointment-page .store-details-box .more-info-box .is-accordion-submenu-parent {
      border: 0; }
  .appointment-page .store-details-box .more-info-title {
    font-size: 0.875rem;
    padding: 0 0 0 1.25rem;
    text-transform: none; }
    .appointment-page .store-details-box .more-info-title::after {
      font-size: 0.875rem;
      left: 0;
      right: auto; }
  .appointment-page .store-details-box .submenu {
    margin: 0.625rem 0 0 1.25rem; }
  @media screen and (min-width: 48em) {
    .appointment-page .store-details-box .phone-number {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 700;
      margin: 0.9375rem 0; } }

.appointment-page .booking-not-available {
  border-bottom: 1px solid #d9d9da;
  margin: 0 0 2.188rem;
  padding: 0 0 1.875rem; }
  @media screen and (min-width: 48em) {
    .appointment-page .booking-not-available {
      border: 0;
      padding: 0; } }
  .appointment-page .booking-not-available h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1rem;
    line-height: 1.3;
    margin: 0 0 0.3125rem;
    text-transform: uppercase; }
    @media screen and (min-width: 48em) {
      .appointment-page .booking-not-available h3 {
        font-size: 1.125rem; } }

.appointment-page .location-filters {
  padding-top: 15px; }
  @media screen and (min-width: 48em) {
    .appointment-page .location-filters {
      max-width: 236px; } }
  .appointment-page .location-filters label {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    margin: 0;
    padding: 13px 0 0 16px;
    position: absolute; }
  .appointment-page .location-filters select {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    padding-left: 80px; }

.appointment-page .select-location-wrapper {
  position: relative; }

.appointment-popup-wrap {
  padding: 1.25rem; }
  @media screen and (min-width: 48em) {
    .appointment-popup-wrap {
      padding: 1.875rem; } }
  .appointment-popup-wrap .close-button {
    color: #c75300;
    right: 1.125rem;
    top: 0.9375rem; }
    @media screen and (min-width: 48em) {
      .appointment-popup-wrap .close-button {
        right: 1.75rem;
        top: 1.438rem; } }
  .appointment-popup-wrap h3 {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.125rem;
    line-height: 1.2;
    margin: 0 0 1.563rem;
    width: 80%; }
  .appointment-popup-wrap p {
    font-size: 0.875rem;
    margin: 0 0 1.563rem; }
  .appointment-popup-wrap .button {
    margin: 0; }
    @media screen and (max-width: 47.9375em) {
      .appointment-popup-wrap .button {
        width: 100%; } }

@media screen and (min-width: 48em) {
  #storageModal .bringing-traler-btn,
  #trailerTireModal .bringing-traler-btn {
    -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
            order: 1; }
  #storageModal .bringing-wheel-btn,
  #trailerTireModal .bringing-wheel-btn {
    -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
            order: 2; } }

#storageModal.trailer-appointment-modal,
#trailerTireModal.trailer-appointment-modal {
  height: auto;
  max-height: unset;
  min-height: unset; }

#storageModal .modal-content,
#trailerTireModal .modal-content {
  padding: 30px 20px; }
  @media screen and (min-width: 48em) {
    #storageModal .modal-content,
    #trailerTireModal .modal-content {
      padding: 30px 0; } }
  #storageModal .modal-content.trailer-modal-content,
  #trailerTireModal .modal-content.trailer-modal-content {
    padding-top: 0; }
    @media screen and (min-width: 48em) {
      #storageModal .modal-content.trailer-modal-content .title.step-title,
      #trailerTireModal .modal-content.trailer-modal-content .title.step-title {
        background-color: transparent;
        color: #000; } }
    #storageModal .modal-content.trailer-modal-content .close-button,
    #trailerTireModal .modal-content.trailer-modal-content .close-button {
      color: #000;
      display: none; }
    #storageModal .modal-content.trailer-modal-content .title,
    #trailerTireModal .modal-content.trailer-modal-content .title {
      background-color: transparent;
      color: #000;
      font-size: 20px;
      text-align: center;
      text-transform: uppercase; }
      @media screen and (min-width: 48em) {
        #storageModal .modal-content.trailer-modal-content .title,
        #trailerTireModal .modal-content.trailer-modal-content .title {
          background-color: #c4c4c4;
          color: #fff;
          font-size: 18px;
          text-align: left;
          text-transform: unset; } }
      #storageModal .modal-content.trailer-modal-content .title.title-large,
      #trailerTireModal .modal-content.trailer-modal-content .title.title-large {
        display: none; }
      #storageModal .modal-content.trailer-modal-content .title.title-small,
      #trailerTireModal .modal-content.trailer-modal-content .title.title-small {
        border: 1px solid #979797;
        text-transform: none; }
      #storageModal .modal-content.trailer-modal-content .title.second-step-modal-title,
      #trailerTireModal .modal-content.trailer-modal-content .title.second-step-modal-title {
        color: #fff;
        font-size: 16px;
        padding-left: 12px;
        text-align: left; }
    @media screen and (min-width: 48em) {
      #storageModal .modal-content.trailer-modal-content .close-button,
      #storageModal .modal-content.trailer-modal-content .return-step-button,
      #trailerTireModal .modal-content.trailer-modal-content .close-button,
      #trailerTireModal .modal-content.trailer-modal-content .return-step-button {
        background-color: #c4c4c4;
        color: #fff; } }

@media screen and (min-width: 48em) {
  #storageModal .main-modal-title.second-step,
  #trailerTireModal .main-modal-title.second-step {
    display: none; } }

#storageModal .secondary-modal-title,
#trailerTireModal .secondary-modal-title {
  display: none; }
  @media screen and (min-width: 48em) {
    #storageModal .secondary-modal-title.second-step,
    #trailerTireModal .secondary-modal-title.second-step {
      display: block; } }

#storageModal img:not(.trailer-image),
#trailerTireModal img:not(.trailer-image) {
  max-width: 68px; }
  @media screen and (min-width: 48em) {
    #storageModal img:not(.trailer-image),
    #trailerTireModal img:not(.trailer-image) {
      max-width: 86px; } }

#storageModal p,
#trailerTireModal p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 1rem;
  padding: 10px 0 20px; }

#storageModal .button-wrapper,
#trailerTireModal .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    #storageModal .button-wrapper,
    #trailerTireModal .button-wrapper {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  #storageModal .button-wrapper .info-btn,
  #trailerTireModal .button-wrapper .info-btn {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    background-color: #d8d8d8;
    font-size: 14px;
    margin: 10px 0;
    padding: 15px 0;
    text-align: center;
    width: 100%; }
    @media screen and (min-width: 48em) {
      #storageModal .button-wrapper .info-btn,
      #trailerTireModal .button-wrapper .info-btn {
        background-color: transparent;
        margin: 0;
        max-width: 50%;
        padding: 0;
        text-align: left;
        width: auto; } }
  #storageModal .button-wrapper.trailer-button,
  #trailerTireModal .button-wrapper.trailer-button {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -ms-flex-pack: distribute;
        justify-content: space-around;
    min-height: 233px; }
    @media screen and (min-width: 48em) {
      #storageModal .button-wrapper.trailer-button,
      #trailerTireModal .button-wrapper.trailer-button {
        height: 233px; } }
    #storageModal .button-wrapper.trailer-button.trailer-info-buttons,
    #trailerTireModal .button-wrapper.trailer-button.trailer-info-buttons {
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      border-bottom: 1px solid #979797;
      border-left: 1px solid #979797;
      border-right: 1px solid #979797;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-direction: column;
              flex-direction: column;
      padding: 0 35px;
      text-align: left; }
      @media screen and (min-width: 48em) {
        #storageModal .button-wrapper.trailer-button.trailer-info-buttons,
        #trailerTireModal .button-wrapper.trailer-button.trailer-info-buttons {
          border: 0;
          padding-left: 15px;
          padding-right: 15px; } }

#storageModal .are-stored-btn,
#trailerTireModal .are-stored-btn {
  margin-bottom: 10px; }
  @media screen and (min-width: 48em) {
    #storageModal .are-stored-btn,
    #trailerTireModal .are-stored-btn {
      margin: 0 15px 0 0;
      max-width: 152px; } }

@media screen and (min-width: 48em) {
  #storageModal .not-stored-btn,
  #trailerTireModal .not-stored-btn {
    max-width: 225px; } }

#storageModal .bringing-traler-btn,
#storageModal .bringing-wheel-btn,
#trailerTireModal .bringing-traler-btn,
#trailerTireModal .bringing-wheel-btn {
  background-color: #c75300;
  color: #fff;
  padding: 16px 10px; }
  @media screen and (min-width: 48em) {
    #storageModal .bringing-traler-btn,
    #storageModal .bringing-wheel-btn,
    #trailerTireModal .bringing-traler-btn,
    #trailerTireModal .bringing-wheel-btn {
      background-color: transparent;
      border-color: #808285;
      color: #000;
      height: 100%;
      max-height: 48px;
      max-width: 236px;
      padding: 7px 10px; } }

#storageModal .trailer-modal-step,
#trailerTireModal .trailer-modal-step {
  display: none; }
  #storageModal .trailer-modal-step.current,
  #trailerTireModal .trailer-modal-step.current {
    display: block; }
    @media screen and (min-width: 48em) {
      #storageModal .trailer-modal-step.current .return-step-button,
      #trailerTireModal .trailer-modal-step.current .return-step-button {
        display: none; } }
    #storageModal .trailer-modal-step.current .title.title-small,
    #trailerTireModal .trailer-modal-step.current .title.title-small {
      color: #c75300; }
    #storageModal .trailer-modal-step.current .modal-header,
    #storageModal .trailer-modal-step.current .button-wrapper,
    #trailerTireModal .trailer-modal-step.current .modal-header,
    #trailerTireModal .trailer-modal-step.current .button-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
      #storageModal .trailer-modal-step.current .modal-header.mobile-title-tell-us-more,
      #storageModal .trailer-modal-step.current .button-wrapper.mobile-title-tell-us-more,
      #trailerTireModal .trailer-modal-step.current .modal-header.mobile-title-tell-us-more,
      #trailerTireModal .trailer-modal-step.current .button-wrapper.mobile-title-tell-us-more {
        display: none; }
  #storageModal .trailer-modal-step .mobile-title-tell-us-more,
  #trailerTireModal .trailer-modal-step .mobile-title-tell-us-more {
    background-color: #c75300;
    color: #fff; }
    #storageModal .trailer-modal-step .mobile-title-tell-us-more.second-step-active,
    #trailerTireModal .trailer-modal-step .mobile-title-tell-us-more.second-step-active {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
  #storageModal .trailer-modal-step.next-step.trailer-info,
  #trailerTireModal .trailer-modal-step.next-step.trailer-info {
    display: block; }
    @media screen and (min-width: 48em) {
      #storageModal .trailer-modal-step.next-step.trailer-info,
      #trailerTireModal .trailer-modal-step.next-step.trailer-info {
        display: none; } }
    #storageModal .trailer-modal-step.next-step.trailer-info .title.title-small,
    #trailerTireModal .trailer-modal-step.next-step.trailer-info .title.title-small {
      color: #979797; }
    #storageModal .trailer-modal-step.next-step.trailer-info .trailer-info-buttons,
    #trailerTireModal .trailer-modal-step.next-step.trailer-info .trailer-info-buttons {
      display: none; }
  #storageModal .trailer-modal-step.previous-step,
  #trailerTireModal .trailer-modal-step.previous-step {
    display: block;
    padding-top: 50px; }
    @media screen and (min-width: 48em) {
      #storageModal .trailer-modal-step.previous-step,
      #trailerTireModal .trailer-modal-step.previous-step {
        display: none; } }
    #storageModal .trailer-modal-step.previous-step.trailer-info,
    #trailerTireModal .trailer-modal-step.previous-step.trailer-info {
      padding-top: 0; }
      #storageModal .trailer-modal-step.previous-step.trailer-info .trailer-info-buttons,
      #trailerTireModal .trailer-modal-step.previous-step.trailer-info .trailer-info-buttons {
        display: none; }
    #storageModal .trailer-modal-step.previous-step .title.title-small,
    #trailerTireModal .trailer-modal-step.previous-step .title.title-small {
      color: #000; }
    #storageModal .trailer-modal-step.previous-step .button-wrapper,
    #trailerTireModal .trailer-modal-step.previous-step .button-wrapper {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      height: unset; }
      #storageModal .trailer-modal-step.previous-step .button-wrapper .trailer-modal-btn,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .trailer-modal-btn {
        pointer-events: none; }
      #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn,
      #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn {
        background-color: #e4e4e4;
        border: 0;
        color: #fff;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; }
        #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn.selected-step-option,
        #storageModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn.selected-step-option,
        #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-traler-btn.selected-step-option,
        #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .bringing-wheel-btn.selected-step-option {
          background-color: transparent;
          border: 3px solid #c75300;
          color: #000;
          margin-top: 50px;
          -webkit-box-ordinal-group: 3;
              -ms-flex-order: 2;
                  order: 2; }
      #storageModal .trailer-modal-step.previous-step .button-wrapper .selected-step-option,
      #trailerTireModal .trailer-modal-step.previous-step .button-wrapper .selected-step-option {
        display: block;
        pointer-events: none; }

#storageModal .return-step-button,
#trailerTireModal .return-step-button {
  cursor: pointer;
  font-size: 2em;
  line-height: 1;
  padding-right: 27px;
  position: unset;
  right: 1rem;
  top: 0.5rem; }
  @media screen and (min-width: 48em) {
    #storageModal .return-step-button,
    #trailerTireModal .return-step-button {
      display: none; }
      #storageModal .return-step-button.not-step-one,
      #trailerTireModal .return-step-button.not-step-one {
        display: block; } }

#licensePlateModal .modal-content {
  padding: 0 25px; }

#licensePlateModal #licensePlateSubmit {
  max-width: 250px; }

#licensePlateModal #license-plate-number {
  padding: 0 65px; }

#licensePlateModal p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-size: 0.875rem;
  font-weight: 400;
  padding: 20px 0; }

@media screen and (min-width: 48em) {
  #trailerTireModal.reveal {
    width: 775px; } }

@media screen and (min-width: 48em) {
  #trailerTireModal .modal-header {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    margin: 30px 30px 0; } }

#trailerTireModal .trailer-tire-header {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between; }
  #trailerTireModal .trailer-tire-header .modal-title {
    font-size: 22px; }
    @media screen and (max-width: 47.9375em) {
      #trailerTireModal .trailer-tire-header .modal-title {
        padding-top: 10px; } }
  #trailerTireModal .trailer-tire-header .close-button {
    background-color: transparent;
    color: #000; }

#trailerTireModal .modal-content.trailer-modal-content .active-title .step-message {
  border-bottom: 2px solid #ff6900;
  color: #000;
  padding: 4px 0 2px; }

#trailerTireModal .modal-content.trailer-modal-content .secondary-modal-title.disabled {
  color: #808080;
  cursor: auto; }

#trailerTireModal .modal-content.trailer-modal-content .step-title {
  cursor: pointer;
  font-size: 16px; }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal .modal-content.trailer-modal-content .step-title {
      padding: 20px; } }

#trailerTireModal .modal-content.trailer-modal-content .second-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  display: none;
  font-size: 20px;
  font-weight: bold;
  line-height: 18px; }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal .modal-content.trailer-modal-content .second-title {
      border: 1px solid #979797;
      border-top: 0;
      font-size: 14px;
      padding: 20px 0;
      text-align: center; } }
  @media screen and (min-width: 48em) {
    #trailerTireModal .modal-content.trailer-modal-content .second-title {
      margin: 30px 30px 0; } }
  #trailerTireModal .modal-content.trailer-modal-content .second-title.active {
    display: block; }

@media screen and (min-width: 48em) {
  #trailerTireModal .modal-content.trailer-modal-content.trailer-modal-content {
    height: 400px;
    overflow-y: hidden; } }

#trailerTireModal .modal-content.trailer-modal-content.trailer-modal-content button.close-button {
  background-color: transparent;
  color: #000;
  display: block; }

#trailerTireModal .trailer-modal-step {
  display: block; }
  #trailerTireModal .trailer-modal-step .trailer-info-buttons {
    display: none; }

#trailerTireModal .secondary-modal-title {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-size: 16px; }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal .secondary-modal-title {
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }
  #trailerTireModal .secondary-modal-title .step-arrow {
    color: #808080;
    padding: 0 13px; }

#trailerTireModal #trailerTireModalExit {
  padding-right: 0; }
  @media screen and (min-width: 48em) {
    #trailerTireModal #trailerTireModalExit {
      left: 300px;
      position: relative;
      top: 0; } }

#trailerTireModal .bringing-traler-btn,
#trailerTireModal .bringing-wheel-btn {
  color: #000; }

#trailerTireModal #bringingTrailer,
#trailerTireModal #bringingTrailerWheel {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  max-height: none;
  max-width: none; }
  @media screen and (min-width: 48em) {
    #trailerTireModal #bringingTrailer,
    #trailerTireModal #bringingTrailerWheel {
      border-left: 10px solid transparent; } }
  @media screen and (max-width: 47.9375em) {
    #trailerTireModal #bringingTrailer,
    #trailerTireModal #bringingTrailerWheel {
      margin: 10px 0;
      padding: 30px 20px; } }
  #trailerTireModal #bringingTrailer:hover,
  #trailerTireModal #bringingTrailerWheel:hover {
    border-left: 10px solid #ff6900;
    padding-right: 10px; }
  #trailerTireModal #bringingTrailer img,
  #trailerTireModal #bringingTrailerWheel img {
    height: auto;
    max-height: 90px;
    pointer-events: none; }
    @media screen and (max-width: 47.9375em) {
      #trailerTireModal #bringingTrailer img,
      #trailerTireModal #bringingTrailerWheel img {
        max-height: 60px;
        padding-right: 10px; } }

#trailerTireModal .trailer-modal-btn {
  background-color: #f7f7f7;
  border: 0; }
  #trailerTireModal .trailer-modal-btn:hover {
    border-left: 10px solid #ff6900;
    padding-right: 28px; }

@media screen and (min-width: 48em) {
  #trailerTireModal .choose-action.current .button-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 360px); } }

@media screen and (min-width: 48em) {
  #trailerTireModal .trailerType.current .button-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 270px);
    grid-template-rows: repeat(2, 76px); } }

#trailerTireModal .trailerLength.current .second-title {
  margin-top: 0; }

@media screen and (min-width: 48em) {
  #trailerTireModal .trailerLength.current .button-wrapper {
    display: grid;
    grid-template-columns: repeat(3, 170px); } }

#appointmentSecure .modal-content,
#selecteNewAppointment .modal-content {
  padding: 20px; }

#appointmentSecure .close-button,
#selecteNewAppointment .close-button {
  outline: none; }

#appointmentSecure .title,
#selecteNewAppointment .title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 500;
  font-size: 0.875rem;
  margin: 0; }

#appointmentSecure img,
#selecteNewAppointment img {
  max-width: 68px; }
  @media screen and (min-width: 48em) {
    #appointmentSecure img,
    #selecteNewAppointment img {
      max-width: 86px; } }

#appointmentSecure p,
#selecteNewAppointment p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.875rem;
  padding: 0 0 10px; }

#appointmentSecure .button-wrapper,
#selecteNewAppointment .button-wrapper {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap; }
  @media screen and (min-width: 48em) {
    #appointmentSecure .button-wrapper,
    #selecteNewAppointment .button-wrapper {
      -ms-flex-wrap: nowrap;
          flex-wrap: nowrap;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center; } }

#appointmentSecure .are-stored-btn,
#selecteNewAppointment .are-stored-btn {
  margin-bottom: 10px; }
  @media screen and (min-width: 48em) {
    #appointmentSecure .are-stored-btn,
    #selecteNewAppointment .are-stored-btn {
      margin: 0 15px 0 0;
      max-width: 152px; } }

@media screen and (min-width: 48em) {
  #appointmentSecure .not-stored-btn,
  #selecteNewAppointment .not-stored-btn {
    max-width: 225px; } }

.appointment-confirmation {
  margin-top: 50px; }
  .appointment-confirmation .title-wrapper {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    background-color: #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-bottom: 20px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .title-wrapper {
        background-color: #fff;
        margin-bottom: 10px; } }
  .appointment-confirmation .title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.875rem;
    margin: 0; }
  .appointment-confirmation .secudred-title {
    padding: 14px 0 14px 10px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .secudred-title {
        font-size: 1.25rem;
        font-weight: bold;
        padding: 0; } }
  .appointment-confirmation .restart-button {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    color: #c75300;
    font-size: 0.8125rem;
    margin: 0;
    padding-right: 10px; }
  .appointment-confirmation .expiry {
    border-bottom: 1px solid #979797;
    font-size: 0.875rem;
    line-height: 22px;
    margin-bottom: 30px;
    padding: 0 10px 30px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .expiry {
        font-size: 1rem;
        margin-bottom: 50px;
        padding: 0 0 50px; } }
  .appointment-confirmation .appointment-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    margin-bottom: 30px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-content {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
  .appointment-confirmation .appointment-date-time {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 0 10px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-date-time {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        padding: 0; } }
  .appointment-confirmation .appointment-address-wrapper {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding: 0 10px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-address-wrapper {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        padding: 0 0 0 20px; } }
  @media screen and (min-width: 48em) {
    .appointment-confirmation .location-header {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; } }
  .appointment-confirmation .selected-appointment-info {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    color: #c75300;
    font-size: 1.25rem;
    padding: 10px 0; }
  .appointment-confirmation .appointment-buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .appointment-buttons {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        margin-top: 60px; } }
  .appointment-confirmation .confirm-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin: 0 0 20px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .confirm-button {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        margin: 0;
        max-width: 196px;
        -webkit-box-ordinal-group: 2;
            -ms-flex-order: 1;
                order: 1; } }
  .appointment-confirmation .back-button {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    margin: 0 0 50px; }
    @media screen and (min-width: 48em) {
      .appointment-confirmation .back-button {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        margin: 0;
        max-width: 196px;
        -webkit-box-ordinal-group: 1;
            -ms-flex-order: 0;
                order: 0; } }
  .appointment-confirmation .appointment-duration {
    color: #808285;
    margin: 0;
    padding: 0 0 10px; }
  .appointment-confirmation .location-item-name,
  .appointment-confirmation .location-item-address {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    line-height: 22px;
    margin: 0;
    padding: 0; }
  .appointment-confirmation .location-item-name {
    text-transform: capitalize; }
  .appointment-confirmation .location-title {
    padding-bottom: 10px; }
  .appointment-confirmation .restart-appointment {
    cursor: pointer; }
  .appointment-confirmation .city {
    text-transform: capitalize; }
  .appointment-confirmation .zip-code,
  .appointment-confirmation .state {
    text-transform: uppercase; }

@media screen and (min-width: 64em) {
  .page-designer-kaltire .no-padding-left-large {
    padding-left: 0; }
  .page-designer-kaltire .no-padding-right-large {
    padding-right: 0; } }

.page-designer-kaltire .black {
  color: #000 !important; }

.page-designer-kaltire .white {
  color: #fff !important; }

.page-designer-kaltire .orange {
  color: #ff6900 !important; }

.page-designer-kaltire .darker-gray {
  color: #262626 !important; }

.page-designer-kaltire .has-shaddow {
  text-shadow: 0 0 12px rgba(0, 0, 0, 0.3) !important; }

.page-designer-kaltire .background-black {
  background-color: #000 !important; }

.page-designer-kaltire .background-white {
  background-color: #fff !important; }

.page-designer-kaltire .background-orange {
  background-color: #ff6900 !important; }

.page-designer-kaltire .background-darker-gray {
  background-color: #262626 !important; }

.page-designer-kaltire h5 a {
  color: #ff6900;
  font-size: 1.125rem; }

.page-designer-kaltire .component-figure {
  color: #fff;
  height: 100%;
  margin: 0;
  position: relative;
  width: 100%; }
  .page-designer-kaltire .component-figure p {
    margin: 0; }
  .page-designer-kaltire .component-figure .banner-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 3.75rem;
    line-height: 3.75rem;
    text-transform: uppercase; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .component-figure .banner-title {
        font-size: 2.5rem;
        line-height: 2.5rem;
        padding-bottom: 15px; } }
  .page-designer-kaltire .component-figure .banner-subtitle {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 500;
    font-size: 0.8125rem;
    line-height: 1rem;
    padding-left: 0.25rem; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .component-figure .banner-subtitle {
        font-size: 0.75rem;
        line-height: 1rem;
        max-width: 100%;
        padding-left: 0; } }
  .page-designer-kaltire .component-figure figcaption {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    height: 100%;
    position: absolute;
    top: 0;
    width: 100%; }
    .page-designer-kaltire .component-figure figcaption .row {
      width: 100%; }

.page-designer-kaltire .component-image {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: var(--focal-point-x) var(--focal-point-y);
     object-position: var(--focal-point-x) var(--focal-point-y); }

.page-designer-kaltire .video-article {
  height: 100%;
  position: absolute;
  width: 100%; }
  .page-designer-kaltire .video-article i {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 40px;
    height: 100%;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }

@media screen and (min-width: 48em) {
  .page-designer-kaltire .article-main-image .video-article i,
  .page-designer-kaltire .featured-article .video-article i,
  .page-designer-kaltire .featured-left-article .video-article i {
    font-size: 60px; } }

.page-designer-kaltire .feature-article-image {
  max-height: 18.75rem;
  width: 100%; }

.page-designer-kaltire .experience-layouts-exploretopic,
.page-designer-kaltire .experience-assets-exploretopics {
  background-color: #f2f2f2;
  padding: 5rem 0; }
  @media screen and (max-width: 47.9375em) {
    .page-designer-kaltire .experience-layouts-exploretopic,
    .page-designer-kaltire .experience-assets-exploretopics {
      padding: 2.5rem 0; } }

.page-designer-kaltire .topic-link-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 2.1875rem;
  line-height: 2.1875rem;
  padding-bottom: 0.9375rem;
  text-transform: uppercase; }
  @media screen and (max-width: 47.9375em) {
    .page-designer-kaltire .topic-link-title {
      font-size: 1.25rem;
      line-height: 1.25rem;
      padding-bottom: 0.3125rem; } }

.page-designer-kaltire a.topic-link {
  color: #000;
  display: block; }
  .page-designer-kaltire a.topic-link:hover {
    color: #ff6900; }
  .page-designer-kaltire a.topic-link .topic-link-image {
    height: 40px;
    width: 40px; }
  .page-designer-kaltire a.topic-link i {
    font-size: 40px; }
  .page-designer-kaltire a.topic-link p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 0.75rem;
    padding-top: 0.3125rem; }

.page-designer-kaltire .popular-reads {
  margin: 50px 0 20px; }

.page-designer-kaltire .articles-infinite {
  margin: 20px 0; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .articles-infinite {
      margin: 50px 0 20px; } }

.page-designer-kaltire .popular-reads-top,
.page-designer-kaltire .related-reads-top {
  margin-bottom: 20px; }

.page-designer-kaltire .popular-reads-title {
  border-left: 3px solid #ff6900;
  font-size: 1rem;
  font-weight: bold;
  line-height: 0.875rem;
  padding-left: 8px;
  text-transform: uppercase; }

.page-designer-kaltire .popular-reads-link {
  font-size: 12px;
  font-weight: bold;
  text-align: right; }

.page-designer-kaltire .article-container {
  border: 1px solid #f7f7f7;
  margin-bottom: 20px; }

.page-designer-kaltire .article-info {
  padding: 15px 15px 6px; }

.page-designer-kaltire .featured-tag {
  display: none; }

.page-designer-kaltire .article-title {
  font-size: 1rem;
  font-weight: bold;
  height: 38px;
  line-height: 1.25rem;
  overflow: hidden;
  text-transform: uppercase; }

.page-designer-kaltire .article-link.text-link {
  font-size: 0.6875rem;
  font-weight: bold; }
  .page-designer-kaltire .article-link.text-link.button {
    margin-top: 20px; }
  .page-designer-kaltire .article-link.text-link::after {
    content: " >"; }
  .page-designer-kaltire .article-link.text-link.text-link-custom::after {
    content: ""; }

.page-designer-kaltire .article-container,
.page-designer-kaltire .featured-article {
  position: relative; }

.page-designer-kaltire .article-link-full {
  cursor: pointer;
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 1; }

.page-designer-kaltire .featured-article,
.page-designer-kaltire .featured-left-article {
  color: #fff;
  margin-bottom: 20px;
  overflow: hidden; }
  .page-designer-kaltire .featured-article .article-info,
  .page-designer-kaltire .featured-left-article .article-info {
    background-color: #262626;
    height: 100%;
    padding: 50px 50px 0; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .featured-article .article-info,
      .page-designer-kaltire .featured-left-article .article-info {
        padding: 20px 40px; } }
  .page-designer-kaltire .featured-article .featured-tag,
  .page-designer-kaltire .featured-left-article .featured-tag {
    background-color: #424242;
    display: inline;
    font-size: 0.5625rem;
    padding: 4px 7px;
    text-transform: uppercase; }
  .page-designer-kaltire .featured-article .article-title,
  .page-designer-kaltire .featured-left-article .article-title {
    font-size: 1.9375rem;
    font-weight: normal;
    height: auto;
    line-height: 2rem;
    padding: 16px 0 10px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .featured-article .article-title,
      .page-designer-kaltire .featured-left-article .article-title {
        font-size: 1.4375rem;
        line-height: 1.75rem; } }
  .page-designer-kaltire .featured-article .article-description,
  .page-designer-kaltire .featured-left-article .article-description {
    display: -webkit-box;
    /* stylelint-disable-line */
    font-size: 0.8125rem;
    -webkit-line-clamp: 2;
    max-height: 36px;
    overflow: hidden; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .featured-article .article-description,
      .page-designer-kaltire .featured-left-article .article-description {
        -webkit-line-clamp: 3;
        max-height: 55px; } }
  .page-designer-kaltire .featured-article .article-link.button,
  .page-designer-kaltire .featured-left-article .article-link.button {
    font-size: 0.75rem;
    margin: 20px 0 0;
    padding: 12px 24px; }

.page-designer-kaltire .articles-layout .feature-article-image {
  max-height: 16rem; }

.page-designer-kaltire .featured-left-article {
  position: relative; }
  .page-designer-kaltire .featured-left-article .article-info {
    padding: 22px 30px; }
  .page-designer-kaltire .featured-left-article .article-title {
    padding: 26px 0 10px; }
  .page-designer-kaltire .featured-left-article .article-description {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    margin: 5px 0 20px; }
  .page-designer-kaltire .featured-left-article a {
    display: block;
    margin-bottom: 10px; }

.page-designer-kaltire .topic-breadcrumb {
  background-color: #262626;
  color: #fff; }
  .page-designer-kaltire .topic-breadcrumb .article-breadcrumbs {
    margin: 15px 0 5px; }
    .page-designer-kaltire .topic-breadcrumb .article-breadcrumbs a,
    .page-designer-kaltire .topic-breadcrumb .article-breadcrumbs p {
      color: #fff; }
  .page-designer-kaltire .topic-breadcrumb .topic-title {
    border-left: 3px solid #ff6900;
    text-transform: uppercase; }
    .page-designer-kaltire .topic-breadcrumb .topic-title-text {
      font-size: 1rem;
      line-height: 1rem;
      margin: 0 0 25px 10px; }

.page-designer-kaltire .article-breadcrumbs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  margin: 10px 0 20px; }
  .page-designer-kaltire .article-breadcrumbs a,
  .page-designer-kaltire .article-breadcrumbs p {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    color: #000;
    display: block;
    font-size: 0.6875rem;
    line-height: 0.6875rem; }

.page-designer-kaltire .breadcrumb-level-1,
.page-designer-kaltire .breadcrumb-level-2,
.page-designer-kaltire .breadcrumb-level-3 {
  padding-bottom: 10px; }

.page-designer-kaltire .breadcrumb-level-1 a::after,
.page-designer-kaltire .breadcrumb-level-1 p::after,
.page-designer-kaltire .breadcrumb-level-2 a::after,
.page-designer-kaltire .breadcrumb-level-2 p::after {
  content: "/";
  margin: 0 6px; }

.page-designer-kaltire .breadcrumb-level-3 p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  margin: 0; }

.page-designer-kaltire .article-contents,
.page-designer-kaltire .content-markup {
  margin-bottom: 50px;
  margin-top: 40px; }
  @media screen and (max-width: 63.9375em) {
    .page-designer-kaltire .article-contents,
    .page-designer-kaltire .content-markup {
      margin-top: 0; } }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .content-markup p {
    font-size: 0.875rem; }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .article-contents h4,
  .page-designer-kaltire .content-markup p,
  .page-designer-kaltire .content-markup ul,
  .page-designer-kaltire .content-markup ol,
  .page-designer-kaltire .content-markup h4 {
    margin: 0;
    padding: 0; }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .content-markup p,
  .page-designer-kaltire .content-markup ul,
  .page-designer-kaltire .content-markup ol {
    font-size: 0.875rem; }
  .page-designer-kaltire .article-contents p,
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .content-markup p,
  .page-designer-kaltire .content-markup ul,
  .page-designer-kaltire .content-markup ol {
    margin-bottom: 25px; }
  .page-designer-kaltire .article-contents h1,
  .page-designer-kaltire .content-markup h1 {
    font-size: 1.5625rem;
    line-height: 1.5625rem; }
  .page-designer-kaltire .article-contents h2,
  .page-designer-kaltire .content-markup h2 {
    font-size: 1.5rem;
    line-height: 1.5rem; }
  .page-designer-kaltire .article-contents h3,
  .page-designer-kaltire .content-markup h3 {
    color: #000;
    font-size: 1rem;
    line-height: 1rem; }
  .page-designer-kaltire .article-contents h4,
  .page-designer-kaltire .content-markup h4 {
    color: #ff6900;
    font-size: 1rem;
    line-height: 1rem;
    margin-bottom: 10px; }
  .page-designer-kaltire .article-contents .article-page-title,
  .page-designer-kaltire .content-markup .article-page-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.5625rem;
    line-height: 1.5625rem;
    margin-bottom: 30px;
    text-align: center; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .article-contents .article-page-title,
      .page-designer-kaltire .content-markup .article-page-title {
        margin-bottom: 20px;
        text-align: left;
        text-transform: uppercase; } }
  .page-designer-kaltire .article-contents .article-main-image,
  .page-designer-kaltire .content-markup .article-main-image {
    margin-bottom: 30px; }
  .page-designer-kaltire .article-contents .article-page-content,
  .page-designer-kaltire .content-markup .article-page-content {
    margin-bottom: 75px; }
  .page-designer-kaltire .article-contents ol,
  .page-designer-kaltire .content-markup ol {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    list-style: decimal;
    padding-left: 30px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .article-contents ol,
      .page-designer-kaltire .content-markup ol {
        padding-left: 20px; } }
  .page-designer-kaltire .article-contents ul,
  .page-designer-kaltire .content-markup ul {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    list-style: disc;
    padding-left: 30px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .article-contents ul,
      .page-designer-kaltire .content-markup ul {
        padding-left: 20px; } }
  .page-designer-kaltire .article-contents img,
  .page-designer-kaltire .content-markup img {
    display: block;
    margin: 0 auto; }
  .page-designer-kaltire .article-contents .product-image-badge img,
  .page-designer-kaltire .content-markup .product-image-badge img {
    display: inline-block; }

.page-designer-kaltire .content-markup {
  margin: 0; }

.page-designer-kaltire .bottom-border-2p-gray {
  border-bottom: 2px solid #d9d9da; }

.page-designer-kaltire .video-article-link {
  height: 100%;
  position: absolute;
  width: 100%;
  z-index: 2; }

.page-designer-kaltire .article-video {
  margin-bottom: 50px;
  margin-top: 50px; }

.page-designer-kaltire .thumbs-up-container {
  margin: 20px 0 50px;
  text-align: center; }

.page-designer-kaltire .thumbs-up-title p {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.25rem;
  margin: 0 0 4px;
  text-transform: uppercase; }

.page-designer-kaltire .thumbs-up-subtitle p {
  font-size: 0.875rem;
  margin: 0; }

.page-designer-kaltire .thumbs-up-triggers {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 20px; }
  .page-designer-kaltire .thumbs-up-triggers i {
    color: #b0b1b3;
    display: block;
    font-size: 2.625rem; }
  .page-designer-kaltire .thumbs-up-triggers i.active {
    color: #ff6900; }

.page-designer-kaltire .thumbs-up-trigger,
.page-designer-kaltire .thumbs-down-trigger {
  cursor: pointer; }

.page-designer-kaltire .thumbs-up-trigger {
  margin-right: 10px; }

.page-designer-kaltire .thumbs-down-trigger {
  margin-left: 10px;
  padding-top: 12px; }

.page-designer-kaltire .article-external-section {
  margin-bottom: 75px;
  min-height: 320px;
  text-align: center; }
  .page-designer-kaltire .article-external-section .article-external-content {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center; }
    @media screen and (max-width: 47.9375em) {
      .page-designer-kaltire .article-external-section .article-external-content {
        padding: 30px; } }
  .page-designer-kaltire .article-external-section .article-external-title {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 700;
    font-size: 1.25rem;
    margin: 10px 0;
    text-transform: uppercase; }
  .page-designer-kaltire .article-external-section .article-external-subtitle {
    font-size: 0.875rem;
    margin-bottom: 10px; }
  .page-designer-kaltire .article-external-section .button {
    margin-top: 20px; }

.page-designer-kaltire .article-filters {
  padding: 50px 10px 0; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .article-filters {
      padding: 50px 30px 0 10px; } }
  .page-designer-kaltire .article-filters p {
    border-bottom: 1px solid #ccc;
    font-size: 0.75rem;
    margin: 0 0 30px;
    padding-bottom: 30px; }
  .page-designer-kaltire .article-filters a {
    color: #000;
    font-size: 0.9375rem; }
  .page-designer-kaltire .article-filters a:hover {
    color: #ff6900; }
  .page-designer-kaltire .article-filters .active-link {
    color: #ff6900; }
  .page-designer-kaltire .article-filters .subcategory-region {
    margin: 0 0 10px 10px; }
    .page-designer-kaltire .article-filters .subcategory-region a {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 400;
      font-size: 0.875rem; }

.page-designer-kaltire .article-count {
  display: none; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .article-count {
      display: block; } }

.page-designer-kaltire p.article-count-mobile {
  border-bottom: 0;
  display: block;
  margin: 0;
  padding: 10px 0 0; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire p.article-count-mobile {
      display: none; } }

.page-designer-kaltire a.refinement-filter-toggle {
  display: block;
  font-size: 0.75rem;
  margin: 0;
  position: relative;
  width: 100%; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire a.refinement-filter-toggle {
      display: none; } }
  .page-designer-kaltire a.refinement-filter-toggle.active {
    background-color: #ff6900;
    color: #fff; }
    .page-designer-kaltire a.refinement-filter-toggle.active ::after {
      content: "\e807";
      font-family: "fontello";
      font-size: 17px;
      position: absolute;
      right: 15px;
      top: 50%;
      -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
              transform: translateY(-50%); }

.page-designer-kaltire .topic-filters {
  border-bottom: 1px solid #ccc;
  border-left: 1px solid #ccc;
  border-right: 1px solid #ccc;
  display: none;
  padding: 15px; }
  @media screen and (min-width: 48em) {
    .page-designer-kaltire .topic-filters {
      border: 0;
      display: block;
      padding: 0; } }

.page-designer-kaltire .table-grid-component {
  text-align: center; }
  .page-designer-kaltire .table-grid-component .column-content {
    overflow: hidden;
    padding: 10px; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .table-grid-component .column-content {
        padding: 4px; } }
  .page-designer-kaltire .table-grid-component p {
    margin: 0; }
  .page-designer-kaltire .table-grid-component ul {
    list-style: disc; }
  .page-designer-kaltire .table-grid-component ol {
    list-style: decimal; }
  .page-designer-kaltire .table-grid-component p,
  .page-designer-kaltire .table-grid-component ul,
  .page-designer-kaltire .table-grid-component ol {
    font-size: 0.875rem; }
    @media screen and (max-width: 63.9375em) {
      .page-designer-kaltire .table-grid-component p,
      .page-designer-kaltire .table-grid-component ul,
      .page-designer-kaltire .table-grid-component ol {
        font-size: 0.75rem; } }

.page-designer-kaltire .flex-center {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center; }

.page-designer-kaltire .content-optional-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.5625rem;
  line-height: 1.5625rem;
  margin-bottom: 24px; }
  @media screen and (max-width: 63.9375em) {
    .page-designer-kaltire .content-optional-title {
      margin-bottom: 16px;
      text-transform: uppercase; } }

.page-designer-kaltire .experience-layouts-productcardright,
.page-designer-kaltire .experience-layouts-productcardleft,
.page-designer-kaltire .experience-layouts-productcardscentered {
  margin: 1.875rem 0; }

.page-designer-kaltire .powerreviews-container {
  min-height: 33px; }

.video-article-popup .ui-dialog-titlebar-close {
  right: 16px;
  top: -28px; }
  @media screen and (min-width: 48em) {
    .video-article-popup .ui-dialog-titlebar-close {
      right: 16px;
      top: -28px; } }

.video-article-popup #dialog-container {
  padding: 0; }

@media screen and (min-width: 48em) {
  #resource-centre .experience-assets-headlinebannerfullwidth {
    height: 371px;
    text-align: center; }
    #resource-centre .experience-assets-headlinebannerfullwidth .title-row {
      margin: 0 0 0 345px;
      text-align: justify; }
      #resource-centre .experience-assets-headlinebannerfullwidth .title-row .banner-title {
        font-size: 65px;
        margin-bottom: 18px; }
      #resource-centre .experience-assets-headlinebannerfullwidth .title-row .banner-subtitle {
        font-size: 18px;
        padding: 0; }
      #resource-centre .experience-assets-headlinebannerfullwidth .title-row .subtitle-row {
        margin: 0; }
        #resource-centre .experience-assets-headlinebannerfullwidth .title-row .subtitle-row .subtitle-column {
          padding: 0; }
  #resource-centre .experience-assets-exploretopics {
    height: 408px;
    padding: 120px 0; }
    #resource-centre .experience-assets-exploretopics .topic-link-title {
      font-size: 42px;
      margin-bottom: 0;
      padding-bottom: 12px; }
    #resource-centre .experience-assets-exploretopics .topic-column {
      display: block;
      margin: 0 24px;
      padding: 0; }
      #resource-centre .experience-assets-exploretopics .topic-column .topic-link {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-direction: column;
                flex-direction: column; }
        #resource-centre .experience-assets-exploretopics .topic-column .topic-link i {
          font-size: 56px;
          margin: 0; }
        #resource-centre .experience-assets-exploretopics .topic-column .topic-link p {
          font-size: 18px;
          padding-top: 22px; }
  #resource-centre .experience-layouts-popularreads .popular-reads {
    margin: 100px 0 70px; }
  #resource-centre .experience-layouts-popularreads .popular-reads-title {
    font-size: 26px;
    height: 23px;
    line-height: 21px; }
  #resource-centre .experience-layouts-popularreads .featured-article {
    margin-bottom: 30px; }
  #resource-centre .experience-layouts-popularreads .article-container {
    margin-bottom: 30px; } }

.self-service-entry-point-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  margin: 1.875rem 0 1.25rem;
  text-transform: uppercase; }
  @media screen and (min-width: 48em) {
    .self-service-entry-point-title {
      font-size: 1.625rem;
      margin: 3.125rem 0; } }

.self-service-entry-point-order {
  position: relative; }
  .self-service-entry-point-order input[type="number"] {
    -webkit-appearance: textfield;
       -moz-appearance: textfield;
            appearance: textfield; }
  .self-service-entry-point-order input::-webkit-outer-spin-button,
  .self-service-entry-point-order input::-webkit-inner-spin-button {
    -webkit-appearance: none;
            appearance: none;
    margin: 0; }

.self-service-entry-point-wrapper {
  margin-bottom: 6.25rem;
  padding: 0.3125rem 0; }
  @media screen and (min-width: 48em) {
    .self-service-entry-point-wrapper {
      border: 0.3125rem solid rgba(242, 242, 242, 0.8);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 5rem 0 2.5rem; } }
  .self-service-entry-point-wrapper .has-tip-custom {
    border: 0;
    margin-left: 0.4375rem;
    position: absolute;
    top: -0.125rem; }
  .self-service-entry-point-wrapper .questionmarkcircle {
    background: #ff6900;
    color: #fff;
    height: 1.125rem;
    margin-right: 0;
    width: 1.125rem; }

.find-my-appointment {
  margin-left: 0.9375rem; }
  @media screen and (min-width: 48em) {
    .find-my-appointment {
      margin-left: 0.625rem; } }

.season-tire-popup {
  width: 600px !important; }
  .season-tire-popup .dialog-content {
    padding: 0; }
  .season-tire-popup .season-tire-popup-title {
    background: #ff6900;
    color: #fff;
    padding: 1.5625rem 3.75rem 1.5625rem 1.5625rem; }
  .season-tire-popup .ui-dialog-titlebar-close .ui-button-icon-primary::after {
    color: #fff;
    font-size: 1.25rem; }
  .season-tire-popup .ui-dialog-titlebar-close .ui-button-icon-primary:hover::after {
    color: #fff; }
  .season-tire-popup .season-tire-popup-wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-flow: column-reverse;
            flex-flow: column-reverse;
    padding: 1.5625rem 3.75rem 1.5625rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup .season-tire-popup-wrapper {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
            -ms-flex-flow: row;
                flex-flow: row;
        padding: 1.5625rem 3.75rem 1.5625rem 0.9375rem; } }
  .season-tire-popup .confirm-cancelation-wrapper {
    padding: 1.5625rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup .confirm-cancelation-wrapper {
        padding: 1.5625rem 0.9375rem; } }
    .season-tire-popup .confirm-cancelation-wrapper .button {
      width: 100%; }
      @media screen and (min-width: 48em) {
        .season-tire-popup .confirm-cancelation-wrapper .button {
          width: inherit; } }
      .season-tire-popup .confirm-cancelation-wrapper .button:focus {
        background: #ff6900; }
    .season-tire-popup .confirm-cancelation-wrapper .keep-appointment-button {
      background: #fff;
      border: 0.1875rem solid #ff6900;
      color: #000;
      margin-left: 0;
      padding: 0.8125rem 0.9375rem; }
      @media screen and (min-width: 48em) {
        .season-tire-popup .confirm-cancelation-wrapper .keep-appointment-button {
          margin-left: 0.625rem; } }
  .season-tire-popup .apifailed-popup-wrapper {
    padding: 1.5625rem 0.625rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup .apifailed-popup-wrapper {
        padding: 1.5625rem 0.9375rem; } }
  .season-tire-popup .button[disabled] {
    background: #bfc0c2;
    opacity: 1; }
  .season-tire-popup .input-custom,
  .season-tire-popup input[type="radio"] {
    border: 1px solid #c9c9c9;
    height: 1.125rem;
    width: 1.125rem; }
  .season-tire-popup input[type="radio"]:checked + .input-custom {
    background: #fff;
    border: 0.25rem solid #ff6900; }
  .season-tire-popup img {
    margin-bottom: 1.875rem;
    max-width: 7.5rem; }
    @media screen and (min-width: 48em) {
      .season-tire-popup img {
        float: right; } }

.cancel-appointment-survey-wrapper .field-wrapper {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 400;
  font-size: 0.9375rem; }

.cancel-appointment-survey-wrapper .radio-form {
  margin-bottom: 0.625rem; }

.cancel-appointment-survey-wrapper .input-custom,
.cancel-appointment-survey-wrapper input[type="radio"] {
  border: 1px solid #c9c9c9;
  height: 1.125rem;
  width: 1.125rem; }

.cancel-appointment-survey-wrapper input[type="radio"]:checked + .input-custom {
  background: #fff;
  border: 0.25rem solid #ff6900; }

.cancel-appointment-survey-wrapper .cancel-appointment-why {
  margin-bottom: 0.9375rem; }

.cancel-appointment-survey-wrapper .cancel-appointment-survey-submit {
  margin-top: 1.875rem;
  padding: 0.9375rem 3.125rem; }

.cancel-appointment-survey-wrapper .button[disabled] {
  background: #bfc0c2;
  opacity: 1; }

.tooltip .season-tire-popup-order {
  background: #ff6900;
  color: #fff;
  padding: 0.9375rem; }

.appointment-reschedule-message-box {
  background-color: #f2f2f2;
  margin: 0 0.625rem 1.25rem;
  padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .appointment-reschedule-message-box {
      padding: 1.875rem 3.75rem; } }
  .appointment-reschedule-message-box .fa-check-circle {
    color: #ff6900;
    font-size: 1.25rem;
    left: 1.875rem;
    position: absolute; }
  .appointment-reschedule-message-box .fa-check {
    color: #ff6900;
    font-size: 0.6875rem;
    left: 1.875rem;
    margin-top: 0.3125rem;
    position: absolute; }
    .appointment-reschedule-message-box .fa-check::before {
      border: 3px solid #ff6900;
      border-radius: 50%;
      padding: 0.1875rem; }

.appointment-reschedule-message-box-keep {
  background-color: #f2f2f2;
  margin: 0 0.625rem 1.25rem;
  padding: 1.875rem 1.25rem; }
  @media screen and (min-width: 48em) {
    .appointment-reschedule-message-box-keep {
      padding: 1.875rem; } }

.appointment-finder-error-wrapper {
  background-color: #f2f2f2;
  margin: 0 0.625rem 1.25rem;
  padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .appointment-finder-error-wrapper {
      padding: 1.875rem 3.75rem; } }
  .appointment-finder-error-wrapper .fa-exclamation-triangle,
  .appointment-finder-error-wrapper .fa-check {
    color: #ff6900;
    font-size: 1.25rem;
    left: 1.875rem;
    position: absolute; }
  .appointment-finder-error-wrapper .fa-check {
    font-size: 0.6875rem;
    margin-top: 0.3125rem; }
    .appointment-finder-error-wrapper .fa-check::before {
      border: 3px solid #ff6900;
      border-radius: 50%;
      padding: 0.1875rem; }
  .appointment-finder-error-wrapper .contact-us,
  .appointment-finder-error-wrapper .talk-member {
    font-weight: bold; }
  .appointment-finder-error-wrapper .talk-member {
    margin: 0; }
  .appointment-finder-error-wrapper .phone-number {
    color: #808285; }

.cancel-appointment-success-wrapper {
  background-color: #f2f2f2;
  margin: 1.5625rem 0 2.1875rem;
  padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  position: relative; }
  @media screen and (min-width: 48em) {
    .cancel-appointment-success-wrapper {
      padding: 1.875rem 3.75rem; } }
  .cancel-appointment-success-wrapper .fa-check {
    color: #ff6900;
    font-size: 0.6875rem;
    left: 1.875rem;
    margin-top: 0.3125rem;
    position: absolute; }
    .cancel-appointment-success-wrapper .fa-check::before {
      border: 3px solid #ff6900;
      border-radius: 50%;
      padding: 0.1875rem; }

.appointment-dashboard-title {
  font-family: "Gotham A", "Gotham B", Arial;
  font-weight: 700;
  font-size: 1.3125rem;
  margin: 1.875rem 0 1.25rem;
  text-transform: uppercase;
  white-space: nowrap; }
  @media screen and (min-width: 48em) {
    .appointment-dashboard-title {
      font-size: 1.625rem;
      margin: 3.125rem 0 1.25rem; } }
  .appointment-dashboard-title::before {
    color: #ff6900;
    content: "|";
    margin-right: 0.5rem; }

.appointment-dashboard-order-summary {
  margin: 1.25rem 0; }

.appointment-dashboard-starttime {
  color: #ff6900;
  margin-bottom: 1.25rem; }

.appointment-dashboard-starttime-day {
  text-transform: uppercase; }

.appointment-dashboard-location-confirm {
  margin-bottom: 0.3125rem; }

.appointment-dashboard-location-confirm-province {
  margin-bottom: 2.5rem; }

.appointment-dashboard-location {
  margin-top: 0.625rem;
  white-space: pre-line; }

.appointment-dashboard-location-distance {
  color: #808285;
  font-size: 0.75rem;
  margin-bottom: 0;
  padding: 0.3125rem 0 0.625rem; }

.appointment-dashboard-space {
  margin: 0.625rem 0 1.25rem; }

.appointment-dashboard-reschedule {
  margin-top: 1.25rem; }

.appointment-dashboard-cancel {
  color: #ff6900;
  display: block;
  line-height: inherit;
  margin-bottom: 6.25rem;
  vertical-align: text-top; }
  @media screen and (min-width: 48em) {
    .appointment-dashboard-cancel {
      display: inline-block;
      margin-left: 0.9375rem; } }

.appointment-calendar-select-new-date {
  font-size: 1.125rem;
  margin-bottom: 0;
  margin-top: 1.875rem; }

.appointment-dashboard-location-calendar-name {
  font-size: 1rem; }

.appointment-dashboard-location-calendar-address {
  font-size: 0.875rem;
  margin-bottom: 0;
  margin-top: 0.625rem; }

.appointment-calendar-drop {
  color: #ff6900;
  display: block;
  font-size: 0.875rem; }
  .appointment-calendar-drop:hover {
    color: #db5a00; }

.store-details-box-wrapper {
  margin-top: 2.5rem; }
  .store-details-box-wrapper .store-details-box {
    margin-top: 0; }
    .store-details-box-wrapper .store-details-box .more-info-title {
      color: #ff6900;
      font-size: 0.8125rem; }

.appointment-calendar-plain-text {
  margin-bottom: 1.25rem; }

.appointment-calendar-button-wrapper .button[disabled] {
  background: #bfc0c2;
  opacity: 1; }

.appointment-calendar-button-wrapper .button {
  width: 100%; }
  @media screen and (min-width: 48em) {
    .appointment-calendar-button-wrapper .button {
      width: inherit; } }

.appointment-calendar-button-wrapper .appointment-calendar-keep {
  background: #fff;
  border: 0.1875rem solid #ff6900;
  color: #000;
  margin-left: 0;
  padding: 0.6875rem 0.9375rem; }
  @media screen and (min-width: 48em) {
    .appointment-calendar-button-wrapper .appointment-calendar-keep {
      margin-left: 0.625rem; } }

.appointment-active {
  text-transform: uppercase; }

.appointment-date {
  text-transform: uppercase; }

.appointment-dashboard-date {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 100%;
          flex: 0 0 100%;
  margin-left: 0.625rem;
  padding: 0;
  text-transform: none; }

.reveal.appointment-calendar-modal {
  height: auto;
  min-height: auto; }
  .reveal.appointment-calendar-modal .appointment-calendar-keep {
    margin-top: 1.25rem; }
    @media screen and (min-width: 48em) {
      .reveal.appointment-calendar-modal .appointment-calendar-keep {
        margin-top: 0; } }

.appointment-finder-error-block .appointment-finder-error-wrapper {
  margin: 0; }

@media print {
  .information-box h3 {
    width: 100%; } }

.search-result-content .product-tile .recommended-bagde {
  display: none !important; }

.checkout-shipping .selection-box.reminded-appointment {
  display: none !important; }

.checkout-fields-container .country-row .input-select {
  background-image: none; }

@media print {
  #inside_holder {
    display: none; } }

/*# sourceMappingURL=data:application/json;charset=utf8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFwcC5jc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm91bmRhdGlvbi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL19nbG9iYWwuc2NzcyIsIl9zZXR0aW5ncy5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX21peGlucy5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2dyaWQvX2ZsZXgtZ3JpZC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX3VuaXQuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9ncmlkL19yb3cuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19icmVha3BvaW50LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fZ3V0dGVyLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fY29sdW1uLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZ3JpZC9fcG9zaXRpb24uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy91dGlsL19mbGV4LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvdHlwb2dyYXBoeS9fYmFzZS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3R5cG9ncmFwaHkvX2hlbHBlcnMuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19hbGlnbm1lbnQuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy90eXBvZ3JhcGh5L19wcmludC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2J1dHRvbi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL190ZXh0LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2NoZWNrYm94LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2xhYmVsLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvZm9ybXMvX2hlbHAtdGV4dC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19pbnB1dC1ncm91cC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19maWVsZHNldC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2Zvcm1zL19zZWxlY3Quc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9mb3Jtcy9fZXJyb3Iuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19hY2NvcmRpb24tbWVudS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2JhZGdlLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fYnJlYWRjcnVtYnMuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19idXR0b24tZ3JvdXAuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19jYWxsb3V0LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fY2xvc2UtYnV0dG9uLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fbWVudS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lbnUtaWNvbi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2RyaWxsZG93bi5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Ryb3Bkb3duLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZHJvcGRvd24tbWVudS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2ZsZXgtdmlkZW8uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19sYWJlbC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX21lZGlhLW9iamVjdC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX29mZi1jYW52YXMuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19vcmJpdC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3BhZ2luYXRpb24uc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19wcm9ncmVzcy1iYXIuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zbGlkZXIuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zdGlja3kuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19yZXZlYWwuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL19zd2l0Y2guc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190YWJsZS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL3V0aWwvX2NvbG9yLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdGFicy5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RodW1ibmFpbC5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3RpdGxlLWJhci5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX3Rvb2x0aXAuc2NzcyIsIi4uL2ZvdW5kYXRpb24tc2l0ZXMvc2Nzcy9jb21wb25lbnRzL190b3AtYmFyLnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fdmlzaWJpbGl0eS5zY3NzIiwiLi4vZm91bmRhdGlvbi1zaXRlcy9zY3NzL2NvbXBvbmVudHMvX2Zsb2F0LnNjc3MiLCIuLi9mb3VuZGF0aW9uLXNpdGVzL3Njc3MvY29tcG9uZW50cy9fZmxleC5zY3NzIiwiLi4vbW90aW9uLXVpL3NyYy91dGlsL190cmFuc2l0aW9uLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL19jbGFzc2VzLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL19zZXR0aW5ncy5zY3NzIiwiLi4vbW90aW9uLXVpL3NyYy91dGlsL19rZXlmcmFtZS5zY3NzIiwiLi4vbW90aW9uLXVpL3NyYy90cmFuc2l0aW9ucy9fc2xpZGUuc2NzcyIsIi4uL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2ZhZGUuc2NzcyIsIi4uL21vdGlvbi11aS9zcmMvZWZmZWN0cy9faGluZ2Uuc2NzcyIsIi4uL21vdGlvbi11aS9zcmMvdHJhbnNpdGlvbnMvX2hpbmdlLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL196b29tLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL3RyYW5zaXRpb25zL19zcGluLnNjc3MiLCIuLi9tb3Rpb24tdWkvc3JjL3V0aWwvX2FuaW1hdGlvbi5zY3NzIiwiX3Jlc3BvbnNpdmVlbWJlZC5zY3NzIiwiX2ZvbnRlbGxvLnNjc3MiLCJfc2xpY2suc2NzcyIsIl9rYWx0aXJlLXNldHRpbmdzLnNjc3MiLCJfa2FsdGlyZS10eXBvZ3JhcGh5LnNjc3MiLCJfa2FsdGlyZS1lbGVtZW50cy5zY3NzIiwiYmFzZS9fa2FsdGlyZS1ncmlkLnNjc3MiLCJiYXNlL19mb3JtLWVsZW1lbnRzLnNjc3MiLCJiYXNlL19zbGlkZXIuc2NzcyIsIl9rYWx0aXJlLnNjc3MiLCJfa2FsdGlyZS1wcm9kdWN0c2VsZWN0b3Iuc2NzcyIsIl9rYWx0aXJlLXNlcnZpY2VzZWxlY3Rvci5zY3NzIiwiX2thbHRpcmUtcGFnaW5hdGlvbi5zY3NzIiwiX2thbHRpcmUtcHJvZHVjdHRpbGUuc2NzcyIsIl9rYWx0aXJlLXJlc3VsdHMuc2NzcyIsIl9rYWx0aXJlLXBkcC5zY3NzIiwiX2thbHRpcmUtcHJvZHVjdGNvbXBhcmUuc2NzcyIsIl9rYWx0aXJlLWZpbmFuY2luZy5zY3NzIiwiX2thbHRpcmUtZ3NwLnNjc3MiLCJfa2FsdGlyZS1ub3Jlc3VsdHMuc2NzcyIsIl9rYWx0aXJlLXZpc3VhbGl6ZXIuc2NzcyIsIl9rYWx0aXJlLWxvZ2luLnNjc3MiLCJfa2FsdGlyZS1yZWdpc3Rlci5zY3NzIiwiX2thbHRpcmUtcGFja2FnZXMuc2NzcyIsIl9rYWx0aXJlLXJlYmF0ZXMuc2NzcyIsIl9rYWx0aXJlLWJyYW5kcy5zY3NzIiwiX2thbHRpcmUtY29udGFjdHVzLnNjc3MiLCJfa2FsdGlyZS1wcmludC5zY3NzIiwic3RvcmVsb2NhdG9yL19zdG9yZXMtcGFnZS5zY3NzIiwic3RvcmVsb2NhdG9yL19hbGwtbG9jYXRpb25zLnNjc3MiLCJzdG9yZWxvY2F0b3IvX3N0b3JlLWRldGFpbHMuc2NzcyIsIl9rYWx0aXJlLW15YWNjb3VudC5zY3NzIiwiX2thbHRpcmUtbG9naW5wb3B1cC5zY3NzIiwiX2thbHRpcmUtbXlnYXJhZ2Uuc2NzcyIsIl9rYWx0aXJlLW9yZGVycy5zY3NzIiwiX2thbHRpcmUtY2FyZmF4bW9kYWwuc2NzcyIsIl9rYWx0aXJlLWNhcmZheC5zY3NzIiwiX2thbHRpcmUtYnJha2VzLnNjc3MiLCJjYXJ0L19rYWx0aXJlLWNhcnQuc2NzcyIsImNhcnQvX2NhcnQtcmVwbGFjZXByb2R1Y3RzLnNjc3MiLCJfa2FsdGlyZS1jb250ZW50YmxvY2tzLnNjc3MiLCJjaGVja291dC9fa2FsdGlyZS1jaGVja291dC5zY3NzIiwiY2hlY2tvdXQvX2NhcnQtc3VtbWFyeS5zY3NzIiwiY2hlY2tvdXQvX2FwcG9pbnRtZW50LnNjc3MiLCJfcGFnZS1kZXNpZ25lci5zY3NzIiwic2VsZnNlcnZpY2VlbnRyeXBvaW50L19zZWxmc2VydmljZWVudHJ5cG9pbnQuc2NzcyIsIl9oaWRkZW4tY29udGVudHMuc2NzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxnQkFBZ0I7QUNBaEI7Ozs7O0VETUU7QUUrTUEsMkVBQUE7QUFFQTs7OztJRjNNRTtBRWlORjtFQUNFLHVCQUF1QjtFQUFFLE1BQUE7RUFDekIsMEJBQTBCO0VBQUUsTUFBQTtFQUM1Qiw4QkFBOEI7RUFBRSxNQUFBLEVBQU87O0FBR3pDOztJRjVNRTtBRWdORjtFQUNFLFNBQVMsRUFBQTs7QUFHWDtpRkYvTStFO0FFa04vRTs7Ozs7SUY1TUU7QUVtTkY7Ozs7Ozs7Ozs7Ozs7RUFhRSxjQUFjLEVBQUE7O0FBR2hCOzs7SUZoTkU7QUVxTkY7Ozs7RUFJRSxxQkFBcUI7RUFBRSxNQUFBO0VBQ3ZCLHdCQUF3QjtFQUFFLE1BQUEsRUFBTzs7QUFHbkM7OztJRmhORTtBRXFORjtFQUNFLGFBQWE7RUFDYixTQUFTLEVBQUE7O0FBR1g7OztJRmxORTtBQUNKOztFRXdOSSxhQUFhLEVBQUE7O0FBR2Y7aUZGdE4rRTtBRXlOL0U7O0lGdE5FO0FFME5GO0VBQ0UsNkJBQTZCLEVBQUE7O0FBRy9COzs7SUZ2TkU7QUU0TkY7O0VBRUUsVUFBVSxFQUFBOztBQUdaO2lGRjNOK0U7QUU4Ti9FOztJRjNORTtBRStORjtFQUNFLHlCQUF5QixFQUFBOztBQUczQjs7SUY3TkU7QUVpT0Y7O0VBRUUsaUJBQWlCLEVBQUE7O0FBR25COztJRi9ORTtBRW1PRjtFQUNFLGtCQUFrQixFQUFBOztBQUdwQjs7O0lGaE9FO0FFcU9GO0VBQ0UsY0FBYztFQUNkLGdCQUFnQixFQUFBOztBQUdsQjs7SUZuT0U7QUV1T0Y7RUFDRSxnQkFBZ0I7RUFDaEIsV0FBVyxFQUFBOztBQUdiOztJRnJPRTtBRXlPRjtFQUNFLGNBQWMsRUFBQTs7QUFHaEI7O0lGdk9FO0FFMk9GOztFQUVFLGNBQWM7RUFDZCxjQUFjO0VBQ2Qsa0JB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dUsvQyxvQkt2SytDLEVBQUE7O0FMNktqRDtFTW5LSixnQkRWcUQsRUFBQTs7QUxxS2pEO0VBQ0UsbUJLdEsrQztNTHNLL0MsdUJLdEsrQztVTHNLL0MsbUJLdEsrQztFTHVLL0Msb0JLdksrQyxFQUFBOztBTDZLakQ7RU1uS0osc0JEVnFELEVBQUE7O0FMcUtqRDtFQUNFLG1CS3RLK0M7TUxzSy9DLGlCS3RLK0M7VUxzSy9DLGFLdEsrQztFTHVLL0MsY0t2SytDLEVBQUE7O0FMNktqRDtFTW5LSixzQkRWcUQsRUFBQTs7QUxxS2pEO0VBQ0UsbUJLdEsrQztNTHNLL0MsdUJLdEsrQztVTHNLL0MsbUJLdEsrQztFTHVLL0Msb0JLdksrQyxFQUFBOztBTDZLakQ7RU1uS0osZ0JEVnFELEVBQUE7O0FMcUtqRDtFQUNFLG1CS3RLK0M7TUxzSy9DLHVCS3RLK0M7VUxzSy9DLG1CS3RLK0M7RUx1Sy9DLG9CS3ZLK0MsRUFBQTs7QUw2S2pEO0VNbktKLHNCRFZxRCxFQUFBOztBTHFLakQ7RUFDRSxtQkt0SytDO01Mc0svQyxpQkt0SytDO1VMc0svQyxhS3RLK0M7RUx1Sy9DLGNLdksrQyxFQUFBOztBTDZLakQ7RU1uS0osc0JEVnFELEVBQUE7O0FMcUtqRDtFQUNFLG1CS3RLK0M7TUxzSy9DLHVCS3RLK0M7VUxzSy9DLG1CS3RLK0M7RUx1Sy9DLG9CS3ZLK0MsRUFBQTs7QUw2S2pEO0VNbktKLGdCRFZxRCxFQUFBOztBTHFLakQ7RUFDRSxtQkt0SytDO01Mc0svQyx1Qkt0SytDO1VMc0svQyxtQkt0SytDO0VMdUsvQyxvQkt2SytDLEVBQUE7O0FMNktqRDtFTW5LSixzQkRWcUQsRUFBQTs7QUxxS2pEO0VBQ0UsbUJLdEsrQztNTHNLL0Msa0JLdEsrQztVTHNLL0MsY0t0SytDO0VMdUsvQyxlS3ZLK0MsRUFBQTs7QUw2S2pEO0VNbktKLHNCRFZxRCxFQUFBOztBTG9MakQ7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBQ1o7RU8vSUosNEJQOElnQjtNTzlJaEIsaUJQOElnQjtVTzlJaEIsUVA4SWdCLEVBQUE7O0FBUVo7RUFuR0osbUJBQWU7TUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUZzQjtRQUV0QixrQkFGc0I7WUFFdEIsY0FGc0I7SUFHdEIsZUFIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsaUJBRnNCO1lBRXRCLGFBRnNCO0lBR3RCLGNBSHNCLEVBQUE7O0FBZ0dwQjtFQW5HSixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRnNCO1FBRXRCLHVCQUZzQjtZQUV0QixtQkFGc0I7SUFHdEIsb0JBSHNCLEVBQUE7O0FBZ0dwQjtFQW5HSixtQkFBZTtNQUFmLGVBQWUsRUFBQTtFQUVmO0lBR0UsbUJBRnNCO1FBRXRCLGlCQUZzQjtZQUV0QixhQUZzQjtJQUd0QixjQUhzQixFQUFBOztBQWdHcEI7RUFuR0osbUJBQWU7TUFBZixlQUFlLEVBQUE7RUFFZjtJQUdFLG1CQUZzQjtRQUV0QixpQkFGc0I7WUFFdEIsYUFGc0I7SUFHdEIsY0FIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsdUJBRnNCO1lBRXRCLG1CQUZzQjtJQUd0QixvQkFIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsdUJBRnNCO1lBRXRCLG1CQUZzQjtJQUd0QixvQkFIc0IsRUFBQTs7QUFnR3BCO0VBbkdKLG1CQUFlO01BQWYsZUFBZSxFQUFBO0VBRWY7SUFHRSxtQkFGc0I7UUFFdEIsbUJBRnNCO1lBRXRCLGVBRnNCO0lBR3RCLGdCQUhzQixFQUFBOztBQTRIdEI7RUkxT0YsZUFBZTtFQUNmLGdCQUFnQixFQUFBOztBSjZPZDtFSXJPRix1QkFEOEI7RUFFOUIsd0JBRjhCLEVBQUE7O0FEaUk1QjtFSCtDRTtJQUNFLG1CS3RLK0M7UUxzSy9DLHNCS3RLK0M7WUxzSy9DLGtCS3RLK0M7SUx1Sy9DLG1CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osZURiZ0MsRUFBQTtFTHdLNUI7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHFCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLGlCS3RLK0M7WUxzSy9DLGFLdEsrQztJTHVLL0MsY0t2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osZ0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyxpQkt0SytDO1lMc0svQyxhS3RLK0M7SUx1Sy9DLGNLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLGdCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osc0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsaUJLdEsrQztZTHNLL0MsYUt0SytDO0lMdUsvQyxjS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osc0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixnQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLGtCS3RLK0M7WUxzSy9DLGNLdEsrQztJTHVLL0MsZUt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMb0xqRDtJTy9JSiw0QlA4SWdCO1FPOUloQixpQlA4SWdCO1lPOUloQixRUDhJZ0IsRUFBQTtFQUNaO0lPL0lKLDRCUDhJZ0I7UU85SWhCLGlCUDhJZ0I7WU85SWhCLFFQOElnQixFQUFBO0VBQ1o7SU8vSUosNEJQOElnQjtRTzlJaEIsaUJQOElnQjtZTzlJaEIsUVA4SWdCLEVBQUE7RUFDWjtJTy9JSiw0QlA4SWdCO1FPOUloQixpQlA4SWdCO1lPOUloQixRUDhJZ0IsRUFBQTtFQUNaO0lPL0lKLDRCUDhJZ0I7UU85SWhCLGlCUDhJZ0I7WU85SWhCLFFQOElnQixFQUFBO0VBQ1o7SU8vSUosNEJQOElnQjtRTzlJaEIsaUJQOElnQjtZTzlJaEIsUVA4SWdCLEVBQUE7RUFRWjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLGtCQUZzQjtjQUV0QixjQUZzQjtNQUd0QixlQUhzQixFQUFBO0VBZ0dwQjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLGlCQUZzQjtjQUV0QixhQUZzQjtNQUd0QixjQUhzQixFQUFBO0VBZ0dwQjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLHVCQUZzQjtjQUV0QixtQkFGc0I7TUFHdEIsb0JBSHNCLEVBQUE7RUFnR3BCO0lBbkdKLG1CQUFlO1FBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7VUFFdEIsaUJBRnNCO2NBRXRCLGFBRnNCO01BR3RCLGNBSHNCLEVBQUE7RUFnR3BCO0lBbkdKLG1CQUFlO1FBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7VUFFdEIsaUJBRnNCO2NBRXRCLGFBRnNCO01BR3RCLGNBSHNCLEVBQUE7RUFnR3BCO0lBbkdKLG1CQUFlO1FBQWYsZUFBZSxFQUFBO0lBRWY7TUFHRSxtQkFGc0I7VUFFdEIsdUJBRnNCO2NBRXRCLG1CQUZzQjtNQUd0QixvQkFIc0IsRUFBQTtFQWdHcEI7SUFuR0osbUJBQWU7UUFBZixlQUFlLEVBQUE7SUFFZjtNQUdFLG1CQUZzQjtVQUV0Qix1QkFGc0I7Y0FFdEIsbUJBRnNCO01BR3RCLG9CQUhzQixFQUFBO0VBZ0dwQjtJQW5HSixtQkFBZTtRQUFmLGVBQWUsRUFBQTtJQUVmO01BR0UsbUJBRnNCO1VBRXRCLG1CQUZzQjtjQUV0QixlQUZzQjtNQUd0QixnQkFIc0IsRUFBQSxFQUl2Qjs7QUd1QkM7RUg2RUk7SUFDRSxtQkF2S007UUF1S04saUJBdktNO1lBdUtOLGFBdktNLEVBQUEsRUF3S1A7O0FBS0Q7RUFFSSxtQkFBMkI7TUFBM0Isa0JBQTJCO1VBQTNCLGNBQTJCLEVBQUE7RUd0Rm5DO0lIb0ZJO01BS00sbUJBbExFO1VBa0xGLGlCQWxMRTtjQWtMRixhQWxMRSxFQUFBLEVBb0xMOztBRzNGUDtFSGlHQTtJSTFPRixlQUFlO0lBQ2YsZ0JBQWdCLEVBQUE7RUo2T2Q7SUlyT0Ysc0JBRDhCO0lBRTlCLHVCQUY4QixFQUFBLEVKeU8yQjs7QUd4R3ZEO0VIK0NFO0lBQ0UsbUJLdEsrQztRTHNLL0Msc0JLdEsrQztZTHNLL0Msa0JLdEsrQztJTHVLL0MsbUJLdksrQyxFQUFBO0VMNktqRDtJTW5LSixlRGJnQyxFQUFBO0VMd0s1QjtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0oscUJEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsaUJLdEsrQztZTHNLL0MsYUt0SytDO0lMdUsvQyxjS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osc0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixnQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLGlCS3RLK0M7WUxzSy9DLGFLdEsrQztJTHVLL0MsY0t2SytDLEVBQUE7RUw2S2pEO0lNbktKLHNCRFZxRCxFQUFBO0VMcUtqRDtJQUNFLG1CS3RLK0M7UUxzSy9DLHVCS3RLK0M7WUxzSy9DLG1CS3RLK0M7SUx1Sy9DLG9CS3ZLK0MsRUFBQTtFTDZLakQ7SU1uS0osZ0JEVnFELEVBQUE7RUxxS2pEO0lBQ0UsbUJLdEsrQztRTHNLL0MsdUJLdEsrQztZTHNLL0MsbUJLdEsrQztJTHVLL0Msb0JLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyxpQkt0SytDO1lMc0svQyxhS3RLK0M7SUx1Sy9DLGNLdksrQyxFQUFBO0VMNktqRDtJTW5LSixzQkRWcUQsRUFBQTtFTHFLakQ7SUFDRSxtQkt0SytDO1FMc0svQyx1Qkt0SytDO1lMc0svQyxtQkt0SytDO0lMdUsvQyxvQkt2SytDLEVBQUE7RUw2S2pEO0lNbktKLGdCRFZxRCxFQUFBO0VMcUtqRDtJQUNF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O0VBQ2xCLGdCVmpFc0I7RVVrRXRCLG1CVmpFMEI7RVVrRTFCLGtDVmpFeUMsRUFBQTs7QVVxRTNDOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFBQTs7QUFJdEI7O0VWeVdFLDBDQUhzQztFQUl0QyxnQkFBZ0I7RVV0V2hCLG9CQUFvQixFQUFBOztBWDRGdEI7RVd2RkUsY1Z6RmlCO0VVMEZqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLG1FWG5PcUU7RVdvT3JFLG1CVnJMeUI7RVVzTHpCLGtCQWxRc0I7RUFtUXRCLGNWM0drQjtFVTRHbEIsa0NWekdzQztFVTBHdEMsYUFBYTtFQUNiLHFCVjVHeUI7RVU2R3pCLGdCVjlHbUIsRUFBQTtFVWlHckI7Ozs7OztJQWdCSSxXVmpOWTtJVWtOWixjQUFjLEVBQUE7O0FYK0NsQjtFV3RDUSxpQlB0TytDLEVBQUE7O0FPcU9qRDtFQUNFLGVQdE8rQyxFQUFBOztBT3FPakQ7RUFDRSxtQlB0TytDLEVBQUE7O0FPcU9qRDtFQUNFLG1CUHRPK0MsRUFBQTs7QU9xT2pEO0VBQ0Usb0JQdE8rQyxFQUFBOztBT3FPakQ7RUFDRSxtQlB0TytDLEVBQUE7O0FFbUVyRDtFTnlNRjtJV3RDUSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0UsbUJQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0Usb0JQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQSxFT3VPaEQ7O0FMcEtMO0VOeU1GO0lXdENRLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0UsbUJQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxtQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0Usb0JQdE8rQyxFQUFBLEVPdU9oRDs7QVhWUDtFV2lCRSxjVjFRMkI7RVUyUTNCLHFCVnBIeUI7RVVxSHpCLG9CQUFvQjtFQUNwQixlQUFlLEVBQUE7RUFKakI7SUFRSSxjVjNIMkQsRUFBQTtFVW1IL0Q7SUFlSSxTQUFTLEVBQUE7O0FYNEZiO0VXdEZFLGtCUGxRcUQ7RU9tUXJELFNBQVM7RUFDVCxlQUFlO0VBQ2YsYUFBYTtFQUNiLDZCVjNQYztFVTRQZCxjQUFjO0VBQ2Qsb0JWekl5QjtFVTBJekIsV0FBVyxFQUFBOztBQUliOzs7RUFHRSxnQlZoS3NCO0VVaUt0QixtQlZoSzBCO0VVaUsxQiw0QlYvSXlCLEVBQUE7O0FVbUozQjtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLHFCVjFKa0I7RVUySmxCLG9CVnpKc0IsRUFBQTs7QVU2SnhCO0VBQ0Usb0JWOUpzQixFQUFBOztBVWtLeEI7RUFFSSxvQlZuSzJCO0VVb0szQixnQkFBZ0IsRUFBQTs7QUFLcEI7RUFDRSxtQlZ6S3lCLEVBQUE7RVV3SzNCO0lBSUkscUJWMUs4QjtJVTJLOUIsaUJWcFJtQixFQUFBOztBVXlSdkI7RUFDRSxnQlZ4TTBCO0VVeU0xQixzQ1AxVHFEO0VPMlRyRCwyQlZoVGMsRUFBQTtFVTZTaEI7SUFNSSxnQlY5TW9CO0lVK01wQixjVmpUYSxFQUFBOztBVXNUakI7RUFDRSxjQUFjO0VBQ2Qsb0JQdFVxRDtFT3VVckQsY1Z6VGUsRUFBQTtFVXNUakI7SUFNSSxzQkFBc0IsRUFBQTs7QUFLMUI7RUFDRSxXVjFUUTtFVTJUUixZQUFZO0VBQ1osOEJWNVRRLEVBQUE7O0FVZ1VWO0VBQ0UsNERWeFFtRTtFVXlRbkUsbUJWMVR5QjtFVTJUekIsV1ZuVVE7RVVvVVIseUJWclZnQjtFVXNWaEIsc0JWaFZjO0VVaVZkLHFDUDVWcUQsRUFBQTs7QU9nV3ZEO0VBQ0UsMkJQNVZTO0VPNlZULFNBQVM7RUFDVCx5QlY5VmdCO0VVK1ZoQixXVjlVUTtFVStVUiw0RFZ0Um1FLEVBQUE7O0FXaEhyRTtFQUNFLGtCWDZMeUI7RVc1THpCLHFCWDZMNEI7RVc1TDVCLG1CWDREeUI7RVczRHpCLGdCWHVMc0I7RVd0THRCLGNYMENlLEVBQUE7O0FXdENqQjtFQUNFLGVYK0txQztFVzlLckMsZ0JY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LEVBQUE7RWM4RlY7SUF4RkEsc0JkbkRtQjtJY29EbkIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0VjOEZWO0lBeEZBLHlCZGxEa0I7SWNtRGxCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFYzhGVjtJQXhGQSx5QmRqRHFCO0lja0RyQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RWM4RlY7SUF4RkEseUJkaERvQjtJY2lEcEIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0VjOEZWO0lBeEZBLHNCZC9DbUI7SWNnRG5CLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFYzhGVjtJQXhGQSx5QmQ5QzBCO0ljK0MxQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RWM4RlY7SUF4RkEseUJkN0NzQjtJYzhDdEIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0VjOEZWO0lBeEZBLHlCZDVDd0I7SWM2Q3hCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFYzhGVjtJQXhGQSx5QmQzQ3VCO0ljNEN2QixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RWM4RlY7SUF4RkEseUJkMUNxQjtJYzJDckIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0VjOEZWO0lBeEZBLHNCZHpDcUI7SWMwQ3JCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFYzhGVjtJQXhGQSx5QmR4Q3FCO0ljeUNyQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RWM4RlY7SUF4RkEseUJkdkNzQjtJY3dDdEIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0VjOEZWO0lBeEZBLHlCZHRDa0I7SWN1Q2xCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFYzhGVjtJQXhGQSx5QmRyQ2tCO0ljc0NsQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RWM4RlY7SUF4RkEseUJkcENnQjtJY3FDaEIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0VjOEZWO0lBeEZBLHNCZG5DYTtJY29DYixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RWM4RlY7SUF4RkEseUJkbENzQjtJY21DdEIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0VjOEZWO0lBeEZBLHlCZGpDZ0I7SWNrQ2hCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFYzhGVjtJQXhGQSx5QmRoQytCO0ljaUMvQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RWM4RlY7SUF4RkEseUJkL0IyQjtJY2dDM0IsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0VjOEZWO0lBeEZBLHlCZDlCMkI7SWMrQjNCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFYzhGVjtJQXhGQSx5QmQ3QnlCO0ljOEJ6QixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RWM4RlY7SUFwRUEseUJkN0VrQjtJYzhFbEIsY2Q5RWtCLEVBQUE7SWNvRWxCO01BRUUsNkJBQTZCLEVBQUE7SUFVL0I7TUFDRSxxQkFOaUQ7TUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkN0VrQjtNYzhFbEIsY2Q5RWtCLEVBQUE7TWNnRmxCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZDVFNkI7TWM2RTdCLGNkN0U2QixFQUFBO01jK0U3QjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmQzRTZCO01jNEU3QixjZDVFNkIsRUFBQTtNYzhFN0I7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEsc0JkMUVpQjtNYzJFakIsV2QzRWlCLEVBQUE7TWM2RWpCO1FBQ0UsbUJBTmlEO1FBT2pELFlBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZHpFeUI7TWMwRXpCLGNkMUV5QixFQUFBO01jNEV6QjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmR4RW9CO01jeUVwQixjZHpFb0IsRUFBQTtNYzJFcEI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEsc0JkdkVtQjtNY3dFbkIsV2R4RW1CLEVBQUE7TWMwRW5CO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHlCZHRFa0I7TWN1RWxCLGNkdkVrQixFQUFBO01jeUVsQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmRyRXFCO01jc0VyQixjZHRFcUIsRUFBQTtNY3dFckI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkcEVvQjtNY3FFcEIsY2RyRW9CLEVBQUE7TWN1RXBCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7SUFzRW5EO01BcEVBLHNCZG5FbUI7TWNvRW5CLFdkcEVtQixFQUFBO01jc0VuQjtRQUNFLHFCQU5pRDtRQU9qRCxjQVBpRCxFQUFBO0lBc0VuRDtNQXBFQSx5QmRsRTBCO01jbUUxQixjZG5FMEIsRUFBQTtNY3FFMUI7UUFDRSxxQkFOaUQ7UUFPakQsY0FQaUQsRUFBQTtJQXNFbkQ7TUFwRUEseUJkakVzQjtNY2tFdEIsY2RsRXNCLEVBQUE7TWNvRXRCO1FBQ0UscUJBTmlEO1FBT2pELGNBUGlELEVBQUE7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SUFDUixnQkFBZ0I7SUFDaEIsV0FBVyxFQUFBOztBQUlmO0VBQ0UsaUNBQXlCO01BQXpCLDZCQUF5QjtVQUF6Qix5QkFBeUI7RUFDekIsNkJBQXFCO01BQXJCLHlCQUFxQjtVQUFyQixxQkFBcUIsRUFBQTs7QUNXekI7RUFUQSxxQkFBcUI7RUFDckIsY3pCcVBtQjtFeUJwUG5CLGdCekJxUG9CO0V5QnBQcEIsaUJ6QnFQc0I7RXlCcFB0QixrQkFBa0I7RUFDbEIsa0JBQWtCO0VBT2hCLG1CekJTZ0I7RXlCUmhCLFd6QjREUSxFQUFBO0V5QmhFVjtJQVNRLG1CekJJcUI7SXlCSHJCLFd6QnNERSxFQUFBO0V5QmhFVjtJQVNRLG1CekJLcUI7SXlCSnJCLFd6QnNERSxFQUFBO0V5QmhFVjtJQVNRLGdCekJNUztJeUJMVCxXekJzREUsRUFBQTtFeUJoRVY7SUFTUSxtQnpCT2lCO0l5Qk5qQixXekJzREUsRUFBQTtFeUJoRVY7SUFTUSxtQnpCUVk7SXlCUFosV3pCc0RFLEVBQUE7RXlCaEVWO0lBU1EsZ0J6QlNXO0l5QlJYLFd6QnNERSxFQUFBO0V5QmhFVjtJQVNRLG1CekJVVTtJeUJUVixXekJzREUsRUFBQTtFeUJoRVY7SUFTUSxtQnpCV2E7SXlCVmIsV3pCcURFLEVBQUE7RXlCL0RWO0lBU1EsbUJ6QllZO0l5QlhaLFd6QnFERSxFQUFBO0V5Qi9EVjtJQVNRLGdCekJhVztJeUJaWCxXekJxREUsRUFBQTtFeUIvRFY7SUFTUSxtQnpCY2tCO0l5QmJsQixXekJxREUsRUFBQTtFeUIvRFY7SUFTUSxtQnpCZWM7SXlCZGQsV3pCcURFLEVBQUE7RXlCL0RWO0lBU1EsbUJ6QmdCZ0I7SXlCZmhCLFd6QnNERSxFQUFBO0V5QmhFVjtJQVNRLG1CekJpQmU7SXlCaEJmLFd6QnNERSxFQUFBO0V5QmhFVjtJQVNRLG1CekJrQmE7SXlCakJiLFd6QnNERSxFQUFBO0V5QmhFVjtJQVNRLGdCekJtQmE7SXlCbEJiLFd6QnFERSxFQUFBO0V5Qi9EVjtJQVNRLG1CekJvQmE7SXlCbkJiLFd6QnFERSxFQUFBO0V5Qi9EVjtJ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LEVBQUE7RTJCa0NWO0liNUJBLHlCZHBEb0I7SWNxRHBCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFMkJrQ1Y7SWI1QkEsc0JkbkRtQjtJY29EbkIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0UyQmtDVjtJYjVCQSx5QmRsRGtCO0ljbURsQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RTJCa0NWO0liNUJBLHlCZGpEcUI7SWNrRHJCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFMkJrQ1Y7SWI1QkEseUJkaERvQjtJY2lEcEIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0UyQmtDVjtJYjVCQSxzQmQvQ21CO0ljZ0RuQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RTJCa0NWO0liNUJBLHlCZDlDMEI7SWMrQzFCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFMkJrQ1Y7SWI1QkEseUJkN0NzQjtJYzhDdEIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0UyQmtDVjtJYjVCQSx5QmQ1Q3dCO0ljNkN4QixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RTJCa0NWO0liNUJBLHlCZDNDdUI7SWM0Q3ZCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFMkJrQ1Y7SWI1QkEseUJkMUNxQjtJYzJDckIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0UyQmtDVjtJYjVCQSxzQmR6Q3FCO0ljMENyQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RTJCa0NWO0liNUJBLHlCZHhDcUI7SWN5Q3JCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFMkJrQ1Y7SWI1QkEseUJkdkNzQjtJY3dDdEIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0UyQmtDVjtJYjVCQSx5QmR0Q2tCO0ljdUNsQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RTJCa0NWO0liNUJBLHlCZHJDa0I7SWNzQ2xCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFMkJrQ1Y7SWI1QkEseUJkcENnQjtJY3FDaEIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0UyQmtDVjtJYjVCQSxzQmRuQ2E7SWNvQ2IsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0UyQmtDVjtJYjVCQSx5QmRsQ3NCO0ljbUN0QixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RTJCa0NWO0liNUJBLHlCZGpDZ0I7SWNrQ2hCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFMkJrQ1Y7SWI1QkEseUJkaEMrQjtJY2lDL0IsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0UyQmtDVjtJYjVCQSx5QmQvQjJCO0ljZ0MzQixXZFBVLEVBQUE7SWNTVjtNQUNFLHlCQVA2RDtNQVE3RCxXZFhRLEVBQUE7RTJCa0NWO0liNUJBLHlCZDlCMkI7SWMrQjNCLFdkUFUsRUFBQTtJY1NWO01BQ0UseUJBUDZEO01BUTdELFdkWFEsRUFBQTtFMkJrQ1Y7SWI1QkEseUJkN0J5QjtJYzhCekIsV2RQVSxFQUFBO0ljU1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RYUSxFQUFBO0UyQkVWO0lBS0ksV0FBVyxFQUFBO0lBR2I7TUFDRSxnQkFBZ0IsRUFBQTtFdEJrQ2xCO0lzQnZCRjtNQUtJLFdBQVc7TUFFYixnQkFBZ0IsRUFBQSxFQUNqQjtF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O0VBRWhCOzs7O0lBSUUsa0JBQWtCO0lBQ2xCLE1BQU07SUFDTixPQUFrQjtJQUNsQixXQUFXO0lBQ1gsWUFBWSxFQUFBO0VBS2Q7SUFJSSxzQkE3QmtCLEVBQUE7RUF5QnRCO0lBUUksY0FBYyxFQUFBOztBQ25CbEI7RUFWQSxxQkFBcUI7RUFDckIsMEJwQzBZK0I7RW9DelkvQixpQnBDd1lzQjtFb0N2WXRCLGNBQWM7RUFDZCxtQkFBbUI7RUFDbkIsZUFBZTtFQUNmLGdCcEM0RWU7RW9DckViLG1CcENRZ0I7RW9DUGhCLFdwQzJEUSxFQUFBO0VvQy9EVjtJQVNRLG1CcENHcUI7SW9DRnJCLFdwQ3FERSxFQUFBO0VvQy9EVjtJQVNRLG1CcENJcUI7SW9DSHJCLFdwQ3FERSxFQUFBO0VvQy9EVjtJQVNRLGdCcENLUztJb0NKVCxXcENxREUsRUFBQTtFb0MvRFY7SUFTUSxtQnBDTWlCO0lvQ0xqQixXcENxREUsRUFBQTtFb0MvRFY7SUFTUSxtQnBDT1k7SW9DTlosV3BDcURFLEVBQUE7RW9DL0RWO0lBU1EsZ0JwQ1FXO0lvQ1BYLFdwQ3FERSxFQUFBO0VvQy9EVjtJQVNRLG1CcENTVTtJb0NSVixXcENxREUsRUFBQTtFb0MvRFY7SUFTUSxtQnBDVWE7SW9DVGIsV3BDb0RFLEVBQUE7RW9DOURWO0lBU1EsbUJwQ1dZO0lvQ1ZaLFdwQ29ERSxFQUFBO0VvQzlEVjtJQVNRLGdCcENZVztJb0NYWCxXcENvREUsRUFBQTtFb0M5RFY7SUFTUSxtQnBDYWtCO0lvQ1psQixXcENvREUsRUFBQTtFb0M5RFY7SUFTUSxtQnBDY2M7SW9DYmQsV3BDb0RFLEVBQUE7RW9DOURWO0lBU1EsbUJwQ2VnQjtJb0NkaEIsV3BDcURFLEVBQUE7RW9DL0RWO0lBU1EsbUJwQ2dCZTtJb0NmZixXcENxREUsRUFBQTtFb0MvRFY7SUFTUSxtQnBDaUJhO0lvQ2hCYixXcENxREUsRUFBQTtFb0MvRFY7SUFTUSxnQnBDa0JhO0lvQ2pCYixXcENvREUsRUFBQTtFb0M5RFY7SUFTUSxtQnBDbUJhO0lvQ2xCYixXcENvREUsRUFBQTtFb0M5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a0IsRUFBQTs7QVBxTWQ7RU8vSUosNEI4QzdDZ0I7TTlDNkNoQixpQjhDN0NnQjtVOUM2Q2hCLFE4QzdDZ0IsRUFBQTs7QXJENExaO0VPL0lKLDRCOEM3Q2dCO005QzZDaEIsaUI4QzdDZ0I7VTlDNkNoQixROEM3Q2dCLEVBQUE7O0FyRDRMWjtFTy9JSiw0QjhDN0NnQjtNOUM2Q2hCLGlCOEM3Q2dCO1U5QzZDaEIsUThDN0NnQixFQUFBOztBckQ0TFo7RU8vSUosNEI4QzdDZ0I7TTlDNkNoQixpQjhDN0NnQjtVOUM2Q2hCLFE4QzdDZ0IsRUFBQTs7QXJENExaO0VPL0lKLDRCOEM3Q2dCO005QzZDaEIsaUI4QzdDZ0I7VTlDNkNoQixROEM3Q2dCLEVBQUE7O0FyRDRMWjtFTy9JSiw0QjhDN0NnQjtNOUM2Q2hCLGlCOEM3Q2dCO1U5QzZDaEIsUThDN0NnQixFQUFBOztBbEQ4SGQ7RUg4REU7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQSxFQUdYOztBbEQySEg7RUg4REU7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNo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QTs7QUpFM0I7RUdvQkEsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3ZCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpFM0I7RUdvQkEsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixVRmhDa0M7RUlBbEMsb0NBQTRCO0VBQTVCLDRCQUE0QixFQUFBOztBTFk1QjtFR29CQSxVRmhDcUMsRUFBQTs7QURBckM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGL0JrQztFSURsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMWTVCO0VHb0JBLFVGL0JxQyxFQUFBOztBRERyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsNkJGNUJtRDtNRTRCbkQseUJGNUJtRDtVRTRCbkQscUJGNUJtRDtFTUdqRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLCtCRjNCcUQ7TUUyQnJELDJCRjNCcUQ7VUUyQnJELHVCRjNCcUQ7RU1FbkQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQSTdCO0VHb0JBLG1ER1Y0QztVSFU1QywyQ0dWNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBsQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREduQ2lDO1VIbUNqQyw2Q0duQ2lDO0VIbUNqQyxnQ0YxQnNEO01FMEJ0RCw0QkYxQnNEO1VFMEJ0RCx3QkYxQnNEO0VNQ3BELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIscURHbEMrQjtVSGtDL0IsNkNHbEMrQjtFSGtDL0IsOEJGekJvRDtNRXlCcEQsMEJGekJvRDtVRXlCcEQsc0JGekJvRDtFTUFsRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3JDbUM7VUhxQ25DLDhDR3JDbUM7RUhxQ25DLGdDR0NlO01IRGYsNEJHQ2U7VUhEZix3QkdDZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLGdDR0NlO01IRGYsNEJHQ2U7VUhEZix3QkdDZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsNkJGdEJtRDtNRXNCbkQseUJGdEJtRDtVRXNCbkQscUJGdEJtRDtFTUhqRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBJaEM7RUdvQkEsc0RHckNtQztVSHFDbkMsOENHckNtQztFQ3VCakMsVUFBOEIsRUFBQTs7QVBsQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdSOEM7VUhROUMsMkNHUjhDO0VIUTlDLCtCRnJCcUQ7TUVxQnJELDJCRnJCcUQ7VUVxQnJELHVCRnJCcUQ7RU1KbkQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQSWhDO0VHb0JBLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUNzQm5DLFVBQThCLEVBQUE7O0FQbEJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUjhDO1VIUTlDLDJDR1I4QztFSFE5QyxnQ0ZwQnNEO01Fb0J0RCw0QkZwQnNEO1VFb0J0RCx3QkZwQnNEO0VNTHBELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEloQztFR29CQSxxREduQ2lDO1VIbUNqQyw2Q0duQ2lDO0VDcUIvQixVQUE4QixFQUFBOztBUGxCaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsOEJGbkJvRDtNRW1CcEQsMEJGbkJvRDtVRW1CcEQsc0JGbkJvRDtFTU5sRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBJaEM7RUdvQkEscURHbEMrQjtVSGtDL0IsNkNHbEMrQjtFQ29CN0IsVUFBOEIsRUFBQTs7QVBsQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdSOEM7VUhROUMsMkNHUjhDO0VIUTlDLGdDR0NlO01IRGYsNEJHQ2U7VUhEZix3QkdDZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBJaEM7RUdvQkEsc0RHckNtQztVSHFDbkMsOENHckNtQztFQ3VCakMsVUFBOEIsRUFBQTs7QVBsQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdSOEM7VUhROUMsMkNHUjhDO0VIUTlDLGdDR0NlO01IRGYsNEJHQ2U7VUhEZix3QkdDZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBJaEM7RUdvQkEsc0RHcENxQztVSG9DckMsOENHcENxQztFQ3NCbkMsVUFBOEIsRUFBQTs7QVBsQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtF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USx5QmhIdEZvQjtJZ0h1RnBCLGdCN0dyRWlEO0k2R3NFakQsZTdHdEVpRCxFQUFBO0U2R2xCekQ7SUE2RlksZ0JoSHhGVztJZ0h5RlgsNkJoSHpHUSxFQUFBO0VnSFdwQjtJQW1HUSx1QjdHakZpRDtJNkdrRmpELGlCN0dsRmlELEVBQUE7SUVtRXJEO00yR3JGSjtRQXVHWSxZQUFZLEVBQUEsRUFFbkI7O0FBR0w7RWhIdWRJLDBDQWJzQztFQWN0QyxnQkFBZ0I7RWdIcGRaLG9CN0c5RmlELEVBQUE7O0E2RzBGekQ7RUFRUSx1QjdHbEdpRCxFQUFBOztBNkcwRnpEOztFQWFRLHlCaEh6SG9CO0VnSDBIcEIsZ0I3R3hHaUQ7RTZHeUdqRCxlN0d6R2lELEVBQUE7O0E2RzBGekQ7RUFvQlksZ0JoSDNIVztFZ0g0SFgsNkJoSDVJUSxFQUFBOztBZ0h1SHBCO0VBMEJRLHdCN0dwSGlELEVBQUE7O0E2RzBGekQ7RUE4QlEsb0I3R3hIaUQ7RTZHeUhqRCwyQjdHekhpRCxFQUFBOztBNkcwRnpEO0VBbUNRLG1CaEhyR2U7RWdIc0dmLFVBQVUsRUFBQTs7QUFJbEI7RUFFUSxtQmhIaktZO0VnSGtLWixXaEhsSmU7RWdIbUpmLGtCN0d0SWlELEVBQUE7O0E2RzBJekQ7RUFDSSx5QmhIaEttQjtFZ0hpS25CLDBCN0c1SXFEO0U2RzZJckQsMkM3RzdJcUQ7RTZHOElyRCxrQkFBa0IsRUFBQTtFM0czRWxCO0kyR3VFSjtNQU9RLHlCN0dqSmlELEVBQUEsRTZHd0t4RDtFQTlCRDtJQVdRLGNoSGxMWTtJZ0htTFosa0I3R3RKaUQ7STZHdUpqRCxjN0d2SmlEO0k2R3dKakQsa0JBQWtCLEVBQUE7RUFkMUI7SUFrQlEsY2hIekxZO0lnSDBMWixvQjdHN0ppRDtJNkc4SmpELGM3RzlKaUQ7STZHK0pqRCxxQjdHL0ppRDtJNkdnS2pELGtCQUFrQixFQUFBO0lBdEIxQjtNQXlCWSx5QmhIaE1RO01nSGlNUixrQkFBa0I7TUFDbEIsa0I3R3JLNkMsRUFBQTs7QTZHMEt6RDtFQUNJLHlCaEhoTW1CO0VnSGlNbkIsMEI3RzVLcUQ7RTZHNktyRCx5QjdHN0txRCxFQUFBO0VFbUVyRDtJMkd1R0o7TUFNUSxpQjdHaExpRCxFQUFBLEU2R2tMeEQ7O0FBRUQ7RUFDSSx5QmhIMU1tQjtFZ0gyTW5CLDBCN0d0THFEO0U2R3VMckQsMkM3R3ZMcUQ7RTZHd0xyRCxrQkFBa0IsRUFBQTtFM0dySGxCO0kyR2lISjtNQU9RLHlCN0czTGlELEVBQUEsRTZHNk54RDtFQXpDRDs7SUFZUSxjaEg3Tlk7SWdIOE5aLGtCN0dqTWlEO0k2R2tNakQsYzdHbE1pRDtJNkdtTWpELGtCQUFrQixFQUFBO0VBZjFCO0lBbUJRLG9CN0d2TWlEO0k2R3dNakQscUI3R3hNaUQsRUFBQTtJNkdvTHpEO01BdUJZLHlCaEh4T1E7TWdIeU9SLGtCQUFrQjtNQUNsQixrQjdHN002QyxFQUFBO0U2R29MekQ7O0lBK0JRLGlCQUFpQixFQUFBO0VBL0J6QjtJQW1DUSxTQUFTLEVBQUE7RUFuQ2pCO0lBdUNRLGNoSGpQWSxFQUFBOztBZ0hxUHBCO0VBQ0kseUJoSHJQbUI7RWdIc1BuQiw2QjdHak9xRDtFNkdrT3JELDJDN0dsT3FEO0U2R21PckQsa0JBQWtCLEVBQUE7RTNHaEtsQjtJMkc0Sko7TUFPUSx5QjdHdE9pRCxFQUFBLEU2R3NQeEQ7RUF2QkQ7SUFXUSxjaEh2UVk7SWdId1FaLG9CN0czT2lEO0k2RzRPakQsYzdHNU9pRDtJNkc2T2pELHFCN0c3T2lEO0k2RzhPakQsa0JBQWtCLEVBQUE7SUFmMUI7TUFrQlkseUJoSDlRUTtNZ0grUVIsa0JBQWtCO01BQ2xCLGtCN0duUDZDLEVBQUE7O0E2R3dQekQ7RWhIK1NJLDBDQUhzQztFQUl0QyxnQkFBZ0I7RWdIN1NoQixvQjdHM1BxRDtFNkc0UHJELDBCN0c1UHFEO0U2RzZQckQseUJBQXlCO0VBQ3pCLG1CQUFtQixFQUFBO0UzRzNMbkI7STJHcUxKO01BU1EsbUI3R2pRaUQ7TTZHa1FqRCwwQjdHbFFpRCxFQUFBLEU2RzBReEQ7RUFsQkQ7SUFjUSxjaEhuU1k7SWdIb1NaLFlBQVk7SUFDWixvQjdHeFFpRCxFQUFBOztBNkc0UXpEO0VBQ0ksaUI3R3hRUyxFQUFBOztBNkcyUWI7RUFDSSxjaEg5U2dCO0VnSCtTaEIsc0I3R2xScUQsRUFBQTs7QTZHcVJ6RDtFQUNJLHlCQUF5QixFQUFBOztBQUc3QjtFQUNJLHdCN0cxUnFELEVBQUE7O0E2RzZSekQ7RUFDSSxxQjdHOVJxRCxFQUFBOztBNkdpU3pEO0VBQ0ksb0I3R2xTcUQ7RTZHbVNyRCxxQkFBcUIsRUFBQTs7QUFHekI7RUFDSSxjaEg3VGdCO0VnSDhUaEIsa0I3R3hTcUQ7RTZHeVNyRCxnQkFBZ0I7RUFDaEIsNkI3RzFTcUQsRUFBQTs7QTZHNlN6RDtFQUNJLDBCN0c5U3FELEVBQUE7O0E2R2lUekQ7RUFDSSxtQjdHbFRxRCxFQUFBOztBNkdxVHpEO0VBQ0ksY2hIblZnQjtFZ0hvVmhCLGNBQWM7RUFDZCxvQkFBb0I7RUFDcEIsc0I3R3pUcUQ7RTZHMFRyRCx3QkFBd0IsRUFBQTtFM0d2UHhCO0kyR2tQSjtNQVFRLHFCQUFxQjtNQUNyQixzQjdHOVRpRCxFQUFBLEU2R2dVeEQ7O0FBRUQ7RUFDSSxtQjdHblVxRDtFNkdvVXJELGdCQUFnQjtFQUNoQixvQjdHclVxRCxFQUFBOztBNkd3VXpEO0VBQ0ksZTdHelVxRCxFQUFBOztBNkc0VXpEO0VBQ0ksbUI3RzdVcUQ7RTZHOFVyRCxnQkFBZ0I7RUFDaEIsb0I3Ry9VcUQsRUFBQTs7QTZHa1Z6RDtFQUNJLGNoSGhYZ0I7RWdIaVhoQixjQUFjO0VBQ2QsbUI3R3JWcUQsRUFBQTtFNkdrVnpEO0lBTVEsY0FBYyxFQUFBOztBQUl0QjtFQUNJLGtCN0c3VnFELEVBQUE7RTZHNFZ6RDtJQUlRLGFBQWEsRUFBQTtJQUpyQjtNQU9ZLGNoSGhZUTtNZ0hpWVIsb0I3R3BXNkMsRUFBQTs7QTZHeVd6RDtFQUNJLHNCN0cxV3FELEVBQUE7O0E2RzZXekQ7RUFFUSxtQmhIdlZlO0VnSHdWZixVQUFVLEVBQUE7O0FBSGxCO0VBT1EsV0FBVyxFQUFBO0UzR2pUZjtJMkcwU0o7TUFVWSxjQUFjLEVBQUEsRUFFckI7O0FBWkw7RUFlUSxnQmhIelllO0VnSDBZZiwrQmhIMVpZO0VnSDJaWixXaEh4V0k7RWdIeVdKLGNBQWM7RUFDZCw0QjdHaFlpRCxFQUFBO0VFbUVyRDtJMkcwU0o7TUFzQlkscUI3R25ZNkMsRUFBQSxFNkdxWXBEOztBQUdMO0VBQ0kseUJBQXlCLEVBQUE7O0FBRzdCO0VBQ0kseUJBQXlCLEVBQUE7O0FBRzdCO0VBQ0ksbUJBQWM7TUFBZCxrQkFBYztVQUFkLGNBQWM7RUFDZCxxQjdHbFpxRDtFNkdtWnJELFVBQVU7RUFDVixvQkFBb0IsRUFBQTs7QUFHeEI7RUFDSSxZQUFZO0VBQ1osZ0JBQWdCLEVBQUE7RUFGcEI7SUFLUSxtQjdHNVppRCxFQUFBO0lFbUVyRDtNMkdvVko7UUFRWSxhQUFhLEVBQUEsRUFFcEI7O0FBR0w7RUFFUSxTQUFTLEVBQUE7O0FBSWpCO0VBQ0k7SUFFUSxXQUFXLEVBQUEsRUFDZDs7QUMzZlQ7RUFDSSx3QkFBd0IsRUFBQTs7QUFJNUI7RUFDSSx3QkFBd0IsRUFBQTs7QUFLNUI7RUFDSSxzQkFBc0IsRUFBQTs7QUFHMUI7RUFDSTtJQUNJLGFBQWEsRUFBQSxFQUNoQiIsImZpbGUiOiJhcHAuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiQGNoYXJzZXQgXCJVVEYtOFwiO1xuLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5odG1sIHtcbiAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7XG4gIC8qIDEgKi9cbiAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7XG4gIC8qIDIgKi9cbiAgLXdlYmtpdC10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5ib2R5IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5hcnRpY2xlLFxuYXNpZGUsXG5kZXRhaWxzLFxuZmlnY2FwdGlvbixcbmZpZ3VyZSxcbmZvb3RlcixcbmhlYWRlcixcbmhncm91cCxcbm1haW4sXG5tZW51LFxubmF2LFxuc2VjdGlvbixcbnN1bW1hcnkge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4vKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cbmF1ZGlvLFxuY2FudmFzLFxucHJvZ3Jlc3MsXG52aWRlbyB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgLyogMSAqL1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5hdWRpbzpub3QoW2NvbnRyb2xzXSkge1xuICBkaXNwbGF5OiBub25lO1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgYFtoaWRkZW5dYCBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC5cbiAgICogSGlkZSB0aGUgYHRlbXBsYXRlYCBlbGVtZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgRmlyZWZveCA8IDIyLlxuICAgKi9cbltoaWRkZW5dLFxudGVtcGxhdGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuYSB7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50OyB9XG5cbi8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5hOmFjdGl2ZSxcbmE6aG92ZXIge1xuICBvdXRsaW5lOiAwOyB9XG5cbi8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS8xMC8xMSwgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmFiYnJbdGl0bGVdIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IGRvdHRlZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmIsXG5zdHJvbmcge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmRmbiB7XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuaDEge1xuICBmb250LXNpemU6IDJlbTtcbiAgbWFyZ2luOiAwLjY3ZW0gMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBzdHlsaW5nIG5vdCBwcmVzZW50IGluIElFIDgvOS5cbiAgICovXG5tYXJrIHtcbiAgYmFja2dyb3VuZDogI2ZmMDtcbiAgY29sb3I6ICMwMDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnNtYWxsIHtcbiAgZm9udC1zaXplOiA4MCU7IH1cblxuLyoqXG4gICAqIFByZXZlbnQgYHN1YmAgYW5kIGBzdXBgIGFmZmVjdGluZyBgbGluZS1oZWlnaHRgIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zdWIsXG5zdXAge1xuICBmb250LXNpemU6IDc1JTtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG5cbnN1cCB7XG4gIHRvcDogLTAuNWVtOyB9XG5cbnN1YiB7XG4gIGJvdHRvbTogLTAuMjVlbTsgfVxuXG4vKiBFbWJlZGRlZCBjb250ZW50XG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuaW1nIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi8qKlxuICAgKiBDb3JyZWN0IG92ZXJmbG93IG5vdCBoaWRkZW4gaW4gSUUgOS8xMC8xMS5cbiAgICovXG5zdmc6bm90KDpyb290KSB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3MgbWFyZ2luIG5vdCBwcmVzZW50IGluIElFIDgvOSBhbmQgU2FmYXJpLlxuICAgKi9cbmZpZ3VyZSB7XG4gIG1hcmdpbjogMWVtIDQwcHg7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5ociB7XG4gIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICBoZWlnaHQ6IDA7IH1cblxuLyoqXG4gICAqIENvbnRhaW4gb3ZlcmZsb3cgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbnByZSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuY29kZSxcbmtiZCxcbnByZSxcbnNhbXAge1xuICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gIGZvbnQtc2l6ZTogMWVtOyB9XG5cbi8qIEZvcm1zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cbi8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5idXR0b24sXG5pbnB1dCxcbm9wdGdyb3VwLFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICBjb2xvcjogaW5oZXJpdDtcbiAgLyogMSAqL1xuICBmb250OiBpbmhlcml0O1xuICAvKiAyICovXG4gIG1hcmdpbjogMDtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5idXR0b24ge1xuICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYHRleHQtdHJhbnNmb3JtYCBpbmhlcml0YW5jZSBmb3IgYGJ1dHRvbmAgYW5kIGBzZWxlY3RgLlxuICAgKiBBbGwgb3RoZXIgZm9ybSBjb250cm9sIGVsZW1lbnRzIGRvIG5vdCBpbmhlcml0IGB0ZXh0LXRyYW5zZm9ybWAgdmFsdWVzLlxuICAgKiBDb3JyZWN0IGBidXR0b25gIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3gsIElFIDgvOS8xMC8xMSwgYW5kIE9wZXJhLlxuICAgKiBDb3JyZWN0IGBzZWxlY3RgIHN0eWxlIGluaGVyaXRhbmNlIGluIEZpcmVmb3guXG4gICAqL1xuYnV0dG9uLFxuc2VsZWN0IHtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5idXR0b24sXG5odG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sXG5pbnB1dFt0eXBlPVwicmVzZXRcIl0sXG5pbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBidXR0b247XG4gIC8qIDIgKi9cbiAgY3Vyc29yOiBwb2ludGVyO1xuICAvKiAzICovIH1cblxuLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuYnV0dG9uW2Rpc2FibGVkXSxcbmh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cbmJ1dHRvbjo6LW1vei1mb2N1cy1pbm5lcixcbmlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cbmlucHV0IHtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuXG4vKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cbmlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbmlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIC8qIDEgKi9cbiAgcGFkZGluZzogMDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgLyogMSAqL1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgaW5uZXIgcGFkZGluZyBhbmQgc2VhcmNoIGNhbmNlbCBidXR0b24gaW4gU2FmYXJpIGFuZCBDaHJvbWUgb24gT1MgWC5cbiAgICogU2FmYXJpIChidXQgbm90IENocm9tZSkgY2xpcHMgdGhlIGNhbmNlbCBidXR0b24gd2hlbiB0aGUgc2VhcmNoIGlucHV0IGhhc1xuICAgKiBwYWRkaW5nIChhbmQgYHRleHRmaWVsZGAgYXBwZWFyYW5jZSkuXG4gICAqL1xuaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWRlY29yYXRpb24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7IH1cblxuLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cbi8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBgY29sb3JgIG5vdCBiZWluZyBpbmhlcml0ZWQgaW4gSUUgOC85LzEwLzExLlxuICAgKiAyLiBSZW1vdmUgcGFkZGluZyBzbyBwZW9wbGUgYXJlbid0IGNhdWdodCBvdXQgaWYgdGhleSB6ZXJvIG91dCBmaWVsZHNldHMuXG4gICAqL1xubGVnZW5kIHtcbiAgYm9yZGVyOiAwO1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG50ZXh0YXJlYSB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi8qKlxuICAgKiBEb24ndCBpbmhlcml0IHRoZSBgZm9udC13ZWlnaHRgIChhcHBsaWVkIGJ5IGEgcnVsZSBhYm92ZSkuXG4gICAqIE5PVEU6IHRoZSBkZWZhdWx0IGNhbm5vdCBzYWZlbHkgYmUgY2hhbmdlZCBpbiBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYLlxuICAgKi9cbm9wdGdyb3VwIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogUmVtb3ZlIG1vc3Qgc3BhY2luZyBiZXR3ZWVuIHRhYmxlIGNlbGxzLlxuICAgKi9cbnRhYmxlIHtcbiAgYm9yZGVyLWNvbGxhcHNlOiBjb2xsYXBzZTtcbiAgYm9yZGVyLXNwYWNpbmc6IDA7IH1cblxudGQsXG50aCB7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmZvdW5kYXRpb24tbXEge1xuICBmb250LWZhbWlseTogXCJzbWFsbD0wZW0mbWVkaXVtPTQ4ZW0mbGFyZ2U9NjRlbSZ4bGFyZ2U9ODIuNWVtJnh4bGFyZ2U9OTBlbVwiOyB9XG5cbmh0bWwge1xuICBmb250LXNpemU6IDEwMCU7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7IH1cblxuKixcbio6OmJlZm9yZSxcbio6OmFmdGVyIHtcbiAgYm94LXNpemluZzogaW5oZXJpdDsgfVxuXG5ib2R5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBsaW5lLWhlaWdodDogMS41O1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7IH1cblxuaW1nIHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IGF1dG87XG4gIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG50ZXh0YXJlYSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogNTBweDtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG5zZWxlY3Qge1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuXG4jbWFwX2NhbnZhcyBpbWcsXG4jbWFwX2NhbnZhcyBlbWJlZCxcbiNtYXBfY2FudmFzIG9iamVjdCxcbi5tYXBfY2FudmFzIGltZyxcbi5tYXBfY2FudmFzIGVtYmVkLFxuLm1hcF9jYW52YXMgb2JqZWN0LFxuLm1xYS1kaXNwbGF5IGltZyxcbi5tcWEtZGlzcGxheSBlbWJlZCxcbi5tcWEtZGlzcGxheSBvYmplY3Qge1xuICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5idXR0b24ge1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuXG4uaXMtdmlzaWJsZSB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWhpZGRlbiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4ucm93IHtcbiAgbWF4LXdpZHRoOiA4Mi41cmVtO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWZsb3c6IHJvdyB3cmFwOyB9XG4gIC5yb3cgLnJvdyB7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC45Mzc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogLTAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yb3cgLnJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMC42MjVyZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTAuNjI1cmVtOyB9IH1cbiAgLnJvdy5leHBhbmRlZCB7XG4gICAgbWF4LXdpZHRoOiBub25lOyB9XG4gIC5yb3cuY29sbGFwc2UgPiAuY29sdW1uLCAucm93LmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5jb2x1bW4sIC5jb2x1bW5zIHtcbiAgZmxleDogMSAxIDBweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgbWluLXdpZHRoOiBpbml0aWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29sdW1uLCAuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuXG4uY29sdW1uLnJvdy5yb3csIC5yb3cucm93LmNvbHVtbnMge1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnJvdyAuY29sdW1uLnJvdy5yb3csIC5yb3cgLnJvdy5yb3cuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC0xIHtcbiAgZmxleDogMCAwIDguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMCB7XG4gIG1hcmdpbi1sZWZ0OiAwJTsgfVxuXG4uc21hbGwtMiB7XG4gIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtMSB7XG4gIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtMyB7XG4gIGZsZXg6IDAgMCAyNSU7XG4gIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMiB7XG4gIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLTQge1xuICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTMge1xuICBtYXJnaW4tbGVmdDogMjUlOyB9XG5cbi5zbWFsbC01IHtcbiAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC00IHtcbiAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuXG4uc21hbGwtNiB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtNSB7XG4gIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cblxuLnNtYWxsLTcge1xuICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTYge1xuICBtYXJnaW4tbGVmdDogNTAlOyB9XG5cbi5zbWFsbC04IHtcbiAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC03IHtcbiAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuXG4uc21hbGwtOSB7XG4gIGZsZXg6IDAgMCA3NSU7XG4gIG1heC13aWR0aDogNzUlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOCB7XG4gIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cblxuLnNtYWxsLTEwIHtcbiAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC05IHtcbiAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuXG4uc21hbGwtMTEge1xuICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICBtYXgtd2lkdGg6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEwIHtcbiAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuXG4uc21hbGwtMTIge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC1vZmZzZXQtMTEge1xuICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG5cbi5zbWFsbC1vcmRlci0xIHtcbiAgb3JkZXI6IDE7IH1cblxuLnNtYWxsLW9yZGVyLTIge1xuICBvcmRlcjogMjsgfVxuXG4uc21hbGwtb3JkZXItMyB7XG4gIG9yZGVyOiAzOyB9XG5cbi5zbWFsbC1vcmRlci00IHtcbiAgb3JkZXI6IDQ7IH1cblxuLnNtYWxsLW9yZGVyLTUge1xuICBvcmRlcjogNTsgfVxuXG4uc21hbGwtb3JkZXItNiB7XG4gIG9yZGVyOiA2OyB9XG5cbi5zbWFsbC11cC0xIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0xID4gLmNvbHVtbiwgLnNtYWxsLXVwLTEgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5zbWFsbC11cC0yIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC0yID4gLmNvbHVtbiwgLnNtYWxsLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtdXAtMyB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMyA+IC5jb2x1bW4sIC5zbWFsbC11cC0zID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLXVwLTQge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTQgPiAuY29sdW1uLCAuc21hbGwtdXAtNCA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG5cbi5zbWFsbC11cC01IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC01ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDIwJTtcbiAgICBtYXgtd2lkdGg6IDIwJTsgfVxuXG4uc21hbGwtdXAtNiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNiA+IC5jb2x1bW4sIC5zbWFsbC11cC02ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cblxuLnNtYWxsLXVwLTcge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTcgPiAuY29sdW1uLCAuc21hbGwtdXAtNyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG5cbi5zbWFsbC11cC04IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC04ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTggPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDEyLjUlO1xuICAgIG1heC13aWR0aDogMTIuNSU7IH1cblxuLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cblxuLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1uLCAuc21hbGwtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDAlOyB9XG4gIC5tZWRpdW0tMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLm1lZGl1bS0zIHtcbiAgICBmbGV4OiAwIDAgMjUlO1xuICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTMge1xuICAgIG1hcmdpbi1sZWZ0OiAyNSU7IH1cbiAgLm1lZGl1bS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS02IHtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLm1lZGl1bS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTYge1xuICAgIG1hcmdpbi1sZWZ0OiA1MCU7IH1cbiAgLm1lZGl1bS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLm1lZGl1bS05IHtcbiAgICBmbGV4OiAwIDAgNzUlO1xuICAgIG1heC13aWR0aDogNzUlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLm1lZGl1bS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC05IHtcbiAgICBtYXJnaW4tbGVmdDogNzUlOyB9XG4gIC5tZWRpdW0tMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS0xMiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5tZWRpdW0tdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0xID4gLmNvbHVtbiwgLm1lZGl1bS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1lZGl1bS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTIgPiAuY29sdW1uLCAubWVkaXVtLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLm1lZGl1bS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTMgPiAuY29sdW1uLCAubWVkaXVtLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLm1lZGl1bS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTQgPiAuY29sdW1uLCAubWVkaXVtLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLm1lZGl1bS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTUgPiAuY29sdW1uLCAubWVkaXVtLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLm1lZGl1bS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTYgPiAuY29sdW1uLCAubWVkaXVtLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTcgPiAuY29sdW1uLCAubWVkaXVtLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLm1lZGl1bS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubWVkaXVtLXVwLTggPiAuY29sdW1uLCAubWVkaXVtLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1uLCAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMSAxIDBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm1lZGl1bS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbiwgLm1lZGl1bS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS0xIHtcbiAgICBmbGV4OiAwIDAgOC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubGFyZ2UtMiB7XG4gICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTEge1xuICAgIG1hcmdpbi1sZWZ0OiA4LjMzMzMzJTsgfVxuICAubGFyZ2UtMywgLmJyYW5kLXBhZ2UtcHJvZHVjdHMgLmdyaWQtdGlsZSB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTIge1xuICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLTQge1xuICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5sYXJnZS01IHtcbiAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNCB7XG4gICAgbWFyZ2luLWxlZnQ6IDMzLjMzMzMzJTsgfVxuICAubGFyZ2UtNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTUge1xuICAgIG1hcmdpbi1sZWZ0OiA0MS42NjY2NyU7IH1cbiAgLmxhcmdlLTcge1xuICAgIGZsZXg6IDAgMCA1OC4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5sYXJnZS04IHtcbiAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtNyB7XG4gICAgbWFyZ2luLWxlZnQ6IDU4LjMzMzMzJTsgfVxuICAubGFyZ2UtOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTgge1xuICAgIG1hcmdpbi1sZWZ0OiA2Ni42NjY2NyU7IH1cbiAgLmxhcmdlLTEwIHtcbiAgICBmbGV4OiAwIDAgODMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubGFyZ2UtMTEge1xuICAgIGZsZXg6IDAgMCA5MS42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMCB7XG4gICAgbWFyZ2luLWxlZnQ6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2UtMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTExIHtcbiAgICBtYXJnaW4tbGVmdDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vcmRlci0xIHtcbiAgICBvcmRlcjogMTsgfVxuICAubGFyZ2Utb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLmxhcmdlLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5sYXJnZS1vcmRlci00IHtcbiAgICBvcmRlcjogNDsgfVxuICAubGFyZ2Utb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLmxhcmdlLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9XG4gIC5sYXJnZS11cC0xIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMSA+IC5jb2x1bW4sIC5sYXJnZS11cC0xID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLXVwLTIge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0yID4gLmNvbHVtbiwgLmxhcmdlLXVwLTIgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLXVwLTMge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC0zID4gLmNvbHVtbiwgLmxhcmdlLXVwLTMgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLXVwLTQge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC00ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLXVwLTUge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC01ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTUgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMjAlO1xuICAgICAgbWF4LXdpZHRoOiAyMCU7IH1cbiAgLmxhcmdlLXVwLTYge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC02ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTYgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLXVwLTcge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC03ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTQuMjg1NzElO1xuICAgICAgbWF4LXdpZHRoOiAxNC4yODU3MSU7IH1cbiAgLmxhcmdlLXVwLTgge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5sYXJnZS11cC04ID4gLmNvbHVtbiwgLmxhcmdlLXVwLTggPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMTIuNSU7XG4gICAgICBtYXgtd2lkdGg6IDEyLjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLWV4cGFuZCB7XG4gICAgZmxleDogMSAxIDBweDsgfSB9XG5cbi5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgZmxleDogMCAwIDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubGFyZ2UtdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5sYXJnZS11bmNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuXG4uc2hyaW5rIHtcbiAgZmxleDogMCAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uY29sdW1uLmFsaWduLXRvcCwgLmFsaWduLXRvcC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuXG4uY29sdW1uLmFsaWduLWJvdHRvbSwgLmFsaWduLWJvdHRvbS5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmNvbHVtbi5hbGlnbi1taWRkbGUsIC5hbGlnbi1taWRkbGUuY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uY29sdW1uLmFsaWduLXN0cmV0Y2gsIC5hbGlnbi1zdHJldGNoLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBzdHJldGNoOyB9XG5cbmRpdixcbmRsLFxuZHQsXG5kZCxcbnVsLFxub2wsXG5saSxcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNixcbnByZSxcbmZvcm0sXG5wLFxuYmxvY2txdW90ZSxcbnRoLFxudGQge1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxucCB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuXG5lbSxcbmkge1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0OyB9XG5cbnN0cm9uZyxcbmIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJIZWx2ZXRpY2EgTmV1ZVwiLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4gIG1hcmdpbi10b3A6IDA7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICBoMSBzbWFsbCxcbiAgaDIgc21hbGwsXG4gIGgzIHNtYWxsLFxuICBoNCBzbWFsbCxcbiAgaDUgc21hbGwsXG4gIGg2IHNtYWxsIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBsaW5lLWhlaWdodDogMDsgfVxuXG5oMSB7XG4gIGZvbnQtc2l6ZTogMi41cmVtOyB9XG5cbmgyIHtcbiAgZm9udC1zaXplOiAycmVtOyB9XG5cbmgzIHtcbiAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuXG5oNCB7XG4gIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cblxuaDUge1xuICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuXG5oNiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICBoMSB7XG4gICAgZm9udC1zaXplOiAyLjU2MjVyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi4xMjVyZW07IH1cbiAgaDMge1xuICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cbiAgaDQge1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH1cbiAgaDIge1xuICAgIGZvbnQtc2l6ZTogMi4xODc1cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIGg1IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIGg2IHtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbmEge1xuICBjb2xvcjogI2M3NTMwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIGE6aG92ZXIsIGE6Zm9jdXMge1xuICAgIGNvbG9yOiAjYWI0NzAwOyB9XG4gIGEgaW1nIHtcbiAgICBib3JkZXI6IDA7IH1cblxuaHIge1xuICBtYXgtd2lkdGg6IDgyLjVyZW07XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBib3JkZXItdG9wOiAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWxlZnQ6IDA7XG4gIG1hcmdpbjogMS4yNXJlbSBhdXRvO1xuICBjbGVhcjogYm90aDsgfVxuXG51bCxcbm9sLFxuZGwge1xuICBsaW5lLWhlaWdodDogMS42O1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlOyB9XG5cbmxpIHtcbiAgZm9udC1zaXplOiBpbmhlcml0OyB9XG5cbnVsIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG5vbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtOyB9XG5cbnVsIHVsLCBvbCB1bCwgdWwgb2wsIG9sIG9sIHtcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuZGwge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIGRsIGR0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjNyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuYmxvY2txdW90ZSB7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIHBhZGRpbmc6IDAuNTYyNXJlbSAxLjI1cmVtIDAgMS4xODc1cmVtO1xuICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7IH1cbiAgYmxvY2txdW90ZSwgYmxvY2txdW90ZSBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGNvbG9yOiAjOGE4YThhOyB9XG5cbmNpdGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGNvbG9yOiAjOGE4YThhOyB9XG4gIGNpdGU6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7IH1cblxuYWJiciB7XG4gIGNvbG9yOiAjMDAwO1xuICBjdXJzb3I6IGhlbHA7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQgIzAwMDsgfVxuXG5jb2RlIHtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjMxMjVyZW0gMC4wNjI1cmVtOyB9XG5cbmtiZCB7XG4gIHBhZGRpbmc6IDAuMTI1cmVtIDAuMjVyZW0gMDtcbiAgbWFyZ2luOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1mYW1pbHk6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7IH1cblxuLnN1YmhlYWRlciB7XG4gIG1hcmdpbi10b3A6IDAuMnJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS40O1xuICBjb2xvcjogIzhhOGE4YTsgfVxuXG4ubGVhZCB7XG4gIGZvbnQtc2l6ZTogMTI1JTtcbiAgbGluZS1oZWlnaHQ6IDEuNjsgfVxuXG4uc3RhdCB7XG4gIGZvbnQtc2l6ZTogMi41cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBwICsgLnN0YXQge1xuICAgIG1hcmdpbi10b3A6IC0xcmVtOyB9XG5cbi5uby1idWxsZXQge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4udGV4dC1sZWZ0IHtcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4udGV4dC1yaWdodCB7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi50ZXh0LWNlbnRlciB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4udGV4dC1qdXN0aWZ5IHtcbiAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5tZWRpdW0tdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLm1lZGl1bS10ZXh0LWNlbnRlciB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tZWRpdW0tdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtdGV4dC1sZWZ0IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sYXJnZS10ZXh0LXJpZ2h0IHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAubGFyZ2UtdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFyZ2UtdGV4dC1qdXN0aWZ5IHtcbiAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5OyB9IH1cblxuLnNob3ctZm9yLXByaW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBwcmludCB7XG4gICoge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5oaWRlLWZvci1wcmludCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIHRhYmxlLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gIHRoZWFkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICB0Ym9keS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdHIuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gIHRkLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgdGguc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuICBhLFxuICBhOnZpc2l0ZWQge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIGFbaHJlZl06YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiIChcIiBhdHRyKGhyZWYpIFwiKVwiOyB9XG4gIC5pciBhOmFmdGVyLFxuICBhW2hyZWZePSdqYXZhc2NyaXB0OiddOmFmdGVyLFxuICBhW2hyZWZePScjJ106YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnOyB9XG4gIGFiYnJbdGl0bGVdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cih0aXRsZSkgXCIpXCI7IH1cbiAgcHJlLFxuICBibG9ja3F1b3RlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjOGE4YThhO1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICB0aGVhZCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG4gIHRyLFxuICBpbWcge1xuICAgIHBhZ2UtYnJlYWstaW5zaWRlOiBhdm9pZDsgfVxuICBpbWcge1xuICAgIG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG4gIEBwYWdlIHtcbiAgICBtYXJnaW46IDAuNWNtOyB9XG4gIHAsXG4gIGgyLFxuICBoMyB7XG4gICAgb3JwaGFuczogMztcbiAgICB3aWRvd3M6IDM7IH1cbiAgaDIsXG4gIGgzIHtcbiAgICBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfSB9XG5cbi5idXR0b24ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHBhZGRpbmc6IDAuODVlbSAxZW07XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgZm9udC1zaXplOiAwLjlyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5idXR0b246aG92ZXIsIC5idXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTU5MDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi50aW55IHtcbiAgICBmb250LXNpemU6IDAuNnJlbTsgfVxuICAuYnV0dG9uLnNtYWxsIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24uZXhwYW5kZWQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuYnV0dG9uLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnByaW1hcnk6aG92ZXIsIC5idXR0b24ucHJpbWFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M1NDAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5LWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnByaW1hcnktYWNjZXNzaWJsZTpob3ZlciwgLmJ1dHRvbi5wcmltYXJ5LWFjY2Vzc2libGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzlmNDIwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ucHJpbWFyeS1kYXJrLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk0MDAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5LWRhcmstaG92ZXI6aG92ZXIsIC5idXR0b24ucHJpbWFyeS1kYXJrLWhvdmVyOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM3YTMzMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyLCAuYnV0dG9uLnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBibGFjaztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uc3RhbmRhcmQtYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDFkMWQ7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnN0YW5kYXJkLWJsYWNrOmhvdmVyLCAuYnV0dG9uLnN0YW5kYXJkLWJsYWNrOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxNzE3MTc7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmRhcmtncmV5MSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uZGFya2dyZXkxOmhvdmVyLCAuYnV0dG9uLmRhcmtncmV5MTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWExYTFhO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5tZWRpdW0tZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ubWVkaXVtLWdyYXk6aG92ZXIsIC5idXR0b24ubWVkaXVtLWdyYXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzI5MjkyOTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ubWlkZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwODI4NTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ubWlkZ3JleTpob3ZlciwgLmJ1dHRvbi5taWRncmV5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY4NmE7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmxpZ2h0LWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmxpZ2h0LWdyYXk6aG92ZXIsIC5idXR0b24ubGlnaHQtZ3JheTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzJjMmMyO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi50aGluLWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnRoaW4tZ3JheTpob3ZlciwgLmJ1dHRvbi50aGluLWdyYXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M2YzZjNjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uYm9yZGVyLWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmJvcmRlci1ncmV5OmhvdmVyLCAuYnV0dG9uLmJvcmRlci1ncmV5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhM2EzYTM7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnZlcnktbGlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M5YzljOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24udmVyeS1saWdodC1ncmV5OmhvdmVyLCAuYnV0dG9uLnZlcnktbGlnaHQtZ3JleTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTFhMWExO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5icmlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uYnJpZ2h0LWdyZXk6aG92ZXIsIC5idXR0b24uYnJpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I4YjhiYztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uZGlzYWJsZWQtZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQtZ3JleTpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZC1ncmV5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM2NjY2NjY7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLm5ldXRyYWwtZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzRkNGQ0ZDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ubmV1dHJhbC1ncmV5OmhvdmVyLCAuYnV0dG9uLm5ldXRyYWwtZ3JleTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2UzZTNlO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5zdGVlbC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTQ5NDk0O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zdGVlbC1ncmV5OmhvdmVyLCAuYnV0dG9uLnN0ZWVsLWdyZXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc2NzY3NjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ud2hpdGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ud2hpdGUtZGVmYXVsdDpob3ZlciwgLmJ1dHRvbi53aGl0ZS1kZWZhdWx0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLndoaXRlLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYzO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi53aGl0ZS1naG9zdDpob3ZlciwgLmJ1dHRvbi53aGl0ZS1naG9zdDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMGM0O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi53aGl0ZS1zbW9rZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ud2hpdGUtc21va2U6aG92ZXIsIC5idXR0b24ud2hpdGUtc21va2U6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YjliOTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uc3VjY2Vzczpob3ZlciwgLmJ1dHRvbi5zdWNjZXNzOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLndhcm5pbmc6aG92ZXIsIC5idXR0b24ud2FybmluZzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uYWxlcnQ6aG92ZXIsIC5idXR0b24uYWxlcnQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzExNjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uZXJyb3Ige1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmVycm9yOmhvdmVyLCAuYnV0dG9uLmVycm9yOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnVuYXZhaWxhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMWJlO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi51bmF2YWlsYWJsZTpob3ZlciwgLmJ1dHRvbi51bmF2YWlsYWJsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiODY1O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5ub2JlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk3OTc5NztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ubm9iZWw6aG92ZXIsIC5idXR0b24ubm9iZWw6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc5Nzk3OTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ubGlnaHQtZ3JheS1teS1nYXJhZ2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmxpZ2h0LWdyYXktbXktZ2FyYWdlOmhvdmVyLCAuYnV0dG9uLmxpZ2h0LWdyYXktbXktZ2FyYWdlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTkxOWQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnVuYXZhaWxhYmxlLXRleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZTFjMjI7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnVuYXZhaWxhYmxlLXRleHQ6aG92ZXIsIC5idXR0b24udW5hdmFpbGFibGUtdGV4dDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIxNjFiO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5ncmVlbi1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTU3ZjEwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ncmVlbi1hY2Nlc3NpYmxlOmhvdmVyLCAuYnV0dG9uLmdyZWVuLWFjY2Vzc2libGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExNjYwZDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ucmVkLWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNjE3NTI7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnJlZC1hY2Nlc3NpYmxlOmhvdmVyLCAuYnV0dG9uLnJlZC1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZTEyNDI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LCAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdzpob3ZlciwgLmJ1dHRvbi5ob2xsb3c6Zm9jdXMge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODAzNTAwO1xuICAgICAgY29sb3I6ICM4MDM1MDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzgwMzUwMDtcbiAgICAgICAgY29sb3I6ICM4MDM1MDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LWFjY2Vzc2libGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2M3NTMwMDtcbiAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnktYWNjZXNzaWJsZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzY0MmEwMDtcbiAgICAgICAgY29sb3I6ICM2NDJhMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LWRhcmstaG92ZXIge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk5NDAwMDtcbiAgICAgIGNvbG9yOiAjOTk0MDAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5LWRhcmstaG92ZXI6aG92ZXIsIC5idXR0b24uaG9sbG93LnByaW1hcnktZGFyay1ob3Zlcjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzRkMjAwMDtcbiAgICAgICAgY29sb3I6ICM0ZDIwMDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzAwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zZWNvbmRhcnk6aG92ZXIsIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogYmxhY2s7XG4gICAgICAgIGNvbG9yOiBibGFjazsgfVxuICAgIC5idXR0b24uaG9sbG93LnN0YW5kYXJkLWJsYWNrIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxZDFkMWQ7XG4gICAgICBjb2xvcjogIzFkMWQxZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuc3RhbmRhcmQtYmxhY2s6aG92ZXIsIC5idXR0b24uaG9sbG93LnN0YW5kYXJkLWJsYWNrOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGYwZjBmO1xuICAgICAgICBjb2xvcjogIzBmMGYwZjsgfVxuICAgIC5idXR0b24uaG9sbG93LmRhcmtncmV5MSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMjAyMDIwO1xuICAgICAgY29sb3I6ICMyMDIwMjA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmRhcmtncmV5MTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZGFya2dyZXkxOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTAxMDEwO1xuICAgICAgICBjb2xvcjogIzEwMTAxMDsgfVxuICAgIC5idXR0b24uaG9sbG93Lm1lZGl1bS1ncmF5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMzMzM7XG4gICAgICBjb2xvcjogIzMzMzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cubWVkaXVtLWdyYXk6aG92ZXIsIC5idXR0b24uaG9sbG93Lm1lZGl1bS1ncmF5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMWExYTFhO1xuICAgICAgICBjb2xvcjogIzFhMWExYTsgfVxuICAgIC5idXR0b24uaG9sbG93Lm1pZGdyZXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzgwODI4NTtcbiAgICAgIGNvbG9yOiAjODA4Mjg1OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5taWRncmV5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5taWRncmV5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDA0MTQzO1xuICAgICAgICBjb2xvcjogIzQwNDE0MzsgfVxuICAgIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICAgIGNvbG9yOiAjZjJmMmYyOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5saWdodC1ncmF5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5saWdodC1ncmF5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNzk3OTc5O1xuICAgICAgICBjb2xvcjogIzc5Nzk3OTsgfVxuICAgIC5idXR0b24uaG9sbG93LnRoaW4tZ3JheSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjhmOGY4O1xuICAgICAgY29sb3I6ICNmOGY4Zjg7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnRoaW4tZ3JheTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cudGhpbi1ncmF5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjN2M3YzdjO1xuICAgICAgICBjb2xvcjogIzdjN2M3YzsgfVxuICAgIC5idXR0b24uaG9sbG93LmJvcmRlci1ncmV5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgICBjb2xvcjogI2NjYzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYm9yZGVyLWdyZXk6aG92ZXIsIC5idXR0b24uaG9sbG93LmJvcmRlci1ncmV5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjY2NjY2O1xuICAgICAgICBjb2xvcjogIzY2NjY2NjsgfVxuICAgIC5idXR0b24uaG9sbG93LnZlcnktbGlnaHQtZ3JleSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzljOWM5O1xuICAgICAgY29sb3I6ICNjOWM5Yzk7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnZlcnktbGlnaHQtZ3JleTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cudmVyeS1saWdodC1ncmV5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjU2NTY1O1xuICAgICAgICBjb2xvcjogIzY1NjU2NTsgfVxuICAgIC5idXR0b24uaG9sbG93LmJyaWdodC1ncmV5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGU4ZTk7XG4gICAgICBjb2xvcjogI2U4ZThlOTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYnJpZ2h0LWdyZXk6aG92ZXIsIC5idXR0b24uaG9sbG93LmJyaWdodC1ncmV5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNzI3Mjc3O1xuICAgICAgICBjb2xvcjogIzcyNzI3NzsgfVxuICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLWdyZXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzgwODA4MDtcbiAgICAgIGNvbG9yOiAjODA4MDgwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZC1ncmV5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kaXNhYmxlZC1ncmV5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNDA0MDQwO1xuICAgICAgICBjb2xvcjogIzQwNDA0MDsgfVxuICAgIC5idXR0b24uaG9sbG93Lm5ldXRyYWwtZ3JleSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjNGQ0ZDRkO1xuICAgICAgY29sb3I6ICM0ZDRkNGQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lm5ldXRyYWwtZ3JleTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cubmV1dHJhbC1ncmV5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMjcyNzI3O1xuICAgICAgICBjb2xvcjogIzI3MjcyNzsgfVxuICAgIC5idXR0b24uaG9sbG93LnN0ZWVsLWdyZXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzk0OTQ5NDtcbiAgICAgIGNvbG9yOiAjOTQ5NDk0OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdGVlbC1ncmV5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdGVlbC1ncmV5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGE0YTRhO1xuICAgICAgICBjb2xvcjogIzRhNGE0YTsgfVxuICAgIC5idXR0b24uaG9sbG93LndoaXRlLWRlZmF1bHQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53aGl0ZS1kZWZhdWx0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53aGl0ZS1kZWZhdWx0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBncmF5O1xuICAgICAgICBjb2xvcjogZ3JheTsgfVxuICAgIC5idXR0b24uaG9sbG93LndoaXRlLWdob3N0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjM7XG4gICAgICBjb2xvcjogI2YyZjJmMzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZ2hvc3Q6aG92ZXIsIC5idXR0b24uaG9sbG93LndoaXRlLWdob3N0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNzQ3NDdlO1xuICAgICAgICBjb2xvcjogIzc0NzQ3ZTsgfVxuICAgIC5idXR0b24uaG9sbG93LndoaXRlLXNtb2tlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gICAgICBjb2xvcjogI2U3ZTdlNzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtc21va2U6aG92ZXIsIC5idXR0b24uaG9sbG93LndoaXRlLXNtb2tlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNzQ3NDc0O1xuICAgICAgICBjb2xvcjogIzc0NzQ3NDsgfVxuICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3Mge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzNhZGI3NjtcbiAgICAgIGNvbG9yOiAjM2FkYjc2OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5zdWNjZXNzOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMTU3NTM5O1xuICAgICAgICBjb2xvcjogIzE1NzUzOTsgfVxuICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmYWUwMDtcbiAgICAgIGNvbG9yOiAjZmZhZTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy53YXJuaW5nOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODA1NzAwO1xuICAgICAgICBjb2xvcjogIzgwNTcwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LmFsZXJ0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNlYzU4NDA7XG4gICAgICBjb2xvcjogI2VjNTg0MDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6aG92ZXIsIC5idXR0b24uaG9sbG93LmFsZXJ0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODgxZjBlO1xuICAgICAgICBjb2xvcjogIzg4MWYwZTsgfVxuICAgIC5idXR0b24uaG9sbG93LmVycm9yIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7XG4gICAgICBjb2xvcjogI2YwMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuZXJyb3I6aG92ZXIsIC5idXR0b24uaG9sbG93LmVycm9yOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXJvb247XG4gICAgICAgIGNvbG9yOiBtYXJvb247IH1cbiAgICAuYnV0dG9uLmhvbGxvdy51bmF2YWlsYWJsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZlMWJlO1xuICAgICAgY29sb3I6ICNmZmUxYmU7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy51bmF2YWlsYWJsZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2RmNzgwMDtcbiAgICAgICAgY29sb3I6ICNkZjc4MDA7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5ub2JlbCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgY29sb3I6ICM5Nzk3OTc7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lm5vYmVsOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ub2JlbDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzRjNGM0YztcbiAgICAgICAgY29sb3I6ICM0YzRjNGM7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5saWdodC1ncmF5LW15LWdhcmFnZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYWRiNWJkO1xuICAgICAgY29sb3I6ICNhZGI1YmQ7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXktbXktZ2FyYWdlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5saWdodC1ncmF5LW15LWdhcmFnZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzUxNWI2NDtcbiAgICAgICAgY29sb3I6ICM1MTViNjQ7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZTFjMjI7XG4gICAgICBjb2xvcjogI2RlMWMyMjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cudW5hdmFpbGFibGUtdGV4dDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cudW5hdmFpbGFibGUtdGV4dDpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzZmMGUxMTtcbiAgICAgICAgY29sb3I6ICM2ZjBlMTE7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5ncmVlbi1hY2Nlc3NpYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMxNTdmMTA7XG4gICAgICBjb2xvcjogIzE1N2YxMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuZ3JlZW4tYWNjZXNzaWJsZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZ3JlZW4tYWNjZXNzaWJsZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzBiNDAwODtcbiAgICAgICAgY29sb3I6ICMwYjQwMDg7IH1cbiAgICAuYnV0dG9uLmhvbGxvdy5yZWQtYWNjZXNzaWJsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzYxNzUyO1xuICAgICAgY29sb3I6ICNjNjE3NTI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnJlZC1hY2Nlc3NpYmxlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5yZWQtYWNjZXNzaWJsZTpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzYzMGMyOTtcbiAgICAgICAgY29sb3I6ICM2MzBjMjk7IH1cbiAgLmJ1dHRvbi5kaXNhYmxlZCwgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIG9wYWNpdHk6IDAuMjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQ6Zm9jdXMsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5kcm9wZG93bjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNGVtO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tbGVmdDogMWVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAuYnV0dG9uLmFycm93LW9ubHk6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB0b3A6IC0wLjFlbTsgfVxuXG5bdHlwZT0ndGV4dCddLCBbdHlwZT0ncGFzc3dvcmQnXSwgW3R5cGU9J2RhdGUnXSwgW3R5cGU9J2RhdGV0aW1lJ10sIFt0eXBlPSdkYXRldGltZS1sb2NhbCddLCBbdHlwZT0nbW9udGgnXSwgW3R5cGU9J3dlZWsnXSwgW3R5cGU9J2VtYWlsJ10sIFt0eXBlPSdudW1iZXInXSwgW3R5cGU9J3NlYXJjaCddLCBbdHlwZT0ndGVsJ10sIFt0eXBlPSd0aW1lJ10sIFt0eXBlPSd1cmwnXSwgW3R5cGU9J2NvbG9yJ10sXG50ZXh0YXJlYSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAyLjI1cmVtO1xuICBwYWRkaW5nOiAwLjVyZW07XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogMCAwIDFyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIHRyYW5zaXRpb246IGluaXRpYWw7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG4gIFt0eXBlPSd0ZXh0J106Zm9jdXMsIFt0eXBlPSdwYXNzd29yZCddOmZvY3VzLCBbdHlwZT0nZGF0ZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUnXTpmb2N1cywgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ106Zm9jdXMsIFt0eXBlPSdtb250aCddOmZvY3VzLCBbdHlwZT0nd2VlayddOmZvY3VzLCBbdHlwZT0nZW1haWwnXTpmb2N1cywgW3R5cGU9J251bWJlciddOmZvY3VzLCBbdHlwZT0nc2VhcmNoJ106Zm9jdXMsIFt0eXBlPSd0ZWwnXTpmb2N1cywgW3R5cGU9J3RpbWUnXTpmb2N1cywgW3R5cGU9J3VybCddOmZvY3VzLCBbdHlwZT0nY29sb3InXTpmb2N1cyxcbiAgdGV4dGFyZWE6Zm9jdXMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4YThhOGE7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDA7XG4gICAgdHJhbnNpdGlvbjogaW5pdGlhbDsgfVxuXG50ZXh0YXJlYSB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICB0ZXh0YXJlYVtyb3dzXSB7XG4gICAgaGVpZ2h0OiBhdXRvOyB9XG5cbmlucHV0OjpwbGFjZWhvbGRlcixcbnRleHRhcmVhOjpwbGFjZWhvbGRlciB7XG4gIGNvbG9yOiAjY2NjOyB9XG5cbmlucHV0OmRpc2FibGVkLCBpbnB1dFtyZWFkb25seV0sXG50ZXh0YXJlYTpkaXNhYmxlZCxcbnRleHRhcmVhW3JlYWRvbmx5XSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlNmU2ZTY7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG5bdHlwZT0nc3VibWl0J10sXG5bdHlwZT0nYnV0dG9uJ10ge1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTsgfVxuXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDsgfVxuXG5bdHlwZT0nZmlsZSddLFxuW3R5cGU9J2NoZWNrYm94J10sXG5bdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbjogMCAwIDFyZW07IH1cblxuW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcblt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gIG1hcmdpbi1yaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyB9XG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWxbZm9yXSxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbFtmb3JdIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cblxubGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbmxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG5bdHlwZT0nZmlsZSddIHtcbiAgd2lkdGg6IDEwMCU7IH1cblxubGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBsaW5lLWhlaWdodDogMS44O1xuICBjb2xvcjogIzAwMDsgfVxuICBsYWJlbC5taWRkbGUge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgcGFkZGluZzogMC41NjI1cmVtIDA7IH1cblxuLmhlbHAtdGV4dCB7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5pbnB1dC1ncm91cCB7XG4gIGRpc3BsYXk6IHRhYmxlO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cbiAgLmlucHV0LWdyb3VwID4gOmxhc3QtY2hpbGQgPiAqIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCwgLmlucHV0LWdyb3VwLWZpZWxkLCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgbWFyZ2luOiAwO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG5cbi5pbnB1dC1ncm91cC1sYWJlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgcGFkZGluZzogMCAxcmVtO1xuICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICBjb2xvcjogIzAwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgd2lkdGg6IDElO1xuICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmlnaHQ6IDA7IH1cbiAgLmlucHV0LWdyb3VwLWxhYmVsOmxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5pbnB1dC1ncm91cC1maWVsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGhlaWdodDogMi4zMTI1cmVtOyB9XG5cbi5pbnB1dC1ncm91cC1idXR0b24ge1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMSU7IH1cbiAgLmlucHV0LWdyb3VwLWJ1dHRvbiBhLFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGlucHV0LFxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5pbnB1dC1ncm91cCAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuXG5maWVsZHNldCB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwOyB9XG5cbmxlZ2VuZCB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5maWVsZHNldCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDEuMjVyZW07XG4gIG1hcmdpbjogMS4xMjVyZW0gMDsgfVxuICAuZmllbGRzZXQgbGVnZW5kIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDAgMC4xODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tbGVmdDogLTAuMTg3NXJlbTsgfVxuXG5zZWxlY3Qge1xuICBoZWlnaHQ6IDIuMjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogcmdiJTI4MTM4LCAxMzgsIDEzOCUyOSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcbiAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAtMXJlbSBjZW50ZXI7XG4gIGJhY2tncm91bmQtb3JpZ2luOiBjb250ZW50LWJveDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICBzZWxlY3Qge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PVwiKTsgfSB9XG4gIHNlbGVjdDpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgc2VsZWN0OjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHNlbGVjdFttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lOyB9XG5cbi5pcy1pbnZhbGlkLWlucHV0Om5vdCg6Zm9jdXMpIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgyMzYsIDg4LCA2NCwgMC4xKTtcbiAgYm9yZGVyLWNvbG9yOiAjZWM1ODQwOyB9XG5cbi5pcy1pbnZhbGlkLWxhYmVsIHtcbiAgY29sb3I6ICNlYzU4NDA7IH1cblxuLmZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAtMC41cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2VjNTg0MDsgfVxuICAuZm9ybS1lcnJvci5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW4tbGVmdDogMDsgfVxuXG4uYWNjb3JkaW9uLWl0ZW06Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpsYXN0LWNoaWxkID4gOmxhc3QtY2hpbGQge1xuICBib3JkZXItcmFkaXVzOiAwIDAgMCAwOyB9XG5cbi5hY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwOyB9XG4gIDpsYXN0LWNoaWxkOm5vdCguaXMtYWN0aXZlKSA+IC5hY2NvcmRpb24tdGl0bGUge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgLmFjY29yZGlvbi10aXRsZTpob3ZlciwgLmFjY29yZGlvbi10aXRsZTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcrJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTAuNXJlbTsgfVxuICAuaXMtYWN0aXZlID4gLmFjY29yZGlvbi10aXRsZTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAn4oCTJzsgfVxuXG4uYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAxcmVtO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuICA6bGFzdC1jaGlsZCA+IC5hY2NvcmRpb24tY29udGVudDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDZweDtcbiAgICBib3JkZXItY29sb3I6ICNmZjY5MDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICByaWdodDogMXJlbTsgfVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9J3RydWUnXSA+IGE6OmFmdGVyIHtcbiAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpOyB9XG5cbi5iYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zZW07XG4gIG1pbi13aWR0aDogMi4xZW07XG4gIGZvbnQtc2l6ZTogMC42cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnByaW1hcnktYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2M3NTMwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UucHJpbWFyeS1kYXJrLWhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTk0MDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnN0YW5kYXJkLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAjMWQxZDFkO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5kYXJrZ3JleTEge1xuICAgIGJhY2tncm91bmQ6ICMyMDIwMjA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLm1lZGl1bS1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMzMzO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5taWRncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5saWdodC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS50aGluLWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLmJvcmRlci1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS52ZXJ5LWxpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNjOWM5Yzk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLmJyaWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZThlOGU5O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS5kaXNhYmxlZC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4MDgwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5uZXV0cmFsLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM0ZDRkNGQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnN0ZWVsLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM5NDk0OTQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLndoaXRlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLndoaXRlLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS53aGl0ZS1zbW9rZSB7XG4gICAgYmFja2dyb3VuZDogI2U3ZTdlNztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS51bmF2YWlsYWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZTFiZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2Uubm9iZWwge1xuICAgIGJhY2tncm91bmQ6ICM5Nzk3OTc7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmxpZ2h0LWdyYXktbXktZ2FyYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWRiNWJkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGUxYzIyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5ncmVlbi1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTU3ZjEwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5yZWQtYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2M2MTc1MjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQge1xuICAgIG1hcmdpbi1yaWdodDogLTFweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzU0MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnktYWNjZXNzaWJsZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWFjY2Vzc2libGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWFjY2Vzc2libGUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWY0MjAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWRhcmstaG92ZXIgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5NDAwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeS1kYXJrLWhvdmVyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeS1kYXJrLWhvdmVyIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdhMzMwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFuZGFyZC1ibGFjayAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQxZDFkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFuZGFyZC1ibGFjayAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN0YW5kYXJkLWJsYWNrIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTcxNztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuZGFya2dyZXkxIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmRhcmtncmV5MSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmRhcmtncmV5MSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLm1lZGl1bS1ncmF5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm1lZGl1bS1ncmF5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubWVkaXVtLWdyYXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyOTI5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5taWRncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgyODU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm1pZGdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5taWRncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2Njg2YTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRoaW4tZ3JheSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC50aGluLWdyYXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC50aGluLWdyYXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjNmM2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ib3JkZXItZ3JleSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ib3JkZXItZ3JleSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmJvcmRlci1ncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAudmVyeS1saWdodC1ncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWM5Yzk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnZlcnktbGlnaHQtZ3JleSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnZlcnktbGlnaHQtZ3JleSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMWExYTE7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmJyaWdodC1ncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmJyaWdodC1ncmV5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYnJpZ2h0LWdyZXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiOGJjO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5kaXNhYmxlZC1ncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgwODA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmRpc2FibGVkLWdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5kaXNhYmxlZC1ncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAubmV1dHJhbC1ncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDRkNGQ7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5ldXRyYWwtZ3JleSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLm5ldXRyYWwtZ3JleSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMzZTNlM2U7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0ZWVsLWdyZXkgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk0OTQ5NDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RlZWwtZ3JleSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN0ZWVsLWdyZXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzY3Njc2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC53aGl0ZS1kZWZhdWx0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndoaXRlLWRlZmF1bHQgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53aGl0ZS1kZWZhdWx0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAud2hpdGUtZ2hvc3QgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAud2hpdGUtZ2hvc3QgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC53aGl0ZS1naG9zdCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndoaXRlLXNtb2tlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndoaXRlLXNtb2tlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2hpdGUtc21va2UgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliOWI5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzYWRiNzY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnN1Y2Nlc3MgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZhZTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53YXJuaW5nIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlYzU4NDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYWxlcnQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5lcnJvciAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5lcnJvciAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmVycm9yIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTFiZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC51bmF2YWlsYWJsZSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmI4NjU7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLm5vYmVsIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5Nzk3OTc7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm5vYmVsIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubm9iZWwgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk3OTc5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5LW15LWdhcmFnZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5LW15LWdhcmFnZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmxpZ2h0LWdyYXktbXktZ2FyYWdlIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTE5ZDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUtdGV4dCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGUxYzIyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC51bmF2YWlsYWJsZS10ZXh0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUtdGV4dCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjE2MWI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmdyZWVuLWFjY2Vzc2libGUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1N2YxMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZ3JlZW4tYWNjZXNzaWJsZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmdyZWVuLWFjY2Vzc2libGUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2NjBkO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5yZWQtYWNjZXNzaWJsZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzYxNzUyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5yZWQtYWNjZXNzaWJsZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnJlZC1hY2Nlc3NpYmxlIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzllMTI0MjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24sIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkIC5idXR0b246bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLXNtYWxsIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3ItbWVkaXVtIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbC5leHBhbmRlZCAuYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG5cbi5jYWxsb3V0IHtcbiAgbWFyZ2luOiAwIDAgMXJlbSAwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDAsIDAsIDAuMjUpO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTsgfVxuICAuY2FsbG91dCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAuY2FsbG91dCA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmU5ZDk7IH1cbiAgLmNhbGxvdXQucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlNGQwOyB9XG4gIC5jYWxsb3V0LnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTBjOTsgfVxuICAuY2FsbG91dC5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOWQ5ZDk7IH1cbiAgLmNhbGxvdXQuc3RhbmRhcmQtYmxhY2sge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGRkZGQ7IH1cbiAgLmNhbGxvdXQuZGFya2dyZXkxIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGVkZWRlOyB9XG4gIC5jYWxsb3V0Lm1lZGl1bS1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTBlMGUwOyB9XG4gIC5jYWxsb3V0Lm1pZGdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWQ7IH1cbiAgLmNhbGxvdXQubGlnaHQtZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZkZmRmZDsgfVxuICAuY2FsbG91dC50aGluLWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZWZlZmU7IH1cbiAgLmNhbGxvdXQuYm9yZGVyLWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7IH1cbiAgLmNhbGxvdXQudmVyeS1saWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OyB9XG4gIC5jYWxsb3V0LmJyaWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNmY2ZjOyB9XG4gIC5jYWxsb3V0LmRpc2FibGVkLWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlY2VjZWM7IH1cbiAgLmNhbGxvdXQubmV1dHJhbC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTRlNGU0OyB9XG4gIC5jYWxsb3V0LnN0ZWVsLWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlZmVmZWY7IH1cbiAgLmNhbGxvdXQud2hpdGUtZGVmYXVsdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLmNhbGxvdXQud2hpdGUtZ2hvc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmQ7IH1cbiAgLmNhbGxvdXQud2hpdGUtc21va2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmZiZmI7IH1cbiAgLmNhbGxvdXQuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UxZmFlYTsgfVxuICAuY2FsbG91dC53YXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmM2Q5OyB9XG4gIC5jYWxsb3V0LmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmNlNmUyOyB9XG4gIC5jYWxsb3V0LmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZkOWQ5OyB9XG4gIC5jYWxsb3V0LnVuYXZhaWxhYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmYmY1OyB9XG4gIC5jYWxsb3V0Lm5vYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWZlZmVmOyB9XG4gIC5jYWxsb3V0LmxpZ2h0LWdyYXktbXktZ2FyYWdlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjNmNGY1OyB9XG4gIC5jYWxsb3V0LnVuYXZhaWxhYmxlLXRleHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYmRjZGQ7IH1cbiAgLmNhbGxvdXQuZ3JlZW4tYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2QwZjljZTsgfVxuICAuY2FsbG91dC5yZWQtYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZDhlNDsgfVxuICAuY2FsbG91dC5zbWFsbCB7XG4gICAgcGFkZGluZy10b3A6IDAuNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNXJlbTsgfVxuICAuY2FsbG91dC5sYXJnZSB7XG4gICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogM3JlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDNyZW07IH1cblxuLmNsb3NlLWJ1dHRvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICM4YThhOGE7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5jbG9zZS1idXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLmNsb3NlLWJ1dHRvbjpob3ZlciwgLmNsb3NlLWJ1dHRvbjpmb2N1cyB7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLm1lbnUge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm1lbnUgPiBsaSB7XG4gICAgICBvdXRsaW5lOiAwOyB9XG4gIC5tZW51ID4gbGkgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjdyZW0gMCAwIDM4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLm1lbnUgaW5wdXQsXG4gIC5tZW51IGEsXG4gIC5tZW51IGJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVudSA+IGxpID4gYSBpbWcsXG4gIC5tZW51ID4gbGkgPiBhIGksXG4gIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgIC5tZW51ID4gbGkgPiBhIGltZyArIHNwYW4sXG4gICAgLm1lbnUgPiBsaSA+IGEgaSArIHNwYW4sXG4gICAgLm1lbnUgPiBsaSA+IGEgc3ZnICsgc3BhbiB7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZW51ID4gbGkgPiBhIGltZyxcbiAgLm1lbnUgPiBsaSA+IGEgaSxcbiAgLm1lbnUgPiBsaSA+IGEgc3ZnIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5tZW51ID4gbGkge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgLm1lbnUudmVydGljYWwgPiBsaSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gICAgLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5tZW51LnNpbXBsZSBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAubWVudS5zaW1wbGUgYSB7XG4gICAgcGFkZGluZzogMDsgfVxuICAubWVudS5hbGlnbi1yaWdodDo6YmVmb3JlLCAubWVudS5hbGlnbi1yaWdodDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAubWVudS5hbGlnbi1yaWdodDo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5tZW51LmFsaWduLXJpZ2h0ID4gbGkge1xuICAgIGZsb2F0OiByaWdodDsgfVxuICAubWVudS5leHBhbmRlZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDsgfVxuICAgIC5tZW51LmV4cGFuZGVkID4gbGk6Zmlyc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAubWVudS5pY29uLXRvcCA+IGxpID4gYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgaW1nLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGksXG4gICAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEgc3ZnIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgbWFyZ2luOiAwIGF1dG8gMC4yNXJlbTsgfVxuICAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbi1sZWZ0OiAxcmVtOyB9XG4gIC5tZW51IC5hY3RpdmUgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG5cbi5tZW51LXRleHQge1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXRvcDogMDtcbiAgcGFkZGluZy1ib3R0b206IDA7XG4gIHBhZGRpbmc6IDAuN3JlbSAwIDAgMzhweDsgfVxuXG4ubWVudS1jZW50ZXJlZCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVudS1jZW50ZXJlZCA+IC5tZW51IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5tZW51LWljb24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb246OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAsIDAgMTRweCAwICMwMDA7IH1cbiAgLm1lbnUtaWNvbjpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjY2NjLCAwIDE0cHggMCAjY2NjOyB9XG5cbi5tZW51LWljb24uZGFyayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDE2cHg7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMDAwLCAwIDE0cHggMCAjMDAwOyB9XG4gIC5tZW51LWljb24uZGFyazpob3Zlcjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICM4YThhOGE7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjOGE4YThhLCAwIDE0cHggMCAjOGE4YThhOyB9XG5cbi5pcy1kcmlsbGRvd24ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLmlzLWRyaWxsZG93biBsaSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuXG4uaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMTAwJTtcbiAgei1pbmRleDogLTE7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXI7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LmlzLWFjdGl2ZSB7XG4gICAgei1pbmRleDogMTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1jbG9zaW5nIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA2cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmY2OTAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDZweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmY2OTAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjc1cmVtOyB9XG5cbi5kcm9wZG93bi1wYW5lIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcGFkZGluZzogMXJlbTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAzMDBweDtcbiAgei1pbmRleDogMTA7IH1cbiAgLmRyb3Bkb3duLXBhbmUuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4uZHJvcGRvd24tcGFuZS50aW55IHtcbiAgd2lkdGg6IDEwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLnNtYWxsIHtcbiAgd2lkdGg6IDIwMHB4OyB9XG5cbi5kcm9wZG93bi1wYW5lLmxhcmdlIHtcbiAgd2lkdGg6IDQwMHB4OyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICByaWdodDogYXV0bztcbiAgbGVmdDogMDtcbiAgdG9wOiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiAjYzc1MzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgcmlnaHQ6IDVweDtcbiAgbWFyZ2luLXRvcDogLTJweDsgfVxuXG5bZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmRyb3Bkb3duLm1lbnUgYSB7XG4gIG91dGxpbmU6IDA7IH1cblxuLm5vLWpzIC5kcm9wZG93bi5tZW51IHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgdG9wOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgcmlnaHQ6IDE0cHg7XG4gIG1hcmdpbi10b3A6IC0zcHg7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNjNzUzMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2M3NTMwMDtcbiAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgcGFkZGluZy1yaWdodDogMS41cmVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICNjNzUzMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjNzUzMDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtaG9yaXpvbnRhbCA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6ICNjNzUzMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICByaWdodDogNXB4O1xuICAgIG1hcmdpbi10b3A6IC0ycHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAwOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNjNzUzMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjNzUzMDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDsgfSB9XG5cbi5kcm9wZG93bi5tZW51LmFsaWduLXJpZ2h0IC5pcy1kcm9wZG93bi1zdWJtZW51LmZpcnN0LXN1YiB7XG4gIHRvcDogMTAwJTtcbiAgbGVmdDogYXV0bztcbiAgcmlnaHQ6IDA7IH1cblxuLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwge1xuICB3aWR0aDogMTAwcHg7IH1cbiAgLmlzLWRyb3Bkb3duLW1lbnUudmVydGljYWwuYWxpZ24tcmlnaHQge1xuICAgIGZsb2F0OiByaWdodDsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogYXV0bzsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAxMDAlOyB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIHotaW5kZXg6IDE7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIHJpZ2h0OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYzc1MzAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIG1hcmdpbi10b3A6IC0xcHg7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUgPiBsaSB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZmxleC12aWRlbyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5mbGV4LXZpZGVvIGlmcmFtZSxcbiAgLmZsZXgtdmlkZW8gb2JqZWN0LFxuICAuZmxleC12aWRlbyBlbWJlZCxcbiAgLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuICAuZmxleC12aWRlby52aW1lbyB7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cblxuLmxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjhyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5wcmltYXJ5LWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQ6ICNjNzUzMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzk5NDAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5zdGFuZGFyZC1ibGFjayB7XG4gICAgYmFja2dyb3VuZDogIzFkMWQxZDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuZGFya2dyZXkxIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5tZWRpdW0tZ3JheSB7XG4gICAgYmFja2dyb3VuZDogIzMzMztcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwubWlkZ3JleSB7XG4gICAgYmFja2dyb3VuZDogIzgwODI4NTtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwubGlnaHQtZ3JheSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwudGhpbi1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC5ib3JkZXItZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2NjYztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwudmVyeS1saWdodC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjYzljOWM5O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC5icmlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2U4ZThlOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuZGlzYWJsZWQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogIzgwODA4MDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwubmV1dHJhbC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjNGQ0ZDRkO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5zdGVlbC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiAjOTQ5NDk0O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC53aGl0ZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC53aGl0ZS1naG9zdCB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwud2hpdGUtc21va2Uge1xuICAgIGJhY2tncm91bmQ6ICNlN2U3ZTc7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQ6ICMzYWRiNzY7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLndhcm5pbmcge1xuICAgIGJhY2tncm91bmQ6ICNmZmFlMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5lcnJvciB7XG4gICAgYmFja2dyb3VuZDogI2YwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwudW5hdmFpbGFibGUge1xuICAgIGJhY2tncm91bmQ6ICNmZmUxYmU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLm5vYmVsIHtcbiAgICBiYWNrZ3JvdW5kOiAjOTc5Nzk3O1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5saWdodC1ncmF5LW15LWdhcmFnZSB7XG4gICAgYmFja2dyb3VuZDogI2FkYjViZDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwudW5hdmFpbGFibGUtdGV4dCB7XG4gICAgYmFja2dyb3VuZDogI2RlMWMyMjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuZ3JlZW4tYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogIzE1N2YxMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwucmVkLWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQ6ICNjNjE3NTI7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLm1lZGlhLW9iamVjdCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5tZWRpYS1vYmplY3QgaW1nIHtcbiAgICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm1lZGlhLW9iamVjdC5zdGFjay1mb3Itc21hbGwgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMXJlbTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24gaW1nIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb246bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctbGVmdDogMXJlbTsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24gPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAubWVkaWEtb2JqZWN0LXNlY3Rpb24ubWlkZGxlIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5ib3R0b20ge1xuICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207IH1cblxuaHRtbCxcbmJvZHkge1xuICBoZWlnaHQ6IDEwMCU7IH1cblxuLm9mZi1jYW52YXMtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bzsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjpiZWZvcmUsIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5vZmYtY2FudmFzLWNvbnRlbnQsXG4ub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgbWluLWhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuNXMgZWFzZTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICB6LWluZGV4OiAxO1xuICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7XG4gIGJveC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4uanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjVzIGVhc2U7IH1cblxuLm9mZi1jYW52YXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIHotaW5kZXg6IC0xO1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vZmYtY2FudmFzIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLWxlZnQge1xuICAgIGxlZnQ6IC0yNTBweDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDI1MHB4OyB9XG4gICAgLmlzLW9wZW4tbGVmdCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMjUwcHgpOyB9XG4gIC5vZmYtY2FudmFzLnBvc2l0aW9uLXJpZ2h0IHtcbiAgICByaWdodDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1yaWdodCB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTI1MHB4KTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbWVkaXVtIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAyNTBweDsgfVxuICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbWVkaXVtIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICBsZWZ0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1sYXJnZSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIHtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDI1MHB4OyB9IH1cblxuLm9yYml0IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5vcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4ub3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAub3JiaXQtc2xpZGUubm8tbW90aW9udWkuaXMtYWN0aXZlIHtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDsgfVxuXG4ub3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5vcmJpdC1pbWFnZSB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ub3JiaXQtY2FwdGlvbiB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYm90dG9tOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuXG4ub3JiaXQtcHJldmlvdXMsIC5vcmJpdC1uZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB6LWluZGV4OiAxMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgY29sb3I6ICNmZmY7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1wcmV2aW91cywgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5vcmJpdC1uZXh0IHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5vcmJpdC1wcmV2aW91czpob3ZlciwgLm9yYml0LW5leHQ6aG92ZXIsIC5vcmJpdC1wcmV2aW91czphY3RpdmUsIC5vcmJpdC1uZXh0OmFjdGl2ZSwgLm9yYml0LXByZXZpb3VzOmZvY3VzLCAub3JiaXQtbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cyB7XG4gIGxlZnQ6IDA7IH1cblxuLm9yYml0LW5leHQge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogMDsgfVxuXG4ub3JiaXQtYnVsbGV0cyB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogMC44cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwLjhyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LWJ1bGxldHMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LWJ1bGxldHMgYnV0dG9uIHtcbiAgICB3aWR0aDogMS4ycmVtO1xuICAgIGhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMC4xcmVtO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG4gICAgLm9yYml0LWJ1bGxldHMgYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b24uaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAucGFnaW5hdGlvbjo6YmVmb3JlLCAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucGFnaW5hdGlvbjo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wYWdpbmF0aW9uIGxpIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4wNjI1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wYWdpbmF0aW9uIGxpOmxhc3QtY2hpbGQsIC5wYWdpbmF0aW9uIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wYWdpbmF0aW9uIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgLnBhZ2luYXRpb24gYSxcbiAgLnBhZ2luYXRpb24gYnV0dG9uIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAwLjE4NzVyZW0gMC42MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAgIC5wYWdpbmF0aW9uIGE6aG92ZXIsXG4gICAgLnBhZ2luYXRpb24gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNlNmU2ZTY7IH1cbiAgLnBhZ2luYXRpb24gLmN1cnJlbnQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAucGFnaW5hdGlvbiAuZGlzYWJsZWQge1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogI2NjYztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLnBhZ2luYXRpb24gLmRpc2FibGVkOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gIC5wYWdpbmF0aW9uIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICdcXDIwMjYnO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4ucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4ucGFnaW5hdGlvbi1wcmV2aW91cy5kaXNhYmxlZDo6YmVmb3JlIHtcbiAgY29udGVudDogJ1xcMDBhYic7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLXJpZ2h0OiAwLjVyZW07IH1cblxuLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbi5wYWdpbmF0aW9uLW5leHQuZGlzYWJsZWQ6OmFmdGVyIHtcbiAgY29udGVudDogJ1xcMDBiYic7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG4ucHJvZ3Jlc3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICBoZWlnaHQ6IDFyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgLnByb2dyZXNzLnByaW1hcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5LWFjY2Vzc2libGUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwOyB9XG4gIC5wcm9ncmVzcy5wcmltYXJ5LWRhcmstaG92ZXIgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTk0MDAwOyB9XG4gIC5wcm9ncmVzcy5zZWNvbmRhcnkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwOyB9XG4gIC5wcm9ncmVzcy5zdGFuZGFyZC1ibGFjayAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxZDFkMWQ7IH1cbiAgLnByb2dyZXNzLmRhcmtncmV5MSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7IH1cbiAgLnByb2dyZXNzLm1lZGl1bS1ncmF5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzMzMzsgfVxuICAucHJvZ3Jlc3MubWlkZ3JleSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgyODU7IH1cbiAgLnByb2dyZXNzLmxpZ2h0LWdyYXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyOyB9XG4gIC5wcm9ncmVzcy50aGluLWdyYXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4OyB9XG4gIC5wcm9ncmVzcy5ib3JkZXItZ3JleSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH1cbiAgLnByb2dyZXNzLnZlcnktbGlnaHQtZ3JleSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWM5Yzk7IH1cbiAgLnByb2dyZXNzLmJyaWdodC1ncmV5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlOTsgfVxuICAucHJvZ3Jlc3MuZGlzYWJsZWQtZ3JleSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgwODA7IH1cbiAgLnByb2dyZXNzLm5ldXRyYWwtZ3JleSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM0ZDRkNGQ7IH1cbiAgLnByb2dyZXNzLnN0ZWVsLWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTQ5NDk0OyB9XG4gIC5wcm9ncmVzcy53aGl0ZS1kZWZhdWx0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAucHJvZ3Jlc3Mud2hpdGUtZ2hvc3QgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYzOyB9XG4gIC5wcm9ncmVzcy53aGl0ZS1zbW9rZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7IH1cbiAgLnByb2dyZXNzLnN1Y2Nlc3MgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2OyB9XG4gIC5wcm9ncmVzcy53YXJuaW5nIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDsgfVxuICAucHJvZ3Jlc3MuYWxlcnQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwOyB9XG4gIC5wcm9ncmVzcy5lcnJvciAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMDA7IH1cbiAgLnByb2dyZXNzLnVuYXZhaWxhYmxlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTFiZTsgfVxuICAucHJvZ3Jlc3Mubm9iZWwgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5Nzk3OyB9XG4gIC5wcm9ncmVzcy5saWdodC1ncmF5LW15LWdhcmFnZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNhZGI1YmQ7IH1cbiAgLnByb2dyZXNzLnVuYXZhaWxhYmxlLXRleHQgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGUxYzIyOyB9XG4gIC5wcm9ncmVzcy5ncmVlbi1hY2Nlc3NpYmxlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzE1N2YxMDsgfVxuICAucHJvZ3Jlc3MucmVkLWFjY2Vzc2libGUgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzYxNzUyOyB9XG5cbi5wcm9ncmVzcy1tZXRlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZmZmO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9XG5cbi5zbGlkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMC41cmVtO1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuICB0b3VjaC1hY3Rpb246IG5vbmU7IH1cblxuLnNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQ7IH1cbiAgLnNsaWRlci1maWxsLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXItaGFuZGxlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEuNHJlbTtcbiAgaGVpZ2h0OiAxLjRyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLnNsaWRlci1oYW5kbGUge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLnNsaWRlci1oYW5kbGU6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOTU5MDA7IH1cbiAgLnNsaWRlci1oYW5kbGUuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7IH1cblxuLnNsaWRlci5kaXNhYmxlZCxcbi5zbGlkZXJbZGlzYWJsZWRdIHtcbiAgb3BhY2l0eTogMC4yNTtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuXG4uc2xpZGVyLnZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogMC41cmVtO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItZmlsbCB7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAwLjVyZW07XG4gICAgbWF4LWhlaWdodDogMTAwJTsgfVxuICAuc2xpZGVyLnZlcnRpY2FsIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogMS40cmVtO1xuICAgIGhlaWdodDogMS40cmVtO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuXG4uc3RpY2t5LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RpY2t5IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAwO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zdGlja3kuaXMtc3R1Y2sge1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6IDU7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC10b3Age1xuICAgIHRvcDogMDsgfVxuICAuc3RpY2t5LmlzLXN0dWNrLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbi5zdGlja3kuaXMtYW5jaG9yZWQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiBhdXRvOyB9XG4gIC5zdGlja3kuaXMtYW5jaG9yZWQuaXMtYXQtYm90dG9tIHtcbiAgICBib3R0b206IDA7IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuaHRtbC5pcy1yZXZlYWwtb3Blbixcbmh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gIGhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwMDU7XG4gIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG5cbi5yZXZlYWwge1xuICBkaXNwbGF5OiBub25lO1xuICB6LWluZGV4OiAxMDA2O1xuICBwYWRkaW5nOiAxcmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMTAwcHg7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIG92ZXJmbG93LXk6IGF1dG87IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5yZXZlYWwge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgbWluLWhlaWdodDogMDsgfSB9XG4gIC5yZXZlYWwgLmNvbHVtbiwgLnJldmVhbCAuY29sdW1ucyxcbiAgLnJldmVhbCAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwOyB9XG4gIC5yZXZlYWwgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCB7XG4gICAgICB3aWR0aDogNjAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbCAucmV2ZWFsIHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMCBhdXRvOyB9IH1cbiAgLnJldmVhbC5jb2xsYXBzZSB7XG4gICAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC50aW55IHtcbiAgICAgIHdpZHRoOiAzMCU7XG4gICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJldmVhbC5zbWFsbCB7XG4gICAgICB3aWR0aDogNTAlO1xuICAgICAgbWF4LXdpZHRoOiA4Mi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwubGFyZ2Uge1xuICAgICAgd2lkdGg6IDkwJTtcbiAgICAgIG1heC13aWR0aDogODIuNXJlbTsgfSB9XG4gIC5yZXZlYWwuZnVsbCB7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGhlaWdodDogMTAwdmg7XG4gICAgbWluLWhlaWdodDogMTAwdmg7XG4gICAgbWF4LXdpZHRoOiBub25lO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBib3JkZXItcmFkaXVzOiAwOyB9IH1cbiAgLnJldmVhbC53aXRob3V0LW92ZXJsYXkge1xuICAgIHBvc2l0aW9uOiBmaXhlZDsgfVxuXG4uc3dpdGNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3V0bGluZTogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5zd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnN3aXRjaC1wYWRkbGUge1xuICBiYWNrZ3JvdW5kOiAjY2NjO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6IDJyZW07XG4gIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0OyB9XG4gIGlucHV0ICsgLnN3aXRjaC1wYWRkbGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgIGxlZnQ6IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cbiAgICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDIuMjVyZW07IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIGlucHV0OmZvY3VzIH4gLnN3aXRjaC1wYWRkbGUge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLnN3aXRjaC1hY3RpdmUsIC5zd2l0Y2gtaW5hY3RpdmUge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnN3aXRjaC1hY3RpdmUge1xuICBsZWZ0OiA4JTtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAuc3dpdGNoLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnN3aXRjaC1pbmFjdGl2ZSB7XG4gIHJpZ2h0OiAxNSU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1pbmFjdGl2ZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc3dpdGNoLnRpbnkgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogM3JlbTtcbiAgaGVpZ2h0OiAxLjVyZW07XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07IH1cblxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAxcmVtO1xuICBoZWlnaHQ6IDFyZW07IH1cblxuLnN3aXRjaC50aW55IGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAxLjc1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgLnN3aXRjaC1wYWRkbGUge1xuICB3aWR0aDogMy41cmVtO1xuICBoZWlnaHQ6IDEuNzVyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIHdpZHRoOiAxLjI1cmVtO1xuICBoZWlnaHQ6IDEuMjVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDVyZW07XG4gIGhlaWdodDogMi41cmVtO1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMnJlbTtcbiAgaGVpZ2h0OiAycmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDIuNzVyZW07IH1cblxudGFibGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICB0aGVhZCxcbiAgdGJvZHksXG4gIHRmb290IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtOyB9XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIHRoZWFkIHRyLFxuICAgIHRmb290IHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgdGhlYWQgdGgsXG4gICAgdGhlYWQgdGQsXG4gICAgdGZvb3QgdGgsXG4gICAgdGZvb3QgdGQge1xuICAgICAgcGFkZGluZzogMC41cmVtIDAuNjI1cmVtIDAuNjI1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjsgfVxuICB0Ym9keSB0aCxcbiAgdGJvZHkgdGQge1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgdGFibGUuc3RhY2sgdGhlYWQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgdGFibGUuc3RhY2sgdHIsXG4gIHRhYmxlLnN0YWNrIHRoLFxuICB0YWJsZS5zdGFjayB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGJvcmRlci10b3A6IDA7IH0gfVxuXG50YWJsZS5zY3JvbGwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cblxudGFibGUuaG92ZXIgdHI6aG92ZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmFmYWZhOyB9XG5cbnRhYmxlLmhvdmVyIHRyOm50aC1vZi10eXBlKGV2ZW4pOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2VkZWRlZDsgfVxuXG4udGFibGUtc2Nyb2xsIHtcbiAgb3ZlcmZsb3cteDogYXV0bzsgfVxuICAudGFibGUtc2Nyb2xsIHRhYmxlIHtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4udGFicyB7XG4gIG1hcmdpbjogMDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gIC50YWJzOjpiZWZvcmUsIC50YWJzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50YWJzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnRhYnMudmVydGljYWwgPiBsaSB7XG4gIHdpZHRoOiBhdXRvO1xuICBmbG9hdDogbm9uZTtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRhYnMuc2ltcGxlID4gbGkgPiBhIHtcbiAgcGFkZGluZzogMDsgfVxuICAudGFicy5zaW1wbGUgPiBsaSA+IGE6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG5cbi50YWJzLnByaW1hcnkge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG4gIC50YWJzLnByaW1hcnkgPiBsaSA+IGEge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpob3ZlciwgLnRhYnMucHJpbWFyeSA+IGxpID4gYTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjI2NDAwOyB9XG5cbi50YWJzLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICAudGFicy10aXRsZSA+IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjsgfVxuICAgIC50YWJzLXRpdGxlID4gYTpmb2N1cywgLnRhYnMtdGl0bGUgPiBhW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG5cbi50YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItdG9wOiAwOyB9XG5cbi50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTZlNmU2O1xuICBib3JkZXItbGVmdDogMDsgfVxuXG4udGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6IDFyZW07IH1cbiAgLnRhYnMtcGFuZWwuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGh1bWJuYWlsIHtcbiAgYm9yZGVyOiBzb2xpZCA0cHggI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoMCwgMCwgMCwgMC4yKTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC50aHVtYm5haWw6aG92ZXIsIC50aHVtYm5haWw6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6IDAgMCA2cHggMXB4IHJnYmEoMjU1LCAxMDUsIDAsIDAuNSk7IH1cblxuLnRpdGxlLWJhciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiAwLjVyZW07IH1cbiAgLnRpdGxlLWJhcjo6YmVmb3JlLCAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50aXRsZS1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGl0bGUtYmFyIC5tZW51LWljb24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yNXJlbTsgfVxuXG4udGl0bGUtYmFyLWxlZnQge1xuICBmbG9hdDogbGVmdDsgfVxuXG4udGl0bGUtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGl0bGUtYmFyLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMCwgMCAxNHB4IDAgIzAwMDsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBib3JkZXItYm90dG9tOiBkb3R0ZWQgMXB4ICM4YThhOGE7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjdXJzb3I6IGhlbHA7IH1cblxuLnRvb2x0aXAge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogY2FsYygxMDAlICsgMC42NDk1cmVtKTtcbiAgei1pbmRleDogMTIwMDtcbiAgbWF4LXdpZHRoOiAxMHJlbTtcbiAgcGFkZGluZzogMC43NXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiA4MCU7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC50b29sdGlwOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDAuNzVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjMDAwO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogMTAwJTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC50b29sdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87IH1cbiAgLnRvb2x0aXAubGVmdDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAudG9vbHRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgIzAwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4udG9wLWJhciB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRvcC1iYXI6OmJlZm9yZSwgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnRvcC1iYXI6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudG9wLWJhcixcbiAgLnRvcC1iYXIgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnRvcC1iYXIgaW5wdXQge1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxcmVtOyB9XG4gIC50b3AtYmFyIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC50b3AtYmFyIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgLnRvcC1iYXIgLnRvcC1iYXItcmlnaHQge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudG9wLWJhciAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbWVkaXVtIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci5zdGFja2VkLWZvci1sYXJnZSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi50b3AtYmFyLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuXG4udG9wLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRvcC1iYXItcmlnaHQge1xuICBmbG9hdDogcmlnaHQ7IH1cblxuLmhpZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmludmlzaWJsZSB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDBlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuaGlkZS1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuc2hvdy1mb3ItbWVkaXVtLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmhpZGUtZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgyLjVlbSkge1xuICAuc2hvdy1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuLnNob3ctZm9yLXNyLFxuLnNob3ctb24tZm9jdXMge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7IH1cblxuLnNob3ctb24tZm9jdXM6YWN0aXZlLCAuc2hvdy1vbi1mb2N1czpmb2N1cyB7XG4gIHBvc2l0aW9uOiBzdGF0aWMgIWltcG9ydGFudDtcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogYXV0bztcbiAgb3ZlcmZsb3c6IHZpc2libGU7XG4gIGNsaXA6IGF1dG87IH1cblxuLnNob3ctZm9yLWxhbmRzY2FwZSxcbi5oaWRlLWZvci1wb3J0cmFpdCB7XG4gIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gICAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5oaWRlLWZvci1sYW5kc2NhcGUsXG4uc2hvdy1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBsYW5kc2NhcGUpIHtcbiAgICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAgIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAob3JpZW50YXRpb246IHBvcnRyYWl0KSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5mbG9hdC1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtcmlnaHQge1xuICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDsgfVxuXG4uZmxvYXQtY2VudGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLmNsZWFyZml4OjpiZWZvcmUsIC5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jbGVhcmZpeDo6YWZ0ZXIge1xuICBjbGVhcjogYm90aDsgfVxuXG4uYWxpZ24tcmlnaHQge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hbGlnbi1jZW50ZXIge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uYWxpZ24tanVzdGlmeSB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uYWxpZ24tc3BhY2VkIHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7IH1cblxuLmFsaWduLXRvcCB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1zZWxmLXRvcCB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmFsaWduLWJvdHRvbSB7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tc2VsZi1ib3R0b20ge1xuICBhbGlnbi1zZWxmOiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tbWlkZGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuXG4uYWxpZ24tc2VsZi1taWRkbGUge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmFsaWduLXN0cmV0Y2gge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDsgfVxuXG4uYWxpZ24tc2VsZi1zdHJldGNoIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLm1lZGl1bS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubWVkaXVtLW9yZGVyLTMge1xuICAgIG9yZGVyOiAzOyB9XG4gIC5tZWRpdW0tb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLm1lZGl1bS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubWVkaXVtLW9yZGVyLTYge1xuICAgIG9yZGVyOiA2OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbi5zbGlkZS1pbi1kb3duLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7IH1cblxuLnNsaWRlLWluLXVwLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTsgfVxuXG4uc2xpZGUtaW4tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMTAwJSk7IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMTAwJSk7IH1cblxuLnNsaWRlLW91dC1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDA7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtaW4ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5mYWRlLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgb3BhY2l0eTogMTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogdG9wO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tdG9wLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tYm90dG9tLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbGVmdC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXgubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS10b3AubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1yaWdodC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogcmlnaHQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1ib3R0b20ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGxlZnQ7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbGVmdC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgwLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLXVwLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtdXAubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zY2FsZS1vdXQtZG93bi5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoLTAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDAuNzV0dXJuKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zcGluLWluLWNjdy5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNwaW4tb3V0LWNjdy5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNsb3cge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA3NTBtcyAhaW1wb3J0YW50OyB9XG5cbi5mYXN0IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2UtaW4tb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbiB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLnNob3J0LWRlbGF5IHtcbiAgdHJhbnNpdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnNoYWtlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNoYWtlLTc7IH1cblxuQGtleWZyYW1lcyBzaGFrZS03IHtcbiAgMCUsIDEwJSwgMjAlLCAzMCUsIDQwJSwgNTAlLCA2MCUsIDcwJSwgODAlLCA5MCUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCg3JSk7IH1cbiAgNSUsIDE1JSwgMjUlLCAzNSUsIDQ1JSwgNTUlLCA2NSUsIDc1JSwgODUlLCA5NSUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNyUpOyB9IH1cblxuLnNwaW4tY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTF0dXJuKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zcGluLWNjdyB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzcGluLWN3LTF0dXJuOyB9XG5cbkBrZXlmcmFtZXMgc3Bpbi1jdy0xdHVybiB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxdHVybik7IH0gfVxuXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLW5hbWU6IHdpZ2dsZS03ZGVnOyB9XG5cbkBrZXlmcmFtZXMgd2lnZ2xlLTdkZWcge1xuICA0MCUsIDUwJSwgNjAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg3ZGVnKTsgfVxuICAzNSUsIDQ1JSwgNTUlLCA2NSUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC03ZGVnKTsgfVxuICAwJSwgMzAlLCA3MCUsIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDApOyB9IH1cblxuLnNoYWtlLFxuLnNwaW4tY3csXG4uc3Bpbi1jY3csXG4ud2lnZ2xlIHtcbiAgYW5pbWF0aW9uLWR1cmF0aW9uOiA1MDBtczsgfVxuXG4uaW5maW5pdGUge1xuICBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4uc2xvdyB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogMjUwbXMgIWltcG9ydGFudDsgfVxuXG4ubGluZWFyIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Uge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluICFpbXBvcnRhbnQ7IH1cblxuLmVhc2Utb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1vdXQgIWltcG9ydGFudDsgfVxuXG4uZWFzZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSkgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogMzAwbXMgIWltcG9ydGFudDsgfVxuXG4ubG9uZy1kZWxheSB7XG4gIGFuaW1hdGlvbi1kZWxheTogNzAwbXMgIWltcG9ydGFudDsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCxcbi5mbGV4LXZpZGVvIHtcbiAgaGVpZ2h0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4ucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbi5mbGV4LXZpZGVvIGlmcmFtZSxcbi5mbGV4LXZpZGVvIG9iamVjdCxcbi5mbGV4LXZpZGVvIGVtYmVkLFxuLmZsZXgtdmlkZW8gdmlkZW8ge1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUge1xuICBib3JkZXI6IDA7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbi5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlOyB9XG5cbi8qIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC4gKi9cbi8qIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlICovXG4vKlxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLnN2Zz82Mjc1MTUwMyNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XG4gIH1cbn1cbiovXG5bY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbltjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgLyogeW91IGNhbiBiZSBtb3JlIGNvbWZvcnRhYmxlIHdpdGggaW5jcmVhc2VkIGljb25zIHNpemUgKi9cbiAgLyogZm9udC1zaXplOiAxMjAlOyAqL1xuICAvKiBGb250IHNtb290aGluZy4gVGhhdCB3YXMgdGFrZW4gZnJvbSBUV0JTICovXG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIC8qIG9wYWNpdHk6IC44OyAqL1xuICAvKiBGb3Igc2FmZXR5IC0gcmVzZXQgcGFyZW50IHN0eWxlcywgdGhhdCBjYW4gYnJlYWsgZ2x5cGggY29kZXMqL1xuICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgLyogZml4IGJ1dHRvbnMgaGVpZ2h0LCBmb3IgdHdpdHRlciBib290c3RyYXAgKi9cbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cbiAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgbWFyZ2luLWxlZnQ6IDAuMmVtO1xuICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xuICBzcGVhazogbmV2ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgd2lkdGg6IDFlbTtcbiAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgLyogdGV4dC1zaGFkb3c6IDFweCAxcHggMXB4IHJnYmEoMTI3LCAxMjcsIDEyNywgMC4zKTsgKi8gfVxuXG4uaWNvbi1hbGVydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDBcIjsgfVxuXG4vKiAn7qCAJyAqL1xuLmljb24tY2FydDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDFcIjsgfVxuXG4vKiAn7qCBJyAqL1xuLmljb24tY3VzdG9tZXJjYXJlcGxhbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDJcIjsgfVxuXG4vKiAn7qCCJyAqL1xuLmljb24tbGl2ZWNoYXQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAzXCI7IH1cblxuLyogJ+6ggycgKi9cbi5pY29uLWxvY2F0aW9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNFwiOyB9XG5cbi8qICfuoIQnICovXG4uaWNvbi1zZWFyY2g6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA1XCI7IH1cblxuLyogJ+6ghScgKi9cbi5pY29uLXNldmVyZXdlYXRoZXJkZXNpZ25hdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDZcIjsgfVxuXG4vKiAn7qCGJyAqL1xuLmljb24tY2FuY2VsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwN1wiOyB9XG5cbi8qICfuoIcnICovXG4uaWNvbi13aGVlbHdhcnJhbnR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwOFwiOyB9XG5cbi8qICfuoIgnICovXG4uaWNvbi1teWFjY291bnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA5XCI7IH1cblxuLyogJ+6giScgKi9cbi5pY29uLWNvbnRhY3Q6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBhXCI7IH1cblxuLyogJ+6giicgKi9cbi5pY29uLXBsdXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBiXCI7IH1cblxuLyogJ+6giycgKi9cbi5pY29uLW1pbnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwY1wiOyB9XG5cbi8qICfuoIwnICovXG4uaWNvbi1zdGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZFwiOyB9XG5cbi8qICfuoI0nICovXG4uaWNvbi11cC1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZVwiOyB9XG5cbi8qICfuoI4nICovXG4uaWNvbi1kb3duLW9wZW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBmXCI7IH1cblxuLyogJ+6gjycgKi9cbi5pY29uLWFjY2Vzc2liaWxpdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEwXCI7IH1cblxuLyogJ+6gkCcgKi9cbi5pY29uLWNpcmNsZS1jaGVja2VkOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxMVwiOyB9XG5cbi8qICfuoJEnICovXG4uaWNvbi1wcmludDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTJcIjsgfVxuXG4vKiAn7qCSJyAqL1xuLmljb24tbGVmdC1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxM1wiOyB9XG5cbi8qICfuoJMnICovXG4uaWNvbi1yaWdodC1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxNFwiOyB9XG5cbi8qICfuoJQnICovXG4uaWNvbi10aHVtYnMtZG93bjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTVcIjsgfVxuXG4vKiAn7qCVJyAqL1xuLmljb24tdGlyZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTZcIjsgfVxuXG4vKiAn7qCWJyAqL1xuLmljb24tY2FsZW5kYXI6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE3XCI7IH1cblxuLyogJ+6glycgKi9cbi5pY29uLXBob25lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxOFwiOyB9XG5cbi8qICfuoJgnICovXG4uaWNvbi1sb2NrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxOVwiOyB9XG5cbi8qICfuoJknICovXG4uaWNvbi10ZXN0ZWQtYnkta2FsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyMFwiOyB9XG5cbi8qICfuoKAnICovXG4uaWNvbi10aHVtYnMtdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODIxXCI7IH1cblxuLyogJ+6goScgKi9cbi5pY29uLXN0YXItZW1wdHk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODIyXCI7IH1cblxuLyogJ+6goicgKi9cbi5pY29uLXBsYXk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODIzXCI7IH1cblxuLyogJ+6goycgKi9cbi5pY29uLXdoZWVsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyNFwiOyB9XG5cbi8qICfuoKQnICovXG4uaWNvbi1tYWludGVuYW5jZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjVcIjsgfVxuXG4vKiAn7qClJyAqL1xuLmljb24tc2Vhc29uYWwtYWxsOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyNlwiOyB9XG5cbi8qICfuoKYnICovXG4uaWNvbi1nZWFyczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjdcIjsgfVxuXG4vKiAn7qCnJyAqL1xuLmljb24tYm9vazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjhcIjsgfVxuXG4vKiAn7qCoJyAqL1xuLmljb24tZmlsdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyOVwiOyB9XG5cbi8qICfuoKknICovXG4uaWNvbi1jYWxlbmRhci1pY29uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyY1wiOyB9XG5cbi8qICfuoKwnICovXG4uaWNvbi1zbm93Zmxha2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODJkXCI7IH1cblxuLyogJ+6grScgKi9cbi5pY29uLWJ1eW5vd3BheWxhdGVyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyZVwiOyB9XG5cbi8qICfuoK4nICovXG4uaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNFwiOyB9XG5cbi8qICfvhIQnICovXG4uaWNvbi1hbmdsZS1yaWdodDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDVcIjsgfVxuXG4vKiAn74SFJyAqL1xuLmljb24tYW5nbGUtdXA6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA2XCI7IH1cblxuLyogJ++EhicgKi9cbi5pY29uLWFuZ2xlLWRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH1cblxuLyogJ++EhycgKi9cbi5pY29uLWNpcmNsZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuXG4vKiAn74SRJyAqL1xuLmljb24tY2lyY2xlLXRoaW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWRiXCI7IH1cblxuLyogXCLvh5tcIiAqL1xuLmljb24tc3Rhci1oYWxmLWFsdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMjNcIjsgfVxuXG4vKiAn74SjJyAqL1xuLmljb24td2lmaTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxZWJcIjsgfVxuXG4vKiAn74erJyAqL1xuLmljb24tYnVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjIwN1wiOyB9XG5cbi8qICfviIcnICovXG4uaWNvbi1leGNoYW5nZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MmZcIjsgfVxuXG4vKiAn7qCvJyAqL1xuLmljb24tcHJpY2UtbWF0Y2gtZ3VhcmFudGVlLWxpbmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODYwXCI7IH1cblxuLyogJ+6hoCcgKi9cbi5pY29uLXRpY2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODMxXCI7IH1cblxuLyogJ+6gsicgKi9cbi5pY29uLWN1c3RvbWVyLWNhcmUtcGxhbi1saW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgzMlwiOyB9XG5cbi8qICfuoLMnICovXG4uaWNvbi1icmFrZXMtcXVhbGl0eS1wYXJ0czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MzNcIjsgfVxuXG4vKiAn7qC0JyAqL1xuLmljb24tYnJha2VzLW5vLXN1cnByaXNlczo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MzRcIjsgfVxuXG4vKiAn7qC1JyAqL1xuLmljb24tbWFpbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MWFcIjsgfVxuXG4vKiAn7qCaJyAqL1xuLmljb24tcmVzZW5kOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxYlwiOyB9XG5cbi8qICfuoJsnICovXG4uaWNvbi1jaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxY1wiOyB9XG5cbi8qICfuoJwnICovXG4uaWNvbi1uZXctdGFiOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgzNlwiOyB9XG5cbi8qICfuoLknICovXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB3aWR0aDogMjBweDsgfVxuXG4uc2xpY2stcHJldjpob3Zlcixcbi5zbGljay1wcmV2OmZvY3VzLFxuLnNsaWNrLW5leHQ6aG92ZXIsXG4uc2xpY2stbmV4dDpmb2N1cyB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLXByZXY6aG92ZXI6OmJlZm9yZSxcbi5zbGljay1wcmV2OmZvY3VzOjpiZWZvcmUsXG4uc2xpY2stbmV4dDpob3Zlcjo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6Zm9jdXM6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSxcbi5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUge1xuICBvcGFjaXR5OiAwLjI1OyB9XG5cbi5zbGljay1wcmV2OjpiZWZvcmUsXG4uc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBvcGFjaXR5OiAwLjc1OyB9XG5cbi5zbGljay1wcmV2IHtcbiAgbGVmdDogLTI1cHg7IH1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAtMjVweDsgfVxuXG4uc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpBcIjsgfVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKGklwiOyB9XG5cbi5zbGljay1uZXh0IHtcbiAgcmlnaHQ6IC0yNXB4OyB9XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQge1xuICBsZWZ0OiAtMjVweDtcbiAgcmlnaHQ6IGF1dG87IH1cblxuLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oaSXCI7IH1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpBcIjsgfVxuXG4vKiBEb3RzICovXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cblxuLnNsaWNrLWRvdHMge1xuICBib3R0b206IC0yNXB4O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGlzdC1zdHlsZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNsaWNrLWRvdHMgbGkge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW46IDAgNXB4O1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAyMHB4OyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiA1cHg7XG4gIHdpZHRoOiAyMHB4OyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcixcbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOjpiZWZvcmUsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6OmJlZm9yZSB7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOjpiZWZvcmUge1xuICBjb2xvcjogIzAwMDtcbiAgY29udGVudDogXCLigKJcIjtcbiAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgZm9udC1zaXplOiA2cHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxlZnQ6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBvcGFjaXR5OiAwLjI1O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiAwO1xuICB3aWR0aDogMjBweDsgfVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICBjb2xvcjogIzAwMDtcbiAgb3BhY2l0eTogMC43NTsgfVxuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpOyB9XG5cbi8qIEFycm93cyAqL1xuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwO1xuICBoZWlnaHQ6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAwcHg7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHdpZHRoOiAyMHB4OyB9XG4gIC5zbGljay1wcmV2OmhvdmVyLFxuICAuc2xpY2stcHJldjpmb2N1cyxcbiAgLnNsaWNrLW5leHQ6aG92ZXIsXG4gIC5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5zbGljay1wcmV2OmhvdmVyOjpiZWZvcmUsXG4gICAgLnNsaWNrLXByZXY6Zm9jdXM6OmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpob3Zlcjo6YmVmb3JlLFxuICAgIC5zbGljay1uZXh0OmZvY3VzOjpiZWZvcmUge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDo6YmVmb3JlLFxuICAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjI1OyB9XG4gIC5zbGljay1wcmV2OjpiZWZvcmUsXG4gIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgb3BhY2l0eTogMC43NTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4OyB9XG4gIFtkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4OyB9XG4gIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaQXCI7IH1cbiAgICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgICBsZWZ0OiAtMjVweDtcbiAgICByaWdodDogYXV0bzsgfVxuICAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGklwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oaQXCI7IH1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zbGljay1kb3RzIHtcbiAgYm90dG9tOiAtMjVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zbGljay1kb3RzIGxpIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDA7XG4gICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsXG4gICAgICAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgICAgICBvdXRsaW5lOiBub25lOyB9XG4gICAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuICAgICAgICAuc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6OmJlZm9yZSB7XG4gICAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgY29udGVudDogXCLigKJcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICBvcGFjaXR5OiAwLjI1O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMjBweDsgfVxuICAgIC5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246OmJlZm9yZSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuYm9keSxcbmh0bWwge1xuICBoZWlnaHQ6IGF1dG87IH1cblxuYm9keSB7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIG1hcmdpbjogMDsgfVxuXG5vbCxcbnVsIHtcbiAgbGlzdC1zdHlsZTogbm9uZTsgfVxuXG4uZnVsbGJsZWVkLCAuZm9vdGVyLXdyYXBwZXIge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5mdWxsYmxlZWQtbW9iaWxlIHtcbiAgcGFkZGluZzogMCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZnVsbGJsZWVkLW1vYmlsZSB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZnVsbGJsZWVkLW1vYmlsZSB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5yb3cuYXRyb290IHtcbiAgcGFkZGluZzogMCAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93LmF0cm9vdCB7XG4gICAgICBwYWRkaW5nOiAwIDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnJvdy5hdHJvb3Qge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnJvdy5hdHJvb3Quc2VsLWluZm8td3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAucm93LmF0cm9vdC5zZWwtaW5mby13cmFwcGVyIC5ub3BhZGRpbmdzbWFsbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ubm8tanMgLnRvcC1iYXIge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLm5vLWpzIC50aXRsZS1iYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5uby1qcyAjbWFpbk5hdldyYXBwZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi52aXN1YWxseS1oaWRkZW4ge1xuICBib3JkZXI6IDA7XG4gIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gIGhlaWdodDogMXB4O1xuICBtYXJnaW46IC0xcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDFweDsgfVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLnZpc2liaWxpdHktaGlkZGVuIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGxpbmUtaGVpZ2h0OiAxZW07IH1cblxuYSB7XG4gIGNvbG9yOiAjYzc1MzAwOyB9XG5cbi5sYXJnZS1oZWFkbGluZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogNDBweDtcbiAgbGluZS1oZWlnaHQ6IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYXJnZS1oZWFkbGluZSB7XG4gICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGFyZ2UtaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiA2NnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDY2cHg7IH0gfVxuXG4uaW50cm8tY29weSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbnRyby1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaW50cm8tY29weSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG5cbi5zbWFsbC1pbnRyby1jb3B5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNtYWxsLWludHJvLWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zbWFsbC1pbnRyby1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cblxuLmxpZ2h0LWludHJvLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubGlnaHQtaW50cm8tY29weSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG5cbi5mb290ZXItbGlua3Mge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZm9vdGVyLWxpbmtzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXItbGlua3Mge1xuICAgICAgZm9udC1zaXplOiAxM3B4OyB9IH1cblxuLmlubGluZS1saW5rLWFsdGVybmF0ZSB7XG4gIGNvbG9yOiAjYzc1MzAwO1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuaW5saW5lLWxpbmstYWx0ZXJuYXRlOmhvdmVyIHtcbiAgICBjb2xvcjogIzk5NDAwMDsgfVxuXG4uYXJyb3ctbGluayB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuYXJyb3ctbGluazpob3ZlciB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmFycm93LWxpbms6OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIiA+XCI7IH1cblxucCxcbi5wYXJhZ3JhcGgtY29weSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIHAsXG4gICAgLnBhcmFncmFwaC1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cblxuLnNtYWxsLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc21hbGwtY29weSB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtY29weSB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDsgfSB9XG5cbi50aW55LWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGlueS1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aW55LWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxMnB4OyB9IH1cblxuLnRpbnktaGVhZGluZ3Mge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBtYXJnaW46IDIwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiAzMHB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogNTBweCAwIDQwcHg7IH0gfVxuXG4ucGRwLW1haW4gLnBhZ2UtdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDMwcHggMCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDUwcHggMCAxMHB4OyB9IH1cblxuLnRpcC1zeW1ib2wge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGlwLXN5bWJvbCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC4yNXJlbSk7IH0gfVxuICAudGlwLXN5bWJvbDo6YmVmb3JlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgYm9yZGVyLXJhZGl1czogMS4wNjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGNvbnRlbnQ6IFwiP1wiO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGhlaWdodDogMS4wNjI1cmVtO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjY4NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgd2lkdGg6IDEuMDYyNXJlbTsgfVxuXG4uYnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgcGFkZGluZzogMTVweCAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5idXR0b24uYnV0dG9uLWRhcmsge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cbiAgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y2YTU4MzsgfVxuICAuYnV0dG9uLmJ1dHRvbi1kYXJrOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjY2OyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3c6aG92ZXIsIC5idXR0b24uaG9sbG93OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5idXR0b24tZGFyay5ob2xsb3cge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0biAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmUge1xuICAgIGJhY2tncm91bmQ6ICNjNzUzMDA7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmU6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgY29udGVudDogXCJcXGU4MDdcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDsgfVxuICAgIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmUgLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5idXR0b24uY2xvc2UtaG9sbG93LWJ0bi5pcy1hY3RpdmUgLmJ0bi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeS5ob2xsb3cge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5idXR0b24uc2Vjb25kYXJ5LmhvbGxvdzpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnk6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogIzMxMzEzMTsgfVxuICAuYnV0dG9uLmJ1dHRvbi1kYXJrLnNlY29uZGFyeS5ob2xsb3cge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5idXR0b24uZGlzYWJsZWQsIC5idXR0b246ZGlzYWJsZWQsIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAgIC5idXR0b24uZGlzYWJsZWQ6aG92ZXIsIC5idXR0b246ZGlzYWJsZWQ6aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICM4MDgyODU7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IDEzcHggMTVweDsgfVxuICAuYnV0dG9uLm1lZGl1bSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDE1cHggMThweDsgfVxuICAuYnV0dG9uLmxhcmdlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTZweCAyMHB4OyB9XG4gIC5idXR0b24uZnVsbC13aWR0aCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYnV0dG9uLmhlbGxvYmFyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYnV0dG9uLmhlbGxvYmFyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgLmJ1dHRvbi5hbHRlcm5hdGUge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5hbHRlcm5hdGU6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLnYtdmlldy1vbi12ZWhpY2xlLmRpc2FibGVkIC5idXR0b24ge1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICBvcGFjaXR5OiAwLjU7IH1cblxuLnYtdmlldy1vbi12ZWhpY2xlIC5saW5rLWFib3ZlLXByb2R1Y3Qge1xuICBiYWNrZ3JvdW5kOiAjODA4Mjg1OyB9XG5cbi50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC50ZXN0ZWQtYnlrYWwtYmFkZ2UgcC50ZXN0ZWQtYnlrYWwtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRlc3RlZC1ieWthbC1iYWRnZSAuaWNvbi10ZXN0ZWQtYnkta2FsIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDIwcHg7IH1cblxuLnRlc3RlZC1ieWthbC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcCAuaWNvbi10ZXN0ZWQtYnkta2FsIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAgICAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcCAuaWNvbi10ZXN0ZWQtYnkta2FsOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAudGVzdGVkLWJ5a2FsLWNvbnRhaW5lciBwLnRlc3RlZC1ieWthbC10ZXh0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wcm9kdWN0LWJhZGdlIHtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAucHJvZHVjdC1iYWRnZSBzcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW46IDdweCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICAucHJvZHVjdC1iYWRnZSBzcGFuLnByb2R1Y3QtaW1hZ2UtYmFkZ2Uge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbGluZS1oZWlnaHQ6IGluaXRpYWw7XG4gICAgICBwYWRkaW5nOiA1cHggNXB4IDRweDsgfVxuICAgICAgLnByb2R1Y3QtYmFkZ2Ugc3Bhbi5wcm9kdWN0LWltYWdlLWJhZGdlIGltZyB7XG4gICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgd2lkdGg6IDIzcHg7IH1cblxuLnB0X3Byb2R1Y3QtZGV0YWlscyAucHJvZHVjdC13aW50ZXItdXNlLFxuLnB0X3Byb2R1Y3QtY29tcGFyZSAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICByaWdodDogaW5pdGlhbDsgfVxuXG4ucHRfcHJvZHVjdC1jb21wYXJlIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgdG9wOiA1cHg7IH1cblxuLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDhweDtcbiAgdG9wOiAzcHg7XG4gIHotaW5kZXg6IDA7IH1cbiAgLnByb2R1Y3Qtd2ludGVyLXVzZSBpIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDIzcHg7IH1cblxuLm92ZXJ2aWV3IGkuaWNvbi1zbm93Zmxha2Uge1xuICBtYXJnaW4tbGVmdDogLTNweDsgfVxuXG4ubG9hZGVyIHtcbiAgYW5pbWF0aW9uOiByb3RhdGUgMC44cyBpbmZpbml0ZSBsaW5lYXI7XG4gIGFuaW1hdGlvbjogcm90YXRlIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBib3JkZXI6IDhweCBzb2xpZCAjYzc1MzAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGJvdHRvbTogMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAzZW07XG4gIGxlZnQ6IDA7XG4gIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogM2VtOyB9XG4gIC5sb2FkZXIuc3RvcmUtZGV0YWlscy1sb2FkZXIge1xuICAgIGJvdHRvbTogLTUwcHg7XG4gICAgdG9wOiBhdXRvOyB9XG5cbi5lcnJvci10ZXh0LWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHBhZGRpbmc6IDEwcHggMTBweCA5cHg7IH1cbiAgLmVycm9yLXRleHQtYm94IHAudGV4dCB7XG4gICAgY29sb3I6ICNkZTFjMjI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3IgLmxvYWRlciB7XG4gIHotaW5kZXg6IC0xOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAuc2VsZWN0b3IgLmxvYWRlciB7XG4gIHotaW5kZXg6IDk5OyB9XG5cbiNwc21vZGFsICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3IgLmxvYWRlciB7XG4gIHotaW5kZXg6IDk5OyB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpOyB9XG4gIDEwMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTsgfSB9XG5cbi52aWRlb1dyYXBwZXIge1xuICBoZWlnaHQ6IDA7XG4gIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG4gIHBhZGRpbmctdG9wOiAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnZpZGVvV3JhcHBlciBpZnJhbWUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnkge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXRlZ29yeTpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7IH1cbiAgLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnk6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgIHdpZHRoOiAxMHB4OyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC0zLXNlYXNvbjo6YmVmb3JlLFxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LWFsbC1zZWFzb246OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmYmIxMTY7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LXBlcmZvcm1hbmNlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNjM1M2EzOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1hbGwtd2VhdGhlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2JmMWE4ZDsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtd2ludGVyOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMjBjM2YzOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC10b3VyaW5nOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjMDBhNjUxOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1zcG9ydC10cnVjazo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzdjODZjMjsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtYWxsLXRlcnJhaW46OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM3YTUyMjY7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LW11ZC10ZXJyYWluOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjNDIyODAwOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1jb21tZXJjaWFsOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTdhOWFjOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC11bHRyYS1oaWdoLXBlcmZvcm1hbmNlOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjYTQ5OWNhOyB9XG5cbi5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7IH1cbiAgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQ6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhOyB9XG4gIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICBjb250ZW50OiBcIlxcZTgwYlwiO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgd2lkdGg6IGF1dG87IH1cblxuLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiXFxlODBjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnBsdXMtbWludXMtYWNjb3JkaW9uIC5zdWJtZW51IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG5hLmluYWN0aXZlIHtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cbi5saW5lLXNlY3Rpb25zLXNlcGFyYXRvciB7XG4gIG1hcmdpbjogNTBweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5saW5lLXNlY3Rpb25zLXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAubGluZS1zZWN0aW9ucy1zZXBhcmF0b3I6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEzMCwgMTMzLCAwLjMpO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMXB4O1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxpbmUtc2VjdGlvbnMtc2VwYXJhdG9yOjpiZWZvcmUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7IH0gfVxuXG4uZ2xvYmFsTW9kYWxIZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDcycHg7XG4gIG1pbi1oZWlnaHQ6IDcycHg7XG4gIHBhZGRpbmc6IDAgNjBweCAwIDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZ2xvYmFsTW9kYWxIZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgdG9wOiAwOyB9XG4gIC5nbG9iYWxNb2RhbEhlYWRlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5nbG9iYWxNb2RhbEhlYWRlciBoMiBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICB3aWR0aDogMzJweDsgfVxuXG4uZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsSGVhZGVyIGgyIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICAuZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsSGVhZGVyIGgyIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgaGVpZ2h0OiAyNnB4O1xuICAgIG1pbi13aWR0aDogMjZweDtcbiAgICB3aWR0aDogMjZweDsgfVxuXG4uZ2xvYmFsTW9kYWxDb250ZW50IHtcbiAgcGFkZGluZzogMzBweDsgfVxuICAuZ2xvYmFsTW9kYWxDb250ZW50IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IHJlbS1jYWwoMTYpOyB9XG4gICAgLmdsb2JhbE1vZGFsQ29udGVudCBwIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsQ29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggNjJweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZmluYW5jaW5nTW9kYWwgLmdsb2JhbE1vZGFsQ29udGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cblxuLmZpbmFuY2luZ01vZGFsQnV0dG9uIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIHtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5maW5hbmNpbmdNb2RhbEJ1dHRvbiBhIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbWluLXdpZHRoOiAxNzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIGEge1xuICAgICAgICBtaW4td2lkdGg6IDE0MHB4OyB9IH1cbiAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5maW5hbmNpbmdNb2RhbEJ1dHRvbiAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgIHBhZGRpbmc6IDdweCAwIDhweDsgfVxuICAuZmluYW5jaW5nTW9kYWxCdXR0b24gLmJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTJweCAxOHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB1bnNldDsgfVxuXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUsXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcge1xuICBmbG9hdDogbGVmdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHdpZHRoOiA1MCU7IH1cbiAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplLnRyYWlsZXItdGlsZS1pbmZvLFxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci10aWxlLWluZm8ge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUudHJhaWxlci10aWxlLWluZm8gLmF0dHJpYnV0ZSxcbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci10aWxlLWluZm8gLmF0dHJpYnV0ZSB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZS50cmFpbGVyLXByaWNpbmcsXG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZy50cmFpbGVyLXByaWNpbmcge1xuICAgIG1hcmdpbi10b3A6IDM1cHg7IH1cbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUudHJhaWxlci1wcmljaW5nIC5wcmljZS1sYWJlbCxcbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci1wcmljaW5nIC5wcmljZS1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG5cbi5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZSAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUgLmF0dHItY29sdW1uIC5hdHRyaWJ1dGUge1xuICBtYXJnaW46IDAgMCA1cHg7IH1cblxuLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyLjE4NzVyZW07IH1cbiAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXNhbGVzIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDJweCAwIDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAgICAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucmViYXRlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5wcm9kdWN0LXRpbGUgLnNpemUtbGFiZWwsXG4ucHJvZHVjdC10aWxlIC5wcmljZS1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjN2E3YzgwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA2NSU7IH1cblxuLm1haW5OYXZMaXZlQ2hhdENUQS5vcGVuTGl2ZUNoYXRCdXR0b24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGJvdHRvbTogY2FsYygzMCUgLSAxN3B4KTtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgaGVpZ2h0OiAyLjEyNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAwLjg3NXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW07XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRyYW5zZm9ybTogcm90YXRlKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgei1pbmRleDogOTk5OyB9XG4gIC5tYWluTmF2TGl2ZUNoYXRDVEEub3BlbkxpdmVDaGF0QnV0dG9uLmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTsgfVxuICAubWFpbk5hdkxpdmVDaGF0Q1RBLm9wZW5MaXZlQ2hhdEJ1dHRvbiBzcGFuIHtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207IH1cblxuLmhlYWRlci1uYXYubW9iaWxlLWNoYXQtYnRuIHtcbiAgaGVpZ2h0OiAwOyB9XG4gIC5oZWFkZXItbmF2Lm1vYmlsZS1jaGF0LWJ0biAuaGVhZGVyQ2FydFdyYXBwZXIsXG4gIC5oZWFkZXItbmF2Lm1vYmlsZS1jaGF0LWJ0biAuaGVhZGVyU2VhcmNoV3JhcHBlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3BlbkxpdmVDaGF0QnV0dG9uLmRpc2FibGVkIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi5jc2MtYWdlbnRtZXNzYWdlIHtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbWFyZ2luOiAxNXB4IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYWNjb3JkaW9uIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gIG1hcmdpbi10b3A6IDEuMzEyNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgIHBhZGRpbmc6IDEuNDM3NXJlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gLml0ZW0tY29udGVudCB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgICAuYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBzdW1tYXJ5IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLml0ZW0tY29udGVudCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgfiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCIrXCI7IH1cbiAgICAuYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gfiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCItXCI7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjbWFpbixcbi5wdF9wcm9kdWN0LXNlYXJjaC1ub3Jlc3VsdCAjbWFpbixcbi5wdF9wcm9kdWN0LWNvbXBhcmUgI21haW4sXG4ucHRfcHJvZHVjdC1kZXRhaWxzICNtYWluLFxuLnB0X2NhcnQgI21haW4sXG4ucHRfY2hlY2tvdXQgI21haW4sXG4ucHRfb3JkZXItY29uZmlybWF0aW9uICNtYWluIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI21haW4ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtcmVzb3VyY2UtY2VudGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfSB9XG5cbi5wdF9hY2NvdW50IC5yZXNldC1wYXNzd29yZC1wYWdlIHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuW3R5cGU9J3RleHQnXSwgW3R5cGU9J3Bhc3N3b3JkJ10sIFt0eXBlPSdkYXRlJ10sIFt0eXBlPSdkYXRldGltZSddLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXSwgW3R5cGU9J21vbnRoJ10sIFt0eXBlPSd3ZWVrJ10sIFt0eXBlPSdlbWFpbCddLCBbdHlwZT0nbnVtYmVyJ10sIFt0eXBlPSdzZWFyY2gnXSwgW3R5cGU9J3RlbCddLCBbdHlwZT0ndGltZSddLCBbdHlwZT0ndXJsJ10sIFt0eXBlPSdjb2xvciddLFxudGV4dGFyZWEge1xuICBoZWlnaHQ6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cblxuaW5wdXQ6Oi1tcy1jbGVhciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NlbGVjdC1pY29uLnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBoZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDAgMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAwXFwwKSB7XG4gICAgc2VsZWN0IHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWxlY3QtaWNvbi5wbmdcIik7IH0gfVxuXG4uc29ydC1zZWxlY3Qge1xuICBiYWNrZ3JvdW5kLW9yaWdpbjogYm9yZGVyLWJveDtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXJlbSBjZW50ZXI7XG4gIHBhZGRpbmc6IDAgMzVweCAwIDEwcHg7IH1cblxubGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMC41cmVtOyB9XG5cbnRleHRhcmVhIHtcbiAgcmVzaXplOiBub25lOyB9XG5cbi5kaWFsb2ctcmVxdWlyZWQge1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucmVxdWlyZWQtaW5kaWNhdG9yIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuaW5wdXQuZXJyb3IsXG5zZWxlY3QuZXJyb3IsXG50ZXh0YXJlYS5lcnJvciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMDA7IH1cblxuc3Bhbi5lcnJvcixcbi5lcnJvci1tZXNzYWdlLFxuLmNvdXBvbkVycm9yLFxuLm5hbWUtbGVuZ3RoLWVycm9yIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgY2xlYXI6IGJvdGg7XG4gIGNvbG9yOiAjZjAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDdweCAwIDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5lcnJvci1mb3JtIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAxMHB4IDA7IH1cblxuLmZvcm0tcm93IHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAuZm9ybS1yb3c6OmJlZm9yZSwgLmZvcm0tcm93OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5mb3JtLXJvdzo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5mb3JtLWNhcHRpb24uZXJyb3ItbWVzc2FnZSBhIHtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNoZWNrYm94LWZvcm0sXG4ucmFkaW8tZm9ybSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNoZWNrYm94LWZvcm0gLmZpZWxkLXdyYXBwZXIsXG4gIC5yYWRpby1mb3JtIC5maWVsZC13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNoZWNrYm94LWZvcm0gLmZpZWxkLXdyYXBwZXIgKyBsYWJlbCxcbiAgICAucmFkaW8tZm9ybSAuZmllbGQtd3JhcHBlciArIGxhYmVsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdLFxuICAucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIC5yYWRpby1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgbWFyZ2luOiAycHggMC4zMTI1cmVtIDAgMDtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzLFxuICAgIC5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyxcbiAgICAucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Zm9jdXMsXG4gICAgLnJhZGlvLWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmZvY3VzIHtcbiAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLmNoZWNrYm94LWZvcm0gLmlucHV0LWN1c3RvbSxcbiAgLnJhZGlvLWZvcm0gLmlucHV0LWN1c3RvbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDJweDtcbiAgICB6LWluZGV4OiAxOyB9XG5cbi5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuICAuY2hlY2tib3gtZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjAwY1wiOyB9XG5cbi5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkOmRpc2FibGVkICsgLmlucHV0LWN1c3RvbSB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5jaGVja2JveC1mb3JtIC5pbnB1dC1jdXN0b20ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgbGluZS1oZWlnaHQ6IDE3cHg7IH1cbiAgLmNoZWNrYm94LWZvcm0gLmlucHV0LWN1c3RvbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uY2hlY2tib3gtZm9ybSAuaW5wdXQtY3VzdG9tLFxuLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgaGVpZ2h0OiAxN3B4O1xuICB3aWR0aDogMTdweDsgfVxuXG4ucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cblxuLnJhZGlvLWZvcm0gLmlucHV0LWN1c3RvbSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNkOWQ5ZDk7XG4gIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gIGxpbmUtaGVpZ2h0OiAxNHB4OyB9XG5cbi5yYWRpby1mb3JtIC5pbnB1dC1jdXN0b20sXG4ucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBoZWlnaHQ6IDE0cHg7XG4gIHdpZHRoOiAxNHB4OyB9XG5cbi5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgLmlucHV0LWN1c3RvbSxcbi5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgYm9yZGVyLWNvbG9yOiAjMDAwO1xuICBib3JkZXItcmFkaXVzOiA1MCU7IH1cblxuLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cbiAgLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uc2xpY2stc2xpZGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnNsaWNrLWxpc3Qge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNsaWNrLWxpc3QgLmRyYWdnaW5nIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY3Vyc29yOiBoYW5kOyB9XG5cbi5zbGljay1saXN0OmZvY3VzLFxuLnNsaWNrLWFycm93OmZvY3VzIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApOyB9XG5cbi5zbGljay10cmFjayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMDsgfVxuICAuc2xpY2stdHJhY2s6OmJlZm9yZSwgLnNsaWNrLXRyYWNrOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2xpY2stdHJhY2s6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stdHJhY2sge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGhlaWdodDogMTAwJTtcbiAgbWluLWhlaWdodDogMXB4OyB9XG4gIC5zbGljay1zbGlkZSBpbWcuc2xpY2stbG9hZGluZyB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZS5zbGljay1sb2FkaW5nIGltZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlLmRyYWdnaW5nIGltZyB7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG5cbi5zbGljay1pbml0aWFsaXplZCAuc2xpY2stc2xpZGUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uc2xpY2stbG9hZGluZyAuc2xpY2stc2xpZGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWNrLXZlcnRpY2FsIC5zbGljay1zbGlkZSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5yZXZlYWwge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5wYWMtY29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMjBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFjLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tbGVmdDogLTIycHg7IH0gfVxuICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0ge1xuICAgIGJvcmRlcjogMDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW0gLnBhYy1pY29uIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucGFjLWNvbnRhaW5lciAucGFjLWl0ZW06aG92ZXIge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIC5wYWMtY29udGFpbmVyOjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uYm90dG9tLXNwYWNlZC1jb2x1bXMgPiBkaXYuY29sdW1ucyB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLmJsb2ctY2FyZCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb24teDogNTAlO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXk6IDUwJTtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBtaW4taGVpZ2h0OiAzMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogYXV0bzsgfVxuICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5ibG9nLWNhcmQgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvIHtcbiAgICAgIHBhZGRpbmc6IDIxcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIC5ibG9nLWNhcmQtaW5mbyBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5ibG9nLWNhcmQgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvIGg0IHtcbiAgICAgICAgICBoZWlnaHQ6IDQuMjVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjsgfSB9XG4gICAgICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIC5ibG9nLWNhcmQtaW5mbyAudGlueS1oZWFkaW5ncyB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgICAgLmJsb2ctY2FyZCAuYmxvZy1jYXJkLWluZm8td3JhcHBlciAuYmxvZy1jYXJkLWluZm8gLnRpbnktaGVhZGluZ3Mge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmJsb2ctY2FyZCAuYmxvZy1jYXJkLWluZm8td3JhcHBlciAuYmxvZy1jYXJkLWN0YSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAyMXB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmJsb2ctY2FyZC13cmFwcGVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBib3R0b206IDA7IH1cbiAgICAuYmxvZy1jYXJkLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1jdGEge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmJsb2ctY2FyZC13cmFwcGVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBib3R0b206IC00NXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7IH1cbiAgLmJsb2ctY2FyZC13cmFwcGVyOmhvdmVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICBib3R0b206IDA7IH0gfVxuXG4uaGVsbG8tYmFyIHtcbiAgYmFja2dyb3VuZDogIzI2MjYyNjtcbiAgY29sb3I6ICNmZmY7XG4gIG1pbi1oZWlnaHQ6IDMwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBhZGRpbmc6IDEwcHggNDVweCAxMHB4IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGVsbG8tYmFyIHtcbiAgICAgIGhlaWdodDogNDBweDsgfSB9XG4gIC5oZWxsby1iYXIgcCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmhlbGxvLWJhciBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5oZWxsby1iYXIgYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLmhlbGxvLWJhciAuZmEtdGltZXMge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luLXRvcDogLThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAyM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhlbGxvLWJhciAuZmEtdGltZXMge1xuICAgICAgICB0b3A6IDUwJTsgfSB9XG5cbi5jdXN0b20tbWVudS1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvcGFjaXR5OiAwLjY7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7IH1cblxuLmhlYWRlci1iYW5uZXIsXG4uaGVhZGVyLW5hdiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDsgfVxuXG4uaGVhZGVyLW5hdiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAyLjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogNDsgfVxuICAuaGVhZGVyLW5hdiBhIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5oZWFkZXItbmF2IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmhlYWRlci1uYXYgLm1haW5OYXZBY3Rpb25zV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDQwcHg7IH1cbiAgLmhlYWRlci1uYXYgI2hlYWRlck5hdkxvY2F0aW9uQ1RBIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5oZWFkZXItbmF2ICNoZWFkZXJOYXZMb2NhdGlvbkNUQSBzcGFuIHtcbiAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAtMjBweDsgfVxuICAgIC5oZWFkZXItbmF2ICNoZWFkZXJOYXZMb2NhdGlvbkNUQTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLmhlYWRlci1uYXYgI2hlYWRlck5hdkxvY2F0aW9uQ1RBOmhvdmVyIHNwYW4ge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxudWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyxcbnVsI2hlYWRlck5hdkFjdGlvbnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW46IDA7IH1cbiAgdWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyBsaSxcbiAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiAyNXB4OyB9XG4gICAgdWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyBsaTpmaXJzdC1jaGlsZCxcbiAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWluLXdpZHRoOiA2OHB4OyB9XG4gIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyLFxuICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICB1bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlcixcbiAgICAgIHVsI2hlYWRlck5hdkFjdGlvbnMgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAyNXB4OyB9IH1cbiAgICB1bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlciBpLmljb24tbG9jYXRpb24sXG4gICAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIgaS5pY29uLWxvY2F0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyLmFjdGl2ZSxcbiAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlci5hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmUwZTA7IH1cbiAgICAgIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyLmFjdGl2ZSBpLmljb24tbG9jYXRpb24sXG4gICAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlci5hY3RpdmUgaS5pY29uLWxvY2F0aW9uIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNtYWluTmF2V3JhcHBlciB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyLWxlZnQsXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhci1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGhlaWdodDogNDBweDsgfSB9XG5cbiNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiB7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiA+IGxpIGEubDFNZW51SXRlbSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2ID4gbGkuaXMtYWN0aXZlIGEubDFNZW51SXRlbSB7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiA+IGxpW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIGEubDFNZW51SXRlbSB7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgICAjbWFpbk5hdldyYXBwZXIgI21haW5OYXYgPiBsaSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cbiAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2IC5kcm9wZG93bi1wYW5lIHtcbiAgICBib3JkZXItYm90dG9tOiAwO1xuICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTsgfVxuXG4jbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSxcbiNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpOjphZnRlcixcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaTpob3ZlcixcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSB1bCxcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgbGksXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpIGxpIGEsXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSB1bCxcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIGxpLFxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEgbGkgYSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhLFxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgLm1vYmlsZS1tZW51LWl0ZW0tbGluayB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaW5lLWhlaWdodDogNDBweDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIHNwYW4sXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgLm1vYmlsZS1tZW51LWl0ZW0tbGluayBzcGFuIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgI2ZmNjkwMDtcbiAgICAgIHBhZGRpbmc6IDAgMTlweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEgc3BhbixcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSAubW9iaWxlLW1lbnUtaXRlbS1saW5rIHNwYW4ge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIHNwYW4sXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpIC5tb2JpbGUtbWVudS1pdGVtLWxpbmsgc3BhbiB7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSB7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4MDgyODU7IH1cbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkuaXMtc3VibWVudS1pdGVtIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSBhIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDY3cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMzBweDtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgYS5tb2JpbGUtc3VibWVudS10cmlnZ2VyIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpLmpzLWRyaWxsZG93bi1iYWNrID4gYSB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBsaW5lLWhlaWdodDogNjdweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIG1hcmdpbi10b3A6IC01cHg7IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIHtcbiAgcGFkZGluZzogMTBweCAwIDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIHVsLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBsaSB7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBoMSxcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDIsXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGgzLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBoNCxcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDUsXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGg2IHtcbiAgICAgIHBhZGRpbmc6IDIzcHggNDVweCAwOyB9XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGxpLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBsaSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgbGkge1xuICAgICAgcGFkZGluZzogMCA0NXB4OyB9IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpOmZpcnN0LWNoaWxkIGEgc3BhbiB7XG4gIGJvcmRlcjogMDsgfVxuXG4jbWFpbk5hdldyYXBwZXIgLm1vYmlsZS1zdWJtZW51LXRyaWdnZXIge1xuICBoZWlnaHQ6IDY3cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuI21haW5OYXZXcmFwcGVyIHVsI21haW5OYXYgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDUge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjbWFpbk5hdldyYXBwZXIgdWwjbWFpbk5hdiAubW9iaWxlLW1lbnUtd3JhcHBlciBoNSBhIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIHBhZGRpbmc6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGZsb2F0OiBub25lO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfSB9XG5cbiNtYWluTmF2V3JhcHBlciAudG9wLWJhci1yaWdodCB1bCNtYWluTmF2IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHotaW5kZXg6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhci1yaWdodCB1bCNtYWluTmF2IHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjbWFpbk1lbnVXcmFwcGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfSB9XG5cbnVsLm1haW5OYXZBY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwO1xuICBtaW4td2lkdGg6IDIxM3B4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDEwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgdWwubWFpbk5hdkFjdGlvbnMge1xuICAgICAgbWluLXdpZHRoOiBhdXRvOyB9IH1cbiAgdWwubWFpbk5hdkFjdGlvbnMgPiBsaSB7XG4gICAgcGFkZGluZzogMCA4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gICAgICB1bC5tYWluTmF2QWN0aW9ucyA+IGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAzcHg7IH0gfVxuICAgIHVsLm1haW5OYXZBY3Rpb25zID4gbGk6bGFzdC1jaGlsZCB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIGxpIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgICB1bC5tYWluTmF2QWN0aW9ucyBhIGkge1xuICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgdWwubWFpbk5hdkFjdGlvbnMgYSBpOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIGg1IGEge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgdWwubWFpbk5hdkFjdGlvbnMgLmhlYWRlci1jdGEtYnV0dG9uIC5idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDgyLjQzNzVlbSkge1xuICAgICAgdWwubWFpbk5hdkFjdGlvbnMgLmhlYWRlci1jdGEtYnV0dG9uIC5idXR0b24ge1xuICAgICAgICB3aGl0ZS1zcGFjZTogbm93cmFwOyB9IH1cblxuLm1vYmlsZS1oZWFkZXItY3RhIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5tb2JpbGUtaGVhZGVyLWN0YSAuYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMTBweCBhdXRvO1xuICAgIHdpZHRoOiA4MCU7IH1cblxuLmhlYWRlci1tYWluLW5hdiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIG1pbi1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDI4cHggMDtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgdG9wOiAwO1xuICB6LWluZGV4OiA5OTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaGVhZGVyLW1haW4tbmF2IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuaGVhZGVyLW1haW4tbmF2OjphZnRlciB7XG4gICAgICAgIGhlaWdodDogMXB4OyB9IH1cbiAgLmhlYWRlci1tYWluLW5hdjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmhlYWRlci1tYWluLW5hdiAucm93LmF0cm9vdCB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuaGVhZGVyLW1haW4tbmF2Lm5vLWpzIHtcbiAgICBoZWlnaHQ6IDYwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5oZWFkZXItbWFpbi1uYXYtc3RpY2tlZCAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA5MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5oZWFkZXItbWFpbi1uYXYtc3RpY2tlZCAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMTBweDsgfSB9XG5cbi5oZWFkZXItbG9nby1pbWFnZSB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LXdpZHRoOiA5MHB4O1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiAxMjVweDsgfSB9XG5cbiNsb2NhdGlvbkNoYW5nZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbG9jYXRpb25DaGFuZ2VUcmlnZ2VyV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cblxuI2xvY2F0aW9uQ2hhbmdlRm9ybVdyYXBwZXIge1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICB3aWR0aDogMDsgfVxuXG4jbG9jYXRpb25DaGFuZ2VJbnB1dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDA7XG4gIGJveC1zaGFkb3c6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgaGVpZ2h0OiAyOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDIwMHB4O1xuICBwYWRkaW5nOiAwIDI1cHggMCAwOyB9XG4gICNsb2NhdGlvbkNoYW5nZUlucHV0OjotbXMtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI2xvY2F0aW9uQ2hhbmdlRm9ybUNsb3NlIHtcbiAgY29sb3I6ICNkZmUwZTA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMjhweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwOyB9XG5cbi50aXRsZS1iYXIge1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI21vYmlsZU1lbnVMb2dvV3JhcHBlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAxOHB4IDAgMCAzMHB4OyB9XG5cbiNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIge1xuICBmbG9hdDogcmlnaHQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIHVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIHVsIGxpIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMjFweDsgfVxuICAgICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciB1bCBsaSBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAzNnB4OyB9XG4gICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgbGkgYS5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbiB7XG4gICAgZmlsbDogIzAwMDtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICB3aWR0aDogNjBweDtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciAubWVudS1pY29uIC5tb2JpbGVOYXYtc3ZnIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogNjBweDsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbiAubW9iaWxlTmF2LXJlY3Qge1xuICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbi5pcy1hY3RpdmUgLm1vYmlsZU5hdi1yZWN0OmZpcnN0LWNoaWxkIHtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDNkZWcpIHRyYW5zbGF0ZSgxMXB4LCAtMjFweCk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0M2RlZykgdHJhbnNsYXRlKDExcHgsIC0yMXB4KTsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbi5pcy1hY3RpdmUgLm1vYmlsZU5hdi1yZWN0Om50aC1jaGlsZCgyKSB7XG4gICAgICBvcGFjaXR5OiAwOyB9XG4gICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciAubWVudS1pY29uLmlzLWFjdGl2ZSAubW9iaWxlTmF2LXJlY3Q6bGFzdC1jaGlsZCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtMzBweCwgMXB4KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC0zMHB4LCAxcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7IH1cbiAgICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIC5tZW51LWljb246OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI21vYmlsZU5hdkFjdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzgwODI4NTtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICM4MDgyODU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDVweCAzMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuICAjbW9iaWxlTmF2QWN0aW9ucyBsaSBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgICNtb2JpbGVOYXZBY3Rpb25zIGxpIGEgc3BhbiB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICNtb2JpbGVOYXZBY3Rpb25zIGxpIGEuYWN0aXZlIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNtb2JpbGVOYXZBY3Rpb25zIGxpIGEjbW9iaWxlTG9jYXRpb25DaGFuZ2VGb3JtQ2xvc2Uge1xuICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogNDVweDsgfVxuICAjbW9iaWxlTmF2QWN0aW9ucyAubW9iaWxlTmF2RXh0ZXJuYWxMaW5rcyB7XG4gICAgYmFja2dyb3VuZDogaW5oZXJpdDtcbiAgICBib3JkZXItdG9wOiAjYmViZWJlIDFweCBzb2xpZDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXRvcDogOHB4O1xuICAgIHBhZGRpbmctdG9wOiA4cHg7IH1cblxuI21vYmlsZUxvY2F0aW9uQ2hhbmdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZUlucHV0IHtcbiAgbWFyZ2luOiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDAgNDVweCAwIDE1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZUZvcm1XcmFwcGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cblxuLm1pbmktY2FydC1saW5rIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5taW5pLWNhcnQtbGluayAubWluaWNhcnQtcXVhbnRpdHkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgaGVpZ2h0OiAyNHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogLTEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogLTlweDtcbiAgICB3aWR0aDogMjRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm1pbmktY2FydC1saW5rIC5taW5pY2FydC1xdWFudGl0eSB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgdG9wOiA1cHg7IH0gfVxuICAgIC5taW5pLWNhcnQtbGluayAubWluaWNhcnQtcXVhbnRpdHkgLm1pbmljYXJ0LXF1YW50aXR5LWlubmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMThweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWdhLW1lbnUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA5OTk7IH1cbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgxLFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDIsXG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMyxcbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0LFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDUsXG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNiB7XG4gICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgIHBhZGRpbmctdG9wOiAxMHB4OyB9XG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgxIGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgyIGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgzIGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0IGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg1IGEsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg2IGEge1xuICAgICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMSBhOmhvdmVyLCAubWVnYS1tZW51IC5saW5rcy10eXBlIGgxOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMiBhOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMjpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDMgYTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDM6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0IGE6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg0OmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNSBhOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDYgYTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDY6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzk5NDAwMDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIHVsIHtcbiAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGxpLFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgbGkgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBsaSB7XG4gICAgICBwYWRkaW5nOiA1cHggMDsgfVxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBsaSBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMSxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMixcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMyxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNCxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNSxcbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNiB7XG4gICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMCA1cHg7IH1cbiAgICAgIC5tZWdhLW1lbnUgLmVkaXRvcmlhbC10eXBlIGgxOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDI6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMzpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmVkaXRvcmlhbC10eXBlIGg0OmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDU6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjOTk0MDAwOyB9XG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSAuY29udGVudC1jdXN0b20tYnRuIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSAuY29udGVudC1jdXN0b20tYnRuOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBpbWcge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5tZWdhLW1lbnUgLm1lZ2Ege1xuICAgICAgYm94LXNoYWRvdzogMCAxM3B4IDIwcHggLTEzcHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICAgIGxlZnQ6IDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDAgYXV0byAhaW1wb3J0YW50O1xuICAgICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgICBwYWRkaW5nOiA2MHB4IDA7XG4gICAgICByaWdodDogMCUgIWltcG9ydGFudDtcbiAgICAgIHdpZHRoOiBhdXRvICFpbXBvcnRhbnQ7IH1cbiAgICAgIC5tZWdhLW1lbnUgLm1lZ2EgLnJvdyB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH1cbiAgICAgIC5tZWdhLW1lbnUgLm1lZ2EgLmNvbHVtbnMge1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgIHBhZGRpbmc6IDAgMzVweDsgfVxuICAgICAgICAubWVnYS1tZW51IC5tZWdhIC5jb2x1bW5zOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5tZWdhLW1lbnUgLm1lZ2EgLmltYWdlLXR5cGUgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAubWVnYS1tZW51IC5tZWdhIC5pbWFnZS10eXBlIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIHBvc2l0aW9uOiBzdGF0aWM7IH1cbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5pcy1hY3RpdmUgYS5sMU1lbnVJdGVtOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB0b3A6IDI0cHg7XG4gICAgd2lkdGg6IDFlbTsgfSB9XG5cbi5oZWFkZXItbWFpbi1uYXYgLmlzLWRyaWxsZG93biAubWVnYS1tZW51IHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmhlYWRlci1tYWluLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmhlYWRlci1tYWluLW5hdiAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oZWFkZXItbWFpbi1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51IC5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IGF1dG87IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYxMDZcIjtcbiAgICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgdHJhbnNmb3JtLW9yaWdpbjogaW5pdGlhbDsgfSB9XG5cbiNtb2JpbGVTZWFyY2hXcmFwcGVyIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiAxcHg7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiA5OyB9XG4gICNtb2JpbGVTZWFyY2hXcmFwcGVyIC5oZWFkZXItc2VhcmNoIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNtb2JpbGVTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuaGVhZGVyLXNlYXJjaCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICAgIHdpZHRoOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oZWFkZXItc2VhcmNoIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdG9wOiAtMXB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmhlYWRlci1zZWFyY2ggZmllbGRzZXQge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmhlYWRlci1zZWFyY2ggLnNlYWNoRm9ybUlucHV0IHtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAgIC5oZWFkZXItc2VhcmNoIC5zZWFjaEZvcm1JbnB1dCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDI1cHggMCAxNXB4OyB9XG4gICAgLmhlYWRlci1zZWFyY2ggLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICBjb2xvcjogI2RmZTBlMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDA7IH0gfVxuXG4uaGVhZGVyU2VhcmNoV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZlMGUwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAtOHB4O1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAwOyB9IH1cbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUgLnNlYXJjaEZvcm1UcmlnZ2VyIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgICAgIC5oZWFkZXJTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuc2VhcmNoRm9ybVRyaWdnZXIgaS5pY29uLXNlYXJjaDo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUgLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5oZWFkZXJTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgIHdpZHRoOiAyMjBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIC5oZWFkZXItc2VhcmNoIHtcbiAgICAgICAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMC4zczsgfSB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5oZWFkZXItc2VhcmNoIC5zZWFyY2hGb3JtVHJpZ2dlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhcmNoRm9ybVRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5oZWFkZXItc2VhcmNoIGZpZWxkc2V0IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmhlYWRlclNlYXJjaFdyYXBwZXIgLnNlYWNoRm9ybUJ1dHRvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogNXB4OyB9XG4gICAgLmhlYWRlclNlYXJjaFdyYXBwZXIgLnNlYWNoRm9ybUJ1dHRvbjpob3ZlciB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhY2hGb3JtSW5wdXQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMjVweCAwIDEwcHg7IH1cbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhY2hGb3JtSW5wdXQ6Oi1tcy1jbGVhciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5zZWFyY2hGb3JtQ2xvc2Uge1xuICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG5cbi5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDhweCAxNXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgcGFkZGluZzogMjBweCAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogNTg1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICAgICAgdG9wOiA2NHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICAgICAgdG9wOiA2N3B4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlYXJjaC1zdWdnZXN0aW9ucyB7XG4gICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgdG9wOiA3MHB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAubW9iaWxlLXNlYXJjaCAuc2VhcmNoLXN1Z2dlc3Rpb25zIHtcbiAgICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuaGl0Z3JvdXAge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuZ2VuZXJhdGVkLWhpdGdyb3VwIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIGg1IHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMgaDUucG9wdWxhci1zZWFyY2hlcyB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuZGlyZWN0LXBhZ2UtbGluayB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5zZWFyY2gtcHJvZHVjdC13cmFwcGVyIHtcbiAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCA0MHB4O1xuICAgIHdpZHRoOiAzNDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXByb2R1Y3Qtd3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXN1Z2dlc3Rpb24td3JhcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwIDMwcHggMCA0MHB4O1xuICAgIHdpZHRoOiAyNDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXN1Z2dlc3Rpb24td3JhcHBlciB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkNGQ0ZDQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnNlYXJjaC1zdWdnZXN0aW9uLXdyYXBwZXIgYS5oaXQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnByb2R1Y3Qtc3VnZ2VzdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LXN1Z2dlc3Rpb246aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAucHJvZHVjdC1saW5rIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgIHdpZHRoOiA2MHB4OyB9XG4gICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWRldGFpbHMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4OyB9XG4gICAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LWxpbmsgLnByb2R1Y3QtZGV0YWlscyAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gIGZvbnQtc2l6ZTogMjhweDtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5mb290ZXItc29jaWFsLW1lZGlhLXdyYXBwZXIgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDsgfVxuICAgICAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIGEge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmZvb3Rlci1jb3B5LXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBtaW4taGVpZ2h0OiA5NnB4OyB9XG4gIC5mb290ZXItY29weS13cmFwcGVyIC5yb3cge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogOTZweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5mb290ZXItY29weS13cmFwcGVyIC5yb3cge1xuICAgICAgICBoZWlnaHQ6IDk2cHg7IH0gfVxuXG4jZm9vdGVyTG9nb0NvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0byA4cHg7XG4gIG1heC13aWR0aDogMTA4cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2Zvb3RlckxvZ29Db250YWluZXIge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC13aWR0aDogMTA4cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgI2Zvb3RlckxvZ29Db250YWluZXIgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuI2Zvb3RlckNvcHlDb250YWluZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTBweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZm9vdGVyQ29weUNvbnRhaW5lciB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjZm9vdGVyQ29weUNvbnRhaW5lciBzcGFuIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjZm9vdGVyQ29weUNvbnRhaW5lciBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4jZm9vdGVyTGl2ZUNoYXRDVEEge1xuICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4uZm9vdGVyLXdyYXBwZXIge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYyO1xuICBwYWRkaW5nOiA1NXB4IDAgMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZm9vdGVyLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogNDVweCAwIDM1cHg7IH0gfVxuICAuZm9vdGVyLXdyYXBwZXIgLmZvb3Rlci1sb2dvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbnVsLmZvb3Rlci1saW5rcyB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgdWwuZm9vdGVyLWxpbmtzIHNwYW4ge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIHVsLmZvb3Rlci1saW5rcyBhIHtcbiAgICBjb2xvcjogIzgwODI4NTsgfVxuICAgIHVsLmZvb3Rlci1saW5rcyBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIHVsLmZvb3Rlci1saW5rcyBsaSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICB1bC5mb290ZXItbGlua3MgbGkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgICAgdWwuZm9vdGVyLWxpbmtzIGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICAgICAgdWwuZm9vdGVyLWxpbmtzIGxpOmZpcnN0LWNoaWxkIGEge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICB1bC5mb290ZXItbGlua3MgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9IH1cblxuLnNob3ctc2VsZi1zZXJ2aWNlIC5zaG93LWVudHJ5LXBvaW50IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNob3ctZW50cnktcG9pbnQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5mb290ZXItZW1haWwtd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIHBhZGRpbmc6IDM1cHggMDsgfVxuICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgZm9ybSBmaWVsZHNldCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIGZvcm0gZmllbGRzZXQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfSB9XG4gIC5mb290ZXItZW1haWwtd3JhcHBlciBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAwIDAgMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciBsYWJlbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgcGFkZGluZzogMCA3MHB4IDAgMDsgfSB9XG4gIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIsXG4gIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyLFxuICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtbGFiZWwtd3JhcHBlciB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1sYWJlbC13cmFwcGVyIGxhYmVsIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMCAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIgaW5wdXQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIGJ1dHRvbiB7XG4gICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICB3aWR0aDogNDBweDsgfVxuICAgICAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIgYnV0dG9uIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIHNwYW4uZXJyb3Ige1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB0b3A6IC0xOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtaW5wdXQtd3JhcHBlciBzcGFuLmVycm9yIHtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuXG4ubmV3c2xldHRlci1tZXNzYWdlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuICAubmV3c2xldHRlci1tZXNzYWdlIGkge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH1cbiAgLm5ld3NsZXR0ZXItbWVzc2FnZSBzcGFuIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuI3N1YnNjcmliZS1lbWFpbCB7XG4gIG1heC13aWR0aDogMzA1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNzdWJzY3JpYmUtZW1haWwge1xuICAgICAgd2lkdGg6IDMxNXB4OyB9IH1cblxuI2hvbWVwYWdlQWxlcnRCYXIge1xuICBiYWNrZ3JvdW5kOiAjMDAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMCA1MHB4IDAgMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNob21lcGFnZUFsZXJ0QmFyIGkuaWNvbi1hbGVydCB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAzMHB4O1xuICAgIG1pbi13aWR0aDogNDJweDsgfVxuICAjaG9tZXBhZ2VBbGVydEJhciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMjVweCBhdXRvOyB9XG4gICNob21lcGFnZUFsZXJ0QmFyID4gZGl2IHtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBtaW4taGVpZ2h0OiA4MHB4OyB9XG4gICNob21lcGFnZUFsZXJ0QmFyIHN0cm9uZyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICNob21lcGFnZUFsZXJ0QmFyICNob21lcGFnZUFsZXJ0QmFyQ2xvc2Uge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMzglOyB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1sZWZ0IHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1sZWZ0IHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tbGVmdCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tbGVmdCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1yaWdodCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tcmlnaHQge1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubWFpbi1yaWdodCB7XG4gICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tcmlnaHQge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH0gfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcGFkZGluZzogMzZweCAzMnB4IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHtcbiAgICAgIHBhZGRpbmc6IDU1cHggMzJweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDkwcHggNjBweCAwOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiBoMiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAycmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHAge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWF4LXdpZHRoOiA1NDBweDsgfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gdWwge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHVsIHAge1xuICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gbGk6OmJlZm9yZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgcGFkZGluZy1yaWdodDogMC4yNWVtO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuMWVtOyB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gYS5idXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDc1cHg7IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbi1pbWFnZS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIgaW1nIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIgYS5idXR0b24ge1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDsgfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBwYWRkaW5nOiA4NXB4IDMycHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCB7XG4gICAgICBwYWRkaW5nOiAxMDBweCAzMnB4IDkwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3Qge1xuICAgICAgcGFkZGluZzogODVweCA4MHB4OyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgaW1nLnJpZ2h0LWNvbHVtbi1maXJzdC1pY29ucyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICBtYXgtd2lkdGg6IDIxNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgaW1nLnJpZ2h0LWNvbHVtbi1maXJzdC1pY29ucyB7XG4gICAgICAgIG1heC13aWR0aDogMjI1cHg7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCBoMiB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAycmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCBwIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgcCB7XG4gICAgICAgIG1heC13aWR0aDogNDYwcHg7IH0gfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1maXJzdCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kIHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEge1xuICBwYWRkaW5nOiA0MHB4IDMycHggMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEge1xuICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICBmbGV4OiAxO1xuICAgICAgcGFkZGluZzogNjBweCAxMHB4IDQwcHggNzBweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE5MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA4MCU7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1hIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIge1xuICBwYWRkaW5nOiAwIDMycHggNDVweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1iIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgZmxleDogMTtcbiAgICAgIHBhZGRpbmc6IDc1cHggNDVweCA0NXB4IDA7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIgaDIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIgaDIge1xuICAgICAgICBmb250LXNpemU6IDM0cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1iIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cblxuLnJvdy5jb2xsYXBzZS1yb3cge1xuICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW4tcmlnaHQ6IGF1dG8gIWltcG9ydGFudDsgfVxuXG4udmVydGljYWwtYWxpZ24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7IH1cblxuLmhvcml6b250YWwtYWxpZ24ge1xuICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmluZm8tdGlsZS13cmFwcGVyLXNwYWNlYXJvdW5kIHtcbiAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQge1xuICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCB7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgICAgIHBhZGRpbmctdG9wOiA2MHB4OyB9IH1cblxuLmluZm8tdGlsZS13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmluZm8tdGlsZS13cmFwcGVyLmhvdmVyZWQge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaW5mby10aWxlLXdyYXBwZXIgPiBkaXYge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi5ob21wYWdlLWluZm8tdGlsZSB7XG4gIGJvcmRlcjogMTBweCBzb2xpZCAjZjJmMmYyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDE1cHggMzhweCAxNXB4IDE0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaG9tcGFnZS1pbmZvLXRpbGUge1xuICAgICAgcGFkZGluZzogOHB4IDIwcHggMTVweDsgfVxuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIGEge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaG9tcGFnZS1pbmZvLXRpbGUge1xuICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgcGFkZGluZy1yaWdodDogNDBweDsgfSB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSBwIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIHAge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgYSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBhIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSBpIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDYwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBpIHtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNTBweDsgfSB9XG4gICAgLmhvbXBhZ2UtaW5mby10aWxlIGk6OmJlZm9yZSB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSBoNCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbi1sZWZ0OiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIC5ob21wYWdlLWluZm8tdGlsZS5zaG93YnV0dG9uIC5idXR0b24ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5ob21wYWdlLWluZm8tdGlsZSAuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuaG9tcGFnZS1pbmZvLXRpbGUgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgLm1vYmlsZS1pbmZvLXRpbGUtQ1RBIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwOyB9XG5cbiNoZWFkbGluZXNXcmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBiYWNrZ3JvdW5kLXNpemU6IDE3OHB4IGF1dG87XG4gIHBhZGRpbmc6IDQuMjVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgI2hlYWRsaW5lc1dyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiAyNDFweCBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNoZWFkbGluZXNXcmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMzE2cHggYXV0bztcbiAgICAgIHBhZGRpbmc6IDEwMHB4IDA7IH0gfVxuICAjaGVhZGxpbmVzV3JhcHBlciAudGl0bGUtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNoZWFkbGluZXNXcmFwcGVyIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICNoZWFkbGluZXNXcmFwcGVyIC5jdGEtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNoZWFkbGluZXNXcmFwcGVyIC5jdGEtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuICAgICNoZWFkbGluZXNXcmFwcGVyIC5jdGEtd3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAjaGVhZGxpbmVzV3JhcHBlciBoMi5zZWN0aW9uLXRpdGxlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDI2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjaGVhZGxpbmVzV3JhcHBlciBoMi5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAzNnB4OyB9IH1cbiAgI2hlYWRsaW5lc1dyYXBwZXIgcC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjaGVhZGxpbmVzV3JhcHBlciBwLnNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLnJldmVhbC5yZXZlYWxuaW5lIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDkwMHB4O1xuICBwYWRkaW5nOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uYm9yZGVyZWQtdG9wIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjI7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgb3ZlcmZsb3cteTogaGlkZGVuOyB9XG4gIC5yZXZlYWwtb3ZlcmxheS5zY3JvbGwtb3ZlcmxheSB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJldmVhbC1vdmVybGF5LnNjcm9sbC1vdmVybGF5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9IH1cblxuLmVycm9yLXBhZ2UtY29udGFpbmVyIHtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5mdWxsYmxlZWQsIC5lcnJvci1wYWdlLWNvbnRhaW5lciAuZm9vdGVyLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7IH1cbiAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5yb3cge1xuICAgIHBhZGRpbmctYm90dG9tOiAzLjc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiA0LjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5yb3cge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTIuNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEyLjg3NXJlbTsgfSB9XG4gIC5lcnJvci1wYWdlLWNvbnRhaW5lciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICBsaW5lLWhlaWdodDogMS4wNDM1ZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS40Mzc1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZXJyb3ItcGFnZS1jb250YWluZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDQuMDYyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtOyB9IH1cbiAgLmVycm9yLXBhZ2UtY29udGFpbmVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZXJyb3ItcGFnZS1jb250YWluZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gIC5lcnJvci1wYWdlLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgcGFkZGluZzogMTBweCAyOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDAgMDsgfSB9XG4gICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIC5idXR0b246aG92ZXIge1xuICAgICAgY29sb3I6IGluaGVyaXQ7IH1cblxuLmJyb3dzZXItZXJyb3Ige1xuICBjb2xvcjogI2VjNTg0MDtcbiAgbWFyZ2luLWJvdHRvbTogLTEuMjVyZW07XG4gIHBhZGRpbmctdG9wOiAycmVtOyB9XG5cbi5wcml2YWN5cG9saWN5LXdyYXBwZXIge1xuICBwYWRkaW5nOiA1MHB4IDAgMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wcml2YWN5cG9saWN5LXdyYXBwZXIge1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTsgfSB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgLnByaXZhY3lwb2xpY3ktdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciAucHJpdmFjeXBvbGljeS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgaDQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciB1bCBsaSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLnByaXZhY3lwb2xpY3ktd3JhcHBlciB1bCBsaSBzcGFuIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLm1vZGFsIHAsXG4ubW9kYWwgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMDsgfVxuXG4ubW9kYWwgcCB7XG4gIGZvbnQtZmFtaWx5OiBcImdvdGhhbVwiLCBBcmlhbDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDI0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tb2RhbCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjlweDsgfSB9XG5cbi5tb2RhbCAudGl0bGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZmxleC1ncm93OiAxO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tb2RhbCAudGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBwYWRkaW5nOiAyMnB4IDAgMjJweCAzMHB4OyB9IH1cblxuLm1vZGFsIC5tb2RhbC1oZWFkZXIge1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi5tb2RhbC5yZXZlYWwge1xuICBib3JkZXI6IDA7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1vZGFsIC5jbG9zZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZy1yaWdodDogMThweDtcbiAgcG9zaXRpb246IHVuc2V0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAyN3B4OyB9IH1cblxuLmdkcHItaW5mby1iYXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGJvdHRvbTogMDtcbiAgY29sb3I6ICNmZmY7XG4gIGxlZnQ6IDA7XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIHBhZGRpbmc6IDEwcHggMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICByaWdodDogMDtcbiAgei1pbmRleDogMTA7IH1cbiAgLmdkcHItaW5mby1iYXIgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5nZHByLWluZm8tYmFyIHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMS40OyB9IH1cbiAgLmdkcHItaW5mby1iYXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmdkcHItaW5mby1iYXIgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5nZHByLWluZm8tYmFyIC5nZHByLWluZm8tZmxleCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLmdkcHItaW5mby1iYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5vcmRlci1zdW1tYXJ5LXByb2R1Y3RzLXRpdGxlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uaWNvbi1jYWxlbmRhci1pY29uLFxuLmljb24tcHJpbnQge1xuICBtYXJnaW4tcmlnaHQ6IDAuNWVtOyB9XG5cbiNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIHtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gIG1heC1oZWlnaHQ6IDY1dmg7XG4gIHBhZGRpbmc6IDMwcHg7XG4gIHdpZHRoOiA3NTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSB7XG4gICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgbWFyZ2luOiA1JTtcbiAgICAgIG1pbi1oZWlnaHQ6IDc1dmg7XG4gICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB3aWR0aDogOTAlOyB9IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgKiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDsgfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAucHJvdmluY2UtbW9kYWwtY29udGVudCB7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAubWVzc2FnZS1jbG9zZS1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDFyZW07XG4gICAgdG9wOiAwLjVyZW07IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgLnRpdGxlLXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAudGl0bGUtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAuY29udGVudC1zZWN0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIC5jb250ZW50LXNlY3Rpb24ge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgaDQge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDsgfSB9XG4gICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIGltZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSBpbWcge1xuICAgICAgICBtYXJnaW46IDMwcHggMDsgfSB9XG4gICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIHAge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuXG4jcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC1oZWlnaHQ6IDgwdmg7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIG1pbi1oZWlnaHQ6IGF1dG87XG4gIHBhZGRpbmc6IDFyZW07XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1JSk7XG4gIHdpZHRoOiA5MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwge1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG87IH0gfVxuICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5oZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAucHJvdmluY2Utb3B0aW9ucyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luOiA1cHggMDtcbiAgICBwYWRkaW5nOiAxNnB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgZ2FwOiAxcmVtO1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7IH0gfVxuICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgICAgbWFyZ2luOiA1cHggYXV0bztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiB7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHdpZHRoOiAzMjBweDsgfSB9XG4gICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24gLnByb3ZpbmNlLWxhYmVsIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgcGFkZGluZzogMXJlbTsgfVxuICAgICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24gLnByb3ZpbmNlLWxhYmVsIC5wcm92aW5jZS1uYW1lIHtcbiAgICAgICAgICB3aWR0aDogODAlOyB9XG4gICAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiAucHJvdmluY2UtbGFiZWwgc3BhbiB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiAucHJvdmluY2UtbGFiZWwgaW5wdXQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAucHJvdmluY2Utb3B0aW9ucyAucHJvdmluY2Utb3B0aW9uIC5wcm92aW5jZS1sYWJlbCAuY3VzdG9tLXJhZGlvLWljb24ge1xuICAgICAgICAgIGJvcmRlcjogIzIwMjAyMCAxcHggc29saWQ7XG4gICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHdpZHRoOiAyMHB4OyB9XG4gICAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiAucHJvdmluY2UtbGFiZWwgLmN1c3RvbS1yYWRpby1pY29uIGkge1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG4gICAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiAucHJvdmluY2UtbGFiZWwgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuY3VzdG9tLXJhZGlvLWljb24ge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgICAgICAgYm9yZGVyOiAjZmY2OTAwIDFweCBzb2xpZDsgfVxuICAgICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24gLnByb3ZpbmNlLWxhYmVsIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmN1c3RvbS1yYWRpby1pY29uIGkge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgICAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAucHJvdmluY2Utb3B0aW9ucyAucHJvdmluY2Utb3B0aW9uIC5wcm92aW5jZS1sYWJlbC5hY3RpdmUge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZjY5MDA7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7IH1cbiAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiBsYWJlbCxcbiAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiBpbnB1dCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5tb2RhbC1mb290ZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5tb2RhbC1mb290ZXIgLmxhbmd1YWdlLXNlbGVjdG9yIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAubW9kYWwtZm9vdGVyIC5sYW5ndWFnZS1zZWxlY3RvciBhIHtcbiAgICAgICAgY29sb3I6ICMzMzM7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMjU7XG4gICAgICAgIHBhZGRpbmc6IDJweDsgfVxuICAgICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5tb2RhbC1mb290ZXIgLmxhbmd1YWdlLXNlbGVjdG9yIGEuYWN0aXZlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbC1lcnJvciB7XG4gICAgY29sb3I6ICNmMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9wc3Jlc3VsdHMgLmhlYWRlci1tYWluLW5hdjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wdF9wc3Jlc3VsdHMgLnNlbC1pbmZvLXdyYXBwZXIgLnNtYWxsLTEyLmNvbHVtbnMucHNyZXN1bHRzLXRpdGxlLWJvcmRlciB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbnNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGNvbG9yOiAjMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IDIycHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgd2lkdGg6IDIycHg7IH1cbiAgc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUucXVlc3Rpb25tYXJrLXdoaXRlIHtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4jR1NQTm9SZXN1bHRzIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4jcHNtb2RhbCxcbiN3aGVlbC10eXBlLW1vZGFsIHtcbiAgbWF4LXdpZHRoOiA3MDBweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgI3BzbW9kYWwgLmNsb3NlLWJ1dHRvbixcbiAgI3doZWVsLXR5cGUtbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgdG9wOiAxNXB4O1xuICAgIHotaW5kZXg6IDk5OyB9XG4gICNwc21vZGFsIC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgI3BzbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICN3aGVlbC10eXBlLW1vZGFsIC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgI3BzbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUsXG4gICN3aGVlbC10eXBlLW1vZGFsIC5wcm9kdWN0U2VsZWN0b3IgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3BzbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUudHJhaWxlci10aXJlLWhpbnQsXG4gICAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI3BzbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAuc3RlcC5jdXJyZW50IC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSxcbiAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAuc3RlcC5jdXJyZW50IC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yIC5zdGVwLmN1cnJlbnQgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLnRyYWlsZXItdGlyZS1oaW50LFxuICAgICN3aGVlbC10eXBlLW1vZGFsIC5wcm9kdWN0U2VsZWN0b3IgLnN0ZXAuY3VycmVudCAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3BzbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfdmVoaWNsZVwiXSwgI3BzbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3ZlaGljbGVcIl0sXG4gICAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfdmVoaWNsZVwiXSxcbiAgICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfdmVoaWNsZVwiXSB7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4OyB9IH1cbiAgI3BzbW9kYWwgLnNlbGVjdG9yLFxuICAjd2hlZWwtdHlwZS1tb2RhbCAuc2VsZWN0b3Ige1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNwc21vZGFsIC5zZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAgICAgI3BzbW9kYWwgLnNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgICAgICN3aGVlbC10eXBlLW1vZGFsIC5zZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAgICAgI3doZWVsLXR5cGUtbW9kYWwgLnNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4ubW9kYWwtY29udGVudCAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5tb2RhbC1jb250ZW50ICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG4ubW9kYWwtY29udGVudCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuICAubW9kYWwtY29udGVudCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Ige1xuICAgIHBhZGRpbmc6IDMwcHg7IH1cbiAgLm1vZGFsLWNvbnRlbnQgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5maW5kVGlyZVNpemVNb2RhbEhlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogNzJweDtcbiAgbWluLWhlaWdodDogNzJweDtcbiAgcGFkZGluZzogMCA2MHB4IDAgMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5maW5kVGlyZVNpemVNb2RhbEhlYWRlciAuY2xvc2UtYnV0dG9uIHtcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjVweDtcbiAgICB0b3A6IDA7IH1cbiAgLmZpbmRUaXJlU2l6ZU1vZGFsSGVhZGVyIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmZpbmRUaXJlU2l6ZU1vZGFsSGVhZGVyIGgyIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmYgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgIHdpZHRoOiAzMnB4OyB9XG5cbi5maW5kVGlyZVNpemVNb2RhbENvbnRlbnQge1xuICBwYWRkaW5nOiAzMHB4OyB9XG4gIC5maW5kVGlyZVNpemVNb2RhbENvbnRlbnQgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIC5maW5kVGlyZVNpemVNb2RhbENvbnRlbnQgcCBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5wdF9zdG9yZWZyb250IC5oZWFkZXItbWFpbi1uYXYsXG4gIC5wdF9zdG9yZWZyb250IC5pbmZvLXRpbGUtd3JhcHBlcixcbiAgLnB0X3N0b3JlZnJvbnQgLmluZm8tdGlsZS13cmFwcGVyLXNwYWNlYXJvdW5kLFxuICAucHRfc3RvcmVmcm9udCAuZm9vdGVyLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIsXG4jbmV3U2VhcmNoTW9kYWwge1xuICBwYWRkaW5nOiAzNXB4IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkICNQU092ZXJsYXksXG4gICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkICNQU092ZXJsYXkge1xuICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMsXG4gICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzOjpiZWZvcmUsICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzOjphZnRlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzOjpiZWZvcmUsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFiczo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFiczo6YWZ0ZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFiczo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMgLm1haW4tc2VsZWN0b3ItdGFiLFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMgLm1haW4tc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDQwcHg7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnBzLXJpZ2h0LFxuICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAucHMtcmlnaHQge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAucHMtcmlnaHQgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLnBzLXJpZ2h0ICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICAgICAgbWF4LXdpZHRoOiA2MDBweDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAuc2VsZWN0b3IuYWN0aXZlLFxuICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAuc2VsZWN0b3IuYWN0aXZlIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDMxNnB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlcixcbiAgICAjbmV3U2VhcmNoTW9kYWwge1xuICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgIHBhZGRpbmc6IDE4MHB4IDA7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAucHMtbGVmdCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAucHMtbGVmdCB7XG4gICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwJTtcbiAgICAgICAgb3BhY2l0eTogMDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5wcy1yaWdodCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAucHMtcmlnaHQge1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAucHMtcmlnaHQgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQsXG4gICAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAucHMtcmlnaHQgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgICAgIG1heC13aWR0aDogNzUwcHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnByb2R1Y3Qtd3JhcHBlci1iYWNrZ3JvdW5kLFxuICAjbmV3U2VhcmNoTW9kYWwgLnByb2R1Y3Qtd3JhcHBlci1iYWNrZ3JvdW5kIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIHRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnByb2R1Y3Qtd3JhcHBlci1iYWNrZ3JvdW5kIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnByb2R1Y3Qtd3JhcHBlci1iYWNrZ3JvdW5kIHtcbiAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgIHotaW5kZXg6IC0xOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5pbnNpZGVTZWxlY3RvciA+IGE6OmFmdGVyLFxuICAjbmV3U2VhcmNoTW9kYWwgLmluc2lkZVNlbGVjdG9yID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAubWFpbi1zZWxlY3Rvci10YWIsXG4gICNuZXdTZWFyY2hNb2RhbCAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAubWFpbi1zZWxlY3Rvci10YWIuYWN0aXZlLFxuICAgICNuZXdTZWFyY2hNb2RhbCAubWFpbi1zZWxlY3Rvci10YWIuYWN0aXZlIHtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5tYWluLXNlbGVjdG9yLXRhYi5hY3RpdmUgYSxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAubWFpbi1zZWxlY3Rvci10YWIuYWN0aXZlIGEge1xuICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzLFxuICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5uby10YWJzLFxuICAjbmV3U2VhcmNoTW9kYWwubm8tdGFicyB7XG4gICAgcGFkZGluZzogNjBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwubm8tdGFicyB7XG4gICAgICAgIHBhZGRpbmc6IDcwcHggMDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwubm8tdGFicyB7XG4gICAgICAgIHBhZGRpbmc6IDkwcHggMDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMgLm1haW4tc2VsZWN0b3ItdGFicyxcbiAgICAjbmV3U2VhcmNoTW9kYWwubm8tdGFicyAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5uby10YWJzIC5tYWluLXNlbGVjdG9yLXRhYnMsXG4gICAgICAgICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5uby10YWJzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhLFxuICAgICNuZXdTZWFyY2hNb2RhbC5uby10YWJzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicy5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzLFxuICAgICAgI25ld1NlYXJjaE1vZGFsLm5vLXRhYnMuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmFkZC1yZWFyLXNpemUsXG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmxvb2tpbmctZm9yLW90aGVyLFxuICAjbmV3U2VhcmNoTW9kYWwgLmFkZC1yZWFyLXNpemUsXG4gICNuZXdTZWFyY2hNb2RhbCAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAjbmV3U2VhcmNoTW9kYWwgLmxvb2tpbmctZm9yLW90aGVyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5hZGQtcmVhci1zaXplLFxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIsXG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmxvb2tpbmctZm9yLW90aGVyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5hZGQtcmVhci1zaXplLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmxvb2tpbmctZm9yLW90aGVyIHtcbiAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmxvb2tpbmctZm9yLW90aGVyLFxuICAjbmV3U2VhcmNoTW9kYWwgLmxvb2tpbmctZm9yLW90aGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcG9zaXRpb246IGluaXRpYWw7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5hZGQtcmVhci1zaXplLFxuICAjbmV3U2VhcmNoTW9kYWwgLmFkZC1yZWFyLXNpemUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmFkZC1yZWFyLXNpemUgYSxcbiAgICAjbmV3U2VhcmNoTW9kYWwgLmFkZC1yZWFyLXNpemUgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuYWRkLXJlYXItc2l6ZSBhOjphZnRlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSBhOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnJvb3RsZXZlbHBzLFxuICAgICNuZXdTZWFyY2hNb2RhbCAucm9vdGxldmVscHMge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAub3JiaXQtY29udGFpbmVyLFxuICAjbmV3U2VhcmNoTW9kYWwgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZSxcbiAgICAjbmV3U2VhcmNoTW9kYWwgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUge1xuICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUsXG4gICAgICAgICNuZXdTZWFyY2hNb2RhbCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUuaXMtYWN0aXZlLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlLmlzLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAucGFnZWRpcmVjdCxcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnBhZ2VkaXJlY3Qge1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAucGFnZWRpcmVjdCBpLmljb24tYW5nbGUtbGVmdDo6YmVmb3JlLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5wYWdlZGlyZWN0IGkuaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNnB4O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyxcbiAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zOjpiZWZvcmUsICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9uczo6YWZ0ZXIsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zOjpiZWZvcmUsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9uczo6YWZ0ZXIsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzOjpiZWZvcmUsICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHM6OmFmdGVyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0czo6YmVmb3JlLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0czo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzOjphZnRlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHM6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTEgLnJlc3VsdHNDb2wsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtMSAucmVzdWx0c0NvbCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtMiAucmVzdWx0c0NvbCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy0yIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgd2lkdGg6IDUwJTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTMgLnJlc3VsdHNDb2wsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtMyAucmVzdWx0c0NvbCB7XG4gICAgICAgIHdpZHRoOiAzMy4zJTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTQgLnJlc3VsdHNDb2wsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtNCAucmVzdWx0c0NvbCB7XG4gICAgICAgIHdpZHRoOiAyNSU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy01IC5yZXN1bHRzQ29sLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTUgLnJlc3VsdHNDb2wge1xuICAgICAgICB3aWR0aDogMjAlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyAucmVzdWx0c0NvbCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCA2cHg7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyAucmVzdWx0c0NvbDpsYXN0LWNoaWxkLFxuICAgICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sOmxhc3QtY2hpbGQge1xuICAgICAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sIGEsXG4gICAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2wgYSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDJweCA2cHg7IH1cbiAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sIGE6aG92ZXIsXG4gICAgICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyAucmVzdWx0c0NvbCBhOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgICAgICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgPiAucm93LFxuICAjbmV3U2VhcmNoTW9kYWwgPiAucm93IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuXG4ud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciBoMyB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMDYyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cblxuLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMjVweCAyMHB4IDIwcHggMDtcbiAgICBtaW4taGVpZ2h0OiAxODJweDtcbiAgICBwYWRkaW5nOiA4cHggMTBweCA4cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24ge1xuICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDsgfVxuICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbjpob3ZlciB7XG4gICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmY2OTAwOyB9XG4gICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgICAgcGFkZGluZzogMTVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24gaW1nIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgbWluLXdpZHRoOiA1MCU7XG4gICAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTBweDsgfSB9XG4gICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIHAge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogNnB4IDZweCAxNXB4IDA7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgIG1hcmdpbjogM3B4IDAgMDsgfSB9XG5cbi53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIG1hcmdpbi10b3A6IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gICAgICBib3R0b206IC0yMnB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfSB9XG5cbiNQU092ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7IH1cbiAgI1BTT3ZlcmxheS52aXNpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLnRyYWlsZXItYmFubmVyLXNlbGVjdG9yICNQU092ZXJsYXkge1xuICB6LWluZGV4OiAwOyB9XG5cbmgyLm1vYmlsZS1tb2RhbC10aXRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGNvbG9yOiAjMDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDIycHg7XG4gIGhlaWdodDogNjRweDtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwIDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuI3BzTW9iaWxlTW9kYWwsXG4jcHNNb2JpbGUge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBtYXJnaW46IDA7IH1cbiAgI3BzTW9iaWxlTW9kYWwgPiBsaSA+IGEsXG4gICNwc01vYmlsZSA+IGxpID4gYSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3BzTW9iaWxlTW9kYWwgPiBsaSA+IGEsXG4gICAgICAjcHNNb2JpbGUgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgI3BzTW9iaWxlTW9kYWwgPiBsaSxcbiAgI3BzTW9iaWxlID4gbGkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3BzTW9iaWxlTW9kYWwgPiBsaSxcbiAgICAgICNwc01vYmlsZSA+IGxpIHtcbiAgICAgICAgYm9yZGVyOiAwOyB9IH1cbiAgICAjcHNNb2JpbGVNb2RhbCA+IGxpOmZpcnN0LWNoaWxkLFxuICAgICNwc01vYmlsZSA+IGxpOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICNwc01vYmlsZU1vZGFsID4gbGkgYSxcbiAgICAjcHNNb2JpbGUgPiBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgICAjcHNNb2JpbGVNb2RhbCA+IGxpIGEud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlcixcbiAgICAgICNwc01vYmlsZSA+IGxpIGEud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAjcHNNb2JpbGVNb2RhbCAubWVudS5uZXN0ZWQsXG4gICNwc01vYmlsZSAubWVudS5uZXN0ZWQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jcHJvZHVjdFNlbGVjdG9yV3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgYXV0byAzNXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLWxlZnQge1xuICAgICAgICBtYXJnaW46IDAgYXV0byA0NXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAyLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLWxlZnQgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNC4xODc1cmVtOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgIG1hcmdpbjogMTBweCAwIDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLWxlZnQgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLWxlZnQgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1yaWdodCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtcmlnaHQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogNjEwcHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5pbnBhZ2UgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuaW5wYWdlIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuaW5wYWdlIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LmlucGFnZSAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMzBweDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLmFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLXRhYiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZzogMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItdGFiIGRpdjpub3QoLnNlbGVjdG9yLWRlc2NyaXB0aW9uKSxcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItdGFiIGJ1dHRvbiB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci10YWI6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXRvcDogMDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci10YWI6aG92ZXI6OmJlZm9yZSB7XG4gICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMjBweDtcbiAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWltYWdlIGltZyB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24ge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgd2lkdGg6IDU2JTsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIGgzIHtcbiAgICAgICAgICBmb250LXNpemU6IDIwcHg7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLm1haW4tc2VsZWN0b3ItdGFiIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAxLjE4NzVyZW07XG4gICAgaGVpZ2h0OiA0NHB4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLm1haW4tc2VsZWN0b3ItdGFiOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5tYWluLXNlbGVjdG9yLXRhYi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGhlaWdodDogNDhweDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLm1haW4tc2VsZWN0b3ItdGFiLmFjdGl2ZSBidXR0b24ge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5tYWluLXNlbGVjdG9yLXRhYiBidXR0b24ge1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci10YWJzIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubG9va2luZy1mb3Itb3RoZXItdGlyZXMge1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmxvb2tpbmctZm9yLW90aGVyLXRpcmVzLnRyYWlsZXItcGFnZS1yZWRpcmVjdCB7XG4gICAgICBib3R0b206IC0yMnB4O1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICByaWdodDogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubG9va2luZy1mb3Itb3RoZXItdGlyZXMudHJhaWxlci1wYWdlLXJlZGlyZWN0IHtcbiAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmxvb2tpbmctZm9yLW90aGVyLXRpcmVzLnRyYWlsZXItcGFnZS1yZWRpcmVjdCAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3Rvci5zdGFnZ2VyZWQtYWN0aXZlW2RhdGEtZnJvbnRyZWFyPVwiZnJvbnRcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yLnN0YWdnZXJlZC1hY3RpdmVbZGF0YS1mcm9udHJlYXI9XCJyZWFyXCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3Ige1xuICAgICAgICBtaW4taGVpZ2h0OiAyMjBweDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtY2F0ZWdvcnlpZD1cInRpcmVzXCJdIHtcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1jYXRlZ29yeWlkPVwidGlyZXNcIl0gLmFkZC1yZWFyLXNpemUsXG4gICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvcltkYXRhLWNhdGVnb3J5aWQ9XCJ0aXJlc1wiXSAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTE1cHg7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3IuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvciAuZnJvbnQtcmVhci1tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3Rvci5zdGFnZ2VyZWQtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yLnN0YWdnZXJlZC1hY3RpdmUgLmZyb250LXJlYXItbW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9jbG9zZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3JfY2xvc2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyOjpiZWZvcmUsICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDEycHg7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIgYSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciA+IGRpdiB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciA+IGRpdiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyID4gZGl2OmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIgPiBkaXY6Zmlyc3QtY2hpbGQgYSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIuc3RhZ2dlcmVkLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIuYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIgPiBkaXYuYWN0aXZlIGEge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhci1tb2JpbGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXItbW9iaWxlIC5yZWFyIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmFkZC1yZWFyLXNpemUtY3RhLm1vYmlsZS1vbmx5IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5hZGQtcmVhci1zaXplLWN0YS5tb2JpbGUtb25seSAuYWRkLXJlYXItc2l6ZSB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmFkZC1yZWFyLXNpemUtY3RhLm1vYmlsZS1vbmx5IC5hZGQtcmVhci1zaXplIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5hZGQtcmVhci1zaXplLWN0YS5tb2JpbGUtb25seSAuYWRkLXJlYXItc2l6ZSBhOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMTVweCAxNXB4IDEwcHg7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlciB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgY29sb3I6ICMwMDAgIWltcG9ydGFudDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsKDE4KTtcbiAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIGEud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogI2ZmNjkwMCAhaW1wb3J0YW50O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDAgNnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSBhLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgIHdpZHRoOiAzMHB4OyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUgYS5wYWdlZGlyZWN0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSAucmVzdWx0c0NvbCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwczo6YmVmb3JlLCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHM6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcCB7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcDo6YmVmb3JlIHtcbiAgICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgdG9wOiAtMnB4OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXBbZGF0YS1jdXJyZW50LWtleT1WRUhJQ0xFX05BTUVdIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXAuY2hvc2VuIGEge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwID4gYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcCA+IGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwIC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXA6Zmlyc3QtY2hpbGQgLnN0ZXBsaW5rIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcDpmaXJzdC1jaGlsZCAuc3RlcGxpbmsge1xuICAgICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuY3VycmVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuY3VycmVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLmN1cnJlbnQgYSB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5jaG9zZW4gYSB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5jaG9zZW4gLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwbGluayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcGxpbmsge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtaW4taGVpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBpbml0aWFsOyB9IH1cblxuLmlubGluZS1xdWVzdGlvbi1tYXJrIHtcbiAgZGlzcGxheTogaW5saW5lLWJveDtcbiAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9XG4gIC5pbmxpbmUtcXVlc3Rpb24tbWFyayAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogLTJweDtcbiAgICB3aWR0aDogMThweCAhaW1wb3J0YW50OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLm5ld3NlYXJjaC10aXJlc2VsZWN0aW9uIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMCAyNXB4IDAgMjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAucGRwLW1haW4gLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMTBweDsgfSB9XG5cbi5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDUwcHggMCAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHNyZXN1bHRzLXdyYXBwZXIuc21hbGwtdG9wIHtcbiAgICAgIHBhZGRpbmc6IDAgMCAxLjg3NXJlbTsgfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyLnNtYWxsLXRvcCAucHNyZXN1bHRzLXRpdGxlLWJvcmRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIuc21hbGwtdG9wIGgyLnBzcmVzdWx0cy10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMThweCAwOyB9IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDsgfSB9XG4gIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsZWN0aW9uLWluZm9ybWF0aW9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsZWN0aW9uLWluZm9ybWF0aW9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8td3JhcCB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8td3JhcCAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGhlaWdodDogMjFweDtcbiAgICAgIHdpZHRoOiAyMXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlLWNvbCB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTBweDtcbiAgICAgIHRvcDogMjBweDtcbiAgICAgIHotaW5kZXg6IDE7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2UtY29sIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJveC1zaXppbmc6IGluaXRpYWw7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2Uge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweCAwIDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSAubG9hZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIC5wcy1yZXN1bHRzLWltYWdlLXRpcCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTE4cHg7XG4gICAgICB0b3A6IC04cHg7XG4gICAgICB3aWR0aDogMjJweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSAucHMtcmVzdWx0cy1pbWFnZS10aXAge1xuICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgIHRvcDogMDsgfSB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSAucHMtcmVzdWx0cy1pbWFnZS10aXAgc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxNnB4OyB9XG4gIC5wc3Jlc3VsdHMtd3JhcHBlciAubWluaW1pemVkLXZlaGljbGUtdml6dWFsaXplciAuc2VsLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLm1pbmltaXplZC12ZWhpY2xlLXZpenVhbGl6ZXIgLnNlbC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAubWluaW1pemVkLXZlaGljbGUtdml6dWFsaXplciAuc2VsLXRpdGxlIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLm1pbmltaXplZC12ZWhpY2xlLXZpenVhbGl6ZXIgLnNlbC10aXRsZSBhIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5taW5pbWl6ZWQtdmVoaWNsZS12aXp1YWxpemVyIC5zZWwtdGl0bGUgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cbiAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cubGVmdC1hcnJvdzo6YmVmb3JlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItcmlnaHQ6IDEycHggc29saWQgI2ZmZjtcbiAgICAgIGJvcmRlci10b3A6IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGhlaWdodDogMDtcbiAgICAgIGxlZnQ6IC0xMnB4O1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cubGVmdC1hcnJvdzo6YmVmb3JlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmluaXQtc2VsZWN0b3Ige1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuaW5pdC1zZWxlY3RvciB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjlweDsgfSB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmluZm8tbW9kYWwge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuaW5mby1tb2RhbCAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDsgfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8ge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIHtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8gLnNlbC10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8gLnNlbC10aXRsZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1NnB4OyB9IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8gLnNlbC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIC5zZWwtdGl0bGUubm9taW5oZWlnaHQge1xuICAgICAgICAgIG1pbi1oZWlnaHQ6IGluaXRpYWw7IH1cbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlIGEge1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDsgfVxuICAgICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8gLnNlbC10aXRsZSBhOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnNlbC1zdWJ0aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnNlbC1zdWJ0aXRsZSB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43MTg3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMTYuNXB4OyB9IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5zZWwtc3VidGl0bGUgc3Ryb25nIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnNlbC1zdWJ0aXRsZSBzcGFuIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCAjZmY2OTAwOyB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuc2VsLXN1YnRpdGxlIC5zZXBhcmF0b3Ige1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnJpZ2h0LWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAucmlnaHQtaW5mbyA+IGRpdiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5yaWdodC1pbmZvID4gZGl2IHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuLnRpcmUtdHlwZS1jb250ZW50ICNwcm9kdWN0R3JpZFVybCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC5sZWZ0LWljb24td3JhcHBlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgbWFyZ2luOiAwOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAubGVmdC1pY29uLXdyYXBwZXIgW2NsYXNzXj1cImljb24tXCJdIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBmb250LXNpemU6IDIzcHg7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMnB4OyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAudmNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgbWFyZ2luLXRvcDogNjBweDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMucGFja2FnZXMge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aCA+IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDEuM3JlbTsgfSB9XG4gIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxMHB4IHNvbGlkICNlNmU2ZTY7XG4gICAgcGFkZGluZzogNDBweCAyMHB4IDMwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCAuaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAgLmltYWdlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwIC5ndWlkZWQtc2VjdGlvbi1oZWFkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAgLmd1aWRlZC1zZWN0aW9uLWhlYWQgaDMge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7IH1cbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwIC5hcnJvdyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2O1xuICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB3aWR0aDogNDBweDsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAuYWN0aXZlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAuYWN0aXZlICsgLnRpcmUtdHlwZXMge1xuICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcDpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZTZlNmU2OyB9XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwOmhvdmVyIC5idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjZhNTgzOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGggaW1nIHtcbiAgICBoZWlnaHQ6IDUwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoIC5idXR0b24ge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC5taWQtbGluZS1jb3B5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAyNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC50aXJlLXR5cGUtY29udGVudCAubWlkLWxpbmUtY29weSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBtYXJnaW46IDUwcHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLm1pZC1saW5lLWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZCB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZDo6YmVmb3JlLCAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkIGgzIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZCBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC5jYXRlZ29yeS1jb2x1bW4td3JhcHBlciB7XG4gIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAuY2F0LXR5cGVzLWN0YSB7XG4gIG1hcmdpbi10b3A6IDM1cHg7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC5yZXN1bHRfYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC5yZXN1bHRfYnRuIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnJlc3VsdF9idG4gYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5yZXN1bHRfYnRuIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgIGJvcmRlcjogMDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IHtcbiAgYm9yZGVyOiA1cHggc29saWQgI2YyZjJmMjtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDhweDtcbiAgbWFyZ2luOiAwIDAgMTVweDtcbiAgcGFkZGluZzogMTVweCA3MHB4IDE1cHggMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveDpob3ZlciB7XG4gICAgICBib3JkZXItbGVmdC13aWR0aDogMTNweDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveDpob3ZlciAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgbGVmdDogLTEzcHg7XG4gICAgICAgIHdpZHRoOiAxM3B4OyB9IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBsYWJlbCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBsZWZ0OiAtMjAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAwOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IGgzIFtjbGFzc149XCJpY29uLVwiXSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogLTNweDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IHAsXG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggLmhhcy10aXAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBwLFxuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCAuaGFzLXRpcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggcCB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggcCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxMnB4OyB9IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCAuaGFzLXRpcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC5oYXMtdGlwOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjMDAwOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggLmZhIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDA7IH1cbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC5mYTo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmMmYyZjI7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwYWRkaW5nOiA1cHg7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGhlaWdodDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgbGVmdDogLThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtNXB4O1xuICAgIHdpZHRoOiA4cHg7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci1hbGwtd2VhdGhlciAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjYmYxYThkOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3Itd2ludGVyIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICMyMGMzZjM7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci0zLXNlYXNvbiAudGlyZXR5cGUtaW5kaWNhdG9yLCAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLWFsbC1zZWFzb24gLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogI2ZiYjExNjsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLXBlcmZvcm1hbmNlIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICM2MzUzYTM7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci10b3VyaW5nIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICMwMGE2NTE7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci1tdWQtdGVycmFpbiAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjNDIyODAwOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3Itc3BvcnQtdHJ1Y2sgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzllY2Y3YzsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLWFsbC10ZXJyYWluIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICM3YTUyMjY7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci1jb21tZXJjaWFsIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNhN2E5YWM7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci11bHRyYS1oaWdoLXBlcmZvcm1hbmNlIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNhNDk5Y2E7IH1cblxuLnNlbGVjdG9yX2NoZWNrYm94LnNlbGVjdGVkIC5mYSB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5zZWxlY3Rvcl9jaGVja2JveC5zZWxlY3RlZCAuZmE6OmJlZm9yZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9XG5cbi50b29sdGlwLm9lbS10aXAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgNTVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXgtd2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDsgfVxuICAudG9vbHRpcC5vZW0tdGlwOjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZjY5MDA7IH1cbiAgLnRvb2x0aXAub2VtLXRpcCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgLnRvb2x0aXAub2VtLXRpcCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4OyB9XG4gIC50b29sdGlwLm9lbS10aXAudG9wOjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IH1cbiAgLnRvb2x0aXAub2VtLXRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmNjkwMCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgfVxuICAudG9vbHRpcC5vZW0tdGlwLnJpZ2h0OjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDsgfVxuICAudG9vbHRpcC5vZW0tdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IH1cblxuLnRvb2x0aXAuY2F0dHlwZS10aXAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgNTVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXgtd2lkdGg6IDM4MHB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDsgfVxuICAudG9vbHRpcC5jYXR0eXBlLXRpcDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmY2OTAwOyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgLnRvb2x0aXAuY2F0dHlwZS10aXAgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAgIC50b29sdGlwLmNhdHR5cGUtdGlwIHAgaW1nIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWF4LXdpZHRoOiAxMzBweDsgfVxuICAudG9vbHRpcC5jYXR0eXBlLXRpcC50b3A6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgfVxuICAudG9vbHRpcC5jYXR0eXBlLXRpcC5ib3R0b206OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmNjkwMCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDsgfVxuICAudG9vbHRpcC5jYXR0eXBlLXRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IH1cbiAgLnRvb2x0aXAuY2F0dHlwZS10aXAubGVmdDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmZmO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDsgfVxuXG4udG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgNTVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXgtd2lkdGg6IDI0NnB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMjQ2cHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMTVweDsgfVxuICAudG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXA6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjsgfVxuICAudG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXAgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDAgMnB4OyB9XG4gIC50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCAub3JhbmdlLXBob25lLFxuICAudG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXAgLnBhbGUtZ3JleS10ZXh0IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCAub3JhbmdlLXBob25lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgLnRvb2x0aXAuZGlzYWJsZWQtZW1haWwtdGlwIC5wYWxlLWdyZXktdGV4dCB7XG4gICAgY29sb3I6ICM4MDgyODU7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwQW5zd2VyLnNlbGVjdGVkIHtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZmY2OTAwOyB9XG5cbi5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDYwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDkwcHggMDsgfSB9XG4gIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGgzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaDMge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDsgfSB9XG4gIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIHAge1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgLnJvdyA+IGRpdiB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciAucm93ID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbiNvZW1hcmtpbmdNb2RhbCB7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiAzODBweDtcbiAgcGFkZGluZzogMDsgfVxuICAjb2VtYXJraW5nTW9kYWwgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjb2VtYXJraW5nTW9kYWwgcCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAjb2VtYXJraW5nTW9kYWwgLm9lbWFya2luZ01vZGFsQ3RhIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuI2ZpdG1lbnRNb2RhbCB7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiAzODBweDtcbiAgcGFkZGluZzogMDsgfVxuICAjZml0bWVudE1vZGFsIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI2ZpdG1lbnRNb2RhbCBwIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICNmaXRtZW50TW9kYWwgLmZpdG1lbnRNb2RhbEN0YSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5yZXZlYWwudmNlbnRlciB7XG4gIGxlZnQ6IDUwJSAhaW1wb3J0YW50O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpOyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDc3NHB4OyB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2Utd3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogMTVweDtcbiAgbWluLWhlaWdodDogMTgycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2Uge1xuICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgd2lkdGg6IDM0N3B4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMHB4OyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlOmhvdmVyIC5jaGVjay1pY29uIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZmY7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2VbZGF0YS12YWx1ZT1cIlllc1wiXSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2VbZGF0YS12YWx1ZT1cIk5vXCJdIHtcbiAgICBvcmRlcjogMjsgfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNoZWNrLWljb24ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZGVkZWRlO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGhlaWdodDogMTlweDtcbiAgbWFyZ2luOiAxMHB4IDEwcHggMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTlweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaGVjay1pY29uIHtcbiAgICAgIGhlaWdodDogMjdweDtcbiAgICAgIG1hcmdpbjogMTVweCAxNXB4IDA7XG4gICAgICB3aWR0aDogMjdweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hlY2staWNvbi5zZWxlY3RlZCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hlY2staWNvbi5zZWxlY3RlZDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDE2cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaGVjay1pY29uLnNlbGVjdGVkOjpiZWZvcmUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICB3aWR0aDogMjVweDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAucHJvZHVjdFNlbGVjdG9yIGgzIHtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvciBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItdGFiIHtcbiAgcGFkZGluZzogMjBweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLXRhYiB7XG4gICAgICBwYWRkaW5nOiAyOHB4IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgbWluLXdpZHRoOiAyNTBweDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24ge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24ge1xuICAgICAgbWF4LXdpZHRoOiAxODdweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gaDMge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gLmJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICBtYXgtd2lkdGg6IDEzN3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHg7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnRpcmVfbW91bnQgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjOTE5MTkxO1xuICBmb250LXNpemU6IDE0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1sZWZ0OiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnRpcmVfbW91bnQgcCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnRpcmVfbW91bnQgLmNob2ljZTpmaXJzdC1jaGlsZCB7XG4gIG9yZGVyOiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnRpcmVfbW91bnQgLmNob2ljZTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnRpcmVfbW91bnQgLmNob2ljZTpsYXN0LWNoaWxkIHtcbiAgb3JkZXI6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAudGlyZV9tb3VudCAuY2hvaWNlOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4OyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5WRUhJQ0xFX1RZUEVfMSAuY2hvaWNlIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLlZFSElDTEVfVFlQRV8xIC5jaG9pY2UgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDE4MHB4OyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuVkVISUNMRV9UWVBFXzEgLmNob2ljZSBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLlZFSElDTEVfVFlQRV8xIC5jaG9pY2U6Zmlyc3QtY2hpbGQge1xuICAgIG9yZGVyOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5WRUhJQ0xFX1RZUEVfMSAuY2hvaWNlOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5WRUhJQ0xFX1RZUEVfMSAuY2hvaWNlOmxhc3QtY2hpbGQge1xuICAgIG9yZGVyOiAxOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2Nob2ljZU1vZGFsLnJldmVhbCB7XG4gICAgbWF4LXdpZHRoOiA0NjdweDsgfSB9XG5cbiNjaG9pY2VNb2RhbCBzdHJvbmcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNjaG9pY2VNb2RhbCBzdHJvbmcge1xuICAgICAgcGFkZGluZy1ib3R0b206IDI1cHg7IH0gfVxuXG4jY2hvaWNlTW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2Nob2ljZU1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDQwcHggMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2Nob2ljZU1vZGFsIC5idXR0b24ge1xuICAgIG1heC13aWR0aDogMTMwcHg7IH0gfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgLnBhZ2luYXRpb24gdWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAucGFnaW5hdGlvbiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDAgMTJweCAwIDA7XG4gICAgcGFkZGluZzogOXB4OyB9XG4gICAgLnBhZ2luYXRpb24gbGkgYSB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5wYWdpbmF0aW9uIC5jdXJyZW50LXBhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNjNzUzMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnN0b3Jlcy1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIC5jdXJyZW50IHtcbiAgcGFkZGluZzogOXB4OyB9XG4gIC5zdG9yZXMtcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAuY3VycmVudCBhIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IGluaGVyaXQ7IH1cbiAgICAuc3RvcmVzLXBhZ2luYXRpb24gLnBhZ2luYXRpb24gLmN1cnJlbnQgYTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5ncmlkLXRpbGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5ncmlkLXRpbGUge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5ncmlkLXRpbGUsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZ3JpZC10aWxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7IH0gfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5ncmlkLXRpbGUubmV3LXJvdzpmaXJzdC1vZi10eXBlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5ncmlkLXRpbGUubmV3LXJvdzpmaXJzdC1vZi10eXBlIHtcbiAgICBmbGV4OiAxOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1jb250ZW50LFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAxIDAgYXV0bztcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtY29udGVudDo6YmVmb3JlLCAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtY29udGVudDo6YWZ0ZXIsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZS1jb250ZW50OjpiZWZvcmUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZS1jb250ZW50OjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1jb250ZW50OjphZnRlcixcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlLWNvbnRlbnQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmMmYyZjI7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1saW5rLWFib3ZlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbGluay1hYm92ZSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAubGluay1hYm92ZS1wcm9kdWN0LFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLmxpbmstYWJvdmUtcHJvZHVjdCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAzOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5saW5rLWFib3ZlLXByb2R1Y3Q6aG92ZXIsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5saW5rLWFib3ZlLXByb2R1Y3Q6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2YTU4MztcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGU6aG92ZXI6bm90KC5wcm9kdWN0LXRpbGUtYWN0aXZlKTpub3QoLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIpLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGU6aG92ZXI6bm90KC5wcm9kdWN0LXRpbGUtYWN0aXZlKTpub3QoLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIpIHtcbiAgICBib3JkZXItY29sb3I6ICM3NTc1NzU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGU6aG92ZXI6bm90KC5wcm9kdWN0LXRpbGUtYWN0aXZlKTpub3QoLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIpIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGU6aG92ZXI6bm90KC5wcm9kdWN0LXRpbGUtYWN0aXZlKTpub3QoLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIpIC5yZWNvbW1lbmRlZC1iYWdkZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZDlkOWRhOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlOmhvdmVyOm5vdCgucHJvZHVjdC10aWxlLWFjdGl2ZSk6bm90KC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyKSAucHJvZHVjdC1jb21wYXJlIGxhYmVsLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlcikgLnByb2R1Y3QtY29tcGFyZSBsYWJlbCB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZTpub3QoLmlzTWFzdGVyUHJvZHVjdCkgLnByb2R1Y3QtcHJpY2luZyxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGU6bm90KC5pc01hc3RlclByb2R1Y3QpIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07IH0gfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBwYWRkaW5nOiAzcHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9tby1iYWRnZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9tby1iYWRnZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIDdweDtcbiAgICBwYWRkaW5nOiA1cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogN3B4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1iYWRnZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWJhZGdlIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCA2cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIC5icmFuZC1uYW1lLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIC5icmFuZC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgYSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAudi12aWV3LW9uLXZlaGljbGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAudi12aWV3LW9uLXZlaGljbGUge1xuICAgIG1pbi1oZWlnaHQ6IDY1cHg7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnYtdmlldy1vbi12ZWhpY2xlIC5idXR0b24sXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC52LXZpZXctb24tdmVoaWNsZSAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2UsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZSB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2U6OmJlZm9yZSwgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlOjphZnRlcixcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2U6OmJlZm9yZSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2U6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlOjphZnRlcixcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2U6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlIC5yZWJhdGUgfiAucHJpY2Utc2FsZXMsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlIC5yZWJhdGUgfiAucHJpY2Utc2FsZXMge1xuICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcmljZS1zYWxlcyxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcmljZS1zYWxlcyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAwIDVweCAwIDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5yZWJhdGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucmViYXRlIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAuYWRkLWFsbC10by1jYXJ0LFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLmFkZC1hbGwtdG8tY2FydCB7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAubWFya2V0aW5nLWluZm8td3JhcHBlcixcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBib3JkZXI6IDNweCBzb2xpZCAjY2NjO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBhZGRpbmc6IDMwcHggMTBweDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctdGl0bGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaDQsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBoNCB7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHAsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBwIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGksXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBpIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDIuNXJlbTsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBpOjpiZWZvcmUsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGk6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWltYWdlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1pbWFnZSB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtaW1hZ2UgLnRodW1iLWxpbmssXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtaW1hZ2UgLnRodW1iLWxpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICAgIG1heC13aWR0aDogMjE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1pbWFnZSAudGh1bWItbGluayxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtaW1hZ2UgLnRodW1iLWxpbmsge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxOTVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxOTVweDsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnRlc3RlZC1ieWthbC1iYWRnZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1uYW1lIC5icmFuZC1uYW1lLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1uYW1lIC5icmFuZC1uYW1lIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCA4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1hdHRyaWJ1dGVzIC5uYW1lLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1hdHRyaWJ1dGVzIC5uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnksXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdGVnb3J5IHtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmNhdGVnb3JpZXMtYm94LFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY2F0ZWdvcmllcy1ib3gge1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAxMHB4IDAgMTVweDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5ub3QtYXZhaWxhYmxlLW1zZyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm5vdC1hdmFpbGFibGUtbXNnIHtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmF2YWlsYWJpbGl0eS1tc2csXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hdmFpbGFiaWxpdHktbXNnIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5hdmFpbGFiaWxpdHktbXNnLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmF2YWlsYWJpbGl0eS1tc2cge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5hdmFpbGFiaWxpdHktbXNnIC5hdmFpbGFiaWxpdHktbGFiZWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmF2YWlsYWJpbGl0eS1tc2cgLmF2YWlsYWJpbGl0eS1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3Qtc2l6ZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3Qtc2l6ZSB7XG4gIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1zaXplLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3Qtc2l6ZSAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3Qtc2l6ZSAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXByaWNpbmcsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXByaWNpbmcge1xuICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1wcmljaW5nLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuaXNNYXN0ZXJQcm9kdWN0IC5wcm9kdWN0LXByaWNpbmcsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5pc01hc3RlclByb2R1Y3QgLnByb2R1Y3QtcHJpY2luZyB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuaXNNYXN0ZXJQcm9kdWN0IC5tYXN0ZXItcHJvZHVjdC1wcmljZSxcbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmlzTWFzdGVyUHJvZHVjdCAucmViYXRlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuaXNNYXN0ZXJQcm9kdWN0IC5tYXN0ZXItcHJvZHVjdC1wcmljZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmlzTWFzdGVyUHJvZHVjdCAucmViYXRlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmlzTWFzdGVyUHJvZHVjdCAucmViYXRlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuaXNNYXN0ZXJQcm9kdWN0IC5yZWJhdGUge1xuICBmbG9hdDogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IDEuMjsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC52aWV3LW9uLXZlaGljbGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC52aWV3LW9uLXZlaGljbGUge1xuICBtYXJnaW46IDEwcHggMCAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5zaXplLXByaWNlLXF0eS1ib3gsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5zaXplLXByaWNlLXF0eS1ib3gge1xuICBtYXJnaW46IGF1dG8gMCAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnNpemUtcHJpY2UtcXR5LWJveCAucHJvZHVjdC1zaXplIC5ib3gtc3BhY2luZzpmaXJzdC1vZi10eXBlLFxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5zaXplLXByaWNlLXF0eS1ib3ggLnByb2R1Y3QtcHJpY2luZyAuYm94LXNwYWNpbmc6Zmlyc3Qtb2YtdHlwZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuc2l6ZS1wcmljZS1xdHktYm94IC5wcm9kdWN0LXNpemUgLmJveC1zcGFjaW5nOmZpcnN0LW9mLXR5cGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnNpemUtcHJpY2UtcXR5LWJveCAucHJvZHVjdC1wcmljaW5nIC5ib3gtc3BhY2luZzpmaXJzdC1vZi10eXBlIHtcbiAgICBtYXJnaW46IDAgMCAzNXB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnNpemUtcHJpY2UtcXR5LWJveCAucHJvZHVjdC1wcmljaW5nLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5zaXplLXByaWNlLXF0eS1ib3ggLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlX19hY3Rpb25zLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlX19hY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZV9fYWRkLXRvLWNhcnQsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGVfX2FkZC10by1jYXJ0IHtcbiAgZmxleDogMSAxIDEwMCU7XG4gIGhlaWdodDogNjBweDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGVfX2FkZC10by1jYXJ0IC5hZGQtdG8tY2FydCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlX19hZGQtdG8tY2FydCAuYWRkLXRvLWNhcnQge1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5jb21wYXJlLWl0ZW1zLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDM7IH1cblxuLmNvbXBhcmUtaXRlbXMge1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMjQwcHg7IH1cbiAgLmNvbXBhcmUtaXRlbXMgLmNvbXBhcmUtaXRlbSB7XG4gICAgaGVpZ2h0OiAxNjBweDtcbiAgICBtYXJnaW46IDMwcHggNTBweCAzMHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxNTBweDsgfVxuICAgIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWl0ZW0gaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgaGVpZ2h0OiAxNDVweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgcGFkZGluZzogMTBweCAwIDE1cHg7XG4gICAgICB3aWR0aDogMTIwcHg7IH1cbiAgICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tbmFtZSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS1pdGVtIC5jb21wYXJlLWl0ZW0tbnVtYmVyIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHdpZHRoOiAxMTBweDsgfVxuICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS1pdGVtLXJlbW92ZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfVxuICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmNvbXBhcmUtaXRlbXMgLmNvbXBhcmUtdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNvbXBhcmUtaXRlbXMgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCAyNXB4O1xuICAgIHBhZGRpbmc6IDE1cHggMjhweDsgfVxuICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS1hY3Rpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwYWRkaW5nLXRvcDogODRweDsgfVxuXG4uaXRhbGljLXRleHQge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLmZpbmFuY2UtaW5mbyB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIG1hcmdpbjogMjVweCAwO1xuICBwYWRkaW5nOiAwLjVlbTsgfVxuICAuZmluYW5jZS1pbmZvIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMTBweCAxNXB4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSB7XG4gICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkICNmMmYyZjI7XG4gICAgZmxleDogMSAxIDEwMCU7XG4gICAgbGluZS1oZWlnaHQ6IDU1cHg7XG4gICAgbWF4LWhlaWdodDogNjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgLmNvbXBhcmUtbGFiZWwsXG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIC5maWVsZC13cmFwcGVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSAuY29tcGFyZS1sYWJlbCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSBpbnB1dCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogNHB4O1xuICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICB6LWluZGV4OiAyOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgaW5wdXQ6Y2hlY2tlZCB7XG4gICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSBpbnB1dDpjaGVja2VkICsgLmlucHV0LWN1c3RvbTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgY29udGVudDogXCJcXGU4MTFcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIGlucHV0OmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSAuaW5wdXQtY3VzdG9tIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDJweDtcbiAgICAgIHotaW5kZXg6IDE7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSAuaW5wdXQtY3VzdG9tOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29udGVudDogXCJcXGYxZGJcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIC5pbnB1dC1jdXN0b20sXG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIGlucHV0IHtcbiAgICAgIGhlaWdodDogMTdweDtcbiAgICAgIHdpZHRoOiAxN3B4OyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1hY3RpdmUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1hY3RpdmUgLnByb2R1Y3QtY29tcGFyZSB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWFjdGl2ZSAucHJvZHVjdC1jb21wYXJlIC5jb21wYXJlLWxhYmVsIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1hY3RpdmUgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyIC5yZWNvbW1lbmRlZC1iYWdkZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtYWN0aXZlIC5jb21wYXJlLWxhYmVsLFxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyIC5jb21wYXJlLWxhYmVsIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyIHtcbiAgICBib3JkZXItY29sb3I6ICM3NTc1NzU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyIC5jb21wYXJlLWxhYmVsIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucGFnZS10aXRsZSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc3RhcnQtbmV3LXNlYXJjaC13cmFwcGVyIHtcbiAgdGV4dC1hbGlnbjogZW5kOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnN0YXJ0LW5ldy1zZWFyY2gtd3JhcHBlciAubG9hZGVyIHtcbiAgICB6LWluZGV4OiAxMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zdGFydC1uZXctc2VhcmNoIHtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnN0YXJ0LW5ldy1zZWFyY2gge1xuICAgICAgbWFyZ2luLXRvcDogMjBweCAwO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc3RhcnQtbmV3LXNlYXJjaCB7XG4gICAgICBtYXJnaW4tdG9wOiAzNXB4OyB9IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucHNyZXN1bHRzLXdyYXBwZXIge1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5tYXRjaGVkLXByb2R1Y3RzIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5tYXRjaGVkLXByb2R1Y3RzIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm1hdGNoZWQtcHJvZHVjdHMgc3BhbiB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLWluZm8ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMCAwIDI1cHg7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAudGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMge1xuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2YyZjJmMjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyAudGFicy10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgLTZweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMgLnRhYnMtdGl0bGUge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlIHtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyAudGFicy10aXRsZSA+IGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyAudGFicy10aXRsZSBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlLmlzLWFjdGl2ZSB7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmNjkwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC50YWJzLXBhbmVsIHtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAudGFicy1wYW5lbCAuc29ydC1ieS13cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnRhYnMtcGFuZWwgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnRhYnMtcGFuZWwgLnNvcnQtYnkgbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5hcnRpY2xlLXJlc3VsdCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBwYWRkaW5nLWJvdHRvbTogMjBweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5hcnRpY2xlLXJlc3VsdCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5hcnRpY2xlLXJlc3VsdCBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgY29sb3I6ICMwMDA7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5hcnRpY2xlLXJlc3VsdCBhIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc29ydC1ieSBzZWxlY3Qge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBtYXJnaW46IDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc29ydC1ieS13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0ICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB6LWluZGV4OiAzOyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjcmVmaW5lbWVudHMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjcmVmaW5lbWVudHMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgICAgICAgYm94LXNoYWRvdzogMnB4IDRweCA1cHggIzgwODA4MDsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI3JlZmluZW1lbnRzLWNvbnRlbnQtdHJpZ2dlciB7XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMtd3JhcHBlciB7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyBbY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIFtjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaWNvbi1jaXJjbGUtdGhpbixcbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pY29uLWNpcmNsZSB7XG4gIGNvbG9yOiAjYzc1MzAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5yZWZpbmVtZW50cy1jb250ZW50IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgcGFkZGluZy10b3A6IDQ0cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLnJlZmluZW1lbnRzLWNvbnRlbnQge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuY2xlYXItZmlsdGVycyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAxNXB4IDAgMTVweCAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcGFkZGluZzogMTVweCAwIDE1cHggMzdweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICBtYXJnaW46IC01cHggMCAxMHB4IDE1cHg7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODBjXCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YmVmb3JlIHtcbiAgY29sb3I6ICNjNzUzMDA7XG4gIGNvbnRlbnQ6IFwiXFxlODBiXCI7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIGxlZnQ6IDE1cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyBsaSBhIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLXN1Ym1lbnUtaXRlbSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgcGFkZGluZzogNXB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1zdWJtZW51LWl0ZW0gaSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nOiAwIDVweCAxcHggMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pcy1hY2NvcmRpb24tc3VibWVudSBsaS5zZWxlY3RlZCBhIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaW5mby1ib3gge1xuICBtYXJnaW46IDUwcHggMCA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pbmZvLWJveCB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMjAyMDIwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBwYWRkaW5nOiAyMHB4IDE0cHg7IH1cbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDgyLjVlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pbmZvLWJveCAuYnV0dG9uIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMTFweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pbmZvLWJveCBoMyB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaW5mby1ib3ggcCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogNTBweCAwIDQwcHg7XG4gIG1heC1oZWlnaHQ6IDM3NXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAyMHB4IDE0cHggMDtcbiAgd2lkdGg6IDIxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3gge1xuICAgICAgbWFyZ2luOiA1MHB4IDIwcHggNDBweDtcbiAgICAgIG1heC1oZWlnaHQ6IDQwNXB4O1xuICAgICAgd2lkdGg6IDMxNXB4OyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCBoMyB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCAuYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgICB3aWR0aDogMTgwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IC5idXR0b24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMjgwcHg7IH0gfVxuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCAuYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IC5pbWFnZS13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAzMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtbW9iaWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubmVlZC1oZWxwLWJveCAuYnV0dG9uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm5lZWQtaGVscC1ib3ggLmJ1dHRvbiBzcGFuIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgcGFkZGluZzogMCAwIDAgMjVweDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5uZWVkLWhlbHAtYm94IC5pY29uLWxpdmVjaGF0IHtcbiAgYm90dG9tOiAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGhlaWdodDogMThweDtcbiAgbWFyZ2luOiBhdXRvO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQge1xuICAgIHBhZGRpbmc6IDAgMTBweCAwIDA7IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy1jb250ZW50IC5mb2xkZXItY29udGVudC1saXN0IHtcbiAgbWFyZ2luOiAwOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQgLmZvbGRlci1jb250ZW50LWxpc3QgbGkge1xuICAgIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy1jb250ZW50IC5mb2xkZXItY29udGVudC1saXN0IGxpOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQgLmNvbnRlbnQtdGl0bGUge1xuICBmb250LXNpemU6IGNhbGMtcmVtKDE4KTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtY29udGVudCAucmVhZG1vcmUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlc291cmNlLWNlbnRlciBoMyB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlc291cmNlLWNlbnRlciBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVzb3VyY2UtY2VudGVyIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgYXV0bztcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlc291cmNlLWNlbnRlciAuYnV0dG9uIHtcbiAgbWFyZ2luOiAzMHB4IDAgMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBsZWZ0OiAwO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgei1pbmRleDogMTA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuY2hhbmdlLWxvY2F0aW9uLWJveCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuY2hhbmdlLWxvY2F0aW9uLWJveCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAzNXB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuY2hhbmdlLWxvY2F0aW9uLWJveCBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmNoYW5nZS1sb2NhdGlvbi1ib3ggLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuY2hhbmdlLWxvY2F0aW9uLWJveCAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5wYWdpbmF0aW9uIHVsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucGFnaW5hdGlvbiBsaSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDZweDsgfSB9XG5cbiNuZXdTZWFyY2hNb2RhbCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNuZXdTZWFyY2hNb2RhbCB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjbmV3U2VhcmNoTW9kYWwgLmFkZC1yZWFyLXNpemUsXG4gICNuZXdTZWFyY2hNb2RhbCAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAjbmV3U2VhcmNoTW9kYWwgLmxvb2tpbmctZm9yLW90aGVyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI25ld1NlYXJjaE1vZGFsIC5hZGQtcmVhci1zaXplLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmxvb2tpbmctZm9yLW90aGVyIHtcbiAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuICAjbmV3U2VhcmNoTW9kYWwgLmxvb2tpbmctZm9yLW90aGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcG9zaXRpb246IGluaXRpYWw7IH1cbiAgI25ld1NlYXJjaE1vZGFsIC5jbG9zZV9idXR0b24ge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI25ld1NlYXJjaE1vZGFsIC5jbG9zZV9idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm1hdGNoZWQtcHJvZHVjdHMge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm1hdGNoZWQtcHJvZHVjdHMgcCB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIDAgNDVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc29ydC1ieS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc29ydC1ieSBsYWJlbCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLnJlZmluZW1lbnRzLWNvbnRlbnQsXG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQsXG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5jbGVhci1maWx0ZXJzIHtcbiAgICBib3JkZXI6IDA7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmc6IDEycHggMCAxMnB4IDIwcHg7IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgIG1hcmdpbjogMDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuY2xlYXItZmlsdGVycyB7XG4gICAgcGFkZGluZzogNXB4IDAgMTBweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50LXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbWFyZ2luOiAwIDAgMTVweDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnQtdGl0bGUuc2l6ZXMtdGl0bGUge1xuICAgICAgbWFyZ2luLXRvcDogMTVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtYmFkZ2Uge1xuICAgIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgLnBkcC1tYWluIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgIG1hcmdpbjogMCAwIDMwcHg7IH0gfVxuXG4ucGRwLW1haW4gLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgcGFkZGluZy10b3A6IDA7IH1cblxuLnBkcC1tYWluIC5icmFuZC1uYW1lIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LW5hbWUge1xuICBmb250LXNpemU6IDEuMzc1cmVtO1xuICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGRwLW1haW4gLnBkcC10b3AtbmFtZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAgIC5wZHAtbWFpbiAucGRwLXRvcC1uYW1lIC5wcm9kdWN0LW5hbWUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdDo6YmVmb3JlLCAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3Q6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3Q6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWl0ZW06OmJlZm9yZSwgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1pdGVtOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtaXRlbTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtaXRlbSAucXVhbnRpdHkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgbWluLXdpZHRoOiA3NXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1pdGVtIC5xdWFudGl0eSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1kZXRhaWxzIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA3MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtZGV0YWlscyB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtZGV0YWlscyAucHJvZHVjdC1wcmljZSB7XG4gICAgd2lkdGg6IG1heC1jb250ZW50OyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiAzMCUgIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLmFkZC1zdWItcHJvZHVjdCB7XG4gICAgICBtYXJnaW46IDhweCAwIDAgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLmFkZC1zdWItcHJvZHVjdCB7XG4gICAgICBtYXJnaW46IDhweCAwIDAgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLmFkZC1zdWItcHJvZHVjdCB7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9IH1cblxuLnBkcC1tYWluIC5hZGQtYWxsLXRvLWNhcnQge1xuICBtYXJnaW4tdG9wOiAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyB7XG4gIG1pbi13aWR0aDogMjAwcHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzOjpiZWZvcmUsIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLWZyb250IHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiA5cHggMTJweDsgfVxuICAgIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1mcm9udDo6YmVmb3JlLCAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtZnJvbnQ6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLWZyb250OjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1mcm9udCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1yZWFyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgcGFkZGluZzogOXB4IDEycHg7IH1cbiAgICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtcmVhcjo6YmVmb3JlLCAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtcmVhcjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtcmVhcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtcmVhciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWluLXdpZHRoOiAyMDBweDsgfSB9XG5cbi5wZHAtbWFpbiAubWFudWZhY3R1cmVyLW51bWJlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgbWFyZ2luOiA1cHggMCAwOyB9XG5cbi5wZHAtbWFpbiAubXVsdGlwbGUtbWFudWZhY3R1cmVyLW51bWJlcnMge1xuICBtYXJnaW46IDA7IH1cblxuLnBkcC1tYWluIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIHBhZGRpbmc6IDAgMCAwIDE4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAudGl0bGUtbWFpbi1zZWN0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9IH1cbiAgLnBkcC1tYWluIC50aXRsZS1tYWluLXNlY3Rpb24ucmV2aWV3LXRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1hdHRyaWJ1dGVzIC5uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4ucGRwLW1haW4gLm92ZXJ2aWV3LFxuLnBkcC1tYWluIC5wcm9kdWN0LWRlc2NyaXB0aW9uLFxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMsXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMsXG4ucGRwLW1haW4gLnJhdGluZy1ib3gge1xuICBtYXJnaW4tYm90dG9tOiAxMDBweDsgfVxuXG4ucGRwLW1haW4gI3Byb2R1Y3REZXNjcmlwdGlvbixcbi5wZHAtbWFpbiAjdGVzdFJlc3VsdHMsXG4ucGRwLW1haW4gI3JhaXRpbmdSZXZpZXdzLFxuLnBkcC1tYWluICNwcm9kdWN0U2l6ZXMge1xuICBzY3JvbGwtbWFyZ2luLXRvcDogMTIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1pbWFnZS1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDMwcHggMDsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIHtcbiAgbWFyZ2luOiAxMHB4IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogNTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyB7XG4gICAgICB3aWR0aDogNjZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscy50b3AtcGFkZGluZyB7XG4gICAgICB0b3A6IDE1cHg7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1zbGlkZXIuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAudGh1bWIge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC50aHVtYiBpbWcge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAudGh1bWIgaW1nIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dCxcbiAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXYge1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICB3aWR0aDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0LFxuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwOyB9IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dDo6YmVmb3JlLFxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQsXG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUsXG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldi5zbGljay1kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNiZmMwYzI7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0IHtcbiAgICAgICAgYm90dG9tOiAtMjNweDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogYXV0bzsgfSB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZTgxNFwiOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogLTEwcHg7IH0gfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU4MTNcIjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZVwiOyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXNsaWRlLnNsaWNrLWN1cnJlbnQgLnByb2R1Y3R0aHVtYm5haWwge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZjY5MDA7IH1cblxuLnBkcC1tYWluIC5tYWluLWNhcm91c2VsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC5tYWluLWNhcm91c2VsIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIG1pbi1oZWlnaHQ6IDI3MnB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAubWFpbi1jYXJvdXNlbCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtaW4taGVpZ2h0OiAzMTdweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4NXB4KTsgfSB9XG4gIC5wZHAtbWFpbiAubWFpbi1jYXJvdXNlbCAuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW46IDA7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG4gICAgLnBkcC1tYWluIC5tYWluLWNhcm91c2VsIC5zbGljay1zbGlkZXIuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuICAucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwgLnZpZGVvV3JhcHBlciB7XG4gICAgaGVpZ2h0OiAzMTVweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwgLnNsaWNrLXNsaWRlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiA1cHggMDsgfVxuICAucGRwLW1haW4gLm92ZXJ2aWV3IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZS50cmFpbGVyLXRpcmUtYXR0cmlidXRlIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4ucGRwLW1haW4gLm92ZXJ2aWV3IC5wcm9kdWN0LWF0dHJpYnV0ZXMuY2F0ZWdvcnktYXR0cmlidXRlcyAubmFtZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgbWluLWhlaWdodDogMThweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuXG4ucGRwLW1haW4gLm92ZXJ2aWV3IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLm5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcgLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnkge1xuICBjb2xvcjogIzgwODI4NTsgfVxuXG4ucGRwLW1haW4gLm92ZXJ2aWV3IC5wcm9kdWN0LXJldmlldyB7XG4gIG1hcmdpbjogMjVweCAwOyB9XG5cbi5wZHAtbWFpbiAub3ZlcnZpZXcgLmFkaXRpb25hbC1kZXRhaWxzIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBkcC1tYWluIC5vdmVydmlldyAuYWRpdGlvbmFsLWRldGFpbHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuXG4ucGRwLW1haW4gLnByaWNlLXJpZ2h0LWJveCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucGRwLW1haW4gLnByaWNlLXJpZ2h0LWJveCB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCB7XG4gICAgbWFyZ2luOiA0MHB4IDAgMDsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByb2R1Y3QtcHJpY2Utd3JhcCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJvZHVjdC1wcmljZS13cmFwIHtcbiAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByb2R1Y3QtcHJpY2Utd3JhcCAucHJpY2UtbGFiZWwge1xuICAgIG1hcmdpbjogMCAwIDlweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJpY2UtcmlnaHQtYm94IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJpY2UtcmlnaHQtYm94IC5pbnZlbnRvcnkge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5pbnZlbnRvcnkge1xuICBmbG9hdDogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLmludmVudG9yeSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAuaW52ZW50b3J5IGlucHV0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAuaW52ZW50b3J5IC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgIG1heC13aWR0aDogNzVweDtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAjdG90YWxQcmljZVNlY3Rpb24ge1xuICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgI3RvdGFsUHJpY2VTZWN0aW9uIC5xdWFudGl0eSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgI3RvdGFsUHJpY2VTZWN0aW9uIC5wcm9kdWN0LXByaWNlIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBmb250LXNpemU6IDEuNTYyNXJlbTsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0ICN0b3RhbFByaWNlU2VjdGlvbiAucHJvZHVjdC1wcmljZSAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAjdG90YWxQcmljZVNlY3Rpb24gLnByaWNlLXN0YW5kYXJkIHtcbiAgY29sb3I6ICNjNzUzMDA7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW46IDI1cHggMCAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcm9kdWN0LWFkZC10by1jYXJ0IC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcmljZS1sYWJlbCxcbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnF1YW50aXR5IC5xdWFudGl0eS10b3RhbCxcbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnF1YW50aXR5IGxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGRpc3BsYXk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UgLmN1cnJlbmN5LWluZGljZXMge1xuICAgIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAucHJpY2Utc2FsZXMge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UgLnByaWNlLXN0YW5kYXJkIHtcbiAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UgLnJlYmF0ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5yZWJhdGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgODBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMzVweCAwIDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LWRlc2NyaXB0aW9uIC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1kZXNjcmlwdGlvbiAuY2FyZS1wbGFuIC50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuZHJpdmVyLW5vdGVzLXdyYXAge1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5kcml2ZXItbm90ZXMge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLmRyaXZlci1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAudGVzdGluZy12aWRlby1ib3gge1xuICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAudGVzdGluZy12aWRlby1ib3gge1xuICAgICAgb3JkZXI6IDI7IH0gfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAucXVlc3Rpb25zIHtcbiAgbWFyZ2luOiAxNXB4IDAgMDsgfVxuICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAucXVlc3Rpb25zIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5xdWVzdGlvbnMgLmlubGluZS1xdWVzdGlvbi1tYXJrIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5xdWVzdGlvbnMgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgIHRvcDogMDsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc29uLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLmF0dHJpYnV0ZS10aXRsZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwIDAgN3B4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24ge1xuICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5zZWN0aW9uIHtcbiAgbWFyZ2luOiAwIDAgMzVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLnNlY3Rpb24ge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogNDclOyB9XG4gICAgICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAuc2VjdGlvbjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG4gIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5zZWN0aW9uOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbjogMDsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiB1bCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiBsaSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDVweCAwOyB9XG4gIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIGxpOjpiZWZvcmUsIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIGxpOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIGxpOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLmxhYmVsLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5sYWJlbC10aXRsZSB7XG4gICAgICB3aWR0aDogNzAlOyB9IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLmxhYmVsLXRpdGxlLWJvbGQge1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLmxhYmVsLXRpdGxlLWJvbGQge1xuICAgICAgd2lkdGg6IDcwJTsgfSB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5yYWl0aW5nIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsb2F0OiByaWdodDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLnJhaXRpbmcge1xuICAgICAgd2lkdGg6IDMwJTsgfSB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIGkge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLm1vZGVsLXNwZWNzIC5tb2RlbC1ib3gge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5tb2RlbC1zcGVjcyAubW9kZWwtc2l6ZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC52aWV3LWFsbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC52aWV3LWFsbDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICBmb250LXNpemU6IDdweDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlIHtcbiAgcGFkZGluZzogOXB4IDEycHg7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZTpudGgtY2hpbGQob2RkKSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlOm50aC1jaGlsZChldmVuKSB7XG4gICAgcGFkZGluZzogMTJweDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlLmZpbmlzaF9hdHRyaWJ1dGUgLnZhbHVlOm5vdCgudmFsdWUtcmVhcikge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlIHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZS1yZWFyIHtcbiAgbWluLXdpZHRoOiA4MHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlLXJlYXIge1xuICAgICAgbWluLXdpZHRoOiAyMDBweDsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZS1yZWFyIC5uYW1lIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAubG9hZC1yYW5nZS10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cblxuLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAubGVmdC1pbmZvIC5zZWwtc3VidGl0bGUgc3Ryb25nIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5yaWdodC1pbmZvIC5uZXdzZWFyY2gtdGlyZXNlbGVjdGlvbiAuaW5pdC1zZWxlY3RvciB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlcnZpY2UtaW5mby1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZXJ2aWNlLWluZm8tY29udGVudCB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDsgfSB9XG4gIC5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlcnZpY2UtaW5mby1jb250ZW50IC5zZWwtc3VidGl0bGUge1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbmZvLWNvbnRlbnQgLnNlbC1zdWJ0aXRsZSB7XG4gICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gIC5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlcnZpY2UtaW5mby1jb250ZW50IC50aXJlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG5cbi5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlbC1pbmZvIHtcbiAgcGFkZGluZzogMjBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZWwtaW5mbyB7XG4gICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuXG4ucHJvZHVjdC1zaXplLXRhYnMge1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgYm9yZGVyOiAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LWdyb3c6IGluaXRpYWw7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHJvZHVjdC1zaXplLXRhYnMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAucHJvZHVjdC1zaXplLXRhYnMudHJhaWxlci1sb2FkLXJhbmdlLXRhYnMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1heC13aWR0aDogMjUlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogYXV0bzsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDIyJTsgfSB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDFyZW07IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSBhOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjsgfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIGEubG9hZC1yYW5nZS1hbmNob3Ige1xuICAgICAgICBwYWRkaW5nOiAwLjVyZW0gMnJlbSAxcmVtOyB9XG4gICAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSBhLmxvYWQtcmFuZ2UtYW5jaG9yOjphZnRlciB7XG4gICAgICAgICAgY29udGVudDogbm9uZTsgfVxuICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUsIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZTpmb2N1cywgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlOmhvdmVyIHtcbiAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNmZjY5MDA7IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYSxcbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUgYTpob3ZlciwgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlOmZvY3VzIGEsXG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGU6Zm9jdXMgYTpob3ZlciwgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlOmhvdmVyIGEsXG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGU6aG92ZXIgYTpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IHtcbiAgYm9yZGVyOiAwOyB9XG4gIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIHtcbiAgICBwYWRkaW5nOiAyLjc1cmVtIDA7IH1cbiAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCB1bCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCB1bCBsaSB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0OHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCB1bCBsaSB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzBweDsgfSB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwudHJhaWxlci1sb2FkLXJhbmdlLW9wdGlvbnMge1xuICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTsgfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwudHJhaWxlci1sb2FkLXJhbmdlLW9wdGlvbnMuaXMtYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwudHJhaWxlci1sb2FkLXJhbmdlLW9wdGlvbnMgLnByb2R1Y3Qtc2l6ZS10YWJzIHtcbiAgICAgICAgZmxleC1ncm93OiAxOyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbC50cmFpbGVyLWxvYWQtcmFuZ2Utb3B0aW9ucyAudGFicy10aXRsZSB7XG4gICAgICAgIG1heC13aWR0aDogNjVweDsgfVxuICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50aXJlLXNpemUtb3B0aW9ucyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRpcmUtc2l6ZS1vcHRpb25zIHtcbiAgICAgICAgICB3aWR0aDogNzAlOyB9IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50aXJlLXNpemUtb3B0aW9ucyAudHJhaWxlci10aXJlLXNpemUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRpcmUtc2l6ZS1vcHRpb25zIC50cmFpbGVyLXRpcmUtc2l6ZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGlyZS1zaXplLW9wdGlvbnMgLnRyYWlsZXItdGlyZS1zaXplOmhvdmVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gICAgICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRpcmUtc2l6ZS1vcHRpb25zIC50cmFpbGVyLXRpcmUtc2l6ZTpob3ZlciBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5pbWFnZS10b29sdGlwIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGZsb2F0OiByaWdodDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXJnaW46IDVweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pbWFnZS10b29sdGlwIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiA1cHggMCAwIDIwcHg7IH0gfVxuICAuaW1hZ2UtdG9vbHRpcCAuaGFzLXRpcCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cblxuLnRvb2x0aXAuaW1nLXRpcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIG1heC13aWR0aDogMjYwcHggIWltcG9ydGFudDtcbiAgbWluLXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nOiAwOyB9XG4gIC50b29sdGlwLmltZy10aXAgaDEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogN3B4IDE1cHg7IH1cbiAgLnRvb2x0aXAuaW1nLXRpcCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxNXB4OyB9XG4gIC50b29sdGlwLmltZy10aXAudG9wOjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IH1cblxuLnBkcC1tYXN0ZXIgLnByb2R1Y3Qtc2l6ZWYsXG4ucGRwLW1hc3RlciAucHJvZHVjdC13aGVlbHNpemVmIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGRwLW1hc3RlciAucHJvZHVjdC1wcmljZSAucmViYXRlIGJyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wZHAtbWFpbiAuYmFkZ2VzLWJveCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5wZHAtbWFpbiAuYmFkZ2VzLWJveCBwIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LWJhZGdlLFxuICAucGRwLW1haW4gLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wZHAtbWFpbiAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICBwYWRkaW5nOiA3cHg7IH1cbiAgLnBkcC1tYWluIC50b3AtaW5mby1wcm9kdWN0LWJveCB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBkcC1uYXYge1xuICAgIG1hcmdpbjogMCAwIDcwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucGRwLW5hdiB1bCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAucGRwLW5hdiBsaSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgICAucGRwLW5hdiBsaSBhIHtcbiAgICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucGRwLW5hdiBsaTpob3ZlciwgLnBkcC1uYXYgbGkuYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZjY5MDA7IH1cbiAgICAgICAgLnBkcC1uYXYgbGk6aG92ZXIgYSwgLnBkcC1uYXYgbGkuYWN0aXZlIGEge1xuICAgICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAuYXR0ci1jb2x1bW4ge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0NSU7IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLmF0dHItY29sdW1uOm50aC1jaGlsZCgyKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5jb21wYXJlLXBhZ2UgLnNjcm9sbC1zZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogY29sdW1uO1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5zY3JvbGwtc2VjdGlvbi5uby1tYXJnaW4ge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnJvdyB7XG4gICAgZmxleC1mbG93OiByb3cgbm93cmFwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGl0bGUtYm9yZGVyIHtcbiAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YyZjJmMjtcbiAgICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMSkgLnRpdGxlLWJvcmRlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMikgLnRpdGxlLWJvcmRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDEpIC50aXRsZS1ib3JkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMykgLnRpdGxlLWJvcmRlciB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAuc21hbGwtZGV2aWNlLW1lc3NhZ2UgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luOiAxMDBweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY29tcGFyZS1wYWdlIC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDsgfVxuXG4uY29tcGFyZS1wYWdlIGEuYmFjayB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnNlY3Rpb24tYm94IHtcbiAgbWFyZ2luOiAwIDAgNTBweDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LWNvbHVtbjpub3QoOmZpcnN0LW9mLXR5cGUpIC5zZWN0aW9uLXRpdGxlLFxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1jb2x1bW46bm90KDpmaXJzdC1vZi10eXBlKSAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlIHtcbiAgb3V0bGluZTogMDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07IH1cblxuLmNvbXBhcmUtcGFnZSAjY29tcGFyZS10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDEwMHB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgI2NvbXBhcmUtdGFibGUgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAjY29tcGFyZS10YWJsZSAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7IH1cblxuLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnMge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgxKSAucm93LXNwYWNlcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMikgLnJvdy1zcGFjZXMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1ucyB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDEpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NjVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDIpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjQwNTc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjQwNTc1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDMpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMTg2NXJlbTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2U6aG92ZXIgKyAucHJvZHVjdC1uYW1lLCAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZTpob3ZlciB7XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovIH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1pbWFnZTpob3ZlciArIC5wcm9kdWN0LW5hbWUgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3QsIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lOmhvdmVyIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyOyB9IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9tby1iYWRnZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWF0dHJpYnV0ZXMsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuYXZhaWxhYmlsaXR5LW1zZyxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAudGVzdGVkLWJ5a2FsLWJhZGdlLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmFkaXRpb25hbC1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1pbWFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAyMTVweDtcbiAgICBwYWRkaW5nOiAwIDAgMjVweDsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1pbWFnZSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIC5icmFuZC1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgLm5hbWUtbGluayB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByaWNlLXF0eS1ib3gge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc2FsZXMsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucmViYXRlIHtcbiAgICBtYXJnaW46IDAgMCAwIDE1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyArIC5yZWJhdGUge1xuICAgIGJvdHRvbTogLTIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5pbnZlbnRvcnkge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogMjUlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucXVhbnRpdHkgbGFiZWwsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucXVhbnRpdHkgaW5wdXQucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcXVhbnRpdHkgc2VsZWN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiA4NXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5jb21wYXJlLXBhZ2UgLmJ1dHRvbi1ncm91cCB7XG4gIG1hcmdpbjogMDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmNvbXBhcmUtcGFnZSAuY2F0ZWdvcmllcyAuY2F0ZWdvcnkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzk5OTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5jb21wYXJlLXBhZ2UgLmNhdGVnb3JpZXMgLmNhdGVnb3J5Om5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbjogMTBweCAwIDA7IH1cblxuLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlLFxuLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogN3B4IDEycHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOjpiZWZvcmUsIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTo6YWZ0ZXIsXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTo6YmVmb3JlLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOjphZnRlcixcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOm50aC1vZi10eXBlKG9kZCksXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShldmVuKSxcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICBwYWRkaW5nOiA5cHggMTJweDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5uYW1lLFxuLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAubmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAudmFsdWUsXG4uY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC52YWx1ZSB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBwYWRkaW5nOiAxMnB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb246bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiBsaTo6YmVmb3JlLCAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIGxpOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gbGk6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIC5hdHRyaWJ1dGUtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5sYWJlbC10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICB3aWR0aDogY2FsYygxMDAlIC0gNzVweCk7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAucmFpdGluZyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsb2F0OiByaWdodDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgd2lkdGg6IDc1cHg7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSBbY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgaSB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBmbG9hdDogbGVmdDsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGU6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMTVweDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zbWFsbC1kZXZpY2UtbWVzc2FnZSBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW46IDEwMHB4IDAgMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnBhZ2UtdGl0bGUge1xuICBtYXJnaW46IDI1cHggMCAyMHB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgYS5iYWNrIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLmNvbXBhcmUtcGFnZSAuc2VjdGlvbi1ib3gge1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMjtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDMwcHg7XG4gIHBhZGRpbmc6IDAgMCAxMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtY29sdW1uOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLnNlY3Rpb24tdGl0bGUsXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LWNvbHVtbjpub3QoOmZpcnN0LW9mLXR5cGUpIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGUge1xuICBvdXRsaW5lOiAwO1xuICB0ZXh0LWluZGVudDogLTk5OTllbTsgfVxuXG4uY29tcGFyZS1wYWdlICNjb21wYXJlLXRhYmxlIHtcbiAgbWFyZ2luLXRvcDogMTAwcHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAjY29tcGFyZS10YWJsZSAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29tcGFyZS1wYWdlICNjb21wYXJlLXRhYmxlIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDsgfVxuXG4uY29tcGFyZS1wYWdlIC50d28tY29sdW1ucyB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMSkge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDEpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogOC4zMzMzMyU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMikge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgyKSAucm93LXNwYWNlcyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgxKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMSkgLnJvdy1zcGFjZXMge1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg2NXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMikgLnJvdy1zcGFjZXMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNDA1NzVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDA1NzVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMykgLnJvdy1zcGFjZXMge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4xODY1cmVtOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIHtcbiAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1pbWFnZTpob3ZlciArIC5wcm9kdWN0LW5hbWUsIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lOmhvdmVyIHtcbiAgICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi8gfVxuICAgICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlOmhvdmVyICsgLnByb2R1Y3QtbmFtZSAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCwgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWU6aG92ZXIgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDI7IH0gfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb21vLWJhZGdlLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5hdmFpbGFiaWxpdHktbXNnLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC50ZXN0ZWQtYnlrYWwtYmFkZ2UsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuYWRpdGlvbmFsLWRldGFpbHMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWJhZGdlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgIHBhZGRpbmc6IDAgMCAyNXB4OyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlIGEge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgLmJyYW5kLW5hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSAubmFtZS1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1yZXZpZXcge1xuICAgIGhlaWdodDogMjVweDtcbiAgICBtYXJnaW46IDVweCAwIDI1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIHVsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X3JhdGluZyxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9wb2ludHNfcmF0aW5nIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X2xlZnRCcmFja2V0cyxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9wcm9kdWN0UmV2aWV3Q291bnQsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfbWFzdGVyQ2F0ZWdvcnlQYWdlVGV4dCxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9jaGlsZENhdGVnb3J5UGFnZVRleHQsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfcmlnaHRCcmFja2V0cyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfcG9pbnRzX3JhdGluZyBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcmljZS1xdHktYm94IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogNzUlOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXNhbGVzLFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4OyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2Uge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnJlYmF0ZSB7XG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMgKyAucmViYXRlIHtcbiAgICBib3R0b206IC0yMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuaW52ZW50b3J5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnF1YW50aXR5IGxhYmVsLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnF1YW50aXR5IGlucHV0LnByb2R1Y3QtcXVhbnRpdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXF1YW50aXR5IHNlbGVjdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogODVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY29tcGFyZS1wYWdlIC5idXR0b24tZ3JvdXAge1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5jb21wYXJlLXBhZ2UgLmNhdGVnb3JpZXMgLmNhdGVnb3J5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuY29tcGFyZS1wYWdlIC5jYXRlZ29yaWVzIC5jYXRlZ29yeTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW46IDEwcHggMCAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZSxcbi5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDdweCAxMnB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTo6YmVmb3JlLCAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6OmFmdGVyLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6OmJlZm9yZSxcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTo6YWZ0ZXIsXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShvZGQpLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUoZXZlbiksXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgcGFkZGluZzogOXB4IDEycHg7IH1cblxuLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAubmFtZSxcbi5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLm5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLnZhbHVlLFxuLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAudmFsdWUge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgcGFkZGluZzogMTJweDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gbGk6OmJlZm9yZSwgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiBsaTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIGxpOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiAuYXR0cmlidXRlLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAubGFiZWwtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDc1cHgpOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnJhaXRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiA3NXB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIFtjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIGkge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbjogMzBweCAwIDE1cHg7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3QtdGlsZSB7XG4gIG1hcmdpbjogMDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnNpemUtcHJpY2UtcXR5LWJveCAuYm94LXNwYWNpbmcge1xuICBtYXJnaW46IDAgMCAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc2l6ZS1wcmljZS1xdHktYm94IC5ib3gtc3BhY2luZyB7XG4gICAgICBtYXJnaW46IDAgMCAzNXB4OyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2l6ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDtcbiAgd2lkdGg6IDE4JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICB3aWR0aDogMzAlOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByaWNlUXR5Q29tcGFyZUZvcm0ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiA4MiU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcmljZVF0eUNvbXBhcmVGb3JtIHtcbiAgICAgIHdpZHRoOiA3MCU7IH0gfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJpY2VRdHlDb21wYXJlRm9ybSAucHJvbW90aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNldC1pdGVtOjpiZWZvcmUsIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNldC1pdGVtOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWl0ZW06OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWRldGFpbHMge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiBsZWZ0O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IDY1JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWRldGFpbHMge1xuICAgICAgd2lkdGg6IDczJTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWRldGFpbHMgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWRldGFpbHMgLnByaWNlLXNhbGVzLFxuICAgICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWRldGFpbHMgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3Qtc2V0LWRldGFpbHMgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgbWFyZ2luOiAycHggMCAwOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3QtcHJpY2luZyB7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5hZGQtc3ViLXByb2R1Y3Qge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdpZHRoOiAzNSU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5hZGQtc3ViLXByb2R1Y3Qge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5hZGQtc3ViLXByb2R1Y3QgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgIGZsb2F0OiBub25lO1xuICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgZmxvYXQ6IG5vbmU7XG4gIHBhZGRpbmc6IDA7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnNldC1hdHRyLXRpdGxlcyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwIDEycHggMTJweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnNldC1hdHRyaWJ1dGUtbmFtZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxNXB4O1xuICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICB3aWR0aDogMTglOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc2V0LWF0dHJpYnV0ZS1uYW1lIHtcbiAgICAgIHdpZHRoOiAzMyU7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc3VtbWFyeSAuYXR0cmlidXRlID4gLnZhbHVlLFxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZSA+IC52YWx1ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdpZHRoOiAxOCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zdW1tYXJ5IC5hdHRyaWJ1dGUgPiAudmFsdWUsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZSA+IC52YWx1ZSB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnN1bW1hcnkgLmF0dHJpYnV0ZSA+IC5uYW1lLFxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZSA+IC5uYW1lIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zdW1tYXJ5IC5hdHRyaWJ1dGUgPiAubmFtZSxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAuYXR0cmlidXRlID4gLm5hbWUge1xuICAgICAgd2lkdGg6IDM0JTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC50aXJlLXNwZWNzIC52YWx1ZS1yZWFyIC5uYW1lIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAuZmluaXNoX2F0dHJpYnV0ZSAudmFsdWUge1xuICB3aWR0aDogNjYlOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC50aXJlLXNwZWNzIC5maW5pc2hfYXR0cmlidXRlIC52YWx1ZTpub3QoLnZhbHVlLXJlYXIpIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZmluYW5jaW5nLWJsb2Nrcy5hY3RpdmUtcGxhbiAuY2ItY29sdW1uLWNoaWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MuYWN0aXZlLXBsYW4gLmNiLWNvbHVtbi1jaGlsZCBoMixcbiAgLmZpbmFuY2luZy1ibG9ja3MuYWN0aXZlLXBsYW4gLmNiLWNvbHVtbi1jaGlsZCBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuZmluYW5jaW5nLWJsb2Nrcy5hY3RpdmUtcGxhbiAuY2ItY29sdW1uLWNoaWxkIGEge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIG1pbi1oZWlnaHQ6IDIzMHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIGgyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDUuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1tb250aC10ZXh0IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiA1NnB4OyB9XG4gICAgLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1tb250aC10ZXh0ICsgcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgYm90dG9tOiAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCBpbWcge1xuICAgIG1hcmdpbjogNDBweCBhdXRvIDA7XG4gICAgbWF4LWhlaWdodDogOTBweDtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4uZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQge1xuICBib3JkZXI6IDdweCBzb2xpZCAjMWUxZTFlO1xuICBtaW4taGVpZ2h0OiA0MzhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmZpbmFuY2luZy1ibG9ja3Muc3RlcHMtdG8tdGFrZSAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDUwNXB4OyB9IH1cbiAgLmZpbmFuY2luZy1ibG9ja3Muc3RlcHMtdG8tdGFrZSAuY2ItY29sdW1uLWNoaWxkOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmZpbmFuY2luZy1ibG9ja3Muc3RlcHMtdG8tdGFrZSAuY2ItY29sdW1uLWNoaWxkOmhvdmVyIGgyLFxuICAgIC5maW5hbmNpbmctYmxvY2tzLnN0ZXBzLXRvLXRha2UgLmNiLWNvbHVtbi1jaGlsZDpob3ZlciBhIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmZpbmFuY2luZy1ibG9ja3Muc3RlcHMtdG8tdGFrZSAuY2ItY29sdW1uLWNoaWxkOmhvdmVyIGEge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3Muc3RlcHMtdG8tdGFrZSAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjExNXJlbTtcbiAgICBwYWRkaW5nOiAwIDIycHg7IH1cblxuLmZpbmFuY2luZy1ibG9ja3Muc3RlcHMtdG8tdGFrZSBoMiB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEuNHJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIHBhZGRpbmc6IDMwcHggMCAxOHB4OyB9XG5cbi5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMSksXG4uYXRyb290IC5maW5hbmNpbmctYmxvY2tzOm5vdCguc3RlcHMtdG8tdGFrZSk6bnRoLWNoaWxkKDIpIHtcbiAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2ZmMzkwMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYXRyb290IC5maW5hbmNpbmctYmxvY2tzOm5vdCguc3RlcHMtdG8tdGFrZSk6bnRoLWNoaWxkKDEpLFxuICAgIC5hdHJvb3QgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMikge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYXRyb290IC5maW5hbmNpbmctYmxvY2tzOm5vdCguc3RlcHMtdG8tdGFrZSk6bnRoLWNoaWxkKDEpOjpiZWZvcmUsXG4gICAgICAuYXRyb290IC5maW5hbmNpbmctYmxvY2tzOm5vdCguc3RlcHMtdG8tdGFrZSk6bnRoLWNoaWxkKDIpOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmMzkwMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbGVmdDogMzclO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAyNSU7IH0gfVxuXG4ubGFzdC1tb250aGx5LWNvbHVtbiB7XG4gIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmxhc3QtbW9udGhseS1jb2x1bW4ge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjI7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNvbHVtbnMge1xuICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgICBwYWRkaW5nLXRvcDogNTBweDsgfSB9XG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgaDIge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogNS42MjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1tb250aC10ZXh0IHtcbiAgICBmb250LXNpemU6IDEuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDQxcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctaW5mby0xLFxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1pbmZvLTEge1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgZm9udC1zaXplOiAzLjJyZW07IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZzogMCA1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQgcC5maW5hbmNpbmctaW5mby0xLFxuICAgICAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCBwLmZpbmFuY2luZy1pbmZvLTIge1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIGEge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgd2lkdGg6IDkwJTsgfSB9XG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQgYSB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQgcC50ZXJtcy1jb25kaXRpb25zIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHAudGVybXMtY29uZGl0aW9ucyBhIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuLmNiLWNvbHVtbi1jaGlsZC1jb3B5LnNpbmdsZS1jb2x1bW4ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNiLWNvbHVtbi1jaGlsZC1jb3B5LnNpbmdsZS1jb2x1bW4gcC50ZXJtcy1jb25kaXRpb25zIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG5cbi5maW5hbmNpbmctYXBwbHktbm93LWN0YSB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmZpbmFuY2luZy1hcHBseS1ub3ctY3RhIGEge1xuICAgIG1pbi13aWR0aDogMjIwcHg7IH1cbiAgLmZpbmFuY2luZy1hcHBseS1ub3ctY3RhIC5jYi1jdGEge1xuICAgIG1hcmdpbjogMDsgfVxuXG4jcmVzdWx0cy1pbmZvLWZyb20tZ3NwIHtcbiAgbWFyZ2luOiAyNXB4IDAgNTBweDsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNyZXN1bHRzLWluZm8tZnJvbS1nc3AgaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AgaDQge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcCAjY2hhbmdlLXJlc3BvbnNlcy1jdGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci1hbGwtd2VhdGhlciBoNCBzcGFuIHtcbiAgICBjb2xvcjogI2JmMWE4ZDsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLXdpbnRlciBoNCBzcGFuIHtcbiAgICBjb2xvcjogIzIwYzNmMzsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLTMtc2Vhc29uIGg0IHNwYW4sXG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItYWxsLXNlYXNvbiBoNCBzcGFuIHtcbiAgICBjb2xvcjogI2ZiYjExNjsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLXBlcmZvcm1hbmNlIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjNjM1M2EzOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItdG91cmluZyBoNCBzcGFuIHtcbiAgICBjb2xvcjogIzAwYTY1MTsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLW11ZC10ZXJyYWluIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjNDIyODAwOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3Itc3BvcnQtdHJ1Y2sgaDQgc3BhbiB7XG4gICAgY29sb3I6ICM5ZWNmN2M7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci1hbGwtdGVycmFpbiBoNCBzcGFuIHtcbiAgICBjb2xvcjogIzdhNTIyNjsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLWNvbW1lcmNpYWwgaDQgc3BhbiB7XG4gICAgY29sb3I6ICNhN2E5YWM7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci11bHRyYS1oaWdoLXBlcmZvcm1hbmNlIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjYTQ5OWNhOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuYXRyb290IHtcbiAgICBwYWRkaW5nOiAwOyB9IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAjZ3NwTW9iaWxlQ2xvc2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgcGFkZGluZzogMjBweCAwOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgaDQge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciBoMyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDEuNWVtIDAgMC43NWVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIGgzIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjg1KTsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tbnVtYmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgYm9yZGVyLXJhZGl1czogMWVtO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgaGVpZ2h0OiAyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMmVtO1xuICBtYXJnaW46IDAgMWVtIDAgLTMuNWVtO1xuICBtaW4td2lkdGg6IDJlbTtcbiAgd2lkdGg6IDJlbTsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAjMjAyMDIwIHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL3F1ZXN0aW9uLWhlYWRlci1pbWFnZS5wbmdcIikgLTQycHggY2VudGVyIG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxOTRweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tdGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgzMiwgMzIsIDMyLCAwLjg1KTtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL3F1ZXN0aW9uLWhlYWRlci1pbWFnZUAyeC5wbmdcIik7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjZweCBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4JTsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi10aXRsZSA+IGRpdiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBsaW5lLWhlaWdodDogMS4yNWVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAxLjM3NWVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjM3NWVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXRpdGxlID4gZGl2IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuOTc3NWVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogMC45Nzc1ZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi10aXRsZSA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjQwOTVlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDEuNDA5NWVtOyB9IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwQW5zd2VyIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmZhLXRpbWVzIHtcbiAgY29sb3I6ICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgbWFyZ2luLXRvcDogLTExcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDIwcHg7XG4gIHRvcDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5mYS10aW1lcyB7XG4gICAgICByaWdodDogMzJweDsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmZhLXRpbWVzOmhvdmVyIHtcbiAgICBjb2xvcjogI2YyZjJmMjsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLmdzcEFuc3dlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjIuNXB4KTtcbiAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMi41cHgpO1xuICBoZWlnaHQ6IDguNWVtO1xuICBtYXJnaW46IDAgMCAxLjJlbSAwLjkzNzVyZW07XG4gIG1heC13aWR0aDogY2FsYyg1MCUgLSAyMi41cHgpOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLmdzcEFuc3dlciB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAtIDIwcHgpO1xuICAgICAgZmxleC1iYXNpczogY2FsYygzMyUgLSAyMHB4KTtcbiAgICAgIGhlaWdodDogMTFlbTtcbiAgICAgIG1hcmdpbjogMCAwLjYyNXJlbSAxLjJlbTtcbiAgICAgIG1heC13aWR0aDogY2FsYygzMyUgLSAyMHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLmdzcEFuc3dlciB7XG4gICAgICBmbGV4LWJhc2lzOiBjYWxjKDIwJSAtIDIwcHgpO1xuICAgICAgZmxleC1iYXNpczogY2FsYygyMCUgLSAyMHB4KTtcbiAgICAgIGhlaWdodDogMTIuNWVtO1xuICAgICAgbWF4LXdpZHRoOiBjYWxjKDIwJSAtIDIwcHgpOyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5nc3BBbnN3ZXIgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgaGVpZ2h0OiAzN3B4O1xuICAgIHBhZGRpbmc6IDAgNnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG4gICAgei1pbmRleDogMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuZ3NwQW5zd2VyIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA0M3B4OyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5nc3BBbnN3ZXI6aG92ZXIgc3BhbiB7XG4gICAgaGVpZ2h0OiA0OXB4OyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuc2VsZWN0ZWQge1xuICBib3JkZXI6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLnNlbGVjdGVkIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5zZWxlY3RlZDo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC40KTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLnNlbGVjdGVkOjpiZWZvcmUge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMS42ODc1cmVtO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiAxLjQzNzVyZW07XG4gICAgaGVpZ2h0OiAzcmVtO1xuICAgIGxlZnQ6IDUwJTtcbiAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMS42ODc1cmVtO1xuICAgIHdpZHRoOiAzcmVtO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLnNlbGVjdGVkOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgICAgZm9udC1zaXplOiAxLjc1cmVtO1xuICAgICAgICBoZWlnaHQ6IDMuNDM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0xLjY4NzVyZW07XG4gICAgICAgIHRvcDogMy4xMjVyZW07XG4gICAgICAgIHdpZHRoOiAzLjQzNzVyZW07IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIge1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciB7XG4gICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgd2lkdGg6IDUwcHg7IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6Zmlyc3QtY2hpbGQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0OyB9XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmZpcnN0LWNoaWxkIGg0LFxuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpmaXJzdC1jaGlsZCBwIHtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDsgfVxuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpsYXN0LWNoaWxkIGg0LFxuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpsYXN0LWNoaWxkIHAge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIGg0IHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW46IDJlbSAwIDAuNzVlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIHAge1xuICAgIGNvbG9yOiByZ2JhKDEyOCwgMTMwLCAxMzMsIDAuNyk7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlci5zZWxlY3RlZCB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLm9wdGlvbi1iZyB7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gIGhlaWdodDogNDdweDtcbiAgbWFyZ2luLXRvcDogMy43NWVtO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAub3B0aW9uLWJnIHtcbiAgICAgIG1hcmdpbi10b3A6IDkuMzc1ZW07IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIsXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIgcCxcbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHAge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1ZW07XG4gICAgd2lkdGg6IDE0cmVtOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciBzdHJvbmcsXG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIge1xuICBmbGV4LWJhc2lzOiAxMDAlO1xuICBoZWlnaHQ6IDE0LjE4NzVyZW07XG4gIG1hcmdpbjogMzBweCAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyIHtcbiAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgIGhlaWdodDogMTQuMTg3NXJlbTtcbiAgICAgIG1hcmdpbjogMzBweCAxLjg3NXJlbTsgfVxuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyIHtcbiAgICAgIGhlaWdodDogMTQuMTg3NXJlbTtcbiAgICAgIG1hcmdpbjogMzBweCAxLjg3NXJlbTsgfVxuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyIHAge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMi4xM3JlbTsgfVxuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMC45NTI0ZW07XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlcjpob3ZlciB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2ZmNjkwMDsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIgc3BhbiB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgaGVpZ2h0OiAzN3B4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICBoZWlnaHQ6IDQzcHg7IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXI6aG92ZXIgc3BhbiB7XG4gICAgaGVpZ2h0OiA0OXB4OyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgaW1nIHtcbiAgaGVpZ2h0OiA0LjM3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMC44cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIGltZyB7XG4gICAgICBoZWlnaHQ6IDUuNjI1cmVtOyB9IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuc2VsZWN0ZWQge1xuICBib3JkZXI6IDRweCBzb2xpZCAjZmY2OTAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5zZWxlY3RlZDo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogMS42ODc1cmVtO1xuICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAzLjAzNzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwLjcyNXJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwLjUyNXJlbTtcbiAgICB3aWR0aDogMy4wMzc1cmVtO1xuICAgIHotaW5kZXg6IDI7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwLXF1ZXN0aW9uLW51bWJlciB7XG4gIG1hcmdpbi1sZWZ0OiAtMy43NWVtOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciB7XG4gIGhlaWdodDogMTNyZW07XG4gIG1hcmdpbjogMCAwLjkzNzVyZW0gMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciB7XG4gICAgICBoZWlnaHQ6IDEzLjgxMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAtMC40Mzc1cmVtOyB9XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXI6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBoZWlnaHQ6IDE3cmVtOyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIGltZyB7XG4gICAgaGVpZ2h0OiA4LjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciBpbWcge1xuICAgICAgICBoZWlnaHQ6IDEwLjgxMjVyZW07IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xuICAgIHdpZHRoOiAxNHJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDE5cmVtOyB9IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuYnV0dG9uIHtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBtYXJnaW4tYm90dG9tOiAzLjI1ZW07XG4gIHBhZGRpbmc6IDEzcHggMi41ZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuYnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZhNTY2OyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmJ1dHRvbi5kaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogIzgwODI4NTtcbiAgICBib3JkZXItY29sb3I6ICM4MDgyODU7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgaDQsXG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmZpcnN0LWNoaWxkIGg0LFxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmZpcnN0LWNoaWxkIHAsIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCBoNCxcbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpsYXN0LWNoaWxkIHAge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciAub3B0aW9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjkwMDtcbiAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAzNnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAtNDJweCA1cHggMDtcbiAgd2lkdGg6IDM2cHg7IH1cbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciAub3B0aW9uOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEzMCwgMTMzLCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDE1cHg7XG4gICAgd2lkdGg6IDE1cHg7IH1cblxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlci5zZWxlY3RlZCAub3B0aW9uLFxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciAub3B0aW9uOmhvdmVyIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjsgfVxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyLnNlbGVjdGVkIC5vcHRpb246OmFmdGVyLFxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIC5vcHRpb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcC1xdWVzdGlvbi1hbnN3ZXJzIHVsIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfSB9XG5cbi5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3AtcXVlc3Rpb24tYW5zd2VycyB1bDpob3ZlciAuZ3NwQW5zd2VyOmhvdmVyIHtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwO1xuICBib3JkZXItd2lkdGg6IDRweDsgfVxuXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciB7XG4gICAgICBmbGV4LWJhc2lzOiA0MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvOyB9XG4gICAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyLnNlbGVjdGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9IH1cbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciBzdHJvbmc6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIixcIjsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgcCxcbi5ub3Jlc3VsdHMtcGFnZSBhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnNlYXJjaC1waHJhc2Uge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLW1lc3NhZ2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLW1lc3NhZ2UgcCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCxcbi5ub3Jlc3VsdHMtcGFnZSAucmVsYXRlZC1zZWFyY2gsXG4ubm9yZXN1bHRzLXBhZ2UgLnJlc291cmNlLWNlbnRlciB7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoIGlucHV0IHtcbiAgaGVpZ2h0OiA0NXB4O1xuICBtYXJnaW46IDA7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoIC5idXR0b24ge1xuICBtYXJnaW46IDAgMCAwIDdweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggLmJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggLmljb24tc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCAucmVmaW5lbWVudC1oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAucmVsYXRlZC1zZWFyY2ggdWwge1xuICBtYXJnaW46IDA7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCBsaSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNjY2M7XG4gICAgcGFkZGluZzogMzBweCAwIDA7IH0gfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgLmJveCB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIGg0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW46IDA7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIGg0IHNwYW4ge1xuICAgIHBhZGRpbmc6IDAgMCAwIDhweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIHAsXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgYSB7XG4gIG1hcmdpbjogMCAwIDAgMzBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3IgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDAgMCA0NXB4O1xuICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9xdWVzdGlvbi1oZWFkZXItaW1hZ2VAMngucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDU1MHB4IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjAwcHg7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNTAlIGNlbnRlcjsgfSB9XG5cbi52aXN1YWxpemVyLXdyYXBwZXIge1xuICBib3JkZXI6IDZweCBzb2xpZCAjZjJmMmYyO1xuICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTsgfVxuXG4udmlzdWFsaXplci1jb250YWluZXIge1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLnZpc3VhbGl6ZXItaW1hZ2Uge1xuICAgICAgYm90dG9tOiA0LjE3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwLjYyNXJlbTsgfSB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAudmlzdWFsaXplci10b29scyB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMTsgfVxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAudmlzdWFsaXplci10b29scyBhIHtcbiAgICAgIGNvbG9yOiAjODA4Mjg1OyB9XG4gICAgICAudmlzdWFsaXplci1jb250YWluZXIgLnZpc3VhbGl6ZXItdG9vbHMgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLXRvb2xzIC5taW5pbWl6ZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC10aWxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5icmFuZC1uYW1lIHtcbiAgICBmb250LXNpemU6IDE3cHg7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5maW5pc2gge1xuICAgIG1hcmdpbi1ib3R0b206IDIuNjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAuZmluaXNoLFxuICAudmlzdWFsaXplci1jb250YWluZXIgLmF0dHJpYnV0ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLmZpbmlzaCBzcGFuLFxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAuYXR0cmlidXRlIHNwYW4ge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5hdHRyaWJ1dGUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAuYXR0cmlidXRlIHNwYW4ge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAuYXR0cmlidXRlIGVtIHtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuICAgICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5hdHRyaWJ1dGUgZW06OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcXGYxMGVcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHN1cGVyOyB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1wcmljaW5nIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7IH0gfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtcHJpY2Uge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtcHJpY2U6OmJlZm9yZSwgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNlOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLXRpcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJvcmRlcjogMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAudmlzdWFsaXplci10aXAge1xuICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMC42MjVyZW07IH0gfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLnJlbGF0aXZlIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnZpc3VhbGl6ZXItY2Fyb3VzZWwge1xuICBib3JkZXItdG9wOiA2cHggc29saWQgI2YyZjJmMjtcbiAgcGFkZGluZzogMS4yNXJlbSAzLjVyZW0gMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC52aXN1YWxpemVyLWNhcm91c2VsIC5jYXJvdXNlbC13cmFwcGVyIHtcbiAgICBoZWlnaHQ6IDE0cmVtOyB9XG4gIC52aXN1YWxpemVyLWNhcm91c2VsIC5jYXJvdXNlbC1jb250YWluZXIge1xuICAgIG1hcmdpbjogMDsgfVxuXG4udi1jYXJvdXNlbC1pdGVtIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDEycHg7XG4gIGhlaWdodDogMTRyZW07XG4gIG91dGxpbmU6IG5vbmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAudi1jYXJvdXNlbC1pdGVtIGltZyB7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAudi1jYXJvdXNlbC1pdGVtIGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTIwcHg7XG4gICAgb3V0bGluZTogbm9uZTsgfVxuICAudi1jYXJvdXNlbC1pdGVtIC5wcmljZSB7XG4gICAgY29sb3I6ICM4MDgyODU7IH1cbiAgICAudi1jYXJvdXNlbC1pdGVtIC5wcmljZSAuY3VycmVuY3ktY29kZSB7XG4gICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICB0b3A6IDA7IH1cbiAgLnYtY2Fyb3VzZWwtaXRlbS5hY3RpdmUsIC52LWNhcm91c2VsLWl0ZW06aG92ZXIge1xuICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZmY2OTAwOyB9XG5cbi52aXN1YWxpemVyLWNvbG9ycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogMS4yNXJlbSAwIDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudmlzdWFsaXplci1jb2xvcnMge1xuICAgICAgYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgIGxlZnQ6IDUwJTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfSB9XG4gIC52aXN1YWxpemVyLWNvbG9ycyBsaSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzgwODI4NTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBtYXJnaW46IDVweCAycHg7XG4gICAgbWluLXdpZHRoOiAxcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIHdpZHRoOiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAudmlzdWFsaXplci1jb2xvcnMgbGkge1xuICAgICAgICBtYXJnaW46IDVweCAycHg7IH0gfVxuICAgIC52aXN1YWxpemVyLWNvbG9ycyBsaTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBtYXJnaW46IC0wLjVyZW0gMCAwIC0wLjVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgIHRvcDogNTAlOyB9XG4gICAgLnZpc3VhbGl6ZXItY29sb3JzIGxpLmFjdGl2ZSwgLnZpc3VhbGl6ZXItY29sb3JzIGxpOmhvdmVyIHtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICN2LXZpc3VhbGl6ZXItbGFyZ2UgLnByb2R1Y3QtdGlsZSB7XG4gICAgbWluLWhlaWdodDogMjRyZW07IH0gfVxuXG4jdi12aXN1YWxpemVyLWxhcmdlIC52aXN1YWxpemVyLXRvb2xzIC5taW5pbWl6ZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiN2LXZpc3VhbGl6ZXItbGFyZ2UgLnZpc3VhbGl6ZXItdG9vbHMgLmV4cGFuZCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3YtdmlzdWFsaXplci1sYXJnZSAucHJvZHVjdC10aWxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uY2Fyb3VzZWwtYnRuIHtcbiAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGhlaWdodDogMnJlbTtcbiAgbGVmdDogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB0b3A6IDRyZW07XG4gIHdpZHRoOiAycmVtOyB9XG4gIC5jYXJvdXNlbC1idG4uc2xpY2stZGlzYWJsZWQge1xuICAgIGJvcmRlci1jb2xvcjogI2U2ZTZlNjtcbiAgICBjb2xvcjogI2U2ZTZlNjsgfVxuICAuY2Fyb3VzZWwtYnRuLmNhcm91c2VsLW5leHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDFyZW07IH1cblxuI3YtcGRwLXRvcGxldmVsY29tcG9uZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjdi1wZHAtdG9wbGV2ZWxjb21wb25lbnQgI3YtdmVoaWNsZS1pbWFnZSB7XG4gICAgICBtaW4taGVpZ2h0OiAxNy41cmVtOyB9XG4gICAgI3YtcGRwLXRvcGxldmVsY29tcG9uZW50IC5yZWxhdGl2ZSB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4jdi12aXN1YWxpemVyLWRlZmF1bHQtdmVoaWNsZS1zbWFsbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ubG9naW4td3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDYuMjVyZW07XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubG9naW4td3JhcHBlciB7XG4gICAgICBib3JkZXI6IDVweCBzb2xpZCByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuOCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZy1ib3R0b206IDIuODEzcmVtO1xuICAgICAgcGFkZGluZy10b3A6IDQuMDYzcmVtOyB9IH1cbiAgLnB0X2NhcnQgLmxvZ2luLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmxvZ2luLXdyYXBwZXIgaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5sb2dpbi13cmFwcGVyIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07IH0gfVxuICAubG9naW4td3JhcHBlciAuZGlhbG9nLXJlcXVpcmVkIHtcbiAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgLmxvZ2luLXdyYXBwZXIgLmJvcmRlcmVkLWVuZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgbWFyZ2luLWJvdHRvbTogMi4zNzVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5sb2dpbi13cmFwcGVyIC5ib3JkZXJlZC1lbmQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgLmxvZ2luLXdyYXBwZXIgLmJvcmRlcmVkLWVuZCAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmxvZ2luLXdyYXBwZXIgLnBhc3N3b3JkLXJlc2V0IHtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubG9naW4td3JhcHBlciAucGFzc3dvcmQtcmVzZXQge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuICAubG9naW4td3JhcHBlciAubG9naW4tcmVtZW1iZXJtZSB7XG4gICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbi1yZW1lbWJlcm1lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuICAubG9naW4td3JhcHBlciAuZXJyb3ItZm9ybSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4xMjVyZW07IH1cbiAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luLWNyZWF0ZS1hY2NvdW50IHAge1xuICAgIG1hcmdpbjogMC4xODc1cmVtIDAgMS43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5sb2dpbi13cmFwcGVyIC5sb2dpbi1jcmVhdGUtYWNjb3VudCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44NzVyZW07IH0gfVxuXG4ubG9naW4tcGFnZS10aXRsZSxcbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtcGFnZS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMjFweDtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sb2dpbi1wYWdlLXRpdGxlLFxuICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtcGFnZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMi45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sb2dpbi1wYWdlLXRpdGxlLFxuICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtcGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDUwcHggMCAyLjkzNzVyZW07IH0gfVxuXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gIGhlaWdodDogMTAwJTtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxMDA7IH1cblxuLnVpLXdpZGdldCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1heC13aWR0aDogMTAwJTtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gIHotaW5kZXg6IDEwMTsgfVxuICAudWktd2lkZ2V0IHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudWktd2lkZ2V0IHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cbiAgLnVpLXdpZGdldCAuZGlhbG9nLWNvbnRlbnQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMS4wNjI1cmVtIDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudWktd2lkZ2V0IC5kaWFsb2ctY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDEuNjg3NXJlbSAxLjg3NXJlbSAyLjY4NzVyZW07IH0gfVxuICAudWktd2lkZ2V0IGgxIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC51aS13aWRnZXQgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07IH0gfVxuICAudWktd2lkZ2V0IC51aS1kaWFsb2ctdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnVpLXdpZGdldCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMzVweDtcbiAgICB0b3A6IDEycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudWktd2lkZ2V0IC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgICAgICByaWdodDogNDdweDtcbiAgICAgICAgdG9wOiAyNHB4OyB9IH1cbiAgLnVpLXdpZGdldCAudWktYnV0dG9uLWljb24tb25seSAudWktYnV0dG9uLXRleHQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnVpLXdpZGdldCAudWktYnV0dG9uLWljb24tb25seSAudWktYnV0dG9uLWljb24tcHJpbWFyeTo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC51aS13aWRnZXQgLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnk6aG92ZXI6OmFmdGVyIHtcbiAgICBjb2xvcjogI2RiNWEwMDsgfVxuICAudWktd2lkZ2V0IC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxLjVyZW0gMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC51aS13aWRnZXQgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcbiAgICAgICAgcGFkZGluZzogMCAxLjg3NXJlbSAxLjVlbTsgfSB9XG4gIC51aS13aWRnZXQubm8tYnV0dG9ucGFuZSAudWktZGlhbG9nLWJ1dHRvbnBhbmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnVpLXdpZGdldCAuYnV0dG9uLW1vZGFsIHtcbiAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDE4cHg7IH1cblxuLnBhc3N3b3JkLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhc3N3b3JkLWNvbnRhaW5lciAuZmllbGQtd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5wYXNzd29yZC1pY29uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDEwcHg7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHdpZHRoOiAyMHB4OyB9XG4gIC5wYXNzd29yZC1pY29uOjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2V5ZS1zaG93LXBhc3N3b3JkLnN2Z1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogY29udGFpbjtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIHdpZHRoOiAyMHB4OyB9XG4gIC5wYXNzd29yZC1pY29uLnBhc3N3b3JkLXNob3c6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZXllLWhpZGUtcGFzc3dvcmQuc3ZnXCIpOyB9XG5cbi5mb3Jnb3QtcGFzc3dvcmQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4ucGFzc3dvcmQtcmVzZXQtZGlhbG9nIHtcbiAgbWF4LXdpZHRoOiA0MnJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhc3N3b3JkLXJlc2V0LWRpYWxvZyBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAucGFzc3dvcmQtcmVzZXQtZGlhbG9nIC5mb3JtLXJvdyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICBtaW4td2lkdGg6IDQwMHB4OyB9XG4gICAgLnBhc3N3b3JkLXJlc2V0LWRpYWxvZyAuYnV0dG9uLWdyb3VwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDEuMzc1cmVtOyB9XG4gICAgLnBhc3N3b3JkLXJlc2V0LWRpYWxvZyBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0gfVxuICAucGFzc3dvcmQtcmVzZXQtZGlhbG9nIC5idXR0b24tZ3JvdXAge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLnB0X2FjY291bnQgLm1lZGl1bS1jZW50ZXJlZCB7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICBtYXJnaW4tcmlnaHQ6IGF1dG87IH1cblxuLnJlZ2lzdGVyLXBhZ2UtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDIxcHg7XG4gIG1hcmdpbjogMjBweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmVnaXN0ZXItcGFnZS10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgbWFyZ2luOiAzMHB4IGF1dG8gMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yZWdpc3Rlci1wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAucmVnaXN0ZXItcGFnZS10aXRsZS5oYXMtc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4ucmVnaXN0ZXItYnJlYWRjcnVtYiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi5yZWdpc3Rlci1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogNC44NzVyZW07IH1cbiAgLnJlZ2lzdGVyLWZvcm0gLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5yZWdpc3Rlci1mb3JtIC5pbmZvLWJveCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjODA4Mjg1OyB9XG4gICAgLnJlZ2lzdGVyLWZvcm0gLmluZm8tYm94IGEge1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnJlZ2lzdGVyLWZvcm0gLmluZm8tYm94IGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cbiAgICAucmVnaXN0ZXItZm9ybSAuaW5mby1ib3ggcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucmVnaXN0ZXItZm9ybSAuaW5mby1ib3ggcCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gIC5yZWdpc3Rlci1mb3JtIC5oaWRkZW4tY2FwdGlvbiAuZm9ybS1jYXB0aW9uIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5yZWdpc3Rlci1mb3JtIC5uZXdzbGV0dGVyLXRleHQge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIC5yZWdpc3Rlci1mb3JtIC5uZXdzbGV0dGVyLXRleHQgc3BhbiB7XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgcCxcbi5ub3Jlc3VsdHMtcGFnZSBhIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnNlYXJjaC1waHJhc2Uge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLW1lc3NhZ2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLW1lc3NhZ2UgcCB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCxcbi5ub3Jlc3VsdHMtcGFnZSAucmVsYXRlZC1zZWFyY2gsXG4ubm9yZXN1bHRzLXBhZ2UgLnJlc291cmNlLWNlbnRlciB7XG4gIG1hcmdpbjogMCAwIDMwcHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoIGlucHV0IHtcbiAgaGVpZ2h0OiA0NXB4O1xuICBtYXJnaW46IDA7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoIC5idXR0b24ge1xuICBtYXJnaW46IDAgMCAwIDdweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggLmJ1dHRvbiB7XG4gICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2ggLmljb24tc2VhcmNoIHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCAucmVmaW5lbWVudC1oZWFkZXIge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAucmVsYXRlZC1zZWFyY2ggdWwge1xuICBtYXJnaW46IDA7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5yZWxhdGVkLXNlYXJjaCBsaSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNjY2M7XG4gICAgcGFkZGluZzogMzBweCAwIDA7IH0gfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgLmJveCB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIGg0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW46IDA7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIGg0IHNwYW4ge1xuICAgIHBhZGRpbmc6IDAgMCAwIDhweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIHAsXG4ubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2UgYSB7XG4gIG1hcmdpbjogMCAwIDAgMzBweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY4NzVyZW07IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3IgLmJ1dHRvbi5ob2xsb3cge1xuICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtbWVzc2FnZSB7XG4gICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IDAgMCA0NXB4O1xuICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm5vcmVzdWx0cy1wYWdlIC5tZWRpdW0tY2VudGVyZWQge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9xdWVzdGlvbi1oZWFkZXItaW1hZ2VAMngucG5nXCIpO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDU1MHB4IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNjAwcHg7XG4gICAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAxNTAlIGNlbnRlcjsgfSB9XG5cbi5wYWNrYWdlcy1zZWxlY3Rpb24ge1xuICBtYXJnaW46IDQwcHggMCAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvciB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3Ige1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiA5MHB4OyB9XG4gICAgICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3I6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvcjpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW46IDAgMCAxMnB4OyB9XG4gICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvciAucGstZWRpdC13aGVlbCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7IH1cbiAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yIC5zdGVwLW51bWJlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgbWFyZ2luOiAwIDAuMzEyNXJlbSAwIDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB3aWR0aDogMzJweDsgfVxuICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3Iuc2VsZWN0ZWQge1xuICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3Iuc2VsZWN0ZWQgLnN0ZXAtbnVtYmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3IuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICNkOWQ5ZGE7IH1cbiAgICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3IuZGlzYWJsZWQgLnN0ZXAtbnVtYmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Q5ZDlkYTsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgaDIge1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyBoNSB7XG4gIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlbGVjdG9yLXBhY2thZ2VzIGg1IHtcbiAgICAgIG1hcmdpbi10b3A6IDJyZW07IH0gfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLm1pZC1saW5lLWNvcHkge1xuICBtYXJnaW46IDIuNXJlbSAwIDIuMzc1cmVtOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZSB7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDAgMCAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUge1xuICAgICAgbWFyZ2luOiAwIDAgM3JlbTsgfSB9XG4gIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZSAuc2VsLXN1YnRpdGxlIHNwYW4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuICAuc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUgYSB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgcGFkZGluZzogMTVweCAxOHB4OyB9XG4gICAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplIGE6bm90KC5zZWwtc3VidGl0bGUpIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUub2Utc2l6ZS1vcmFuZ2Uge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgICAuc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUub2Utc2l6ZS1vcmFuZ2U6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2ZmYTU2NjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2ZmYTU2NjsgfVxuICAgIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZS5vZS1zaXplLW9yYW5nZSBhIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAub3B0aW9uYWwtc2l6ZXMtaGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07IH1cbiAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vcHRpb25hbC1zaXplcy1oZWFkZXIgaSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgbWFyZ2luLWxlZnQ6IDE1cHg7IH1cbiAgICAuc2VsZWN0b3ItcGFja2FnZXMgLm9wdGlvbmFsLXNpemVzLWhlYWRlciBpOjpiZWZvcmUge1xuICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5zaG93LXNlbGYtc2VydmljZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplLWNvbnRhaW5lciAuc2VjdGlvbi10aXRlIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZS1jb250YWluZXIgLnNlbC1zdWJ0aXRsZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUtY29udGFpbmVyIC5zdWJ0aXRsZS10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAueW91ci12ZWhpY2xlLWluZm8ge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAuc2VjdGlvbi10aXRsZS10b29sdGlwIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtOyB9XG4gIC5zZWxlY3Rvci1wYWNrYWdlcyAuc2VjdGlvbi10aXRsZS10b29sdGlwIC5zZWwtc3VidGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNXJlbTsgfVxuXG4ub2Utc2l6ZS1idG4ge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnNlY3Rpb24tcXVlc3Rpb24tY29weSBwLCAucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLnNlY3Rpb24tcXVlc3Rpb24tY29weSBwIHNwYW4sIC5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcgcCBzcGFuIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cblxuLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZyB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi8gfVxuICAucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzEyNXJlbTsgfVxuICAucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nIGEge1xuICAgIGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgI2ZmNjkwMDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZy1tYWluIHtcbiAgbWFyZ2luLXRvcDogMXJlbTsgfVxuICAucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nLW1haW4gcCB7XG4gICAgbWFyZ2luLXRvcDogMXJlbTsgfVxuXG4ucGFja2FnZXMtc3RhZ2dlcmVkIHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgLnBhY2thZ2VzLXN0YWdnZXJlZCAucGFja2FnZS1zdGFnZ2VyZWQtYnV0dG9uIHtcbiAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucGFja2FnZXMtc3RhZ2dlcmVkIC5wYWNrYWdlLXN0YWdnZXJlZC1idXR0b24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDcwcHggMCAxMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMTI1cHggMCAxMzVweDsgfSB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciBoMSxcbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiA0NnB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgaDEsXG4gICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDY3cHg7IH0gfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICAgIG1hcmdpbjogMS40cmVtIDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtOyB9IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciAucmViYXRlcy10YWJzLW5hdi13cmFwcGVyIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBsaW5lLWhlaWdodDogNDVweDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IHtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4OyB9IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiBsaSB7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIGZsZXgtZ3JvdzogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiBsaS5hY3RpdmUgYSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiBsaSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGkgYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpOmhvdmVyOjphZnRlciwgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiBsaS5hY3RpdmU6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBib3R0b206IDA7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpOmhvdmVyOjphZnRlciwgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiBsaS5hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICBoZWlnaHQ6IDVweDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNNYWluQ29udGVudFdyYXBwZXIge1xuICBtYXJnaW46IDQ1cHggMCAxMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc01haW5Db250ZW50V3JhcHBlciB7XG4gICAgICBtYXJnaW46IDc1cHggMCAxMTVweDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIGgyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWxhbmRpbmctaGVhZCBoMiB7XG4gICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWxhbmRpbmctaGVhZCBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWxhbmRpbmctaGVhZCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIGltZyB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIC5idXR0b24uc21hbGwge1xuICBtYXJnaW46IDIwcHggMCAwO1xuICBwYWRkaW5nOiA4cHggMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgLmJ1dHRvbi5zbWFsbCB7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgcGFkZGluZzogMTBweCAxNXB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIHtcbiAgYm9yZGVyOiA2cHggc29saWQgI2YyZjJmMjtcbiAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgcGFkZGluZzogN3B4O1xuICB3aWR0aDogMTAwJTsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW06OmJlZm9yZSwgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0ge1xuICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgIHBhZGRpbmc6IDEycHg7IH0gfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gLnJlYmF0ZXMtaXRlbS1pbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDM1LjMzMiU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gLnJlYmF0ZXMtaXRlbS1pbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIC5yZWJhdGVzLWl0ZW0taW1nIGltZyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gLnJlYmF0ZXMtaXRlbS1jb250ZW50IHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIC5yZWJhdGVzLWl0ZW0tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgd2lkdGg6IDY0LjY3JTsgfSB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSBoMyB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHggNXB4OyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSBoMiB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHggMTBweDsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDEwcHggMThweDsgfVxuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSBwIHN0cm9uZyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gYS5idXR0b24ge1xuICAgIG1hcmdpbjogMCAwIDhweCAxMHB4O1xuICAgIHBhZGRpbmc6IDExcHggMTVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSBhLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbS10eXBlLXJvdyB7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtLXR5cGUtcm93IC5yZWJhdGVzLWl0ZW0tdHlwZSB7XG4gICAgZmxvYXQ6IGxlZnQ7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0tdHlwZS1yb3cgLnJlYmF0ZXMtaXRlbS10eXBlIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtLXR5cGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICBwYWRkaW5nOiAwIDEzcHg7IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtLXR5cGUuYmxhY2sge1xuICAgIGJhY2tncm91bmQ6ICMwMDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIGg0IHtcbiAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLXBhZ2UtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLXBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcyxcbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5mZWF0dXJlZC1icmFuZHMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMsXG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmZlYXR1cmVkLWJyYW5kcyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0LjE4NzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLXNsb3QgZGl2IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgcGFkZGluZzogMXJlbSAwOyB9XG4gIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtc2xvdCBkaXYgcCB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICBwYWRkaW5nOiAxLjhyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLXNsb3QgZGl2IHAge1xuICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMge1xuICBwYWRkaW5nOiAxcmVtIDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbTpudGgtY2hpbGQob2RkKSB7XG4gICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtOyB9XG4gIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbTpudGgtY2hpbGQoZXZlbikge1xuICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtIGEge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDMuNzVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbSBhIHtcbiAgICAgIGhlaWdodDogOHJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuM3JlbTtcbiAgICAgIHBhZGRpbmc6IDEuM3JlbTsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbS5mZWF0dXJlZC1icmFuZHMtaXRlbSBhIHtcbiAgYm9yZGVyOiA2cHggc29saWQgI2YyZjJmMjtcbiAgaGVpZ2h0OiA3LjE4NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbS5mZWF0dXJlZC1icmFuZHMtaXRlbSBhIHtcbiAgICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgIGhlaWdodDogMTVyZW07IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0gLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuICBtaW4taGVpZ2h0OiAxLjVyZW07XG4gIHBhZGRpbmc6IDAuMzEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtIC5idXR0b24ge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAxLjNyZW07XG4gICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC42MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbTpob3ZlciAuYnV0dG9uIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtIGltZyB7XG4gIG1heC1oZWlnaHQ6IDQuMDYyNXJlbTsgfVxuXG4uYnJhbmQtYmFubmVyIHtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gIHBhZGRpbmc6IDRyZW0gMCAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmQtYmFubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICBwYWRkaW5nOiA4Ljc1cmVtIDAgOC4yNXJlbTsgfVxuICAgICAgLmJyYW5kLWJhbm5lciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9IH1cbiAgLmJyYW5kLWJhbm5lciBoMSxcbiAgLmJyYW5kLWJhbm5lciBoMiB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmJyYW5kLWJhbm5lciBoMSxcbiAgICAgIC5icmFuZC1iYW5uZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDY3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG4uYnJhbmQtYmFubmVyLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICBtaW4taGVpZ2h0OiAzLjMxMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kLWJhbm5lci13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAzLjc1cmVtOyB9IH1cbiAgLmJyYW5kLWJhbm5lci13cmFwcGVyIC5icmFuZC1iYW5uZXIge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IDc5JSAyMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNS42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYnJhbmQtYmFubmVyLXdyYXBwZXIgLmJyYW5kLWJhbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDguMTI1cmVtIDAgOC4yNXJlbTsgfSB9XG5cbi5icmFuZC1tZW51LXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gIGJvdHRvbTogMDtcbiAgaGVpZ2h0OiAzLjMxMjVyZW07XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZC1tZW51LXdyYXBwZXIge1xuICAgICAgaGVpZ2h0OiAzLjc1cmVtOyB9IH1cbiAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCBsaSB7XG4gICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICBsaW5lLWhlaWdodDogMy4zMTI1cmVtO1xuICAgICAgbWF4LXdpZHRoOiAzMyU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCBsaSB7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCBsaSBhIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCBsaSBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIGhlaWdodDogMy43NXJlbTsgfSB9XG4gICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCAuc2VsZWN0ZWQsXG4gICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCBhOmhvdmVyIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgLnNlbGVjdGVkOjphZnRlcixcbiAgICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgYTpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgLnNlbGVjdGVkOjphZnRlcixcbiAgICAgICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogNnB4OyB9IH1cblxuLmJyYW5kLXBhZ2UtdGl0bGUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDEuMTI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5hYm91dC1icmFuZC1zZWN0aW9uIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuICAuYWJvdXQtYnJhbmQtc2VjdGlvbiBpZnJhbWUge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmFib3V0LWJyYW5kLXNlY3Rpb24gaWZyYW1lIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvOyB9IH1cbiAgLmFib3V0LWJyYW5kLXNlY3Rpb24gLmJ1dHRvbixcbiAgLmFib3V0LWJyYW5kLXNlY3Rpb24gcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC5hYm91dC1icmFuZC1zZWN0aW9uIC5hYm91dC1icmFuZC10b3Age1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uYnJhbmQtcGFnZS1wcm9kdWN0cyAuZ3JpZC10aWxlIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqLyB9XG5cbi5icmFuZC1wYWdlLXByb2R1Y3RzIC5yZWNvbW1lbmRlZC1iYWdkZSxcbi5icmFuZC1wYWdlLXByb2R1Y3RzIC5wcm9kdWN0LWNvbXBhcmUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0LXVzLW1hcCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0LXVzLW1hcCB7XG4gICAgICBwYWRkaW5nOiAwIDMwcHg7IH0gfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICBwYWRkaW5nOiA0cmVtIDAgM3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgIHBhZGRpbmc6IDguNzVyZW0gMCA4LjI1cmVtOyB9XG4gICAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtOyB9IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIgLmNvbnRhY3R1cy1iYW5uZXItdGV4dC1ibG9jayB7XG4gICAgbWFyZ2luLXRvcDogM3JlbTsgfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIgaDIge1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA2N3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jYXJkcy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdC1ibG9jayB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdC1vcGVuaW5nZGF5cyB7XG4gIGNvbG9yOiAjOTk5O1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0LWRpdmlkZXIge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZThlOTsgfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAge1xuICBtYXJnaW4tdG9wOiA0cmVtOyB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0LWFsaWduLWNvbXBsZW1lbnQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsICFpbXBvcnRhbnQ7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDI0cHg7IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXItd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gIG1pbi1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lci13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgICBtaW4taGVpZ2h0OiAzLjc1cmVtOyB9IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXItd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogNS42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lci13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHtcbiAgICAgICAgcGFkZGluZzogOC4xMjVyZW0gMCA4LjI1cmVtOyB9IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1wYWdlLXRpdGxlIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICBmb250LXNpemU6IDI2cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLXBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIHtcbiAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgbWFyZ2luLXRvcDogMnJlbTsgfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMgLmNhcmRzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMgLmNhcmQtYmxvY2sge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuY2FyZC1pY29uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1yaWdodDogMC4yZW07XG4gICAgc3BlYWs6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3aWR0aDogMWVtOyB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuY2FyZHMtZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuYXNzaXN0YW5jZS1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogI2VkZWRlZDtcbiAgICBtYXJnaW4tdG9wOiAxLjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbTsgfVxuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyAuYXNzaXN0YW5jZS1ibG9jayAuYXNzaXN0YW5jZS10ZXh0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM5OTk7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMgLmFzc2lzdGFuY2UtYmxvY2sgLmFzc2lzdGFuY2UtbnVtYmVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICNmNjA7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuLmNvbnRhY3R1cy1hZGRyZXNzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0dXMtYWRkcmVzcyB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNvbnRhY3R1cy1hZGRyZXNzIC5hZGRyZXNzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuICAuY29udGFjdHVzLWFkZHJlc3MgLmFkZHJlc3MtbG9jYXRpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmNvbnRhY3R1cy1hZGRyZXNzIC5hZGRyZXNzLWRpcmVjdGlvbnMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuY29udGFjdHVzLWFkZHJlc3MgLmFkZHJlc3Mtd29ya2luZ2hvdXJzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAycmVtOyB9XG5cbkBtZWRpYSBwcmludCB7XG4gIGFbaHJlZl06OmFmdGVyIHtcbiAgICBjb250ZW50OiBub25lOyB9XG4gIC5wdF9vcmRlci1jb25maXJtYXRpb24ge1xuICAgIG1hcmdpbjogNW1tO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuaGVhZGVyLWJhbm5lcixcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5oZWFkZXItbmF2LFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLnByaW50LWxpbmssXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAubG9naW4tY3JlYXRlLWFjY291bnQsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAubmVlZC1oZWxwLWNoZWNrb3V0LFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmZvb3Rlci13cmFwcGVyLFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmZvb3Rlci1jb3B5LXdyYXBwZXIsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAudG9wLWJhci1yaWdodCxcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5hZGQtdG8tY2FsZW5kYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmF0cm9vdCxcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jaGVja2VkLWljb24ge1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZjY5MDAgaW5zZXQgIWltcG9ydGFudDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmhlYWRlci1tYWluLW5hdjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmhlYWRlci1tYWluLW5hdiAudG9wLWJhci1sZWZ0IC5oZWFkZXItbG9nby1pbWFnZSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgIHdpZHRoOiAyMCU7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlIGgxIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTE1bW07IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIC5vcmRlci1kYXRlIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLm1haW4tc2VjdGlvbi1oZWFkZXIgLnByb2R1Y3RuYW1lLWNvbHVtbiB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy42NjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuNjY2NjclOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAubWFpbi1zZWN0aW9uLWhlYWRlciAucHJvZHVjdHZhbHVlcy1jb2x1bW4ge1xuICAgICAgICBmbGV4OiAwIDAgNjYuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDY2LjMzMzMzJTsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnByb2R1Y3Qtcm93IC5vcmRlcmRldGFpbHMtcHJvZHVjdG5hbWUsXG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuc2VydmljZS1yb3cgLm9yZGVyZGV0YWlscy1wcm9kdWN0bmFtZSB7XG4gICAgICAgIGZsZXg6IDAgMCAzMy42NjY2NyU7XG4gICAgICAgIG1heC13aWR0aDogMzMuNjY2NjclOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAucHJvZHVjdC1yb3cgLm9yZGVyZGV0YWlscy1wcm9kdWN0dmFsdWVzLFxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlcnZpY2Utcm93IC5vcmRlcmRldGFpbHMtcHJvZHVjdHZhbHVlcyB7XG4gICAgICAgIGZsZXg6IDAgMCA2Ni4zMzMzMyU7XG4gICAgICAgIG1heC13aWR0aDogNjYuMzMzMzMlOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAucHJvZHVjdC1yb3cgLmxpbmUtaXRlbS1wcmljZSAuc2VjdGlvbi1oZWFkZXIsXG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAucHJvZHVjdC1yb3cgLmxpbmUtaXRlbS1xdWFudGl0eSAuc2VjdGlvbi1oZWFkZXIsXG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAucHJvZHVjdC1yb3cgLmxpbmUtaXRlbS10b3RhbCAuc2VjdGlvbi1oZWFkZXIsXG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuc2VydmljZS1yb3cgLmxpbmUtaXRlbS1wcmljZSAuc2VjdGlvbi1oZWFkZXIsXG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuc2VydmljZS1yb3cgLmxpbmUtaXRlbS1xdWFudGl0eSAuc2VjdGlvbi1oZWFkZXIsXG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuc2VydmljZS1yb3cgLmxpbmUtaXRlbS10b3RhbCAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCAwIDVtbTtcbiAgICAgICAgcGFkZGluZzogMm1tIDA7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHggIWltcG9ydGFudDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwICFpbXBvcnRhbnQ7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAuc2VjdGlvbi10aXRsZS5zaG93LWZvci1tZWRpdW0ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAuc21hbGwtMTIge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5wYXltZW50LXZlcmlmaWNhdGlvbiAuc2VjdGlvbi1ib3gge1xuICAgICAgcGFkZGluZy1sZWZ0OiAxNHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAucHJvZHVjdC1zcGVjaWZpYy1tZXNzYWdlcyB7XG4gICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAubmVlZC1jaGFuZ2VzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICNpbnNpZGVfaG9sZGVyLFxuICAubWFpbk5hdkxpdmVDaGF0Q1RBIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnBhZ2UtaWFtLXN0b3JlLWxvY2F0b3IgLnBhYy1jb250YWluZXIge1xuICBtYXJnaW46IDA7IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLnBhZ2UtdGl0bGUge1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfc3RvcmUtbG9jYXRvciAucGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDMwcHggMCAxMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC5wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogNTBweCAwIDIwcHg7IH0gfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAucGFnZS1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnBhZ2UtbGluayB7XG4gICAgICBtYXJnaW46IDAgMCAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgI2ZpbHRlcnMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nOiAxNXB4IDAgMDsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlcy1zZWN0aW9uIHtcbiAgcGFkZGluZzogMS4yNXJlbSAxcmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGVzLXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMS4yNXJlbSAyLjVyZW0gMDsgfSB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGVzLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS1yYWRpby1idXR0b24ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGVzLXRpdGxlIHtcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgbWFyZ2luLWJvdHRvbTogMC44NzVyZW07IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNlOGU4ZTk7XG4gIG1hcmdpbi1yaWdodDogMC45Mzc1cmVtO1xuICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtOyB9IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9wZXJzb25hbC5zdmdcIik7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL2NvbW1lcmNpYWwuc3ZnXCIpOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLmZsZWV0LXZlaGljbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvZmxlZXQuc3ZnXCIpOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwsXG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLmNvbW1lcmNpYWwtdmVoaWNsZS1sYWJlbCxcbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyIHRvcCAyOHB4O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7IH1cbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5wZXJzb25hbC12ZWhpY2xlLWxhYmVsIHNwYW4sXG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsIHNwYW4sXG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAuZmxlZXQtdmVoaWNsZS1sYWJlbCBzcGFuIHtcbiAgICAgIGhlaWdodDogMTAwJTsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlOmhhcyhpbnB1dDpjaGVja2VkKSB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2M3NTMwMDsgfVxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aGFzKGlucHV0OmNoZWNrZWQpIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZTpoYXMoaW5wdXQ6Y2hlY2tlZCkgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9wZXJzb25hbC1zZWxlY3RlZC5zdmdcIik7IH1cbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlOmhhcyhpbnB1dDpjaGVja2VkKSAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvY29tbWVyY2lhbC1zZWxlY3RlZC5zdmdcIik7IH1cbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlOmhhcyhpbnB1dDpjaGVja2VkKSAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL2ZsZWV0LXNlbGVjdGVkLnN2Z1wiKTsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU5O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICMwMDA7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAudmVoaWNsZS10eXBlLWljb24ge1xuICAgIG1heC13aWR0aDogNjBweDtcbiAgICBtaW4taGVpZ2h0OiAzNXB4OyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLnZlaGljbGUtdHlwZS10b29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogMThweDtcbiAgICBtYXJnaW46IDAuMTg3NXJlbTtcbiAgICB3aWR0aDogMThweDsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIGxhYmVsIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXRvcDogMy43NXJlbTsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAubG9jYXRpb24taXRlbS1zdW1tYXJ5IHtcbiAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG5cbi5zdG9yZS1sb2NhdG9yLXBhZ2Utd3JhcHBlciB7XG4gIG1pbi1oZWlnaHQ6IDY4NXB4O1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlLXdyYXBwZXIge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTk7XG4gICAgICBtaW4taGVpZ2h0OiA4MjBweDsgfSB9XG5cbi5zdG9yZS1sb2NhdG9yLXBhZ2Uge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubGlzdC12aWV3IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1saXN0IHtcbiAgICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtbGlzdCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMi41cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWxpc3QgLnBhZ2UtbGluayB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDFyZW0gMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDIuNXJlbSAwOyB9IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwIDAgMCA3cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uLnNtYWxsIHtcbiAgICAgIHBhZGRpbmc6IDExLjVweCAxNXB4OyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc3RhcnRfbG9jYXRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICAgIGJvcmRlci1jb2xvcjogI2YyZjJmMjtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDIuMTg3NXJlbTsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc3RhcnRfbG9jYXRpb246OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnN0YXJ0X2xvY2F0aW9uOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMDAwOyB9XG4gICAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnN0YXJ0X2xvY2F0aW9uOmZvY3VzOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50OyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLWZpZWxkLXdyYXBwZXIge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnNlYXJjaC1maWVsZC13cmFwcGVyIC5pY29uLXNlYXJjaCB7XG4gICAgICAgIGxlZnQ6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLWZpZWxkLXdyYXBwZXIgLmljb24tY2FuY2VsIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtZmllbGQtd3JhcHBlciAuaWNvbi1jYW5jZWw6aG92ZXIge1xuICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy1maWx0ZXJzIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjZhNTgzO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy1maWx0ZXJzIC5idXR0b24uaXMtYWN0aXZlOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlwiOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uLmlzLWFjdGl2ZSAuY2xlYXItZmlsdGVycyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbi5icmVhZGNydW1iLWZpbHRlciB7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMS4yNXJlbSAwLjMxMjVyZW0gMC4zMTI1cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbiAuY2xlYXItYnJlYWRjcnVtYi1maWx0ZXIge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDAuMTI1cmVtO1xuICAgICAgdG9wOiAwLjI1cmVtOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiA1cHg7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtd3JhcHBlciB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDIuNXJlbTsgfSB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmZpbHRlcnMtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmZpbHRlcnMtd3JhcHBlci5pcy1hY3RpdmUgLmZpbHRlcnMtYnV0dG9uOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTgwZVwiOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmZpbHRlcnMtYnV0dG9uLFxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5maWx0ZXJzLXRpdGxlIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmZpbHRlcnMtYnV0dG9uIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5maWx0ZXJzLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC4xODc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDAgMCAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCBwIHtcbiAgICAgICAgcGFkZGluZzogMCAxcmVtIDAgMi41cmVtOyB9IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgLmNsZWFyLWZpbHRlcnMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCAuY2xlYXItZmlsdGVycyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuNXJlbTsgfSB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgLmNsZWFyLWZpbHRlcnMgLmNsZWFyLWZpbHRlcnMtYnV0dG9uIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMC42MjVyZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCAuY2xlYXItZmlsdGVycyAuY2xlYXItZmlsdGVycy1idXR0b246aG92ZXIsIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5jbGVhci1maWx0ZXJzIC5jbGVhci1maWx0ZXJzLWJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCAuY2xlYXItZmlsdGVycyAuY2xlYXItZmlsdGVycy1idXR0b246ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzljOWM5O1xuICAgICAgICBib3JkZXItY29sb3I6ICNjOWM5Yzk7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5maWx0ZXJzLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuZmlsdGVycy1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjc4cHgpO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDAlO1xuICAgIHotaW5kZXg6IDEwMDsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXIge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4OyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbCwgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyOmNoZWNrZWQgKyBsYWJlbCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMCAwIDAgMS41cmVtO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6bm90KDpjaGVja2VkKSArIGxhYmVsOjpiZWZvcmUsIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcjpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgICBjb250ZW50OiBcIlxcZjFkYlwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBjb250ZW50OiBcIlxcZjExMVwiOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgY29sb3I6ICNjOWM5Yzk7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcjpkaXNhYmxlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogI2M5YzljOTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5oaWRlLWZpbHRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlOGU4ZTk7XG4gICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjU2MjVyZW07XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0ge1xuICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDEuMTI1cmVtIGNlbnRlcjtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbS5hY3RpdmUsIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW06aG92ZXIge1xuICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkICNmZjY5MDA7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0uYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDsgfVxuICAgICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtLmFjdGl2ZSAucHItc25pcHBldC1zdGFycy5wci1zbmlwcGV0LXN0YXJzLXBuZyB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbSAucHItc25pcHBldC1yYXRpbmctZGVjaW1hbCB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtIC5zdG9yZS1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0gLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbSBwIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAuc2Nyb2xsLWxvYWRlciB7XG4gICAgICBib3R0b206IC03MHB4O1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHRvcDogYXV0bzsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0taW5uZXIge1xuICAgICAgcGFkZGluZzogMjBweCAwIDE1cHg7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5waG9uZS1udW1iZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtLWRpc3RhbmNlIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb24taXRlbS1uYW1lIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbi1pdGVtLW5hbWUgLm5pY2tuYW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcgLmVycm9yLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IC5lcnJvci1jb250YWluZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcgLmVycm9yLWNvbnRhaW5lciAuZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNDBweCAxNXB4IDE1cHg7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAubG9hZGVyIHtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcgLmdwcy10b2dnbGUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkMGQwZDA7XG4gICAgICBib3R0b206IDE1cHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcgLmdwcy10b2dnbGUgaSB7XG4gICAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgICBmb250LXNpemU6IDI0cHg7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IC5ncHMtdG9nZ2xlLmFjdGl2ZSBpIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgI2ZpbHRlcnMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm1hcC12aWV3IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnZpZXctbWFwLWJ0biB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgLnZpZXctbWFwLWJ0biAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudmlldy1tYXAtYnRuLmlzLWFjdGl2ZSAuYnRuLXRleHQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC52aWV3LW1hcC1idG4uaXMtYWN0aXZlIC5hY3RpdmUtYnRuLXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmxvY2F0aW9ucy1ib3gge1xuICAgIGZsb2F0OiBsZWZ0OyB9IH1cblxuI21hcC1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlM2RmO1xuICBtaW4taGVpZ2h0OiAzMjBweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI21hcC1ib3gge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICB3aWR0aDogNjAlOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubGlzdC12aWV3IHtcbiAgICBwYWRkaW5nLXRvcDogMjc4cHg7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtZmlsdGVyLWJveCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDQwJTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zdGFydF9sb2NhdGlvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yICNmaWx0ZXJzLWNvbnRlbnQtd3JhcC5leHBhbmRlZCB7XG4gICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNzhweCk7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiA0MCU7IH0gfVxuXG4ubG9jYXRpb25zLWJveCB7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4udG9kYXlzLWhvdXJzLXRvZ2dsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLnRvZGF5cy1ob3Vycy10b2dnbGUgLnN0b3JlLWhvdXJzLWV4cGFuZGVkIHtcbiAgICBvcGFjaXR5OiAwO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC50b2RheXMtaG91cnMtdG9nZ2xlIC5zdG9yZS1ob3Vycy1leHBhbmRlZCAuc3RvcmUtc2NoZWR1bGUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnRvZGF5cy1ob3Vycy10b2dnbGUgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAgIC50b2RheXMtaG91cnMtdG9nZ2xlIC5zdG9yZS1ob3Vycy1jb2xsYXBzZWQgKiB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAudG9kYXlzLWhvdXJzLXRvZ2dsZSAuc3RvcmUtaG91cnMtY29sbGFwc2VkOjphZnRlciB7XG4gICAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjE4NzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLnRvZGF5cy1ob3Vycy10b2dnbGUuaXMtYWN0aXZlIC5zdG9yZS1ob3Vycy1jb2xsYXBzZWQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZTgwZVwiOyB9XG4gIC50b2RheXMtaG91cnMtdG9nZ2xlLmlzLWFjdGl2ZSAuc3RvcmUtaG91cnMtZXhwYW5kZWQge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTsgfVxuXG4udG9kYXlzLWhvdXJzLWxhYmVsIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnN0b3JlLWNsb3NlZCB7XG4gIGNvbG9yOiAjYzYxNzUyO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc3RvcmUtb3BlbiB7XG4gIGNvbG9yOiAjMTU3ZjEwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc3RvcmUtaG91cnMtd3JhcHBlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIG1heC1oZWlnaHQ6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluLW91dDsgfVxuICAuc3RvcmUtaG91cnMtd3JhcHBlci5leHBhbmRlZCB7XG4gICAgbWF4LWhlaWdodDogNTAwcHg7IH1cblxuLnN0b3JlLXNjaGVkdWxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZGlzcGxheTogZ3JpZDtcbiAgZ2FwOiAxMHB4O1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gbWlubWF4KDAsIDFmcik7XG4gIGp1c3RpZnktaXRlbXM6IHN0YXJ0OyB9XG4gIC5zdG9yZS1zY2hlZHVsZSAuc3RvcmUtZGF5IHtcbiAgICB3aWR0aDogMTEwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYWxsLXN0b3JlcyAucGx1cy1taW51cy1hY2NvcmRpb24gLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctbGVmdDogMjJweDsgfVxuICAgIC5hbGwtc3RvcmVzIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgbGVmdDogMDsgfVxuICAuYWxsLXN0b3JlcyAuc3VibWVudSB7XG4gICAgY29sdW1uLWNvdW50OiAyO1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tY291bnQ6IDI7IH1cbiAgICAuYWxsLXN0b3JlcyAuc3VibWVudVthcmlhLWhpZGRlbj1mYWxzZV0ge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG5cbi5hbGwtc3RvcmVzIC5jaXR5LW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE1cHg7XG4gIG1hcmdpbjogNXB4IDAgLTJweDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLmFsbC1zdG9yZXMgLnN0b3JlLW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5hbGwtc3RvcmVzIC5tZW51IC5jaXR5LWJveCB7XG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uc3RvcmUtZGV0YWlscy1wYWdlIHtcbiAgcGFkZGluZzogMCAxLjI1cmVtIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAubWFwLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDQwcHggMCAxMDBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5yb3ctc2VwYXJhdG9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1ob3VycyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAucGx1cy1taW51cy1hY2NvcmRpb24gLm1lbnUubmVzdGVkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAubWFwLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDQwcHggMCAxMDBweDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgI21hcCxcbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlICNzdHJlZXR2aWV3IHtcbiAgICAgIG1pbi1oZWlnaHQ6IDI1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnJvdy1zZXBhcmF0b3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWhvdXJzIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAubWVudS5uZXN0ZWQge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSBsaSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSBsaS5zdG9yZS1hZGRyZXNzIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuY2xvc2UtYnV0dG9uIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY2OTAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBoZWlnaHQ6IDMwcHg7XG4gICAgdG9wOiAxNnB4O1xuICAgIHdpZHRoOiAzMHB4OyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLW5hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgcGFkZGluZy10b3A6IDEuMjVyZW07IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1uYW1lIC5uaWNrbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcge1xuICAgIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAubGluayB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN0b3JlLWRldGFpbHMtcGFnZSAubGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtY29udGFjdC1pbmZvIHtcbiAgICBtYXJnaW46IDEuMjVyZW0gMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWNvbnRhY3QtaW5mbyBwIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1ob3VycyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5ib2xkLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5hYm91dC1sb2NhdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuYWJvdXQtbG9jYXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtYW1lbml0aWVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWFtZW5pdGllcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWFtZW5pdGllcyBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAgICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtYW1lbml0aWVzIGk6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5vZmZlcmVkLXNlcnZpY2UtbmFtZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbGlzdC1zdHlsZTogZGlzYzsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgYTo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIiwgc2Fucy1zZXJpZjtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBhOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCAuc3RvcmUtc2VydmljZXMtY29udGVudCB7XG4gICAgbWFyZ2luOiAwIDAgMi41cmVtIDIuNXJlbTsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgLnNlcnZpY2UtdGl0bGUgaDMge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogMCAyLjE4NzVyZW0gMCAxLjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLXNlcnZpY2VzLWxpc3Qge1xuICAgIGNvbHVtbi1jb3VudDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLXNlcnZpY2VzLWxpc3Qge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDM7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLXNlcnZpY2VzLWxpc3Qge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDQ7IH0gfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5tYXAtY29udGFpbmVyIHVsIGxpIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5tYXAtY29udGFpbmVyIHVsIGxpLnVpLXN0YXRlLWFjdGl2ZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAubWFwLWNvbnRhaW5lciB1bCBsaSBhLnVpLXRhYnMtYW5jaG9yIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnRpdGxlLW1haW4tc2VjdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICBwYWRkaW5nOiAwIDAgMCAxOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICAgICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAudGl0bGUtbWFpbi1zZWN0aW9uLnJldmlldy10aXRsZSB7XG4gICAgICBtYXJnaW46IDEuODc1cmVtIDAgMS4yNXJlbTsgfVxuXG4uc3RvcmUtbG9jYXRpb24taW5mbyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RvcmUtbG9jYXRpb24taW5mbyB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7IH0gfVxuICAuc3RvcmUtbG9jYXRpb24taW5mbyAuc3RvcmUtYWRkcmVzcyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1sb2NhdGlvbi1pbmZvIC5zdG9yZS1hZGRyZXNzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgLnN0b3JlLWxvY2F0aW9uLWluZm8gLnN0b3JlLWRpc3RhbmNlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZS13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zdG9yZS1kZXRhaWxzLXNpZGViYXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMyMHB4KTtcbiAgbGVmdDogLTEwMCU7XG4gIG1hcmdpbi10b3A6IDMyMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UtaW4tb3V0O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnN0b3JlLWRldGFpbHMtc2lkZWJhciB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAtNDAlO1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuNHMgZWFzZS1pbi1vdXQsIG9wYWNpdHkgMC40cyBlYXNlLWluLW91dDtcbiAgICAgIHdpZHRoOiA0MCU7IH0gfVxuICAuc3RvcmUtZGV0YWlscy1zaWRlYmFyLm9wZW4ge1xuICAgIGxlZnQ6IDA7XG4gICAgb3BhY2l0eTogMTtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdG9yZS1kZXRhaWxzLXNpZGViYXIub3BlbiB7XG4gICAgICAgIG92ZXJmbG93OiBhdXRvOyB9IH1cblxuLm1hcC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm1hcC1jb250YWluZXIgLmdtbm9wcmludCxcbiAgICAubWFwLWNvbnRhaW5lciAuZ20tY29udHJvbC1hY3RpdmUsXG4gICAgLm1hcC1jb250YWluZXIgLmdtLWl2LWFkZHJlc3MsXG4gICAgLm1hcC1jb250YWluZXIgLmdwcy10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5zdG9yZS1kZXRhaWxzLW1vZGUgLnN3aXRjaC10by1zdHJlZXQtdmlldyxcbi5zdG9yZS1kZXRhaWxzLW1vZGUgLnN3aXRjaC10by1tYXAtdmlldyB7XG4gIG1hcmdpbjogMC4zMTI1cmVtIDAgMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuc3dpdGNoLXRvLXN0cmVldC12aWV3LFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLnN3aXRjaC10by1tYXAtdmlldyB7XG4gICAgICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTsgfSB9XG5cbi5zdG9yZS1kZXRhaWxzLW1vZGUgLnN0cmVldC12aWV3LXdyYXBwZXIge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zdG9yZS1kZXRhaWxzLW1vZGUgLnN0cmVldC12aWV3LXdyYXBwZXIgI3N0cmVldHZpZXcge1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4uc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm90dG9tOiAyNXB4O1xuICBoZWlnaHQ6IDI1MHB4O1xuICBsZWZ0OiAyMHB4O1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMC45Mzc1cmVtIDMuNzVyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDIwMHB4O1xuICB6LWluZGV4OiAyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcge1xuICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNjI1cmVtIDIuMTg3NXJlbTtcbiAgICAgIHdpZHRoOiAxMTBweDsgfSB9XG4gIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLm1hcC12aWV3LFxuICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5zdHJlZXQtdmlldyB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5tYXAtdmlldyAuZ21ub3ByaW50LFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLm1hcC12aWV3IC5nbS1jb250cm9sLWFjdGl2ZSxcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5tYXAtdmlldyAuZ20taXYtYWRkcmVzcyxcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5tYXAtdmlldyAuZ3BzLXRvZ2dsZSxcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5zdHJlZXQtdmlldyAuZ21ub3ByaW50LFxuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgLnN0cmVldC12aWV3IC5nbS1jb250cm9sLWFjdGl2ZSxcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5zdHJlZXQtdmlldyAuZ20taXYtYWRkcmVzcyxcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5zdHJlZXQtdmlldyAuZ3BzLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5zdG9yZS1kZXRhaWxzLW1vZGUgLmlzLXNtYWxsLXZpZXcgI3N0cmVldHZpZXcge1xuICAgIGhlaWdodDogMTAwJTsgfVxuXG4ubWFwLWFjY29yZGlvbiB7XG4gIGJvdHRvbTogMjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5jdGEtYnV0dG9ucyAubGluayB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuLmljb24tYW5nbGUtbGVmdDo6YmVmb3JlIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogYXV0bzsgfVxuXG4uYWNjZXNzaWJpbGl0eS10YWJsZSB7XG4gIGJvcmRlci1zcGFjaW5nOiAxcHg7IH1cbiAgLmFjY2Vzc2liaWxpdHktdGFibGUgdGQge1xuICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNlNmU2ZTY7IH1cbiAgICAuYWNjZXNzaWJpbGl0eS10YWJsZSB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDsgfVxuXG4uYWNjb3VudC1zdWJ0aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hY2NvdW50LXN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtOyB9IH1cbiAgLmFjY291bnQtc3VidGl0bGUgLmxpbmsge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uYWNjb3VudC1zZWN0aW9uLWhlYWRpbmcge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1hcmdpbjogMjVweCAwOyB9XG4gIC5hY2NvdW50LXNlY3Rpb24taGVhZGluZy50b3AtaGVhZGluZyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAuYWNjb3VudC1zZWN0aW9uLWhlYWRpbmcgKyAuYmFjayB7XG4gICAgbWFyZ2luLXRvcDogLTEuM3JlbTsgfVxuXG4ubW9kaWZ5LWFwcG9pbnRtZW50LWJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDMwcHg7XG4gIG1heC13aWR0aDogMjA4cHg7IH1cbiAgLm1vZGlmeS1hcHBvaW50bWVudC1idXR0b24gLm1vZGlmeS1hY2NvdW50IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uYWNjb3VudC1zZWN0aW9uIHtcbiAgcGFkZGluZy1ib3R0b206IDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hY2NvdW50LXNlY3Rpb24ge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctdG9wOiAzcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmFjY291bnQtc2VjdGlvbiAubmF2LXdyYXBwZXIuY29sdW1ucyB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmFjY291bnQtc2VjdGlvbiAuY29udGVudC13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDI1cHggMTVweDsgfSB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLm15LWdhcmFnZS1wYWdlLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1heC13aWR0aDogNzUlOyB9IH1cbiAgLmFjY291bnQtc2VjdGlvbiAuYmFjayB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5iYWNrIGE6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAuYWNjb3VudC1zZWN0aW9uIC5idXR0b24tZ3JvdXAge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5idXR0b24tZ3JvdXAgLmJ1dHRvbi1saW5rIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5idXR0b24tZ3JvdXAgLmJ1dHRvbi1saW5rLFxuICAgIC5hY2NvdW50LXNlY3Rpb24gLmJ1dHRvbi1ncm91cCAuYnV0dG9uIHtcbiAgICAgIGZsZXgtYmFzaXM6IDMwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuYWNjb3VudC1zZWN0aW9uIC5idXR0b24tZ3JvdXAgLmJ1dHRvbi1saW5rLFxuICAgICAgICAuYWNjb3VudC1zZWN0aW9uIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgICAgICAgZmxleC1iYXNpczogMjAlOyB9IH1cbiAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWZvb3RlciAuaGVyZS10by1oZWxwIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWZvb3RlciAuYWN0aW9uLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1mb290ZXIgLm9yZGVyU3VtbWFyeUxpdmVDaGF0LFxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIC5waG9uZS1udW1iZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIC5hY3Rpb24taWNvbiAuY2FyZC1pY29uIHtcbiAgICAgIG1heC1oZWlnaHQ6IDE2cHg7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWZvb3RlciAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAuYWNjb3VudC1zZWN0aW9uIC5tb2RpZnktYXBwb2ludG1lbnQtaW1wb3J0YW50IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgLmFjY291bnQtc2VjdGlvbiAubW9kaWZ5LWFwcG9pbnRtZW50LWluZm8ge1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAwLjFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYWNjb3VudC1zZWN0aW9uIC5tb2RpZnktYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cbiAgLmFjY291bnQtc2VjdGlvbiAubm8tb3JkZXJzLXNlbGVjdG9ycyB7XG4gICAgbWFyZ2luOiAwIC0xMHB4OyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAubm8tb3JkZXJzLXNlbGVjdG9ycyAuc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAubm8tb3JkZXJzLXNlbGVjdG9ycyAubm8tb3JkZXItc2VsZWN0b3ItdGFiIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYWNjb3VudC1zZWN0aW9uIC5uby1vcmRlcnMtc2VsZWN0b3JzIC5uby1vcmRlci1zZWxlY3Rvci10YWI6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZjY5MDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5uby1vcmRlcnMtc2VsZWN0b3JzIC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAxMjBweDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm5vLW9yZGVycy1zZWxlY3RvcnMgLnNlbGVjdG9yLXRhYi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5hY2NvdW50LWJsb2NrLWJvcmRlciB7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyLnBlcnNvbmFsLWluZm8ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hY2NvdW50LWJsb2NrLWJvcmRlci5wZXJzb25hbC1pbmZvIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIub3JkZXItYmxvY2sge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGU4ZTk7IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyIC5hY2NvdW50LWluZm8tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIgLmxhYmVsLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyIGxhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAuYWNjb3VudC1ibG9jay1ib3JkZXIgbGFiZWwgLnRvcC1sYWJlbCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgIC5hY2NvdW50LWJsb2NrLWJvcmRlciBsYWJlbCAudG9wLWxhYmVsIGEge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyIC5hY2NvdW50LWluZm8ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlciAucHMtcmVzdWx0cy1pbWFnZS10aXAge1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlciAuZW1haWwtYWRkcmVzcy1pbmZvIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hY2NvdW50LWJsb2NrLWJvcmRlciAuZW1haWwtYWRkcmVzcy1pbmZvIHtcbiAgICAgICAgd2lkdGg6IDgwJTsgfSB9XG5cbi5hY2NvdW50LWVtYWlsLXRvb2x0aXAgLnRvb2x0aXAtcGhvbmUge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5hY2NvdW50LXBhZ2UgLm1vYmlsZS1hY2NvdW50LWxhYmVsIC5hY2NvdW50LXBhZ2UsXG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5vcmRlci1wYWdlIC5tb2JpbGUtYWNjb3VudC1sYWJlbCAub3JkZXItcGFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4uc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUtaXRlbXMtd3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51LWl0ZW1zLXdyYXBwZXIuZXhwYW5kZWQge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUudmVydGljYWwgPiBsaS5tZW51LWl0ZW0uaGlnaGxpZ2h0ZWQgYSB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUudmVydGljYWwgPiBsaS5tZW51LWl0ZW0ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDIwcHggMCAzMHB4OyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51LnZlcnRpY2FsID4gbGkubWVudS1pdGVtIC50b2dnbGUtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51LnZlcnRpY2FsID4gbGkubWVudS1pdGVtLmhpZ2hsaWdodGVkIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51LnZlcnRpY2FsID4gbGkubWVudS1pdGVtLmhpZ2hsaWdodGVkIC50b2dnbGUtaWNvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51IGxpIGEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBtYXJnaW46IDEwcHggMDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUgbGkgYSB7XG4gICAgICBtYXJnaW46IDE1cHggMDsgfSB9XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudSBsaSBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmFjY291bnQtcGFnZSAubWVudS1pdGVtIHtcbiAgICBvcmRlcjogMjsgfVxuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5hY2NvdW50LXBhZ2UgLm1lbnUtaXRlbS5hY2NvdW50LXBhZ2Uge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLm9yZGVyLXBhZ2UgLm1lbnUtaXRlbSB7XG4gICAgb3JkZXI6IDI7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24ub3JkZXItcGFnZSAubWVudS1pdGVtLm9yZGVyLXBhZ2Uge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmNhcmZheC1oaXN0b3J5LXBhZ2UgLm1lbnUtaXRlbSB7XG4gICAgb3JkZXI6IDI7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uY2FyZmF4LWhpc3RvcnktcGFnZSAubWVudS1pdGVtLmNhcmZheC1oaXN0b3J5LXBhZ2Uge1xuICAgICAgb3JkZXI6IDE7IH0gfVxuXG4ubW9iaWxlLWFjY291bnQtbWVudSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbTsgfVxuICAubW9iaWxlLWFjY291bnQtbWVudSBsaSBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMCAwLjYyNXJlbTsgfVxuICAubW9iaWxlLWFjY291bnQtbWVudTpob3ZlcixcbiAgLm1vYmlsZS1hY2NvdW50LW1lbnUgLmFjdGl2ZS1zdWJtZW51IHtcbiAgICBib3JkZXItY29sb3I6ICMwMDA7IH1cblxuLm1lbnUubW9iaWxlLWFjY291bnQtbGlzdCB7XG4gIG1hcmdpbjogMC43NXJlbSAwLjMxMjVyZW0gMDsgfVxuXG4ubWVudSBsaSAubW9iaWxlLWFjY291bnQtbGFiZWwge1xuICBwYWRkaW5nOiAwOyB9XG4gIC5tZW51IGxpIC5tb2JpbGUtYWNjb3VudC1sYWJlbCBzcGFuIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5tZW51IGxpIC5tb2JpbGUtYWNjb3VudC1sYWJlbDo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGNvbnRlbnQ6IFwiXFxmMGRjXCI7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICByaWdodDogLTJweDtcbiAgICB0b3A6IDAuMjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5idXR0b24tZ3JvdXAubm8tYm90LW1hcmdpbiB7XG4gICAgbWFyZ2luOiAwOyB9IH1cblxuLmFjY291bnQtYmxvY2stZ3JleSB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAwLjFyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hY2NvdW50LWJsb2NrLWdyZXkge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMC41cmVtOyB9IH1cbiAgLmFjY291bnQtYmxvY2stZ3JleSAub3BlbkxpdmVDaGF0QnV0dG9uIGIge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmFjY291bnQtYmxvY2stZ3JleSBiIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfSB9XG4gIC5hY2NvdW50LWJsb2NrLWdyZXkgaDUge1xuICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5hY2NvdW50LWJsb2NrLWdyZXkgaDUge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYWNjb3VudC1ibG9jay1ncmV5IGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH0gfVxuICAuYWNjb3VudC1ibG9jay1ncmV5IHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hY2NvdW50LWJsb2NrLWdyZXkgcCBhIHtcbiAgICAgICAgbWFyZ2luOiAxLjc1cmVtIDAgMC4yNXJlbTsgfSB9XG4gICAgLmFjY291bnQtYmxvY2stZ3JleSBwIGE6bm90KC5waG9uZS1saW5rKSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5hY2NvdW50LWJsb2NrLWdyZXkgcCBhOm5vdCgucGhvbmUtbGluaykge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmJvdHRvbS1zcGFjZS1tb2JpbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuXG4uYnV0dG9uLWxpbmsge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtO1xuICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5idXR0b24tbGluayB7XG4gICAgICBtYXJnaW46IDAgMCAwIDEuMjVyZW07XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4ucHRfYWNjb3VudCAucGhvbmUtbGluayxcbi5wdF9vcmRlciAucGhvbmUtbGluayB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X2FjY291bnQgLnBob25lLWxpbmssXG4gICAgLnB0X29yZGVyIC5waG9uZS1saW5rIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5wdF9hY2NvdW50IC5waG9uZS1saW5rOmhvdmVyLFxuICAgICAgLnB0X29yZGVyIC5waG9uZS1saW5rOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH0gfVxuXG4ub3JkZXJkZXRhaWxzIC5vcmRlci1zaGlwbWVudHMgLnByb2R1Y3QtYnJhbmQsXG4ub3JkZXItaGlzdG9yeS1saXN0IC5wcm9kdWN0LWJyYW5kIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5vcmRlcmRldGFpbHMgLm9yZGVyLXNoaXBtZW50cyAucHJvZHVjdC1uYW1lLFxuLm9yZGVyLWhpc3RvcnktbGlzdCAucHJvZHVjdC1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm9yZGVyZGV0YWlscyAub3JkZXItc2hpcG1lbnRzIC5wcm9kdWN0LW5hbWUsXG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4ub3JkZXItaGlzdG9yeS1saXN0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAubGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLmxhYmVsIC5mYSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5sYWJlbCAuZmEtY2FsZW5kYXItbyB7XG4gICAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5hY2NvcmRpb24tb3JkZXItaGVhZGVyIHtcbiAgICAgIG1hcmdpbjogMTVweCAwOyB9IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyB7XG4gICAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLnJvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLmNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci10b3RhbHMge1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNjY2M7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLXRvdGFscyAub3JkZXItdmFsdWUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci10b3RhbHMgLnRvdGFsLXZhbHVlLXJvdyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXJvdyxcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLXRvdGFscyAucm93IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4OyB9IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5vcmRlci1pbmZvLXJvdyB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLm9yZGVyLWluZm8tcm93IC5yb3cge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5saW5lLWl0ZW1zIHtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLmxpbmUtaXRlbXMgLnByb2R1Y3Qtcm93IHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAubGluZS1pdGVtcyAub3JkZXJkZXRhaWxzLXByb2R1Y3R2YWx1ZXMsXG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5saW5lLWl0ZW1zIC5vcmRlcmRldGFpbHMtcHJvZHVjdG5hbWUge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5saW5lLWl0ZW1zIC5yb3cge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDEwcHggMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyxcbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci10b3RhbHMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAudmFsdWUtY29sdW1uIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIGJ1dHRvbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjYyNXJlbTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIGJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5sYWJlbCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC52YWx1ZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAudmFsdWUucGFpZC1vbmxpbmUge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAub3JkZXItaGVhZGVyLWluZm8ge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAub3JkZXItaGVhZGVyLWluZm8gLnJvdyB7XG4gICAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5vcmRlci1oZWFkZXItaW5mbyAuY29sdW1ucyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAub3JkZXItbG9jYXRpb24ge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAub3JkZXItaW5mb3JtYXRpb24tY2xpZW50IC52YWx1ZSxcbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAub3JkZXItbG9jYXRpb24gLnZhbHVlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAuY2FuY2VsbGVkLW9yZGVyLFxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5tb2RpZmllZC1vcmRlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaGVhZGVyIC5tb2RpZmllZC1vcmRlciB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAuY2FuY2VsbGVkLW9yZGVyIHtcbiAgICAgIGNvbG9yOiAjZjAwOyB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE1cHg7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRib2R5IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0Ym9keSB0ciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0aCxcbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRkIHtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgcGFkZGluZzogMCAwIDEuMzc1cmVtOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRoOmZpcnN0LWNoaWxkLFxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHdpZHRoOiA1NiU7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGg6bGFzdC1jaGlsZCxcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogMTAlOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0aCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSAub2xkLXByaWNlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDsgfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAwIDIwcHg7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGU6OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAjODQ4NDg0O1xuICAgICAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgdG9wOiA4cHg7XG4gICAgICB3aWR0aDogMWVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZTo6YWZ0ZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwJSk7IH0gfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSAub3JkZXItdG90YWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSAub3JkZXItdG90YWwge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSAub3JkZXItbnVtYmVyLXN0YXR1cyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUgLm9yZGVyLW51bWJlci1zdGF0dXMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci12ZWhpY2xlLW5hbWUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgMTVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUgLm9yZGVyLXZlaGljbGUtbmFtZSB7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwIDA7IH0gfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci12ZWhpY2xlLW5hbWUudW5rbm93biB7XG4gICAgICAgIGNvbG9yOiAjOTc5Nzk3OyB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgIHBhZGRpbmc6IDE2cHggMTBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjNweCAwOyB9IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLmNhci1hcHBvaW50bWVudC1pbmZvIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5jYXItYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5sb2FkLW1vcmUtY29udGFpbmVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLnByb2R1Y3R2YWx1ZXMtY29sdW1uIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5wcm9kdWN0dmFsdWVzLWNvbHVtbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAucHJvZHVjdHZhbHVlcy1jb2x1bW4gLm1vYmlsZS10aXRsZXMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiZ290aGFtLWJvbGRcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4ub3JkZXJkZXRhaWxzIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDFyZW07XG4gIG1hcmdpbjogMCAwIDI1cHg7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyZGV0YWlscyAub3JkZXItaW5mb3JtYXRpb24ge1xuICAgICAgcGFkZGluZy10b3A6IDEuNjI1cmVtOyB9IH1cbiAgLm9yZGVyZGV0YWlscyAub3JkZXItaW5mb3JtYXRpb24gLm9yZGVyLW51bWJlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlcmRldGFpbHMgLm9yZGVyLWluZm9ybWF0aW9uIC5vcmRlci1udW1iZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cbiAgICAub3JkZXJkZXRhaWxzIC5vcmRlci1pbmZvcm1hdGlvbiAub3JkZXItbnVtYmVyIC52YWx1ZSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuXG4ub3JkZXJkZXRhaWxzIC5hY2NvdW50LWJsb2NrLWdyZXkgLmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4ub3JkZXJkZXRhaWxzIC5sYWJlbCB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxZW07XG4gIHBhZGRpbmc6IDA7IH1cblxuLm9yZGVyZGV0YWlscyAuYWNjb3VudC1ibG9jay1ib3JkZXIge1xuICBib3JkZXItd2lkdGg6IDJweDtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlcmRldGFpbHMgLmFjY291bnQtYmxvY2stYm9yZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTsgfSB9XG5cbi5vcmRlcmRldGFpbHMgLmFjY291bnQtc2VjdGlvbi1oZWFkaW5nIHtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLm9yZGVyZGV0YWlscyAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHAsXG4ub3JkZXJkZXRhaWxzIC5hY2NvdW50LWluZm8gcCxcbi5vcmRlcmRldGFpbHMgLmFwcG9pbnRtZW50LWluZm8gcCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMDsgfVxuICAub3JkZXJkZXRhaWxzIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gcC5lbWFpbCxcbiAgLm9yZGVyZGV0YWlscyAuYWNjb3VudC1pbmZvIHAuZW1haWwsXG4gIC5vcmRlcmRldGFpbHMgLmFwcG9pbnRtZW50LWluZm8gcC5lbWFpbCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3JkZXJkZXRhaWxzIC5hcHBvaW50bWVudC10aW1lIHtcbiAgY29sb3I6ICM4MDgyODU7IH1cblxuLm9yZGVyZGV0YWlscyAubGluZS1zZWN0aW9ucy1zZXBhcmF0b3I6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjM7IH1cblxuLmFjY291bnQtaW5mby1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLmFjY291bnQtaW5mby1tZXNzYWdlIHtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAwOyB9XG4gIC5vcmRlci1wYXltZW50LXN1bW1hcnk6OmJlZm9yZSwgLm9yZGVyLXBheW1lbnQtc3VtbWFyeTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAub3JkZXItcGF5bWVudC1zdW1tYXJ5OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtIDA7IH0gfVxuICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci1zdW1tYXJ5LXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDAgMCAxLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci1zdW1tYXJ5LXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci1kZXRhaWwtc3VtbWFyeSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgd2lkdGg6IDU4LjMzMzMzJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci1kZXRhaWwtc3VtbWFyeSB7XG4gICAgICB3aWR0aDogNDEuNjY2NjclOyB9IH1cbiAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAudmVoaWNsZS1pbmZvIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgLm9yZGVyLXRvdGFsIHRkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwOyB9IH1cbiAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyLmJvbGQge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5vcmRlci10b3RhbCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtdG90YWwtcGFpZC5ib2xkLCAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXN0b3JlLXRvdGFsLmJvbGQge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5jdXJyZW5jeS1jb2RlIHtcbiAgICBmb250LXNpemU6IDAuNTYyNXJlbTsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdyAuYWNjb3VudC1pbmZvLXdyYXBwZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlOTtcbiAgcGFkZGluZzogMTVweCAwOyB9XG4gIC5hY2NvdW50LWluZm8tcm93IC5hY2NvdW50LWluZm8td3JhcHBlciBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmFjY291bnQtaW5mby1yb3cuZXhwYW5kZWQgLmFjY291bnQtaW5mby13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdy5leHBhbmRlZCAuZWRpdC1mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY291bnQtaW5mby1yb3cgLmVkaXQtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLmFjY291bnQtaW5mby1yb3cgLmVkaXQtZm9ybSAucmVxdWlyZWQtaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5hY2NvdW50LWluZm8tcm93IC5wYXNzd29yZC1kb3RzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogLTJweDsgfVxuICAuYWNjb3VudC1pbmZvLXJvdyAucGFzc3dvcmQtZG90cyAuaWNvbi1jaXJjbGU6OmJlZm9yZSB7XG4gICAgY29sb3I6ICM0MjQyNDI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEycHg7IH1cblxuLmFjY291bnQtaW5mby1yb3cgLnJlc2V0LXBhc3N3b3JkLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdyAuZWRpdC10b2dnbGUge1xuICBjb2xvcjogI2M3NTMwMDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5hY2NvdW50LWluZm8tcm93IC5pbnQtcGhvbmUtdGVzdGluZyB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi52ZXJpZmljYXRpb24tbW9kYWwge1xuICBwYWRkaW5nOiAyNXB4O1xuICB3aWR0aDogNTAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnZlcmlmaWNhdGlvbi1tb2RhbCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDIwcHg7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB0b3A6IDIwcHg7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5pY29uLXZlcmlmeS1tZXRob2Q6OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLW1ldGhvZCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHBhZGRpbmc6IDNweCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZmljYXRpb24tdGV4dC1tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLmN1c3RvbWVyLWNvbnRhY3Qge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLWFjdGlvbnMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZmljYXRpb24tYWN0aW9ucy5kaXNhYmxlLXJlc2VuZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmeS1jb2RlLWJ0biB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMThweDsgfVxuICAgIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmeS1jb2RlLWJ0bltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODA4Mjg1OyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnJlc2VuZC1jb2RlIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi1jb2RlLXNlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLWVycm9yIHtcbiAgICBjb2xvcjogI2YwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLmljb24tcmVzZW5kOjpiZWZvcmUge1xuICAgIG1hcmdpbjogMDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZnktY29kZS1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUtZm9ybSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUtZm9ybSAuc2VuZC12ZXJpZmljYXRpb24tY29kZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMTEwcHg7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0gLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUge1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUtZm9ybSAuc2VuZC12ZXJpZmljYXRpb24tY29kZVtkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U1ZTVlNTsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1uYW1lIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIC5wcm9kdWN0LWJyYW5kLFxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAucHJvZHVjdC1uYW1lLFxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAubGluZS1pdGVtLXByaWNlLFxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAuaXRlbS1xdWFudGl0eSxcbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLnByaWNlLXRvdGFsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLmN1cnJlbmN5LWNvZGUge1xuICBmb250LXNpemU6IDAuNTYyNXJlbTsgfVxuXG4ubG9naW4tbW9kYWwge1xuICBoZWlnaHQ6IDE2MHB4O1xuICBtaW4taGVpZ2h0OiAxNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA0MDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxvZ2luLW1vZGFsIHtcbiAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICBtaW4taGVpZ2h0OiAxNzVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5sb2dpbi1tb2RhbCB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTsgfSB9XG4gIC5sb2dpbi1tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubG9naW4tbW9kYWwgLmxvZ2luLW1vZGFsLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5sb2dpbi1tb2RhbCBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubG9naW4tbW9kYWwgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gIC5sb2dpbi1tb2RhbCBhIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmxvZ2luLW1vZGFsIC5uby10aGFua3Mge1xuICAgIHBhZGRpbmc6IDhweDsgfVxuICAgIC5sb2dpbi1tb2RhbCAubm8tdGhhbmtzIGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAubG9naW4tbW9kYWwgLm5vLXRoYW5rcyA6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmxvZ2luLW1vZGFsIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgIHBhZGRpbmc6IDhweCA2MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucHRfbXlnYXJhZ2UgLmNvbHVtbnMubW9iaWxlLXBhZGRpbmctcmlnaHQtNnB4IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH1cbiAgLnB0X215Z2FyYWdlIC5jb2x1bW5zLm1vYmlsZS1wYWRkaW5nLWxlZnQtNnB4IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDsgfSB9XG5cbi5wdF9teWdhcmFnZSAud2lkdGgtNTAtcGVyY2VudCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnB0X215Z2FyYWdlIC5kb3R0ZWQtYm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMy41cHggZG90dGVkICNmZjY5MDA7IH1cblxuLnB0X215Z2FyYWdlIC5hcnJvdyB7XG4gIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24sXG4ucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbixcbiAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIHAsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIC5jYXItYWRkLW5ldyxcbiAgICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24gYnV0dG9uLFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHAsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUgLmNhci1hZGQtbmV3LFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIC5jYXItYWRkLW5ldyxcbiAgICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSAuY2FyLWFkZC1uZXcge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9IH1cbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiBwLFxuICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMS42cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIHAsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHAge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDMwJTsgfSB9XG5cbi5wdF9teWdhcmFnZSAuc3VidGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLnN1YnRpdGxlLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItYWRkLW5ldyBidXR0b24uY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTFweCAxNXB4OyB9XG5cbi5wdF9teWdhcmFnZSAuY2Fycy1jb250YWluZXIsXG4ucHRfbXlnYXJhZ2UgLmNhcnMtY29udGFpbmVyLWFyY2hpdmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2Fycy1jb250YWluZXIsXG4gICAgLnB0X215Z2FyYWdlIC5jYXJzLWNvbnRhaW5lci1hcmNoaXZlZCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMzBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2FyLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnB0X215Z2FyYWdlIC5jYXItY29udGFpbmVyIC5jYi1jdGEge1xuICAgIG1hcmdpbjogNXB4IDA7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItdmlzdWFscyB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1pbmZvcm1hdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5jYXItaW5mb3JtYXRpb246OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxNHB4IDE0cHggMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IC0yMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHotaW5kZXg6IDA7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1pbWFnZSB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNzBweDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5jYXItaW1hZ2Uge1xuICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgbWluLWhlaWdodDogOTBweDsgfSB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWltYWdlIC5sb2FkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLW5hbWUsXG4ucHRfbXlnYXJhZ2UgLmNhci12aW4sXG4ucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1hZGQsXG4ucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1lZGl0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTQuNHB4O1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5jYXItbmFtZSxcbiAgICAucHRfbXlnYXJhZ2UgLmNhci12aW4sXG4gICAgLnB0X215Z2FyYWdlIC5jYXItcGxhdGUtYWRkLFxuICAgIC5wdF9teWdhcmFnZSAuY2FyLXBsYXRlLWVkaXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLXBsYXRlLWVkaXQsXG4ucHRfbXlnYXJhZ2UgLmNhci1uYW1lLFxuLnB0X215Z2FyYWdlIC5jYXItdmluIHtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1lZGl0IHNwYW4sXG4gIC5wdF9teWdhcmFnZSAuY2FyLW5hbWUgc3BhbixcbiAgLnB0X215Z2FyYWdlIC5jYXItdmluIHNwYW4ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTYuOHB4OyB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLW5hbWUgaSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLXRpcmUtd2hlZWwgPiBkaXYge1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgbWFyZ2luLXRvcDogMTRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLmNhci10aXJlLXdoZWVsID4gZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci10aXJlLXdoZWVsLFxuLnB0X215Z2FyYWdlIC5jYXItaW5mby1ib3R0b20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1pbmZvLWJvdHRvbSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICByb3ctZ2FwOiAxN3B4OyB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWluZm8tYm90dG9tIGEge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfbXlnYXJhZ2UgLmNhci1pbmZvLWJvdHRvbSBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1uby1vcmRlci1oaXN0b3J5IHtcbiAgY29sb3I6ICM4MDgyODU7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItYXBwb2ludG1lbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNmZjY5MDA7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIHBhZGRpbmc6IDE1cHggMjBweDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1hcHBvaW50bWVudC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItYXBwb2ludG1lbnQtaW5mbyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cblxuLnB0X215Z2FyYWdlIC5hcHBvaW50bWVudC1tYXAsXG4ucHRfbXlnYXJhZ2UgLm1vZGlmeS1hcHBvaW50bWVudCB7XG4gIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wdF9teWdhcmFnZSAuYXBwb2ludG1lbnQtbWFwIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnB0X215Z2FyYWdlIC5tb2RpZnktYXBwb2ludG1lbnQge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb25zIHtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIG1hcmdpbi10b3A6IDZweDsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9ucyBhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb25zIGEge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4OyB9IH1cbiAgICAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9ucyBhOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb24sXG4ucHRfbXlnYXJhZ2UgLnNlcnZpY2VzLWN0YSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb24uY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssIC5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb24uY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlLFxuICAucHRfbXlnYXJhZ2UgLnNlcnZpY2VzLWN0YS5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjayxcbiAgLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGEuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICBwYWRkaW5nOiAxMXB4IDA7IH1cblxuLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5wdF9teWdhcmFnZSAuc2VydmljZXMtY3RhOmhvdmVyLCAucHRfbXlnYXJhZ2UgLnNlcnZpY2VzLWN0YTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2Y2YTU4MzsgfVxuXG4ucHRfbXlnYXJhZ2UgLmN1c3RvbS1jbGFzcyAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnB0X215Z2FyYWdlIC5oaWdobGlnaHQtZXhpc3RpbmctY2FyIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuNXMgbGluZWFyOyB9XG4gIC5wdF9teWdhcmFnZSAuaGlnaGxpZ2h0LWV4aXN0aW5nLWNhci50cmFuc2l0aW9uLXRvLWVuZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XG5cbi5wdF9teWdhcmFnZSAudG9nZ2xlLWFyY2hpdmVkLWNhcnMge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5wdF9teWdhcmFnZSAudG9nZ2xlLWFyY2hpdmVkLWNhcnMgaSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLnB0X215Z2FyYWdlIC5hcmNoaXZlZC1jYXJzIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLmFyY2hpdmVkLWNhcnMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpOyB9IH1cblxuLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCB7XG4gIHRvcDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiA5NSU7IH0gfVxuICAuc2VydmljZS1hY3Rpb25zLW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCAuY2FyLWJ1eS1hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCAuY2FyLWJ1eS1hY3Rpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2VydmljZS1hY3Rpb25zLW1vZGFsIC5tb2RhbC1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRvcDogMTVweDsgfVxuICAgIC5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwgLm1vZGFsLWNsb3NlIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi50ZXh0LWFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmZsZXgtb3JkZXItMSB7XG4gIG9yZGVyOiAtMTsgfVxuXG4uZ2FyYWdlLW1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG5bZm9ybS1jdHJsXSAudmluLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2Zvcm0tY3RybF1bZm9ybS1jdHJsPVwiY2FyZmF4XCJdIC52aW4tY29udGFpbmVyLCBbZm9ybS1jdHJsXVtmb3JtLWN0cmw9XCJlZGl0VmVoaWNsZURhdGFcIl0gLnZpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2FyYWdlLW1vZGFsIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmdhcmFnZS1tb2RhbCN2ZXJpZnktdmVoaWNsZS1tb2RhbCAuZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuICAuZ2FyYWdlLW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAubW9kYWwtY2xvc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDE1cHg7IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC5tb2RhbC1jbG9zZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuZ2FyYWdlLW1vZGFsIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAuZ2FyYWdlLW1vZGFsIC52ZWhpY2xlcy1zZWN0aW9uIHtcbiAgICBnYXA6IDIwcHg7IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC52ZWhpY2xlcy1zZWN0aW9uIC5jYXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyAuZmllbGQtY29udGFpbmVyOm50aC1jaGlsZChldmVuKSwgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgbWluLXdpZHRoOiA1MCU7IH1cbiAgICAgIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyAuZmllbGQtY29udGFpbmVyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgICAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gICAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lciAuZmllbGQtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDsgfVxuICAuZ2FyYWdlLW1vZGFsIC5idXR0b25zLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwLmFsaWduLXRvLXJpZ2h0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC5idXR0b25zLXdyYXAgYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwIGJ1dHRvbiB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvOyB9IH1cbiAgICAgIC5nYXJhZ2UtbW9kYWwgLmJ1dHRvbnMtd3JhcCBidXR0b246ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICAgICAgICBib3JkZXItY29sb3I6ICNlNWU1ZTU7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC5idXR0b25zLXdyYXAuZml0LXdpZHRoIGJ1dHRvbiB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4OyB9XG4gIC5nYXJhZ2UtbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmdhcmFnZS1tb2RhbCBwIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLmdhcmFnZS1tb2RhbCBhIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmdhcmFnZS1tb2RhbCBpbnB1dCB7XG4gICAgbWFyZ2luOiA2cHggMCAwO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAuZ2FyYWdlLW1vZGFsIC5wbGF0ZS1uby1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssXG4gIC5nYXJhZ2UtbW9kYWwgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgcGFkZGluZzogOHB4IDYwcHg7IH1cblxuLnZlaGljbGUtZXhpc3RzLW1vZGFsIHtcbiAgbWF4LXdpZHRoOiA0MDBweDsgfVxuXG4ucGxhdGUtbnVtYmVyLW1vZGFsIHtcbiAgbWluLWhlaWdodDogMTAwcHg7IH1cblxuLnBsYXRlLW51bWJlci1tb2RhbCxcbi5jYXItZWRpdC1tb2RhbCxcbi52ZWhpY2xlLWluZm8tbW9kYWwsXG4jdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBwYWRkaW5nOiAzMHB4OyB9XG4gIC5wbGF0ZS1udW1iZXItbW9kYWwgLmdhcmFnZS12ZWhpY2xlLW5hbWUsXG4gIC5jYXItZWRpdC1tb2RhbCAuZ2FyYWdlLXZlaGljbGUtbmFtZSxcbiAgLnZlaGljbGUtaW5mby1tb2RhbCAuZ2FyYWdlLXZlaGljbGUtbmFtZSxcbiAgI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIC5nYXJhZ2UtdmVoaWNsZS1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHBhZGRpbmc6IDAgMzZweCAyMHB4IDA7IH1cblxuI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmNhci1lZGl0LW1vZGFsIHAge1xuICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuXG4uYWRkLXBsYXRlLW5vIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTQuNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucHRfb3JkZXIgLmQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnB0X29yZGVyIC5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucHRfb3JkZXIgLmZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4ucHRfb3JkZXIgLmZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4ucHRfb3JkZXIgLnN3aXRjaGVyLWNvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9vcmRlciAuc3dpdGNoZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG4ucHRfb3JkZXIgLnN3aXRjaGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfb3JkZXIgLnN3aXRjaGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGVuZDsgfSB9XG5cbi5wdF9vcmRlciAuc3dpdGNoZXItaW5wdXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMXJlbTtcbiAgei1pbmRleDogLTE7IH1cbiAgLnB0X29yZGVyIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMDsgfVxuICAucHRfb3JkZXIgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItbGFiZWw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgIHJpZ2h0OiAzcHg7IH1cblxuLnB0X29yZGVyIC5zd2l0Y2hlci1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5wdF9vcmRlciAuc3dpdGNoZXItbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWRiNWJkO1xuICAgIGJvcmRlci1yYWRpdXM6IDEyLjVweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjRweDtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMzlweDsgfVxuICAucHRfb3JkZXIgLnN3aXRjaGVyLWxhYmVsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxOHB4O1xuICAgIHRvcDogM3B4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0LC13ZWJraXQtdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxOHB4OyB9XG5cbi5wdF9vcmRlciAub3JkZXItaGlzdG9yeS1maWx0ZXItYm94IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnB0X29yZGVyIC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAycHggc29saWQgI2U4ZThlOTtcbiAgbWFyZ2luOiAwO1xuICBtaW4taGVpZ2h0OiAxMjJweDtcbiAgcGFkZGluZzogMTRweCAxMHB4IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9vcmRlciAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMjVweDsgfSB9XG4gIC5wdF9vcmRlciAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbTo6YmVmb3JlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU5O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDE5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDE5cHg7XG4gICAgei1pbmRleDogMTsgfVxuXG4ucHRfb3JkZXIgLm9yZGVyLWNoZWNrYm94IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5wdF9vcmRlciAub3JkZXItY2hlY2tib3g6Y2hlY2tlZCB+IC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY2OTAwOyB9XG4gICAgLnB0X29yZGVyIC5vcmRlci1jaGVja2JveDpjaGVja2VkIH4gLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW06OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLnB0X29yZGVyIC5vcmRlci1jaGVja2JveDpjaGVja2VkIH4gLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW06OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2ZmZjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNjAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICB0b3A6IDExcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgei1pbmRleDogMTsgfVxuXG4ucHRfb3JkZXIgLmNhci1pbWFnZSB7XG4gIG1heC13aWR0aDogMTQ5cHg7IH1cblxuLnB0X29yZGVyIC5jYXItbmFtZSB7XG4gIHBhZGRpbmc6IDZweCAwIDRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wdF9vcmRlciAuY2FyLXBsYXRlLFxuLnB0X29yZGVyIC5jYXItbmFtZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNjYXJmYXgtaGlzdG9yeS1tb2RhbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWF4LXdpZHRoOiA4MTZweDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgdG9wOiAxNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwge1xuICAgICAgcG9zaXRpb246IHN0aWNreTsgfSB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogNzh2aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogNzh2aDtcbiAgICAgICAgLyogVXNlIHZoIGFzIGEgZmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQ3VzdG9tIFByb3BlcnRpZXMgKi9cbiAgICAgICAgbWF4LWhlaWdodDogY2FsYyh2YXIoZHluYW1pY1NjcmVlblNpemUsIDF2aCkgKiAxMDApO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5tb2RhbC10ZXh0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAuY2FyZmF4LWhpc3RvcnktaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmNhcmZheC1oaXN0b3J5LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7IH0gfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IHtcbiAgICAgIGNvbHVtbi1nYXA6IDEuMjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5jb2x1bW4sICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubGljZW5zZS1wbGF0ZS13cmFwcGVyIC5saWNlbnNlLXBsYXRlLWNvbnRlbnQgLmNvbHVtbnMge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5saWNlbnNlLXBsYXRlLWlubmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5saWNlbnNlLXBsYXRlLWlubmVyIC5wbGF0ZS1udW1iZXItaW5wdXQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5saWNlbnNlLXBsYXRlLWlubmVyIC5lcnJvcjpub3QoLmxpY2Vuc2VQbGF0ZSkgPiAqIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIzMnB4OyB9XG4gICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5mb3JtLXJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAuZXJyb3ItdmluIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7XG4gICAgICBjb2xvcjogI2YwMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwYWRkaW5nOiA2cHg7IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5pbnB1dC1jdXN0b20ge1xuICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAub3ItYnJlYWsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5vci1icmVhazo6YmVmb3JlLFxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm9yLWJyZWFrOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjI7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBmbGV4OiAxIDE7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAub3ItYnJlYWs6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAub3ItYnJlYWs6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLnZpbi13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDsgfVxuICAgICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAudmluLXdyYXBwZXIgLnZpbi1oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLnZpbi13cmFwcGVyIC52aW4tbnVtYmVyLWlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLnZlaGljbGUtaW5mb3JtYXRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4jY2FyZmF4LWRlbGV0ZS1tb2RhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1heC13aWR0aDogMzEuMjVyZW07XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNjYXJmYXgtZGVsZXRlLW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtOyB9XG4gICNjYXJmYXgtZGVsZXRlLW1vZGFsIC5tb2RhbC10ZXh0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gICNjYXJmYXgtZGVsZXRlLW1vZGFsIC5idXR0b25zLXdyYXAge1xuICAgIGNvbHVtbi1nYXA6IDYwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgICNjYXJmYXgtZGVsZXRlLW1vZGFsIC5idXR0b25zLXdyYXAgYnV0dG9uIHtcbiAgICAgIGZsZXg6IDUwJTsgfVxuXG4jY2FyZmF4LWhpc3RvcnktbW9kYWwgLmNhcmZheC1tb2RhbC1jbG9zZSxcbiNjYXJmYXgtZGVsZXRlLW1vZGFsIC5jYXJmYXgtbW9kYWwtY2xvc2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICB6LWluZGV4OiA1OyB9XG5cbiNjYXJmYXgtaGlzdG9yeS1tb2RhbCBidXR0b24sXG4jY2FyZmF4LWRlbGV0ZS1tb2RhbCBidXR0b24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbiNjYXJmYXgtZGVsZXRlLWZvcm0sXG4jdmVoaWNsZS1maWVsZHNldCB7XG4gIG1pbi1oZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZ3JleS1saW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjI7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIG1hcmdpbjogMTJweCAwOyB9XG5cbi5maW5kLXZpbi13cmFwcGVyIC5pdGVtLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5maW5kLXZpbi13cmFwcGVyIC5pdGVtLWNvbnRlbnQgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG4ubW9kYWwtYnV0dG9ucyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAubW9kYWwtYnV0dG9ucyAuYnV0dG9uIHtcbiAgICB3aWR0aDogMjAwcHg7IH1cblxuLnNlcnZpY2UtdW5hdmFpbGFibGUtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIG1hcmdpbjogOHB4IDAgMjRweDtcbiAgcGFkZGluZzogMTJweCAxNnB4OyB9XG4gIC5zZXJ2aWNlLXVuYXZhaWxhYmxlLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfVxuICAuc2VydmljZS11bmF2YWlsYWJsZS1zZWN0aW9uIC51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMWJlO1xuICAgIGNvbG9yOiAjZjAwO1xuICAgIHBhZGRpbmc6IDZweDsgfVxuXG4udmVoaWNsZS1kYXRhLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHg7IH1cbiAgLnZlaGljbGUtZGF0YS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnZlaGljbGUtZGF0YS1zZWN0aW9uIC5jaGVja2JveC1mb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC52ZWhpY2xlLWRhdGEtc2VjdGlvbiAudmVoaWNsZS1kYXRhLWNvbnRlbnQgLnNhdmUtdmVoaWNsZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDlweDsgfVxuICAgIC52ZWhpY2xlLWRhdGEtc2VjdGlvbiAudmVoaWNsZS1kYXRhLWNvbnRlbnQgLnNhdmUtdmVoaWNsZS1jb250YWluZXIgLnNhdmUtdmVoaWNsZS1jaGVja2JveCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cblxuLm1vZGFsLWJ1dHRvbnMgLmNhcmZsZXgtbG9nbyB7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDE2MHB4OyB9XG5cbi5tb2RhbC1idXR0b25zICNjYXJmYXgtc2VhcmNoLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogM3B4IHNvbGlkICMyMDIwMjA7XG4gIGhlaWdodDogNDVweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1heC13aWR0aDogMTUwcHg7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1vZGFsLWJ1dHRvbnMgI2NhcmZheC1zZXJ2aWNlLWJ1dHRvbiB7XG4gIGhlaWdodDogNDVweDtcbiAgbWFyZ2luLWxlZnQ6IDE0cHg7XG4gIG1heC13aWR0aDogMjM1cHg7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cbiAgLm5vLXNlcnZpY2UtaGlzdG9yeSAuc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5uby1zZXJ2aWNlLWhpc3RvcnkgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAubm8tc2VydmljZS1oaXN0b3J5IC5uby1zZXJ2aWNlLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X2NhcmZheCAucm93LmF0cm9vdCAuY29udGVudC1jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLnB0X2NhcmZheCAucGFnZS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ucHRfY2FyZmF4IC5hYm91dC1jYXJmYXgtd3JhcHBlciAuYWJvdXQtY2FyZmF4LXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cblxuLnB0X2NhcmZheCAuYWJvdXQtY2FyZmF4LXdyYXBwZXIgLnRvZ2dsZS1pdGVtIC5pdGVtLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnB0X2NhcmZheCAuYWJvdXQtY2FyZmF4LXdyYXBwZXIgLnRvZ2dsZS1pdGVtIC5pdGVtLWNvbnRlbnQgYSB7XG4gICAgei1pbmRleDogMjsgfVxuXG4ucHRfY2FyZmF4IC5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuXG4uc2VydmljZS1oaXN0b3J5LXdyYXBbdG9nZ2xlLXN0YXRlPVwiaW5pdGlhbFwiXSAuc2VydmljZS1oaXN0b3J5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VydmljZS1oaXN0b3J5LXdyYXBbdG9nZ2xlLXN0YXRlPVwiaW5pdGlhbFwiXSAubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VydmljZS1oaXN0b3J5LXdyYXBbdG9nZ2xlLXN0YXRlPVwibm8tc2VydmljZVwiXSAuc2VydmljZS1oaXN0b3J5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VydmljZS1oaXN0b3J5LXdyYXBbdG9nZ2xlLXN0YXRlPVwiaGFzLXNlcnZpY2VcIl0gLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtaGlzdG9yeSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtOyB9IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciAuaGVhZGVyLWNvbnRlbnQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS1oZWFkZXIgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS1oZWFkZXIgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIC5jYXJmYXgtbG9nbyB7XG4gICAgICBib3R0b206IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciAuZGVsZXRlLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktdGFibGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSAudGFibGUtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LXRhYmxlIC50YWJsZS1oZWFkZXIgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSAudGFibGUtaGVhZGVyIC50YWJsZS1yb3cge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LXRhYmxlIGIge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1yb3cge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1yb3cge1xuICAgICAgICBnYXA6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG4gIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbiB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbiBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgZmxleDogMjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwJTsgfVxuICAgICAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQgYi5tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIC5tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsLWluZm8ubGVmdC1hcnJvdyB7XG4gIG1pbi1oZWlnaHQ6IDEyNnB4OyB9XG5cbi5icmFrZXMtZGV0YWlscyB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiA1MHB4IGF1dG87IH1cbiAgLmJyYWtlcy1kZXRhaWxzIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWRldGFpbHMtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMzBweCAxNXB4OyB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIGgyIHtcbiAgICAgIG1pbi13aWR0aDogMjkwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5ncmlkLW1ha2VyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmdyaWQtbWFrZXIgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtZ3JpZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCg1MHB4LCAxZnIpKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWdyaWQgLmdyaWQtaXRlbSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1ncmlkIC5ncmlkLWl0ZW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWdyaWQgLmdyaWQtaGVhZGVyLFxuICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtZ3JpZCAuZ3JpZC12ZWhpY2xlLXR5cGUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWRpc2NsYWltZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIHdpZHRoOiA5MCU7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWRpc2NsYWltZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLW5vLXJlc3VsdHMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtbm8tcmVzdWx0cyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgICAgcGFkZGluZzogMTVweDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWluY2x1ZGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWluY2x1ZGVkIC5pbmNsdWRlZC1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWluY2x1ZGVkIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiA1cHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWluY2x1ZGVkIHVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCB1bCBpIHtcbiAgICAgICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAzMHB4IDI1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgaDIge1xuICAgICAgICAgIHRleHQtd3JhcDogbm93cmFwOyB9XG4gICAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgcCB7XG4gICAgICB3aWR0aDogOTUlOyB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIC5icmFrZXMtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciAuYnJha2VzLWltYWdlLWNvbnRhaW5lciBwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ludGVyZmFjZS90aXJlLW1hcmsucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA1MCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDsgfSB9XG4gIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciAuYnJha2VzLXBhY2thZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciAuYnJha2VzLXBhY2thZ2VzIC5wYWNrYWdlcy1ibG9jayB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgIHdpZHRoOiAzMyU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sgcCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sgcC5wYWNrYWdlcy10aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG4gICAgICAgIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciAuYnJha2VzLXBhY2thZ2VzIC5wYWNrYWdlcy1ibG9jayBwLnBhY2thZ2VzLXRpdGxlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIGkge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4OyB9XG5cbiNzdGlja3lDVEEge1xuICBib3R0b206IC0xMDAlO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAycHggIzIwMjAyMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC40cztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDU7IH1cbiAgI3N0aWNreUNUQS5zbGlkZSB7XG4gICAgYm90dG9tOiAwOyB9XG4gICNzdGlja3lDVEEgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY2FydC1lbXB0eSB7XG4gIG1hcmdpbi10b3A6IDRyZW07IH1cbiAgLmNhcnQtZW1wdHkgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYXJ0LWVtcHR5IC5jYXJ0LWFjdGlvbi1jb250aW51ZS1zaG9wcGluZyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNhcnQtcGFnZSB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1wYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmNhcnQtcGFnZSAucGFnZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLmNhcnQtcGFnZSAucGFnZS10aXRsZSBoMSB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2FydC1wYWdlIC5wYWdlLXRpdGxlIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9IH1cbiAgLmNhcnQtcGFnZSAudmVoaWNsZS1pbmZvIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLmNhcnQtcGFnZSAudmVoaWNsZS1pbmZvIC5lZGl0VmVoaWNsZUNhcnQge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5jYXJ0LXBhZ2UgLnZlaGljbGUtaW5mbyBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmNhcnQtcGFnZSAuY2FydC10ZWNobmljYWwtZGlmZmljdWx0aWVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jYXJ0LXBhZ2UgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcyAuc21hbGwtMTIge1xuICAgICAgcGFkZGluZzogMzBweCAxMHB4IDIwcHg7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcyAuc21hbGwtMTIgcCBzcGFuIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY2FydC1wYWdlIC5jYXJ0LXRlY2huaWNhbC1kaWZmaWN1bHRpZXMuaGVhZGVyIC5yb3cge1xuICAgIG1hcmdpbjogLTQwcHggMCAxMHB4OyB9XG4gIC5jYXJ0LXBhZ2UgLmhlYWRlci1wcm9kdWN0LWRldGFpbHMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbjogMXJlbSAwOyB9XG4gIC5jYXJ0LXBhZ2UgLml0ZW0tbGlzdCB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2YyZjJmMztcbiAgICBtYXJnaW46IDAgMCAxLjU2MjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAwOyB9XG4gICAgLmNhcnQtcGFnZSAuaXRlbS1saXN0IC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1wYWdlIC5tYWluLXNlY3Rpb24taGVhZGVyIC5xdHktaGVhZGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jYXJ0LXBhZ2UgLm1haW4tc2VjdGlvbi1oZWFkZXIgLnRvdGFsLXByaWNlLWhlYWRlciB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1wYWdlIC5jYXJ0LXJvdyAuaXRlbS1xdWFudGl0eSxcbiAgICAuY2FydC1wYWdlIC5zZXJ2aWNlLXJvdyAuaXRlbS1xdWFudGl0eSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY2FydC1wYWdlIC5jYXJ0LXJvdyAuaXRlbS10b3RhbCxcbiAgICAuY2FydC1wYWdlIC5jYXJ0LXJvdyAuc2VydmljZS1pdGVtLXRvdGFsLFxuICAgIC5jYXJ0LXBhZ2UgLnNlcnZpY2Utcm93IC5pdGVtLXRvdGFsLFxuICAgIC5jYXJ0LXBhZ2UgLnNlcnZpY2Utcm93IC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuY2FydC1wYWdlIC5jYXJ0LWxpbmUtc2VwYXJhdG9yOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTk7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNhcnQtcGFnZSAub3JkZXItc3VtbWFyeS1yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAub3JkZXItc3VtbWFyeS1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAub3JkZXItc3VtbWFyeS1yb3cgLmNhcnQtbGluZS1zZXBhcmF0b3Ige1xuICAgICAgICBvcmRlcjogMzsgfSB9XG4gIC5jYXJ0LXBhZ2UgLmRpc2NsYWltZXItY2FydCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAgIC5jYXJ0LXBhZ2UgLmRpc2NsYWltZXItY2FydCBwIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY2FydC1wYWdlIC5kaXNjbGFpbWVyLWNhcnQgcC5sZXZ5LW1lc3NhZ2UtY2FydCB7XG4gICAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1wYWdlIC5vcmRlci1zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9IH1cbiAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSAwOyB9XG4gICAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAuOTM3NXJlbTsgfVxuICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRyLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5vcmRlci10b3RhbCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5vcmRlci10b3RhbCB0ZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmNhcnQtcGFnZSAub3V0LW9mLXN0b2NrLW1lc3NhZ2UtYm94IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAub3V0LW9mLXN0b2NrLW1lc3NhZ2UtYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMy4xMjVyZW07IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLm91dC1vZi1zdG9jay1tZXNzYWdlLWJveCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY2FydC1wYWdlIC5vdXQtb2Ytc3RvY2stbWVzc2FnZS1ib3ggYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY2FydC1wYWdlIC5jYXJ0LWZpbmFuY2luZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWluLWhlaWdodDogNDVweDsgfVxuICAgIC5jYXJ0LXBhZ2UgLmNhcnQtZmluYW5jaW5nIHAge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNhcnQtcGFnZSAuY2FydC1maW5hbmNpbmcgLmNhcnQtZmluYW5jaW5nLWxpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAuY2FydC1hY3Rpb24tY2hlY2tvdXQtYm94IHtcbiAgICAgIG9yZGVyOiAyOyB9IH1cbiAgLmNhcnQtcGFnZSAuY2FydC1hY3Rpb24tY2hlY2tvdXQge1xuICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLmNhcnQtYWN0aW9uLWNoZWNrb3V0IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuY2FydC1wYWdlIC5jYXJ0LWFjdGlvbi1jaGVja291dCAuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMS4xMjVyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNhcnQtcGFnZSAuY2FydC1hY3Rpb24tY2hlY2tvdXQgLmJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwMjNcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cbiAgLmNhcnQtcGFnZSAubmVlZC1oZWxwLWNhcnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgLmNhcnQtcGFnZSAubmVlZC1oZWxwLWNhcnQgcCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAuY2FydC1wYWdlIC5uZWVkLWhlbHAtY2FydCBhIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIHtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZjJmMmYzO1xuICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAxLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgLmxlZnQtYm94LFxuICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgLnJpZ2h0LWJveCB7XG4gICAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5sZWZ0LWJveCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSAucmlnaHQtYm94IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgLmJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5pY29uLWJveCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMS4zMTNyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyNyU7IH1cbiAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLnRleHQtYm94IHtcbiAgICB3aWR0aDogNzMlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLnRleHQtYm94IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuaWNvbi1hbGVydCB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5pY29uLWFsZXJ0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAwIDA7IH0gfVxuICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuZmEtY2hlY2sge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5mYS1jaGVjayB7XG4gICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwOyB9IH1cbiAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuZmEtY2hlY2s6OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjYzc1MzAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLmxlZnQtYm94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLnJpZ2h0LWJveCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5yaWdodC1ib3ggcCB7XG4gICAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMDsgfSB9XG4gICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLnJpZ2h0LWJveCBwIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAxMDBweDsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm9yZGVyLXN1bW1hcnktd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWNhcmQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbnRlcmZhY2UvdGlyZS1tYXJrLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWNhcmQgLmxlYXJuLW1vcmUtd3JhcHBlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctY2FyZCAubGVhcm4tbW9yZS13cmFwcGVyIC5sZWFybi1tb3JlLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1jYXJkIC5sZWFybi1tb3JlLXdyYXBwZXIgLmxlYXJuLW1vcmUtbGluazpob3ZlciA+IC5tb3JlLWluZm8tdGV4dCB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1jYXJkIC5sZWFybi1tb3JlLXdyYXBwZXIgLm1vcmUtaW5mby10ZXh0IHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIge1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNmMmYyZjM7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy10aXRsZSBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaDQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gcCB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBpIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gICAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaTo6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuXG4uY2FydC1yb3cge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jYXJ0LXJvdyAuc2VydmljZS1yb3cge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1yb3cgLnByb2R1Y3QtbGlzdC1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTsgfSB9XG4gIC5jYXJ0LXJvdyAuaXRlbS1pbWFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuaXRlbS1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuaXRlbS1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMTkwcHg7IH0gfVxuICAuY2FydC1yb3cgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICAuY2FydC1yb3cgLnByb2R1Y3QtYnJhbmQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcm93IC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWF0dHJpYnV0ZXMuY2F0ZWdvcnktYXR0cmlidXRlcyAubmFtZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgbWluLWhlaWdodDogMThweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jYXJ0LXJvdyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLmNhcnQtcm93IC5hdmFpbGFiaWxpdHktYXR0cmlidXRlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwOyB9XG4gICAgLmNhcnQtcm93IC5hdmFpbGFiaWxpdHktYXR0cmlidXRlIC5hdmFpbGFiaWxpdHktbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAuY2FydC1yb3cgLmF2YWlsYWJpbGl0eS1hdHRyaWJ1dGUgLnByb2R1Y3QtYXZhaWxhYmlsaXR5LWxpc3Qge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1yb3cgLml0ZW0tcXR5LXByaWNlLXNlY3Rpb24ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXJvdyAuc2VjdGlvbi1oZWFkZXIucXR5LWhlYWRlcixcbiAgICAuY2FydC1yb3cgLnNlY3Rpb24taGVhZGVyLml0ZW0tcHJpY2UtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAuY2FydC1yb3cgLml0ZW0tcHJpY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuaXRlbS1wcmljZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAuY2FydC1yb3cgLml0ZW0tcHJpY2UgLm9sZC1wcmljZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgLmNhcnQtcm93IC5pdGVtLXRvdGFsIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMi4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNhcnQtcm93IC5pdGVtLXRvdGFsIHtcbiAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwOyB9IH1cbiAgLmNhcnQtcm93IC5wcmljZS10b3RhbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuY2FydC1yb3cgLnByb2R1Y3QtY2FyZC1xdWFudGl0eS5pdGVtLXF1YW50aXR5IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNhcnQtcm93IC5wcm9kdWN0LWNhcmQtcXVhbnRpdHkuaXRlbS1xdWFudGl0eSAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDU1cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2FydC1yb3cgLnByb2R1Y3QtY2FyZC1xdWFudGl0eS5pdGVtLXF1YW50aXR5IC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmNhcnQtcm93IC5wcm9kdWN0LWNhcmQtcXVhbnRpdHkuaXRlbS1xdWFudGl0eSAucHJvZHVjdFF1YW50aXR5IHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY2FydC1yb3cgLnJlbW92ZS1idG4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAucmVtb3ZlLWJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAuY2FydC1yb3cgLnJlYmF0ZS1ib3gge1xuICAgIG1hcmdpbjogMS4yNXJlbSAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLnJlYmF0ZS1ib3gge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9IH1cbiAgLmNhcnQtcm93IC5yZWJhdGUtYmFkZ2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcm93IC5yZWJhdGUtYmFkZ2Uge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FydC1yb3cgLnJlYmF0ZS1iYWRnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgICAuY2FydC1yb3cgLnJlYmF0ZS1iYWRnZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9yZWJhdGVfaWNvbi5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIHdpZHRoOiAzMHB4OyB9XG4gIC5jYXJ0LXJvdyAucmViYXRlLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcm93LmZpcnN0LXBzZXQge1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuICAuY2FydC1yb3cuc2Vjb25kLXBzZXQgLml0ZW0taW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNhcnQtcm93LnNlY29uZC1wc2V0IC5yZW1vdmUtYnRuIHtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSAwIDA7IH1cbiAgLmNhcnQtcm93IC5mcm9udC1iYWNrLXNldC1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzLnJlcXVpcmVkLXNlcnZpY2VzIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIC5jYXJ0LXNlcnZpY2VzLnJlcXVpcmVkLXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcy5yZXF1aXJlZC1zZXJ2aWNlcyAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMucmVxdWlyZWQtc2VydmljZXMgLml0ZW0tcHJpY2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIC5jYXJ0LXNlcnZpY2VzLnJlcXVpcmVkLXNlcnZpY2VzIC5zZXJ2aWNlLWluZm8td3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmNhcnQtc2VydmljZXMuaW5jbHVkZWQtc2VydmljZXMgLml0ZW0tcHJpY2Uge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmNhcnQtc2VydmljZXMuaW5jbHVkZWQtc2VydmljZXMgLnNlcnZpY2Utcm93IHtcbiAgYm9yZGVyOiA0cHggc29saWQgI2YyZjJmMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMuaW5jbHVkZWQtc2VydmljZXMgLnNlcnZpY2Utcm93IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNhcnQtc2VydmljZXMuaW5jbHVkZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cblxuLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAucmVjb21tZW5kZWQtc2VydmljZSB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnJlY29tbWVuZGVkLXNlcnZpY2Uge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5yZWNvbW1lbmRlZC1zZXJ2aWNlIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG5cbi5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnNlcnZpY2Utcm93IHtcbiAgYm9yZGVyOiA0cHggc29saWQgI2YyZjJmMzsgfVxuXG4uY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWdyb3VwLW5hbWUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDIuNXJlbSAwIDAuOTM3NXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5pdGVtLXByaWNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICBtYXgtaGVpZ2h0OiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZSB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDA7IH1cblxuLmNhcnQtc2VydmljZXMgLmJvdHRvbS1tYXJnaW4ge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pdGVtLWRldGFpbHMge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWluZm8td3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41NjI1cmVtOyB9IH1cbiAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZXJ2aWNlLWltYWdlIHtcbiAgICBmbGV4OiAxOyB9XG4gIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1kZXNjcmlwdGlvbiB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLW5hbWUtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2hvcnQtZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5zaG9ydC1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWltYWdlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLXRvdGFsLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgMCAwIDAuNzVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAubW9yZS1pbmZvLWxpbmsge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5tb3JlLWluZm8tbGluayB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5tb3JlLWluZm8tdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2FydC1zZXJ2aWNlcyAubW9yZS1pbmZvLXRleHQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZWN0aW9uLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5tYWluLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDIuMTg4cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAubWFpbi1oZWFkZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmNhcnQtc2VydmljZXMgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cblxuLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS10b3RhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuaXRlbS1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAuaXRlbS1wcmljZSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5yZXZlYWxbaWQqPVwic2VydmljZXBvcHVwXCJdLFxuI3NlcnZpY2VpbmZvbW9kYWwge1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsW2lkKj1cInNlcnZpY2Vwb3B1cFwiXSxcbiAgICAjc2VydmljZWluZm9tb2RhbCB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5yZXZlYWxbaWQqPVwic2VydmljZXBvcHVwXCJdIC5jbG9zZS1idXR0b24sXG4gICNzZXJ2aWNlaW5mb21vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIHJpZ2h0OiAxLjEyNXJlbTtcbiAgICB0b3A6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yZXZlYWxbaWQqPVwic2VydmljZXBvcHVwXCJdIC5jbG9zZS1idXR0b24sXG4gICAgICAjc2VydmljZWluZm9tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgcmlnaHQ6IDEuNzVyZW07XG4gICAgICAgIHRvcDogMS40MzhyZW07IH0gfVxuXG4uc2VydmljZS1tb2RhbC1jb250ZW50IC5zZXJ2aWNlLW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgd2lkdGg6IDkwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlcnZpY2UtbW9kYWwtY29udGVudCAuc2VydmljZS1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuLnNlcnZpY2UtbW9kYWwtY29udGVudCAuc2VydmljZS1pbWFnZSB7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlcnZpY2UtbW9kYWwtY29udGVudCAuc2VydmljZS1pbWFnZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAzNSU7IH0gfVxuXG4uc2VydmljZS1tb2RhbC1jb250ZW50IC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZXJ2aWNlLW1vZGFsLWNvbnRlbnQgLmxvbmctZGVzY3JpcHRpb24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZzogMCAwIDAgMS44NzVyZW07XG4gICAgICB3aWR0aDogNjUlOyB9IH1cblxuLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG5cbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIC50aXRsZSxcbiNzZXJ2aWNlaW5mb21vZGFsIC50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICB3aWR0aDogOTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAudGl0bGUsXG4gICAgI3NlcnZpY2VpbmZvbW9kYWwgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfSB9XG5cbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIC5kZXNjcmlwdGlvbiBwLFxuI3NlcnZpY2VpbmZvbW9kYWwgLmRlc2NyaXB0aW9uIHAge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAuYnV0dG9ucy1ib3gsXG4gICNzZXJ2aWNlaW5mb21vZGFsIC5idXR0b25zLWJveCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAuYnV0dG9ucy1ib3gsXG4gICNzZXJ2aWNlaW5mb21vZGFsIC5idXR0b25zLWJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94IC5idXR0b24sXG4jc2VydmljZWluZm9tb2RhbCAuYnV0dG9ucy1ib3ggLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94IC5idXR0b24sXG4gICAgI3NlcnZpY2VpbmZvbW9kYWwgLmJ1dHRvbnMtYm94IC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwIDEuMjVyZW0gMCAwO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAuYnV0dG9ucy1ib3ggYSxcbiNzZXJ2aWNlaW5mb21vZGFsIC5idXR0b25zLWJveCBhIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cblxuI2luc2lkZV9ob2xkZXIgI2luc2lkZV9saXZlQ2hhdFRhYiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY2FydC1wc21vZGFsLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMjBweCAwIDAgMzBweDtcbiAgd2lkdGg6IDg1JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcHNtb2RhbC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLnRvdGFscy1zdGlja3ktYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgYm90dG9tOiAwO1xuICBib3gtc2hhZG93OiAwIC00cHggMTBweCAjODA4MDgwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNXJlbTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgei1pbmRleDogMTA7IH1cbiAgLnRvdGFscy1zdGlja3ktYnV0dG9uIC5wcmljZS10b3RhbCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIC50b3RhbHMtc3RpY2t5LWJ1dHRvbiAucHJpY2UtdG90YWwtdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtOyB9XG5cbiNwc21vZGFsLmNhcnQtcHNtb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgcmlnaHQ6IDI1cHg7IH1cblxuI2NhcnRRdWFudGl0eU1vZGFsIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gICNjYXJ0UXVhbnRpdHlNb2RhbCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQ6ICNjNzUzMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNjYXJ0UXVhbnRpdHlNb2RhbCBwIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICNjYXJ0UXVhbnRpdHlNb2RhbCAuY2FydFF1YW50aXR5TW9kYWxDdGEge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4jd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsIHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsIHtcbiAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0OyB9IH1cbiAgI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbC5yZXZlYWwge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwucmV2ZWFsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2OTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgdG9wOiAwLjc1cmVtOyB9XG5cbi5jb250YXQtdXMtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29udGF0LXVzLWZvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5oZXJlLXRvLWhlbHAge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2Q4ZDhkODtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxLjU2MjVyZW07IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLmNhcnQtZm9vdGVyLWltYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY29udGF0LXVzLWZvb3RlciAuY2FydC1mb290ZXItaW1hZ2UgaW1nIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5jb250YWN0LXVzLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNvbnRhdC11cy1mb290ZXIgLmNvbnRhY3QtdXMtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDsgfSB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAuY29udGFjdC1pbmZvLXNlY3Rpb24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250YXQtdXMtZm9vdGVyIC5jb250YWN0LWluZm8tc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuYWN0aW9uLWJveC1jb250ZW50IHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250YXQtdXMtZm9vdGVyIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICBwYWRkaW5nOiAwLjMxMjVyZW07IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuc2VjdGlvbi10aXRsZS1ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5waG9uZS1udW1iZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNvbnRhdC11cy1mb290ZXIgLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuYWN0aW9uLWljb24gLmNhcmQtaWNvbiB7XG4gICAgbWF4LWhlaWdodDogMXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5jYXJkLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIHdpZHRoOiAxcmVtOyB9XG5cbi5tYW51ZmFjdHVyZXItbnVtYmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBtYXJnaW46IDAgMCAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tYW51ZmFjdHVyZXItbnVtYmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuMzc1cmVtOyB9IH1cblxuI2FkZHRvY2FydHBvcHVwIHtcbiAgcGFkZGluZzogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNhZGR0b2NhcnRwb3B1cCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgI2FkZHRvY2FydHBvcHVwIC5jYXRlZ29yaWVzLWJveCxcbiAgI2FkZHRvY2FydHBvcHVwIC5hdmFpbGFiaWxpdHktbXNnLFxuICAjYWRkdG9jYXJ0cG9wdXAgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb21vLWJhZGdlLFxuICAjYWRkdG9jYXJ0cG9wdXAgLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3Qtc2l6ZSAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnBvcHVwLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLnBvcHVwLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wb3B1cC1zdWJ0aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAubmV3LWNhcnQtaXRlbSB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMjVweDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZS1ib3g6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZS1ib3g6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMCAyJSAwIDA7IH0gfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZTo6YmVmb3JlLCAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1uYW1lIC5icmFuZC1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5ib3gtc3BhY2luZyB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5wcm9kdWN0LXByaWNlOjpiZWZvcmUsICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5wcm9kdWN0LXByaWNlOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5wcm9kdWN0LXByaWNlOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5yZWJhdGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgcGFkZGluZzogMCAwIDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5hY3Rpb25zLm5vLWJvcmRlciB7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyAuY2FuY2VsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5hY3Rpb25zLW1hcmdpbiB7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IHtcbiAgICBtYXJnaW46IDI1cHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwOyB9IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC1iYWRnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnBvcHVwLXN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC10aWxlIHtcbiAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3Qtc2l6ZSxcbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtbmFtZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA2MCU7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wcm9kdWN0LXByaWNpbmcgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG5cbiNjYXJ0LXBvcHVwLWNvbnRhaW5lciAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI2NhcnQtcG9wdXAtY29udGFpbmVyIC5wcm9kdWN0LWJhZGdlIHtcbiAgbWF4LXdpZHRoOiAyNSU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAjY2FydC1wb3B1cC1jb250YWluZXIgLnByb2R1Y3QtYmFkZ2Ugc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNhZGR0b2NhcnRwb3B1cCB7XG4gICAgd2lkdGg6IDcwMHB4OyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5uZXctY2FydC1pdGVtIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5uZXctY2FydC1pdGVtIC5wcm9kdWN0LWJveCB7XG4gICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5uZXctY2FydC1pdGVtIC5wcm9kdWN0LXRpbGUge1xuICAgICAgYm9yZGVyOiA2cHggc29saWQgI2YyZjJmMjtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLm5ldy1jYXJ0LWl0ZW0gLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXhib3g7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogODIuNXJlbTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmc6IDAgMCA0MHB4OyB9XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyAuY2FuY2VsIHtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwOyB9IH1cblxuLmNiLWJvcmRlcmVkLWNvbnRlbnQge1xuICBib3JkZXI6IDdweCBzb2xpZCAjZjJmMmYyO1xuICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYi1ib3JkZXJlZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDsgfSB9XG5cbi5jYi1wYWdlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nOiAxMDBweCAwIDEyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItcGFnZS1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICBwYWRkaW5nOiAxMTVweCAwOyB9IH1cbiAgLmNiLXBhZ2UtaGVhZGVyIGgxIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLXBhZ2UtaGVhZGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA2NnB4OyB9IH1cbiAgLmNiLXBhZ2UtaGVhZGVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1wYWdlLWhlYWRlciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLmNiLXBhZ2UtaGVhZGVyIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmNiLWN0YSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjYzc1MzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItY3RhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy13aGl0ZSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA3cHggMzBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy13aGl0ZSB7XG4gICAgICAgIHBhZGRpbmc6IDlweCAzMHB4OyB9IH1cbiAgICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctd2hpdGU6aG92ZXIsIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy13aGl0ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjayB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZCwgY29sb3I7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgICAgICBwYWRkaW5nOiA5cHggMzBweDsgfSB9XG4gICAgLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrOmhvdmVyLCAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2s6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2Y2YTU4MztcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgICAgICBwYWRkaW5nOiA5cHggMzBweDsgfSB9XG4gICAgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZS5maW5hbmNpbmdMaW5rIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlOmhvdmVyLCAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmE1NjY7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZhNTY2OyB9XG4gIC5jYi1jdGEubGluayB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY3RhLmxpbmsge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICAuY2ItY3RhLmxpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY2ItY3RhLmxpbmsgLmFycm93IHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5jYi1jdGEtc2Vjb25kYXJ5IHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5jYi1zZWN0aW9uLWhlYWRlciB7XG4gIG1hcmdpbjogMCBhdXRvIDI1cHg7IH1cbiAgLmNiLXNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLXNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4OyB9IH1cbiAgLmNiLXNlY3Rpb24taGVhZGVyIHAsXG4gIC5jYi1zZWN0aW9uLWhlYWRlciBsaSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLXNlY3Rpb24taGVhZGVyIHAsXG4gICAgICAuY2Itc2VjdGlvbi1oZWFkZXIgbGkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAuY2Itc2VjdGlvbi1oZWFkZXIgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmNiLWNvbHVtbiB7XG4gIG1hcmdpbjogNXB4IDAgMDsgfVxuICAuY2ItY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQtY29weSB7XG4gICAgcGFkZGluZzogMjBweCAwIDA7IH1cbiAgLmNiLWNvbHVtbiAuZmluYW5jaW5nLWJsb2Nrcy10aXRsZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogODIuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYi1jb2x1bW4gLmZpbmFuY2luZy1ibG9ja3MtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH0gfVxuXG4uY2ItY29sdW1uLWNoaWxkIHtcbiAgbWFyZ2luOiAwIDAgNDBweDsgfVxuICAuY2ItY29sdW1uLWNoaWxkIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jb2x1bW4tY2hpbGQgaDIge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAuY2ItY29sdW1uLWNoaWxkIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDAgMCAxM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWNvbHVtbi1jaGlsZCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLmNiLWNvbHVtbi1jaGlsZCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHkge1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDA7IH0gfVxuXG4uY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiB7XG4gIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gLmNiLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiA3cHggMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1pbWFnZS1hbHRlcm5hdGUtY29sdW1uIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IH0gfVxuICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBpbWcge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC5jYi1pbWFnZS1hbHRlcm5hdGUtY29sdW1uIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1pbWFnZS1hbHRlcm5hdGUtY29sdW1uIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG4uY2ItMS1jb2x1bW4tY3RhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICBtaW4taGVpZ2h0OiAzMDJweDtcbiAgcGFkZGluZzogNjBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItMS1jb2x1bW4tY3RhIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMCA1MHB4OyB9IH1cbiAgLmNiLTEtY29sdW1uLWN0YSA+IC5yb3cge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYi0xLWNvbHVtbi1jdGEgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItMS1jb2x1bW4tY3RhIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4OyB9IH1cbiAgLmNiLTEtY29sdW1uLWN0YSBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItMS1jb2x1bW4tY3RhIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2ItMS1jb2x1bW4tY3RhIC5jYi1jdGEge1xuICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cblxuLmNiLXRlc3RpbW9uaWFsIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiA2NXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYi10ZXN0aW1vbmlhbCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDgwcHggMDsgfSB9XG4gIC5jYi10ZXN0aW1vbmlhbCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbiAgLmNiLXRlc3RpbW9uaWFsIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi10ZXN0aW1vbmlhbCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLmNiLXRlc3RpbW9uaWFsIC5jYi10ZXN0aW1vbmlhbC1hdmF0YXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY2ItdGVzdGltb25pYWwgLmNiLXRlc3RpbW9uaWFsLWF2YXRhciBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgbWF4LXdpZHRoOiA0OHB4OyB9XG4gICAgLmNiLXRlc3RpbW9uaWFsIC5jYi10ZXN0aW1vbmlhbC1hdmF0YXIgcCB7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uY2ItMy1jb2x1bW4tZmVhdHVyZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLXNlY3Rpb24taGVhZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4OyB9XG4gIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IGgyIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItMy1jb2x1bW4tZmVhdHVyZSAuY2ItY29sdW1uLWNoaWxkLWNvcHkgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG4gICAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IC5jYi1jdGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIHtcbiAgICAgIG1hcmdpbjogMCAwIDYwcHg7IH0gfVxuICAuY2ItZmVhdHVyZWQtcHJvZHVjdHMtY2FyZHMgLmNiLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuY2ItZmVhdHVyZWQtcHJvZHVjdHMtY2FyZHMgaDQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAuY2ItZmVhdHVyZWQtcHJvZHVjdHMtY2FyZHMgLnByb2R1Y3QtdGlsZSB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBoZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuXG4uY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQge1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQge1xuICAgICAgbWFyZ2luOiAwIDAgNTBweDsgfSB9XG4gIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCBpbWcucHJvZEltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCBpbWcucHJvZEltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgcCB7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH0gfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3MgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3MgaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyBoMiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3MgaDUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRoZWFkIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDIwcHg7IH1cbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB0aGVhZCB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDIwcHg7IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgdGFibGUgdGgsXG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgdGFibGUgdGJvZHkge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YS13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGEtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtY3RhLXdyYXBwZXIgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YXMge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtY3RhLXdyYXBwZXIgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YXMgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCB7XG4gICAgYm9yZGVyOiAxMHB4IHNvbGlkICNmMmYyZjI7XG4gICAgcGFkZGluZzogOHB4IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCBoNCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgICAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWNoaWxkIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtaWNvbiB7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWNoaWxkIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNiLWNvbHVtbi10YWJzIC5jb2x1bW4taW1hZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbi5jYi1jb2x1bW4tdGFicyAudGFicyB7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpIGE6aG92ZXIsXG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaS5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhOmhvdmVyOjphZnRlcixcbiAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgbGkuaXMtYWN0aXZlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyAudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpIHtcbiAgICAgIHdpZHRoOiAzMy4yJTsgfSB9XG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjBweDsgfSB9XG4gICAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmNiLWNvbHVtbi10YWJzIC50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjZjJmMmYyO1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBwYWRkaW5nOiA0MHB4IDAgMDsgfVxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jYi1jb2x1bW4tdGFicyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLmNiLTEtY29sdW1uLWRldGFpbHMge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5jYi0xLWNvbHVtbi1kZXRhaWxzIGg0IHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItMS1jb2x1bW4tZGV0YWlscyBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC5jYi0xLWNvbHVtbi1kZXRhaWxzIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNiLTEtY29sdW1uLWRldGFpbHMgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uY2ItYWNjb3JkaW9uIHtcbiAgbWFyZ2luOiAxLjMxMjVyZW0gMDsgfVxuICAuY2ItYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBzdW1tYXJ5IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5jYi1hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIC5pdGVtLWNvbnRlbnQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2ItYWNjb3JkaW9uIC50b2dnbGUtaXRlbSAuaXRlbS1jb250ZW50ICoge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5wdF9xdWViZWNsYW5kaW5ncGFnZSAuc2ltcGxlLWhlYWRlci13cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG4gIG1pbi1oZWlnaHQ6IDk2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5zaW1wbGUtaGVhZGVyLXdyYXBwZXIge1xuICAgICAgbWluLWhlaWdodDogYXV0bzsgfSB9XG4gIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAuc2ltcGxlLWhlYWRlci13cmFwcGVyIC5yb3cge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA5NnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnNpbXBsZS1oZWFkZXItd3JhcHBlciAucm93IHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cbiAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5zaW1wbGUtaGVhZGVyLXdyYXBwZXIgLnNpbXBsZS1oZWFkZXItbG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5jYi1wYWdlLWhlYWRlciB7XG4gIG1hcmdpbi1ib3R0b206IDYwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5jYi1wYWdlLWhlYWRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4OyB9IH1cbiAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5jYi1wYWdlLWhlYWRlciAuY2ItcGFnZS1oZWFkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS10ZXh0IHtcbiAgY29sdW1uczogMjtcbiAgbWFyZ2luOiAwIGF1dG8gNjBweDtcbiAgbWF4LXdpZHRoOiAxMzAwcHg7XG4gIHBhZGRpbmc6IDAgNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA4Mi40Mzc1ZW0pIHtcbiAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXRleHQge1xuICAgICAgcGFkZGluZzogMCA0MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG4gIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2UtdGV4dCBwIHtcbiAgICBjb2xvcjogIzFkMWQxZDtcbiAgICBsaW5lLWhlaWdodDogMS42OyB9XG4gIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2UtdGV4dCAqIHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cblxuLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcGFkZGluZzogNTBweCAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgyLjQzNzVlbSkge1xuICAgIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciB7XG4gICAgICBwYWRkaW5nOiA1MCAzNXB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweDsgfSB9XG4gIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciAucXVlYmVjLXN0b3JlLXRpdGxlIHtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIG1heC13aWR0aDogMTIzMHB4OyB9XG4gIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciBoMyB7XG4gICAgZm9udC1zaXplOiAzNXB4OyB9XG4gIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciAucXVlYmVjLXN0b3Jlcy1kZXRhaWxzIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogMnJlbTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIC5xdWViZWMtc3RvcmVzLWRldGFpbHMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXN0b3Jlcy1jb250YWluZXIgLnF1ZWJlYy1zdG9yZXMtZGV0YWlscyAucXVlYmVjLXN0b3JlLWRldGFpbCB7XG4gICAgICBtYXgtd2lkdGg6IDQwMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIC5xdWViZWMtc3RvcmVzLWRldGFpbHMgLnF1ZWJlYy1zdG9yZS1kZXRhaWwge1xuICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXN0b3Jlcy1jb250YWluZXIgLnF1ZWJlYy1zdG9yZXMtZGV0YWlscyAucXVlYmVjLXN0b3JlLWRldGFpbCBoNSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIC5xdWViZWMtc3RvcmVzLWRldGFpbHMgLnF1ZWJlYy1zdG9yZS1kZXRhaWwgLnF1ZWJlYy1zdG9yZS1hZGRyZXNzIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciAucXVlYmVjLXN0b3Jlcy1kZXRhaWxzIC5xdWViZWMtc3RvcmUtZGV0YWlsIC5xdWViZWMtc3RvcmUtcGhvbmUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciAucXVlYmVjLXN0b3Jlcy1kZXRhaWxzIC5xdWViZWMtc3RvcmUtZGV0YWlsIC5xdWViZWMtc3RvcmUtcGhvbmUgaW1nIHtcbiAgICAgICAgICB3aWR0aDogMTdweDsgfVxuICAgICAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXN0b3Jlcy1jb250YWluZXIgLnF1ZWJlYy1zdG9yZXMtZGV0YWlscyAucXVlYmVjLXN0b3JlLWRldGFpbCAucXVlYmVjLXN0b3JlLXBob25lIHAge1xuICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDsgfVxuXG4ucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLmZvb3Rlci1jb3B5LXdyYXBwZXIgLnJvdyB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuXG4uZm9vdGVyLWZhcS13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAuZm9vdGVyLWZhcS13cmFwcGVyIGhyIHtcbiAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZTBlMWUxO1xuICAgIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBoNSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5mb290ZXItZmFxLXdyYXBwZXIgYS5mYXEtY3RhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuZm9vdGVyLWZhcS13cmFwcGVyIC5jb2x1bW5zIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4uZ3Vlc3QtY2hlY2tvdXQtdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIG1hcmdpbi10b3A6IDIzcHg7IH1cbiAgLmd1ZXN0LWNoZWNrb3V0LXRleHQgcCB7XG4gICAgbWFyZ2luOiAwLjE4NzVyZW0gMCAxLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmd1ZXN0LWNoZWNrb3V0LXRleHQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuODc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBsaW5lLWhlaWdodDogMWVtO1xuICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG5cbi5wdF9jaGVja291dCBsZWdlbmQge1xuICBtYXJnaW46IDA7IH1cblxuLnB0X2NoZWNrb3V0IHNlbGVjdCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHRfY2hlY2tvdXQgLmRpYWxvZy1yZXF1aXJlZCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucHRfY2hlY2tvdXQgLnN0ZXAtYmFjay1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAyMHB4IDA7IH1cblxuLnB0X2NoZWNrb3V0IC5mb3JtLXJvdy1idXR0b24ge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9jaGVja291dCAuZm9ybS1yb3ctYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5wdF9jaGVja291dCAuZm9ybS1yb3ctYnV0dG9uIGJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnB0X2NoZWNrb3V0IC5mb3JtLXJvdy1idXR0b24gYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4ucGF5bWVudC1mb3JtIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICAucGF5bWVudC1mb3JtLmFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuNjI1cmVtO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07IH0gfVxuXG4uY2hlY2tvdXQtc3RlcCBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLmNoZWNrb3V0LXN0ZXAgaDIgc3BhbiB7XG4gICAgY29sb3I6ICNjNzUzMDA7IH1cblxucC5zZWxlY3QtdmVoaWNsZSB7XG4gIHBhZGRpbmctdG9wOiAwLjYyNXJlbTsgfVxuXG4uaGVhZGVyLXRpdGxlLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5oZWFkZXItdGl0bGUtd3JhcHBlciAuY2hlY2tvdXQtc3RlcC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVhZGVyLXRpdGxlLXdyYXBwZXIgLmNoZWNrb3V0LXN0ZXAtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweCAwOyB9IH1cbiAgLmhlYWRlci10aXRsZS13cmFwcGVyIC5mb3JtLXJvdy1idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uY2hlY2tvdXQtbWFpbi1yb3cge1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXQtbWFpbi1yb3cge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciB7XG4gIG1hcmdpbi1ib3R0b206IDY1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuICAgICAgbWFyZ2luLWJvdHRvbTogODdweDsgfSB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICAgIHBhZGRpbmc6IDQ1cHggMCAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXBzLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMjcwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwcy13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiA0NTRweDsgfSB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXBzIHtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTdlN2U3O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDMycHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAzMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcCB7XG4gICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgd2lkdGg6IDQ2cHg7IH0gfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXA6OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDMycHg7XG4gICAgICB0b3A6IDE2cHg7XG4gICAgICB3aWR0aDogNDhweDtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXA6OmJlZm9yZSB7XG4gICAgICAgICAgcmlnaHQ6IDQ2cHg7XG4gICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgIHdpZHRoOiA1NHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDU0cHg7IH1cbiAgICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgICAgICB3aWR0aDogNTRweDsgfSB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDpmaXJzdC1jaGlsZDo6YmVmb3JlIHtcbiAgICAgIHdpZHRoOiAyNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA1NHB4OyB9IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBsZWZ0OiAzMnB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAxNnB4O1xuICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICB6LWluZGV4OiAtMTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgICBsZWZ0OiA0NnB4O1xuICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICB3aWR0aDogNTRweDsgfSB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5hY3RpdmUsIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAucGFzc2VkIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5hY3RpdmU6OmJlZm9yZSwgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5wYXNzZWQ6OmJlZm9yZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAuYWN0aXZlOmxhc3QtY2hpbGQ6OmFmdGVyLCAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLnBhc3NlZDpsYXN0LWNoaWxkOjphZnRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLnBhc3NlZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4ICNmZjY5MDAgaW5zZXQ7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5wYXNzZWQgLmljb24ge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAuaW5hY3RpdmUge1xuICAgICAgY29sb3I6ICNjOWM5Yzk7IH1cbiAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC1uYW1lIHtcbiAgICBib3R0b206IC0xNXB4O1xuICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgIGxlZnQ6IC01MCU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAtNTAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC1uYW1lIHtcbiAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTsgfSB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24ge1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24ge1xuICAgICAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5pY29uOjpiZWZvcmUge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24tYXBwb2ludG1lbnQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjI3MVwiO1xuICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5pY29uLWluZm9ybWF0aW9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwMDdcIjsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24tdmVyaWZpY2F0aW9uOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwOWRcIjsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24tcmV2aWV3OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYxNWNcIjsgfVxuXG4uY2hlY2tvdXQtc3VtbWFyeSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuXG4ucHJvZHVjdC1zcGVjaWZpYy1tZXNzYWdlcyB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjM7XG4gIG1hcmdpbjogMS4yNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMS4yNXJlbSAxLjI1cmVtIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnByb2R1Y3Qtc3BlY2lmaWMtbWVzc2FnZXMge1xuICAgICAgbWFyZ2luOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAuMTI1cmVtIDAuOTM3NXJlbSAwLjkzNzVyZW0gMC45Mzc1cmVtOyB9IH1cblxuLmNoZWNrb3V0LW9yZGVyLXRvdGFscyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIG1hcmdpbjogMCAwIDEuNTYyNXJlbTtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIHtcbiAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIHtcbiAgICAgIG1hcmdpbjogMCAwIDFyZW07IH0gfVxuICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAuNjI1cmVtOyB9XG4gICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5ib2xkIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjM7IH1cbiAgICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkIHRkIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtOyB9XG4gICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXN0b3JlLXRvdGFsLmJvbGQsIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtdG90YWwtcGFpZC5ib2xkIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtc3RvcmUtdG90YWwuYm9sZCwgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkLmJvbGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXN0b3JlLXRvdGFsLmJvbGQsIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtdG90YWwtcGFpZC5ib2xkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC1zdG9yZS10b3RhbCB0ZCwgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkIHRkIHtcbiAgICAgICAgICBmb250LXNpemU6IDEwcHg7IH0gfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci52ZWhpY2xlLWluZm8ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIudmVoaWNsZS1pbmZvIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMi4xODhyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5yZWJhdGUtbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAucmViYXRlLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDsgfSB9XG4gICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAucmViYXRlLW1lc3NhZ2UgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jaGVja291dC1vcmRlci10b3RhbHMgLmxldnktbWVzc2FnZS1taW5pc3VtbWFyeSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgY29sb3I6ICM4YThhOGE7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbjogMS4xMjVyZW0gMCAwIDA7XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAuc3RlcC1iYWNrLWxpbmsge1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwOyB9XG5cbi5uZWVkLWhlbHAtY2hlY2tvdXQgaDMge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuXG4ubmVlZC1oZWxwLWNoZWNrb3V0IHAge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuXG4ubmVlZC1oZWxwLWNoZWNrb3V0IGEge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5jaGVja291dC1zaGlwcGluZyBsZWdlbmQge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLmRpYWxvZy1yZXF1aXJlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LXNoaXBwaW5nIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1zaGlwcGluZyAuc2F2ZS1mb3ItYmlsbGluZyB7XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtc2hpcHBpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLnNlbGVjdGlvbi1ib3gge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IHtcbiAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTsgfSB9XG4gIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAuc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAucmFkaW8tZm9ybSxcbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IC5jaGVja2JveC1mb3JtIHtcbiAgICBtYXJnaW46IDAgMCA4cHg7IH1cbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IC5yYWRpby1mb3JtIC5maWVsZC13cmFwcGVyICsgbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2hlY2tvdXQtc2hpcHBpbmcgLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciAuY29tbWVyY2lhbC1mbGVldC1mb3JtIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciBoMSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6ICNjNzUzMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDdweCAxNXB4OyB9XG5cbi5jaGVja291dC1zaGlwcGluZyAuY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIC5oYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgbGVmdDogOHB4O1xuICB0b3A6IDA7IH1cbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgLmhhcy10aXAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgY29sb3I6ICNjNzUzMDA7IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIHtcbiAgbWFyZ2luOiAyMHB4IDAgMzBweDtcbiAgbWF4LXdpZHRoOiA1OTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDcwcHg7IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiAuaW5mb3JtYXRpb25zIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmluZm9ybWF0aW9ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG4gIC5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiAudmVoaWNsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmFkZC12ZWhpY2xlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmFkZC12ZWhpY2xlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDFweDsgfSB9XG4gIC5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiAuZWRpdC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbiNwc21vZGFsLndhcm5pbmctbW9kYWwge1xuICBwYWRkaW5nOiAzMHB4OyB9XG4gICNwc21vZGFsLndhcm5pbmctbW9kYWwgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMCAzMHB4OyB9XG4gICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgdG9wOiAyM3B4OyB9XG4gICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3BzbW9kYWwud2FybmluZy1tb2RhbCAuYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMTBweDsgfSB9XG4gICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmtlZXAtdmVoaWNsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmtlZXAtdmVoaWNsZSB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY2l0eS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93IHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnN0YXRlLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNvdW50cnktcm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTsgfSB9XG5cbi5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jaXR5LXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnN0YXRlLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnBvc3RhbC1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY2l0eS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5zdGF0ZS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY291bnRyeS1yb3cge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5wb3N0YWwtcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2hlY2tib3gtZm9ybSksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNvdW50cnktcm93KSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNpdHktcm93KTpudGgtY2hpbGQob2RkKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCgucG9zdGFsLXJvdyk6bnRoLWNoaWxkKG9kZCksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnN0YXRlLXJvdyk6bnRoLWNoaWxkKG9kZCksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNoZWNrYm94LWZvcm0pOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdyk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwOyB9XG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCgucG9zdGFsLXJvdyk6bnRoLWNoaWxkKGV2ZW4pLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2hlY2tib3gtZm9ybSk6bnRoLWNoaWxkKGV2ZW4pLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdyk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDAuNjI1cmVtOyB9IH1cblxuLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNpdHktcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuc3RhdGUtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cucG9zdGFsLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNvdW50cnktcm93IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jaXR5LXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnN0YXRlLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnBvc3RhbC1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgICB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jaXR5LXJvdyksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdykge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jaXR5LXJvdyk6bnRoLWNoaWxkKG9kZCksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdyk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwOyB9XG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCgucG9zdGFsLXJvdyk6bnRoLWNoaWxkKGV2ZW4pLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNpdHktcm93IHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnBvc3RhbC1yb3cgLmZpZWxkLXdyYXBwZXIge1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cgLmZpZWxkLXdyYXBwZXIuaGFzLXRvb2x0aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93IC5maWVsZC13cmFwcGVyLmhhcy10b29sdGlwIGkge1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwLjg3NXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgei1pbmRleDogMTsgfVxuXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuZm9ybS1pbmRlbnQuY2hlY2tib3gtZm9ybSB7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jaGVja291dC1iaWxsaW5nIC50b3AtcGF5bWVudC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgcGFkZGluZzogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2hlY2tvdXQtYmlsbGluZyAudG9wLXBheW1lbnQtaW5mbyB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgLmNoZWNrb3V0LWJpbGxpbmcgLnRvcC1wYXltZW50LWluZm8gcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jaGVja291dC1iaWxsaW5nIC50b3AtcGF5bWVudC1pbmZvIC5kdWUtcGF5bWVudC10aXRsZSB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2hlY2tvdXQtYmlsbGluZyAudG9wLXBheW1lbnQtaW5mbyAuZHVlLXBheW1lbnQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH0gfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1iaWxsaW5nIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuYWRkcmVzcy1yb3cge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbi5jaGVja291dC1iaWxsaW5nIC5wYXltZW50LW1ldGhvZCB7XG4gIG1hcmdpbjogMCAwIDIuODEzcmVtOyB9XG5cbi5jaGVja291dC1iaWxsaW5nIC5jcmVkaXQtY2FyZC1sb2dvcyB7XG4gIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICBtYXgtd2lkdGg6IDE1MHB4OyB9XG5cbi5jaGVja291dC1iaWxsaW5nICNtb25lcmlzRnJhbWUge1xuICBoZWlnaHQ6IDIzNXB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAjbW9uZXJpc01zZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZjAwO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1icmFuZCxcbi5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtYnJhbmQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1icmFuZCxcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHByaW50IHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLmxpbmUtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LWJyYW5kLFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1uYW1lLFxuLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1uYW1lIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtbmFtZSxcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LW5hbWUge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfSB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1uYW1lLFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH0gfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmxpbmUtaXRlbS1wcmljZSxcbi5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLXByaWNlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcHJpY2UsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tcHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLXByaWNlLFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLXByaWNlIHtcbiAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfSB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLXByaWNlIC5vbGQtcHJpY2Uub2xkLXByaWNlLWNoZWNrb3V0LFxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1wcmljZSAub2xkLXByaWNlLm9sZC1wcmljZS1jaGVja291dCB7XG4gICAgY29sb3I6ICM5NDk0OTQ7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcHJpY2UgLm9sZC1wcmljZS5vbGQtcHJpY2UtY2hlY2tvdXQsXG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1wcmljZSAub2xkLXByaWNlLm9sZC1wcmljZS1jaGVja291dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcHJpY2UgLm9sZC1wcmljZS5vbGQtcHJpY2UtY2hlY2tvdXQsXG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1wcmljZSAub2xkLXByaWNlLm9sZC1wcmljZS1jaGVja291dCB7XG4gICAgICAgIGNvbG9yOiAjOTQ5NDk0ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcXVhbnRpdHkgLml0ZW0tcXVhbnRpdHksXG4uY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1xdWFudGl0eSAuaXRlbS1xdWFudGl0eSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcXVhbnRpdHkgLml0ZW0tcXVhbnRpdHksXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tcXVhbnRpdHkgLml0ZW0tcXVhbnRpdHkge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcXVhbnRpdHkgLml0ZW0tcXVhbnRpdHksXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tcXVhbnRpdHkgLml0ZW0tcXVhbnRpdHkge1xuICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tdG90YWwgLnByaWNlLXRvdGFsLFxuLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tdG90YWwgLnByaWNlLXRvdGFsIHtcbiAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLmxpbmUtaXRlbS10b3RhbCAucHJpY2UtdG90YWwsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tdG90YWwgLnByaWNlLXRvdGFsIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLXRvdGFsIC5wcmljZS10b3RhbCxcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS10b3RhbCAucHJpY2UtdG90YWwge1xuICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5hZGRyZXNzMSxcbi5jb25maXJtYXRpb24tcGFnZSAuYWRkcmVzczEge1xuICBmbG9hdDogbGVmdDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnppcC1jb2RlLFxuLmNvbmZpcm1hdGlvbi1wYWdlIC56aXAtY29kZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIGFkZHJlc3Mge1xuICBmb250LXN0eWxlOiBub3JtYWw7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjM7XG4gICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDAgMDsgfSB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi10aXRsZS1ib3ggLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi10aXRsZS1ib3ggLmVkaXQtc2VjdGlvbi1saW5rIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYzcmVtOyB9IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3guY29sdW1ucyB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjU2M3JlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjU2M3JlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgcCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLmFwcG9pbnRtZW50LXRpbWUge1xuICAgIGNvbG9yOiAjODA4Mjg1OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnJpZ2h0LWluZm8tYm94IC5zZWN0aW9uLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC52ZWhpY2xlLWluZm8td3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnZlaGljbGUtaW5mby13cmFwcGVyIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5kaXNjbGFpbWVyLWNoZWNrb3V0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuZGlzY2xhaW1lci1jaGVja291dCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLm9yZGVyLXN1bW1hcnktZm9vdGVyIHtcbiAgbWFyZ2luOiAxLjU2M3JlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLm9yZGVyLXN1bW1hcnktZm9vdGVyIHtcbiAgICAgIG1hcmdpbjogMy4xMjVyZW0gMCAwOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5idXR0b24ge1xuICBmb250LXNpemU6IDE0cHg7IH1cblxuLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgbWFyZ2luOiAxLjI1cmVtIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgIG1hcmdpbjogMy40MzhyZW0gMCAwOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDEuMjVyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IC5sb2dpbi1ib3gtZmllbGRzZXQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgLmxvZ2luLWJveC1maWVsZHNldCAuZm9ybS1yb3cge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAubG9naW4tYm94LWZpZWxkc2V0IC5mb3JtLXJvdyB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCBmb3JtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE4cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgZm9ybSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAubG9naW4tYm94LXN1Ym1pdC1idXR0b24ge1xuICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgLmxvZ2luLWJveC1zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IC5sb2dpbi1ib3gtc3VibWl0LWJ1dHRvbiAuYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAubG9naW4tYm94LXN1Ym1pdC1idXR0b24gLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgLnByaXZhY3ktcG9saWN5IHtcbiAgICAgIGNvbG9yOiAjNGQ0ZDRkO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAucHJpdmFjeS1wb2xpY3kubGluayB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3ggLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNyZWF0ZS1hY2NvdW50LXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC10aXRsZSAuZGVza3RvcCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY3JlYXRlLWFjY291bnQtdGl0bGUgLmRlc2t0b3Age1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNyZWF0ZS1hY2NvdW50LXRpdGxlIC5tb2JpbGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC10aXRsZSAubW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNyZWF0ZS1hY2NvdW50LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC1kZXNjcmlwdGlvbiB1bCB7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNyZWF0ZS1hY2NvdW50LWRlc2NyaXB0aW9uIHVsIHAge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlIHtcbiAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAgMCAyLjE4OHJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZSBoMSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDAgMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS1ib3guYWN0aW9uLWJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94LmFjdGlvbi1ib3ggLnBob25lLW51bWJlciB7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94LmFjdGlvbi1ib3ggLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveC5hY3Rpb24tYm94IC5hY3Rpb24taWNvbiAuY2FyZC1pY29uIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTZweDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS0tdG9wLW1hcmdpbiB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94LmNvbHVtbnMge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjJyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjJyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuYXBwb2ludG1lbnQtdGltZSB7XG4gICAgICBjb2xvcjogIzgwODI4NTsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnNtcy1yZW1pbmRlci1ib3ggcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW46IDAgMCAxLjU2M3JlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuc21zLXJlbWluZGVyLWJveCBwIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1saW5rcyBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1saW5rcyAuYWRkLXRvLWNhbGVuZGFyLFxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1saW5rcyAucHJpbnQtbGluayB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tbGlua3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZjJmMmYzO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA2cHg7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3ggLmltZy1ib3gge1xuICAgICAgbWFyZ2luOiAwIDAuNDM3NXJlbSAwIDA7XG4gICAgICB3aWR0aDogNTBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3ggLmltZy1ib3gge1xuICAgICAgICAgIG1hcmdpbjogMCAxLjI1cmVtIDAgMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IC50ZXh0LWJveCB7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTdweCk7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IC50ZXh0LWJveCB7XG4gICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3ggaDMge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIzcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIC5vcmRlci1kYXRlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAwIDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLm9yZGVyLWRhdGUge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbiAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbiAuc2VjdGlvbi10aXRsZS1ib3ggLm1haW4tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLnNlY3Rpb24tdGl0bGUtYm94IC5tYWluLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24tYmxvY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24tbG9jYWxlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUgLnNlY3Rpb24tdGl0bGUtYm94IC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24tbG9jYWxlIC5zZWN0aW9uLXRpdGxlLWJveCAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24tbG9jYWxlIC5zZWN0aW9uLXRpdGxlLWJveCAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24tbG9jYWxlIC5zZWN0aW9uLXRpdGxlLWJveCBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24tbG9jYWxlIC5zZWN0aW9uLXRpdGxlLWJveCBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAucGVyc29uYWwtaW5mb3JtYXRpb24tYm94IHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUgLnBlcnNvbmFsLWluZm9ybWF0aW9uLWJveCB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAucGVyc29uYWwtaW5mb3JtYXRpb24tYm94IHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbi1sb2NhbGUge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb25maXJtYXRpb24tcGFnZSAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICBwYWRkaW5nOiAwIDEuODc1cmVtIDEuNTYyNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY2FydC1zdW1tYXJ5LWJveDo6YmVmb3JlLCAuY29uZmlybWF0aW9uLXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3g6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jYXJ0LXN1bW1hcnktYm94OjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWJpbGxpbmctYWRkcmVzcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1iaWxsaW5nLWFkZHJlc3MgKyAuc2VjdGlvbi1ib3gge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gICAgcGFkZGluZy1ib3R0b206IDM1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzOHB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzhweDsgfSB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmhlYWRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuaGVhZGVyIC5wcmludC1pbmZvIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC5oZWFkZXIgLnByaW50LWluZm8ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbiB7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMjdweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbiB7XG4gICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDNweCAjYzc1MzAwIGluc2V0O1xuICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICB3aWR0aDogMjhweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbjo6YmVmb3JlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiA0cHggc29saWQgI2M3NTMwMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDI3cHg7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuY2hlY2tlZC1pY29uOjpiZWZvcmUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICB3aWR0aDogMjhweDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLmNoZWNrZWQtaWNvbiB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC50aXRsZSB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAudGl0bGUge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAudGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjBweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC50aXRsZS1pbmZvIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgIC8qIDEwMCUgKi9cbiAgICAgIG1hcmdpbi1sZWZ0OiA0M3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAudGl0bGUtaW5mbyB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4xMjVyZW07IH0gfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC50aXRsZS1pbmZvIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC50aXRsZS1pbmZvIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC50aXRsZS1pbmZvIC50aXRsZS1pbmZvLWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAudGl0bGUtaW5mbyAudGl0bGUtaW5mby1idXR0b25zIC53aWR0aC0xMDAtbW9iaWxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLnRpdGxlLWluZm8gLnRpdGxlLWluZm8tYnV0dG9ucyAud2lkdGgtNTAtbW9iaWxlIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAudGl0bGUtaW5mbyAudGl0bGUtaW5mby1idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC50aXRsZS1pbmZvIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLnN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuYXBwb2ludG1lbnQtZGF0YS10aW1lLWxvY2FsZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LWRhdGEtdGltZS1sb2NhbGUge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuYXBwb2ludG1lbnQtZGF0YS10aW1lLWxvY2FsZSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LWRhdGEtdGltZSBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1kYXRhLXRpbWUgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjI1cmVtOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1kYXRhLXRpbWUgcCB7XG4gICAgICAgICAgY29sb3I6ICNjNzUzMDAgIWltcG9ydGFudDtcbiAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAubG9jYXRpb24tYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAubG9jYXRpb24tYm94IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5sb2NhdGlvbi1ib3ggcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAubG9jYXRpb24tYm94IHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuYXBwb2ludG1lbnQtYnV0dG9uIC5idXR0b24ge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLmFkZC10by1jYWxlbmRhciB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLmFkZC10by1jYWxlbmRhciB7XG4gICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgIG1heC13aWR0aDogMTk2cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLnByaW50LWxpbmsge1xuICAgICAgICBtYXgtd2lkdGg6IDI3MHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAucmVtaW5kZXItaW5mbyB7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuYXBwb2ludG1lbnQtaW5zdHJ1Y3Rpb25zIHtcbiAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1pbnN0cnVjdGlvbnMge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciB7XG4gICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGFsd2F5czsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuY3VzdG9tZXItY2FyZSB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmN1c3RvbWVyLWNhcmUge1xuICAgICAgICBmbGV4OiAwIDAgNTAlOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmN1c3RvbWVyLWNhcmUgaDMge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjE1NjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY3VzdG9tZXItY2FyZSBoMyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jdXN0b21lci1jYXJlIHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyBoMyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5hcHB0LWluZm8ge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5hcHB0LWluZm8gLmluZm9ybWF0aW9uLWJveCxcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5hcHB0LWluZm8gZGl2IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmFwcHQtaW5mbyBkaXYgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuYXBwdC1pbmZvIGRpdiBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuaW5mb3JtYXRpb24tYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmluZm9ybWF0aW9uLWJveCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3ggZGl2IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmluZm9ybWF0aW9uLWJveCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3ggaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MHB4OyB9XG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmluZm9ybWF0aW9uLWJveCBpbWcge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjVweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3g6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMuYXNzZXRzLXBkZiAuYXBwdC1pbmZvLXBkZiB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTc5Nzk3OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMuYXNzZXRzLXBkZiAuY3VzdG9tZXItY2FyZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMge1xuICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNlOGU4ZTk7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMjFweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmNhcnQtc3VtbWFyeS1ib3ggLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAuY2FydC1zdW1tYXJ5LWJveCAubWFpbi1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4xNTYyNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IC5tYWluLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmNhcnQtc3VtbWFyeS1ib3ggLm1haW4tc2VjdGlvbi1oZWFkZXIuc2hvdy1mb3Itc21hbGwtb25seSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIxcHg7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLmxldnktbWVzc2FnZS1vcmRlcmRldGFpbHMge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNjBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLmxldnktbWVzc2FnZS1vcmRlcmRldGFpbHMge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgcGFkZGluZzogMTBweCAwIDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXN1bW1hcnktaGVhZGVyIHtcbiAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbSAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXN1bW1hcnktaGVhZGVyIHtcbiAgICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW07IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItc3VtbWFyeS1oZWFkZXIge1xuICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAyMHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXN1bW1hcnktaGVhZGVyIC5vcmRlci1pbmZvcm1hdGlvbi1ibG9jayBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLnByb2R1Y3QtYnJhbmQsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAubGluZS1pdGVtcyAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLnByb2R1Y3QtYnJhbmQsXG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNTAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5saW5lLWl0ZW1zIC5saW5lLWl0ZW0tcHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmxpbmUtaXRlbXMgLmxpbmUtaXRlbS1wcmljZSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAucHJvZHVjdG5hbWUtY29sdW1uIC5saW5lLWl0ZW1zLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLnByb2R1Y3RuYW1lLWNvbHVtbiAubGluZS1pdGVtcy10aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5wcm9kdWN0bmFtZS1jb2x1bW4gLmxpbmUtaXRlbXMtdGl0bGUge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLnByb2R1Y3RuYW1lLWNvbHVtbiAub3JkZXItc3VtbWFyeS1wcm9kdWN0cy10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLnByb2R1Y3RuYW1lLWNvbHVtbiAub3JkZXItc3VtbWFyeS1wcm9kdWN0cy10aXRsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAucHJvZHVjdG5hbWUtY29sdW1uIC5vcmRlci1zdW1tYXJ5LXByb2R1Y3RzLXRpdGxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHAge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAuZnVsbC1uYW1lIHtcbiAgICAgIG9yZGVyOiAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLmVtYWlsIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLnBob25lLW51bWJlciB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5wb3N0YWwtY29kZSB7XG4gICAgICBvcmRlcjogMztcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbnN0YWxsYXRpb24tbm90aWNlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAyMXB4IDE1cHggMTVweDtcbiAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbnN0YWxsYXRpb24tbm90aWNlIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDE5cHggMjBweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbnN0YWxsYXRpb24tbm90aWNlIHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5zdGFsbGF0aW9uLW5vdGljZSBwIHtcbiAgICAgICAgICBmb250LXNpemU6IDExcHg7IH0gfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluc3RhbGxhdGlvbi1ub3RpY2Uge1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgLXdlYmtpdC1wcmludC1jb2xvci1hZGp1c3Q6IGV4YWN0O1xuICAgICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovIH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLmluZm9ybWF0aW9uLWJveCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAwOyB9XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5pbmZvcm1hdGlvbi1ib3gtLWZ1bGwtcGFkZGluZyB7XG4gICAgICAgICAgcGFkZGluZzogMjBweDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAuaW5mb3JtYXRpb24tYm94LS1ncmV5LWJhY2tncm91bmQge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjM7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5zZWN0aW9uLXRpdGxlLWJveC0tbm8tbWFyZ2luIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC50aXRsZS0tb3JhbmdlIHtcbiAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAucGF5bWVudC12ZXJpZmljYXRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5wYXltZW50LXZlcmlmaWNhdGlvbiAuc2VjdGlvbi1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYzO1xuICAgICAgICBwYWRkaW5nOiAwIDEycHggMTVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLm5lZWQtY2hhbmdlcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgbWFyZ2luLXRvcDogMzVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAubmVlZC1jaGFuZ2VzIHtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAzOHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5uZWVkLWNoYW5nZXMgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLm5lZWQtY2hhbmdlcyBwIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW46IDE1cHggMDsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5uZWVkLWNoYW5nZXMgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLm5lZWQtY2hhbmdlcyBhIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5uZWVkLWNoYW5nZXMgLnByaW50ZWQtdmVyc2lvbi1vbmx5IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5uZWVkLWNoYW5nZXMgLnByaW50ZWQtdmVyc2lvbi1vbmx5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAubmVlZC1jaGFuZ2VzIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAubmVlZC1jaGFuZ2VzIHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gZGl2Om5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAucGF5bWVudC12ZXJpZmljYXRpb24gcCB7XG4gICAgZGlzcGxheTogaW5saW5lOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZCB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH0gfVxuICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIgdGQge1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXN0b3JlLXRvdGFsLmJvbGQge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC1zdG9yZS10b3RhbC5ib2xkIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfSB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC1zdG9yZS10b3RhbC5ib2xkIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfSB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgLm9yZGVyLXRvdGFsIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBwcmludCB7XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgLmFtb3VudC10b3RhbC1wYWlkIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkICFpbXBvcnRhbnQ7IH0gfVxuXG4ucHJvZHVjdC1kZXRhaWxlZC1pbmZvIHtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLnByb2R1Y3QtZGV0YWlsZWQtaW5mbyAuYXR0cmlidXRlLWRhdGEge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5wcm9kdWN0LWRldGFpbGVkLWluZm8gLmF0dHJpYnV0ZS1kYXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDsgfSB9XG5cbi5zYXZlLWZvci1iaWxsaW5nIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubW9uZXJpc0lucHV0IHtcbiAgYm9yZGVyLWNvbG9yOiAjY2NjY2NjO1xuICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICBib3JkZXItd2lkdGg6IDFweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogNDBweDtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gIHBhZGRpbmctbGVmdDogMTVweDtcbiAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuI21vbmVyaXNOYW1lSW5wdXQge1xuICB3aWR0aDogMjU1cHg7IH1cblxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgZGl2OmZpcnN0LWNoaWxkLFxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgZGl2OmZpcnN0LWNoaWxkICsgZGl2IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWluaS1oZWFkZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYzOyB9XG4gIC5taW5pLWhlYWRlciAuaGVhZGVyLWxvZ28ge1xuICAgIHBhZGRpbmc6IDE2cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5taW5pLWhlYWRlciAuaGVhZGVyLWxvZ28ge1xuICAgICAgICBwYWRkaW5nOiA4cHggMDsgfSB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5taW5pLWhlYWRlciAuaGVhZGVyLWxvZ28ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgIC5taW5pLWhlYWRlciAuaGVhZGVyLWxvZ28gaW1nIHtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAzOS8xMDtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogNzhweDsgfSB9XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvIC5hY2NvdW50LWluZm8tY2hlY2tvdXQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxcHg7IH1cblxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8gLmFjY291bnQtaW5mby1jaGVja291dC1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvIC5hY2NvdW50LWluZm8tZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8uZXhwYW5kZWQgLmFjY291bnQtaW5mby1mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8uZXhwYW5kZWQgLmFjY291bnQtaW5mby1jaGVja291dCxcbi5jaGVja291dC1wZXJzb25hbC1pbmZvLmV4cGFuZGVkIC5hY2NvdW50LWluZm8tY2hlY2tvdXQtbGFiZWwsXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mby5leHBhbmRlZCAubmFtZS1sZW5ndGgtZXJyb3Ige1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvLmV4cGFuZGVkIC5hY2NvdW50LWluZm8tZm9ybS10b2dnbGUge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi51cGRhdGUtY3JlZHMtbGluayB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5yZXF1aXJlZC1maWVsZDo6YWZ0ZXIge1xuICBjb250ZW50OiBcIipcIjtcbiAgbWFyZ2luLWxlZnQ6IDNweDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAuc2VjdGlvbi1oZWFkZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLmNhcnQtc3VtbWFyeS1ib3ggLnNlY3Rpb24taGVhZGVyLnF0eS1oZWFkZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuY2FydC1zdW1tYXJ5LWJveCAuc2VjdGlvbi1oZWFkZXIudG90YWwtcHJpY2UtaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW1zIHtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW0gMDsgfSB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0ge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTsgfSB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLWRldGFpbHMge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLnByb2R1Y3QtYnJhbmQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5wcm9kdWN0LW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLXByaWNlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuICAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLXByaWNlIC5vbGQtcHJpY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS1xdWFudGl0eSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAuaXRlbS1xdWFudGl0eSxcbi5jYXJ0LXN1bW1hcnktYm94IC5wcmljZS10b3RhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0tdG90YWwge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbTsgfVxuICAuY2FydC1zdW1tYXJ5LWJveCAubWFpbi1zZWN0aW9uLWhlYWRlciAuc2VjdGlvbi1oZWFkZXIge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY2FydC1zdW1tYXJ5LWJveCAubWFpbi1zZWN0aW9uLWhlYWRlciAuYm9yZGVyLWJvdG9tIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICB3aWR0aDogMTA4JTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXN1bW1hcnktYm94IC5tYWluLXNlY3Rpb24taGVhZGVyIC5ib3JkZXItYm90b20ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMThweDtcbiAgICAgICAgd2lkdGg6IDk3LjUlOyB9IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmNhcnQtc3VtbWFyeS1ib3ggLm1haW4tc2VjdGlvbi1oZWFkZXIgLmJvcmRlci1ib3RvbSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5jYXJ0LXN1bW1hcnktYm94IC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjOyB9IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5maXJzdC1wc2V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5yZWJhdGUtYmFkZ2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3ggLnJlYmF0ZS1iYWRnZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3ggLnJlYmF0ZS1iYWRnZSB7XG4gICAgICBtYXJnaW46IDAuMzEyNXJlbSAwIDA7IH0gfVxuICAuY2FydC1zdW1tYXJ5LWJveCAucmViYXRlLWJhZGdlOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9yZWJhdGVfaWNvbi5wbmdcIikgbm8tcmVwZWF0O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgaGVpZ2h0OiAyNXB4O1xuICAgIG1hcmdpbjogMCAwLjI1cmVtIDAgMDtcbiAgICB3aWR0aDogMjVweDsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAucmViYXRlLXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZGlzcGxheTogbm9uZTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5zZXJ2aWNlLXJvdyAucHJvZHVjdC1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4ub3JkZXJkZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgbWFyZ2luOiAwIDAgMjBweDtcbiAgcGFkZGluZzogMXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXJkZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDFweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ub3JkZXJkZXRhaWxzIC5yZWJhdGUtYm94IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2hlY2tvdXQtbWluaS1jYXJ0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMzBweCAyMHB4OyB9XG4gIC5jaGVja291dC1taW5pLWNhcnQgLnNlY3Rpb24tdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAuY2hlY2tvdXQtbWluaS1jYXJ0IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBtYXJnaW46IDEuMjVyZW0gMCAwIDEuMjVyZW07IH1cbiAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtcyB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtID4gZGl2IHtcbiAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLmZpcnN0LXBzZXQge1xuICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTsgfVxuICAgICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0uc2Vjb25kLXBzZXQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgM3B4OyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5wcm9kdWN0LWJyYW5kLFxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAucHJpY2UtdG90YWwge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCAubGluZS1pdGVtLXF1YW50aXR5IC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50OyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5saW5lLWl0ZW0tcXVhbnRpdHkgLnNlY3Rpb24taGVhZGVyOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiOlwiOyB9XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCAuc2VydmljZS1yb3cge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5zZXJ2aWNlLXJvdyAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAub3JkZXItcmV2aWV3LXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgcGFkZGluZzogMCAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm9yZGVyLXJldmlldy1wYWdlIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5hcHBvaW50bWVudC1kYXRhLXRpbWUgcCB7XG4gIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuYXBwLWluZm8td3JhcHBlciBwIHtcbiAgZGlzcGxheTogaW5saW5lO1xuICBsaW5lLWhlaWdodDogMjJweDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmxvY2F0aW9uLWJveCAuc2VjdGlvbi10aXRsZSxcbi5vcmRlci1yZXZpZXctcGFnZSAubG9jYXRpb24tYm94IHAge1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgcGFkZGluZzogNTBweCAwIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDsgfSB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICBwYWRkaW5nLXRvcDogMTBweDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiBwIHtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAuZnVsbC1uYW1lIHtcbiAgICBvcmRlcjogMDsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAuZW1haWwge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5waG9uZS1udW1iZXIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5wb3N0YWwtY29kZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmRpc2NsYWltZXItY2hlY2tvdXQge1xuICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLmRpc2NsYWltZXItY2hlY2tvdXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAucmViYXRlLXRleHQsXG4uY29uZmlybWF0aW9uLXBhZ2UgLnJlYmF0ZS10ZXh0IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5yZWJhdGUtYm94LFxuLmNvbmZpcm1hdGlvbi1wYWdlIC5yZWJhdGUtYm94IHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LWFsaWduOiByaWdodDtcbiAgd2lkdGg6IDgwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5yZWJhdGUtYm94LFxuICAgIC5jb25maXJtYXRpb24tcGFnZSAucmViYXRlLWJveCB7XG4gICAgICB3aWR0aDogMjUlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAucmViYXRlLWJveCxcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnJlYmF0ZS1ib3gge1xuICAgICAgd2lkdGg6IDI3JTsgfSB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAucmViYXRlLWJhZGdlLFxuLmNvbmZpcm1hdGlvbi1wYWdlIC5yZWJhdGUtYmFkZ2Uge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG5cbi5hcHBvaW50bWVudHMuYXBwb2ludG1lbnRzLXdyYXAge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cy5hcHBvaW50bWVudHMtd3JhcCB7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBtYXJnaW46IDUwcHggMCA3NXB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4OyB9IH1cblxuLmFwcG9pbnRtZW50cyAubWFpbi10aXRsZSB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLm1haW4tdGl0bGUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZHVyYXRpb24ge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMS41NjNyZW07IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtY2FsZW5kYXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtY2FsZW5kYXIgLmxvYWRlciB7XG4gICAgYm90dG9tOiAtNGVtO1xuICAgIHRvcDogYXV0bzsgfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlN2U3ZTc7XG4gIHBhZGRpbmctYm90dG9tOiAxOHB4OyB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLWNvbnRyb2xzIHtcbiAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDEuODc1cmVtIDAgMS4yNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLWNvbnRyb2xzOjpiZWZvcmUsIC5hcHBvaW50bWVudHMgLmNsbmRyLWNvbnRyb2xzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLWNvbnRyb2xzOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItY29udHJvbHMgLm1vbnRoIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci1wcmV2aW91cy1idXR0b24sXG4uYXBwb2ludG1lbnRzIC5jbG5kci1uZXh0LWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHRleHQtaW5kZW50OiAtOTk5OXB4OyB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbixcbi5hcHBvaW50bWVudHMgLmNsbmRyLW5leHQtYnV0dG9uIHtcbiAgd2lkdGg6IDIwcHg7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItcHJldmlvdXMtYnV0dG9uOjpiZWZvcmUsXG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLW5leHQtYnV0dG9uOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtaW5kZW50OiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuY2xuZHItcHJldmlvdXMtYnV0dG9uOjpiZWZvcmUsXG4gICAgICAuYXBwb2ludG1lbnRzIC5jbG5kci1uZXh0LWJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci1wcmV2aW91cy1idXR0b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEzXCI7XG4gIGxlZnQ6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIGxlZnQ6IDIwcHg7IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci1uZXh0LWJ1dHRvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTRcIjtcbiAgcmlnaHQ6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLW5leHQtYnV0dG9uOjpiZWZvcmUge1xuICAgICAgcmlnaHQ6IDIwcHg7IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gIG1hcmdpbjogMDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSB0aGVhZCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZTtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIHRib2R5IHRyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSB0Ym9keSB0ZCB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgdGQge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5jbG5kci1jb250cm9scy53ZWVrIHtcbiAgICBwYWRkaW5nOiAyMHB4IDAgMTVweDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuaGVhZGVyLWRheSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgcGFkZGluZzogMCAwIDAuNjI1cmVtOyB9XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmhlYWRlci1kYXk6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkZGRlOyB9XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmhlYWRlci1kYXk6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZGRkZGRlOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5ldmVudCAudy1kYXksXG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5ldmVudCAubW9udGgtZGF5IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXkgLm1vbnRoLXZpZXcge1xuICAgICAgcGFkZGluZzogMTFweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5IC5tb250aC12aWV3IHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBwYWRkaW5nOiAxNXB4OyB9IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMDI0cHgpIGFuZCAobWF4LXdpZHRoOiAxMTAwcHgpIHtcbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5IC5tb250aC12aWV3IHtcbiAgICAgIHBhZGRpbmc6IDdweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTEwMHB4KSBhbmQgKG1heC13aWR0aDogMTMxOXB4KSB7XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheSAubW9udGgtdmlldyB7XG4gICAgICBwYWRkaW5nOiA5cHg7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5LmV2ZW50OmhvdmVyIC5kYXktY29udGVudHMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNzUzMDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheTpub3QoLmV2ZW50KSB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5LmFjdGl2ZS1ldmVudCAuZGF5LWNvbnRlbnRzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgIGJvcmRlci1jb2xvcjogI2M3NTMwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5maXJzdC1kYXkge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLm1vbnRoLWRheSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5LWNvbnRlbnRzIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGhlaWdodDogMjlweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgd2lkdGg6IDI5cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5LWNvbnRlbnRzIHtcbiAgICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgICB3aWR0aDogMzNweDsgfSB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC53LWRheSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAud2Vlay12aWV3IC5jb250cm9sbC13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbi5hcHBvaW50bWVudHMgLmNsbmRyLXRhYnMge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYnMgLnRhYiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTdlN2U3O1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmbGV4OiAwIDAgNTAlO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYnMgLnRhYi5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M3NTMwMDtcbiAgICAgIGJvcmRlci1jb2xvcjogI2M3NTMwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYnMgLm1vbnRoLXRhYiB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZXJyb3ItbWVzc2FnZSBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICNmMDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzLFxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lLFxuLmFwcG9pbnRtZW50cyAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGU7XG4gIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIHBhZGRpbmc6IDEuNTYzcmVtIDEuMjVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzLFxuICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSxcbiAgICAuYXBwb2ludG1lbnRzIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDA7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUsXG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSxcbiAgLmFwcG9pbnRtZW50cyAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUsXG4gICAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUsXG4gICAgICAuYXBwb2ludG1lbnRzIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSxcbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSxcbiAgLmFwcG9pbnRtZW50cyAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSxcbiAgICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSksXG4gICAgICAuYXBwb2ludG1lbnRzIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2ZmZjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSkge1xuICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgICAgd2lkdGg6IDE2LjYlOyB9IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSk6aG92ZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNzUzMDA7IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBwYWRkaW5nOiAyMHB4OyB9XG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHNwYW4ge1xuICAgIGZsZXg6IDAgMCAzMyU7XG4gICAgcGFkZGluZzogMTBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHNwYW4ge1xuICAgICAgICBmbGV4OiAwIDAgMjUlOyB9IH1cbiAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgc3Bhbi5hcHBvaW50bWVudC1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M3NTMwMDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNzUzMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4uYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nLWJvdHRvbTogMS41NjNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDAuOTM3NXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cblxuLmFwcG9pbnRtZW50cyAuZWRpdC1hcHBvaW50bWVudCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5lZGl0LWFwcG9pbnRtZW50IHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwdC1leHBpcnkge1xuICBtYXJnaW46IDEuMjVyZW0gMCAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmFwcHQtZXhwaXJ5IHAge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hcHBvaW50bWVudHMgLm5lZWQtaGVscC1jaGVja291dC1hcHBvaW50bWVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiA1MHB4IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAubmVlZC1oZWxwLWNoZWNrb3V0LWFwcG9pbnRtZW50IHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5uZWVkLWhlbHAtY2hlY2tvdXQtYXBwb2ludG1lbnQgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudHMgLm5lZWQtaGVscC1jaGVja291dC1hcHBvaW50bWVudCBwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5uZWVkLWhlbHAtY2hlY2tvdXQtYXBwb2ludG1lbnQgYSB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1idXR0b25zLWJveCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1idXR0b25zLWJveC53aXRoLWFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3ggLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5hcHBvaW50bWVudC1idXR0b25zLWJveCAuYXBwb2ludG1lbnQtY29udGludWUge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3ggLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBtYXgtd2lkdGg6IDM3NnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IC5hcHB0LWV4cGlyeSBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuYXBwb2ludG1lbnQtcGFnZS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmFwcG9pbnRtZW50LXBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5hcHBvaW50bWVudC1wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAudmVydGljYWwtYWxpZ24ge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgYm9yZGVyLXJpZ2h0OiAwO1xuICBmbGV4OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuc3RhcnRfbG9jYXRpb24ge1xuICAgICAgaGVpZ2h0OiA0NXB4OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnNlYXJjaC1zdG9yZSB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiA0MHB4O1xuICBwYWRkaW5nOiAxM3B4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5zZWFyY2gtc3RvcmUge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgbWF4LXdpZHRoOiAxMzRweDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlICNtYXAtYm94IHtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgI21hcC1ib3gge1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMC42MjVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAudG9nZ2xlLW1hcCB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBsaW5lLWhlaWdodDogMzlweDtcbiAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAudG9nZ2xlLW1hcCB7XG4gICAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gICAgICBtYXgtd2lkdGg6IDEzOXB4O1xuICAgICAgcGFkZGluZzogMCAxNXB4OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLm1hcC12aWV3IHtcbiAgbWF4LWhlaWdodDogMzYwcHggIWltcG9ydGFudDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLm1hcC12aWV3IHtcbiAgICAgIG1heC1oZWlnaHQ6IDUwMHB4ICFpbXBvcnRhbnQ7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5sb2NhdGlvbi1pdGVtIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5sb2NhdGlvbi1pdGVtLXdyYXBwZXIge1xuICBwYWRkaW5nOiA1MHB4IDAgNTVweDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5tb3JlLXRpbWVzIC5idXR0b24sXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5ib29rLW5vdyAuYnV0dG9uIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAubW9yZS10aW1lcyAuYnV0dG9uLFxuICAgIC5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmJvb2stbm93IC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAxNXB4IDAgMDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLm1vcmUtdGltZXM6bm90KC5zdG9yZWQtaGVyZS1idG4pIHtcbiAgcGFkZGluZy1sZWZ0OiA3cHg7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAubW9yZS10aW1lcyAuaG9sbG93IHtcbiAgcGFkZGluZzogMTNweCAxNXB4OyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnN0b3JlZC1oZXJlLWJ0biB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIG1hcmdpbjogMjBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnN0b3JlZC1oZXJlLWJ0biB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5zdG9yZWQtaGVyZS1idG4gLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuc3RvcmVkLWhlcmUtYnRuIC5idXR0b24ge1xuICAgICAgICBtYXgtd2lkdGg6IDI0MXB4OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuc3RvcmVkLXRpcmVzIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmJvb2stbm93IHtcbiAgcGFkZGluZy1yaWdodDogN3B4OyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnNob3ctc3RvcmUtYm94IHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5zaG93LXN0b3JlLWluZm8ge1xuICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9saXN0dmlld0Fycm93LnBuZ1wiKTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBoZWlnaHQ6IDE2cHg7XG4gIHdpZHRoOiAxMHB4OyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmhpZ2hsaWdodC1vdXRvZnN0b2NrLXN0b3JlIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuaGlnaGxpZ2h0LW91dG9mc3RvY2stc3RvcmUudHJhbnNpdGlvbi10by1lbmQge1xuICAgIGJvcmRlci13aWR0aDogMDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIHAsXG4uYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyBwLFxuICAgIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCBwIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWl0ZW0tbmFtZSAubmlja25hbWUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24taXRlbS1kaXN0YW5jZSB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luLXRvcDogNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24taXRlbS1kaXN0YW5jZSB7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWF2YWlsYWJpbGl0eSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7XG4gIG1hcmdpbjogMC42MjVyZW0gMCAwOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1hdmFpbGFiaWxpdHkgLmF2YWlsYWJpbGl0eS1tZXNzYWdlIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtYXZhaWxhYmlsaXR5IC5lYXJsaWVzdC1hdmFpbGFibGUgLnNsb3QtaW5mbyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1hdmFpbGFiaWxpdHkgLmVhcmxpZXN0LWF2YWlsYWJsZSAuc2VhcmNoaW5nLWZvci1hdmFpbGFiaWxpdHkge1xuICAgIGNvbG9yOiAjZjAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1hdmFpbGFiaWxpdHkgLmVhcmxpZXN0LWF2YWlsYWJsZSAuZmxvYXQtY2xlYXItYm90aCB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLm5vLXRyYWlsZXItc2VydmljZSB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMzsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5hcHBvaW50bWVudC1wYWdlIC5yYXRpbmctZGlzdGFuY2UtYm94IHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmJhY2stYW5kLXBhZ2luYXRpb24td3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDEuODc1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5iYWNrLWFuZC1wYWdpbmF0aW9uLXdyYXBwZXIge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgbWFyZ2luOiAxLjg3NXJlbSAwIC0xLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuYmFjay1hbmQtcGFnaW5hdGlvbi13cmFwcGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmJhY2stYW5kLXBhZ2luYXRpb24td3JhcHBlciAuc3RlcC1iYWNrLWxpbmsge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmJhY2stYW5kLXBhZ2luYXRpb24td3JhcHBlciAucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5tYXAtaW5mb2JveCAuc3RvcmUtYmFjay1ib3gge1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5tYXAtaW5mb2JveCAuc3RvcmUtYmFjayB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCB7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5sb2NhdGlvbi1kaXN0YW5jZSB7XG4gICAgcGFkZGluZzogMjBweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5sb2NhdGlvbi1kaXN0YW5jZSB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAubW9yZS1pbmZvLWJveCB7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwIDEuODc1cmVtOyB9XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5tb3JlLWluZm8tYm94IC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAubW9yZS1pbmZvLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMCAwIDEuMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLm1vcmUtaW5mby10aXRsZTo6YWZ0ZXIge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICByaWdodDogYXV0bzsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLnN1Ym1lbnUge1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAucGhvbmUtbnVtYmVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5ib29raW5nLW5vdC1hdmFpbGFibGUge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgbWFyZ2luOiAwIDAgMi4xODhyZW07XG4gIHBhZGRpbmc6IDAgMCAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmJvb2tpbmctbm90LWF2YWlsYWJsZSB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmJvb2tpbmctbm90LWF2YWlsYWJsZSBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LXBhZ2UgLmJvb2tpbmctbm90LWF2YWlsYWJsZSBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24tZmlsdGVycyB7XG4gIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24tZmlsdGVycyB7XG4gICAgICBtYXgtd2lkdGg6IDIzNnB4OyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWZpbHRlcnMgbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxM3B4IDAgMCAxNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24tZmlsdGVycyBzZWxlY3Qge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogODBweDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuc2VsZWN0LWxvY2F0aW9uLXdyYXBwZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAge1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcG9wdXAtd3JhcCB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIHJpZ2h0OiAxLjEyNXJlbTtcbiAgICB0b3A6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIC5jbG9zZS1idXR0b24ge1xuICAgICAgICByaWdodDogMS43NXJlbTtcbiAgICAgICAgdG9wOiAxLjQzOHJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIGgzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgIHdpZHRoOiA4MCU7IH1cbiAgLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAgcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTsgfVxuICAuYXBwb2ludG1lbnQtcG9wdXAtd3JhcCAuYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIC5idXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3N0b3JhZ2VNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4ge1xuICAgIG9yZGVyOiAxOyB9XG4gICNzdG9yYWdlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0bixcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gICAgb3JkZXI6IDI7IH0gfVxuXG4jc3RvcmFnZU1vZGFsLnRyYWlsZXItYXBwb2ludG1lbnQtbW9kYWwsXG4jdHJhaWxlclRpcmVNb2RhbC50cmFpbGVyLWFwcG9pbnRtZW50LW1vZGFsIHtcbiAgaGVpZ2h0OiBhdXRvO1xuICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgbWluLWhlaWdodDogdW5zZXQ7IH1cblxuI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudCxcbiN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZzogMzBweCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDsgfSB9XG4gICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50LFxuICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnN0ZXAtdGl0bGUsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnN0ZXAtdGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICMwMDA7IH0gfVxuICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5jbG9zZS1idXR0b24sXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5jbG9zZS1idXR0b24ge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLFxuICAgICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzRjNGM0O1xuICAgICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1bnNldDsgfSB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUudGl0bGUtbGFyZ2UsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnRpdGxlLWxhcmdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnRpdGxlLXNtYWxsLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUuc2Vjb25kLXN0ZXAtbW9kYWwtdGl0bGUsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnNlY29uZC1zdGVwLW1vZGFsLXRpdGxlIHtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxMnB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLmNsb3NlLWJ1dHRvbixcbiAgICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5yZXR1cm4tc3RlcC1idXR0b24sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLmNsb3NlLWJ1dHRvbixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAucmV0dXJuLXN0ZXAtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzRjNDtcbiAgICAgICAgY29sb3I6ICNmZmY7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNzdG9yYWdlTW9kYWwgLm1haW4tbW9kYWwtdGl0bGUuc2Vjb25kLXN0ZXAsXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5tYWluLW1vZGFsLXRpdGxlLnNlY29uZC1zdGVwIHtcbiAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuI3N0b3JhZ2VNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlLFxuI3RyYWlsZXJUaXJlTW9kYWwgLnNlY29uZGFyeS1tb2RhbC10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNzdG9yYWdlTW9kYWwgLnNlY29uZGFyeS1tb2RhbC10aXRsZS5zZWNvbmQtc3RlcCxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlLnNlY29uZC1zdGVwIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuI3N0b3JhZ2VNb2RhbCBpbWc6bm90KC50cmFpbGVyLWltYWdlKSxcbiN0cmFpbGVyVGlyZU1vZGFsIGltZzpub3QoLnRyYWlsZXItaW1hZ2UpIHtcbiAgbWF4LXdpZHRoOiA2OHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIGltZzpub3QoLnRyYWlsZXItaW1hZ2UpLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIGltZzpub3QoLnRyYWlsZXItaW1hZ2UpIHtcbiAgICAgIG1heC13aWR0aDogODZweDsgfSB9XG5cbiNzdG9yYWdlTW9kYWwgcCxcbiN0cmFpbGVyVGlyZU1vZGFsIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDEwcHggMCAyMHB4OyB9XG5cbiNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLFxuI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlcixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gICNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyIC5pbmZvLWJ0bixcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyIC5pbmZvLWJ0biB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkOGQ4ZDg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlciAuaW5mby1idG4sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIgLmluZm8tYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24sXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICBtaW4taGVpZ2h0OiAyMzNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAyMzNweDsgfSB9XG4gICAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24udHJhaWxlci1pbmZvLWJ1dHRvbnMsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24udHJhaWxlci1pbmZvLWJ1dHRvbnMsXG4gICAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbi50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9IH1cblxuI3N0b3JhZ2VNb2RhbCAuYXJlLXN0b3JlZC1idG4sXG4jdHJhaWxlclRpcmVNb2RhbCAuYXJlLXN0b3JlZC1idG4ge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5hcmUtc3RvcmVkLWJ0bixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuYXJlLXN0b3JlZC1idG4ge1xuICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgbWF4LXdpZHRoOiAxNTJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3N0b3JhZ2VNb2RhbCAubm90LXN0b3JlZC1idG4sXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5ub3Qtc3RvcmVkLWJ0biB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDsgfSB9XG5cbiNzdG9yYWdlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4sXG4jc3RvcmFnZU1vZGFsIC5icmluZ2luZy13aGVlbC1idG4sXG4jdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiN0cmFpbGVyVGlyZU1vZGFsIC5icmluZ2luZy13aGVlbC1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMTZweCAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgICNzdG9yYWdlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0bixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODA4Mjg1O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtaGVpZ2h0OiA0OHB4O1xuICAgICAgbWF4LXdpZHRoOiAyMzZweDtcbiAgICAgIHBhZGRpbmc6IDdweCAxMHB4OyB9IH1cblxuI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLFxuI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQsXG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAucmV0dXJuLXN0ZXAtYnV0dG9uLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAudGl0bGUudGl0bGUtc21hbGwsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5tb2RhbC1oZWFkZXIsXG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAubW9kYWwtaGVhZGVyLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLm1vZGFsLWhlYWRlci5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlLFxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLm1vZGFsLWhlYWRlci5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5idXR0b24td3JhcHBlci5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAgLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUsXG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAgLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAgLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUuc2Vjb25kLXN0ZXAtYWN0aXZlLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAgLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUuc2Vjb25kLXN0ZXAtYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8sXG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5uZXh0LXN0ZXAudHJhaWxlci1pbmZvIC50aXRsZS50aXRsZS1zbWFsbCxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8gLnRpdGxlLnRpdGxlLXNtYWxsIHtcbiAgICAgIGNvbG9yOiAjOTc5Nzk3OyB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8gLnRyYWlsZXItaW5mby1idXR0b25zLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyAudHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCxcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwYWRkaW5nLXRvcDogNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAudHJhaWxlci1pbmZvLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcC50cmFpbGVyLWluZm8ge1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwLnRyYWlsZXItaW5mbyAudHJhaWxlci1pbmZvLWJ1dHRvbnMsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAudHJhaWxlci1pbmZvIC50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAudGl0bGUudGl0bGUtc21hbGwsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlcixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IHVuc2V0OyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLnRyYWlsZXItbW9kYWwtYnRuLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAudHJhaWxlci1tb2RhbC1idG4ge1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy13aGVlbC1idG4sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U0ZTRlNDtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgb3JkZXI6IDE7IH1cbiAgICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy10cmFsZXItYnRuLnNlbGVjdGVkLXN0ZXAtb3B0aW9uLFxuICAgICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLmJyaW5naW5nLXdoZWVsLWJ0bi5zZWxlY3RlZC1zdGVwLW9wdGlvbixcbiAgICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctdHJhbGVyLWJ0bi5zZWxlY3RlZC1zdGVwLW9wdGlvbixcbiAgICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctd2hlZWwtYnRuLnNlbGVjdGVkLXN0ZXAtb3B0aW9uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjYzc1MzAwO1xuICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgb3JkZXI6IDI7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuc2VsZWN0ZWQtc3RlcC1vcHRpb24sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5zZWxlY3RlZC1zdGVwLW9wdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4jc3RvcmFnZU1vZGFsIC5yZXR1cm4tc3RlcC1idXR0b24sXG4jdHJhaWxlclRpcmVNb2RhbCAucmV0dXJuLXN0ZXAtYnV0dG9uIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctcmlnaHQ6IDI3cHg7XG4gIHBvc2l0aW9uOiB1bnNldDtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5yZXR1cm4tc3RlcC1idXR0b24sXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnJldHVybi1zdGVwLWJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC5yZXR1cm4tc3RlcC1idXR0b24ubm90LXN0ZXAtb25lLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnJldHVybi1zdGVwLWJ1dHRvbi5ub3Qtc3RlcC1vbmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbiNsaWNlbnNlUGxhdGVNb2RhbCAubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDAgMjVweDsgfVxuXG4jbGljZW5zZVBsYXRlTW9kYWwgI2xpY2Vuc2VQbGF0ZVN1Ym1pdCB7XG4gIG1heC13aWR0aDogMjUwcHg7IH1cblxuI2xpY2Vuc2VQbGF0ZU1vZGFsICNsaWNlbnNlLXBsYXRlLW51bWJlciB7XG4gIHBhZGRpbmc6IDAgNjVweDsgfVxuXG4jbGljZW5zZVBsYXRlTW9kYWwgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICN0cmFpbGVyVGlyZU1vZGFsLnJldmVhbCB7XG4gICAgd2lkdGg6IDc3NXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtaGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgbWFyZ2luOiAzMHB4IDMwcHggMDsgfSB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLXRpcmUtaGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLXRpcmUtaGVhZGVyIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci10aXJlLWhlYWRlciAubW9kYWwtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTBweDsgfSB9XG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLXRpcmUtaGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuYWN0aXZlLXRpdGxlIC5zdGVwLW1lc3NhZ2Uge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2ZmNjkwMDtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmc6IDRweCAwIDJweDsgfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnNlY29uZGFyeS1tb2RhbC10aXRsZS5kaXNhYmxlZCB7XG4gIGNvbG9yOiAjODA4MDgwO1xuICBjdXJzb3I6IGF1dG87IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5zdGVwLXRpdGxlIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5zdGVwLXRpdGxlIHtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH0gfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnNlY29uZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuc2Vjb25kLXRpdGxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuc2Vjb25kLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMzBweCAzMHB4IDA7IH0gfVxuICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnNlY29uZC10aXRsZS5hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCB7XG4gICAgaGVpZ2h0OiA0MDBweDtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47IH0gfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IGJ1dHRvbi5jbG9zZS1idXR0b24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAge1xuICBkaXNwbGF5OiBibG9jazsgfVxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwIC50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAjdHJhaWxlclRpcmVNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlIC5zdGVwLWFycm93IHtcbiAgICBjb2xvcjogIzgwODA4MDtcbiAgICBwYWRkaW5nOiAwIDEzcHg7IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgI3RyYWlsZXJUaXJlTW9kYWxFeGl0IHtcbiAgcGFkZGluZy1yaWdodDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgI3RyYWlsZXJUaXJlTW9kYWxFeGl0IHtcbiAgICAgIGxlZnQ6IDMwMHB4O1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwOyB9IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4sXG4jdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgY29sb3I6ICMwMDA7IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcixcbiN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXJXaGVlbCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1heC1oZWlnaHQ6IG5vbmU7XG4gIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyV2hlZWwge1xuICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgdHJhbnNwYXJlbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXJXaGVlbCB7XG4gICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgIHBhZGRpbmc6IDMwcHggMjBweDsgfSB9XG4gICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXI6aG92ZXIsXG4gICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXJXaGVlbDpob3ZlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2ZmNjkwMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXIgaW1nLFxuICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyV2hlZWwgaW1nIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LWhlaWdodDogOTBweDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlciBpbWcsXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyV2hlZWwgaW1nIHtcbiAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDsgfSB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLWJ0biB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmN2Y3Zjc7XG4gIGJvcmRlcjogMDsgfVxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1idG46aG92ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZjY5MDA7XG4gICAgcGFkZGluZy1yaWdodDogMjhweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICN0cmFpbGVyVGlyZU1vZGFsIC5jaG9vc2UtYWN0aW9uLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDM2MHB4KTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXJUeXBlLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDI3MHB4KTtcbiAgICBncmlkLXRlbXBsYXRlLXJvd3M6IHJlcGVhdCgyLCA3NnB4KTsgfSB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyTGVuZ3RoLmN1cnJlbnQgLnNlY29uZC10aXRsZSB7XG4gIG1hcmdpbi10b3A6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlckxlbmd0aC5jdXJyZW50IC5idXR0b24td3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxNzBweCk7IH0gfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgLm1vZGFsLWNvbnRlbnQsXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZzogMjBweDsgfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgLmNsb3NlLWJ1dHRvbixcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLmNsb3NlLWJ1dHRvbiB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuI2FwcG9pbnRtZW50U2VjdXJlIC50aXRsZSxcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLnRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbiNhcHBvaW50bWVudFNlY3VyZSBpbWcsXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IGltZyB7XG4gIG1heC13aWR0aDogNjhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2FwcG9pbnRtZW50U2VjdXJlIGltZyxcbiAgICAjc2VsZWN0ZU5ld0FwcG9pbnRtZW50IGltZyB7XG4gICAgICBtYXgtd2lkdGg6IDg2cHg7IH0gfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgcCxcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG5cbiNhcHBvaW50bWVudFNlY3VyZSAuYnV0dG9uLXdyYXBwZXIsXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5idXR0b24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2FwcG9pbnRtZW50U2VjdXJlIC5idXR0b24td3JhcHBlcixcbiAgICAjc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5idXR0b24td3JhcHBlciB7XG4gICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cblxuI2FwcG9pbnRtZW50U2VjdXJlIC5hcmUtc3RvcmVkLWJ0bixcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQgLmFyZS1zdG9yZWQtYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2FwcG9pbnRtZW50U2VjdXJlIC5hcmUtc3RvcmVkLWJ0bixcbiAgICAjc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5hcmUtc3RvcmVkLWJ0biB7XG4gICAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gICAgICBtYXgtd2lkdGg6IDE1MnB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjYXBwb2ludG1lbnRTZWN1cmUgLm5vdC1zdG9yZWQtYnRuLFxuICAjc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5ub3Qtc3RvcmVkLWJ0biB7XG4gICAgbWF4LXdpZHRoOiAyMjVweDsgfSB9XG5cbi5hcHBvaW50bWVudC1jb25maXJtYXRpb24ge1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnRpdGxlLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuc2VjdWRyZWQtdGl0bGUge1xuICAgIHBhZGRpbmc6IDE0cHggMCAxNHB4IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5zZWN1ZHJlZC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5yZXN0YXJ0LWJ1dHRvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4OyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmV4cGlyeSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHBhZGRpbmc6IDAgMTBweCAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuZXhwaXJ5IHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgNTBweDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWNvbnRlbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1jb250ZW50IHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1hZGRyZXNzLXdyYXBwZXIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWFkZHJlc3Mtd3JhcHBlciB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAubG9jYXRpb24taGVhZGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5zZWxlY3RlZC1hcHBvaW50bWVudC1pbmZvIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1idXR0b25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWJ1dHRvbnMge1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tdG9wOiA2MHB4OyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuY29uZmlybS1idXR0b24ge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5jb25maXJtLWJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICAgICAgb3JkZXI6IDE7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5iYWNrLWJ1dHRvbiB7XG4gICAgZmxleDogMCAwIDEwMCU7XG4gICAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmJhY2stYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDE5NnB4O1xuICAgICAgICBvcmRlcjogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmFwcG9pbnRtZW50LWR1cmF0aW9uIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAubG9jYXRpb24taXRlbS1uYW1lLFxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5sb2NhdGlvbi1pdGVtLWFkZHJlc3Mge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmxvY2F0aW9uLWl0ZW0tbmFtZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAubG9jYXRpb24tdGl0bGUge1xuICAgIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnJlc3RhcnQtYXBwb2ludG1lbnQge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5jaXR5IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC56aXAtY29kZSxcbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuc3RhdGUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5uby1wYWRkaW5nLWxlZnQtbGFyZ2Uge1xuICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5uby1wYWRkaW5nLXJpZ2h0LWxhcmdlIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYmxhY2sge1xuICBjb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLndoaXRlIHtcbiAgY29sb3I6ICNmZmYgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5vcmFuZ2Uge1xuICBjb2xvcjogI2ZmNjkwMCAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmRhcmtlci1ncmF5IHtcbiAgY29sb3I6ICMyNjI2MjYgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5oYXMtc2hhZGRvdyB7XG4gIHRleHQtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5iYWNrZ3JvdW5kLWJsYWNrIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzAwMCAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJhY2tncm91bmQtd2hpdGUge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYmFja2dyb3VuZC1vcmFuZ2Uge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYmFja2dyb3VuZC1kYXJrZXItZ3JheSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjYgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIGg1IGEge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIHtcbiAgY29sb3I6ICNmZmY7XG4gIGhlaWdodDogMTAwJTtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgLmJhbm5lci10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMy43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIC5iYW5uZXItdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDIuNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIC5iYW5uZXItc3VidGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgLmJhbm5lci1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwOyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWZpZ3VyZSBmaWdjYXB0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIGZpZ2NhcHRpb24gLnJvdyB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtaW1hZ2Uge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG9iamVjdC1maXQ6IGNvdmVyO1xuICBvYmplY3QtcG9zaXRpb246IHZhcigtLWZvY2FsLXBvaW50LXgpIHZhcigtLWZvY2FsLXBvaW50LXkpOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnZpZGVvLWFydGljbGUge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudmlkZW8tYXJ0aWNsZSBpIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtbWFpbi1pbWFnZSAudmlkZW8tYXJ0aWNsZSBpLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC52aWRlby1hcnRpY2xlIGksXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAudmlkZW8tYXJ0aWNsZSBpIHtcbiAgICBmb250LXNpemU6IDYwcHg7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlLWFydGljbGUtaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiAxOC43NXJlbTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLWV4cGxvcmV0b3BpYyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3Mge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBwYWRkaW5nOiA1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLWV4cGxvcmV0b3BpYyxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIHtcbiAgICAgIHBhZGRpbmc6IDIuNXJlbSAwOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtbGluay10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMi4xODc1cmVtO1xuICBsaW5lLWhlaWdodDogMi4xODc1cmVtO1xuICBwYWRkaW5nLWJvdHRvbTogMC45Mzc1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWxpbmstdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnRvcGljLWxpbmsge1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnRvcGljLWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS50b3BpYy1saW5rIC50b3BpYy1saW5rLWltYWdlIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDQwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnRvcGljLWxpbmsgaSB7XG4gICAgZm9udC1zaXplOiA0MHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS50b3BpYy1saW5rIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZy10b3A6IDAuMzEyNXJlbTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wb3B1bGFyLXJlYWRzIHtcbiAgbWFyZ2luOiA1MHB4IDAgMjBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlcy1pbmZpbml0ZSB7XG4gIG1hcmdpbjogMjBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlcy1pbmZpbml0ZSB7XG4gICAgICBtYXJnaW46IDUwcHggMCAyMHB4OyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucG9wdWxhci1yZWFkcy10b3AsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5yZWxhdGVkLXJlYWRzLXRvcCB7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucG9wdWxhci1yZWFkcy10aXRsZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDAuODc1cmVtO1xuICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wb3B1bGFyLXJlYWRzLWxpbmsge1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmN2Y3Zjc7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1pbmZvIHtcbiAgcGFkZGluZzogMTVweCAxNXB4IDZweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC10YWcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBoZWlnaHQ6IDM4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtbGluay50ZXh0LWxpbmsge1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1saW5rLnRleHQtbGluay5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1saW5rLnRleHQtbGluazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiID5cIjsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWxpbmsudGV4dC1saW5rLnRleHQtbGluay1jdXN0b206OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGFpbmVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWxpbmstZnVsbCB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUge1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5hcnRpY2xlLWluZm8sXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS1pbmZvIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNjI2O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiA1MHB4IDUwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS1pbmZvLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5mZWF0dXJlZC10YWcsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuZmVhdHVyZWQtdGFnIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNDI0MjQyO1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmb250LXNpemU6IDAuNTYyNXJlbTtcbiAgICBwYWRkaW5nOiA0cHggN3B4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS10aXRsZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuOTM3NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMnJlbTtcbiAgICBwYWRkaW5nOiAxNnB4IDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS10aXRsZSxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS43NXJlbTsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmFydGljbGUtZGVzY3JpcHRpb24sXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS1kZXNjcmlwdGlvbiB7XG4gICAgZGlzcGxheTogLXdlYmtpdC1ib3g7XG4gICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICBtYXgtaGVpZ2h0OiAzNnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmFydGljbGUtZGVzY3JpcHRpb24sXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtZGVzY3JpcHRpb24ge1xuICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDM7XG4gICAgICAgIG1heC1oZWlnaHQ6IDU1cHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5hcnRpY2xlLWxpbmsuYnV0dG9uLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtbGluay5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgIHBhZGRpbmc6IDEycHggMjRweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlcy1sYXlvdXQgLmZlYXR1cmUtYXJ0aWNsZS1pbWFnZSB7XG4gIG1heC1oZWlnaHQ6IDE2cmVtOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtaW5mbyB7XG4gICAgcGFkZGluZzogMjJweCAzMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS10aXRsZSB7XG4gICAgcGFkZGluZzogMjZweCAwIDEwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbWFyZ2luOiA1cHggMCAyMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWJyZWFkY3J1bWIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNjI2O1xuICBjb2xvcjogI2ZmZjsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1icmVhZGNydW1iIC5hcnRpY2xlLWJyZWFkY3J1bWJzIHtcbiAgICBtYXJnaW46IDE1cHggMCA1cHg7IH1cbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1icmVhZGNydW1iIC5hcnRpY2xlLWJyZWFkY3J1bWJzIGEsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtYnJlYWRjcnVtYiAuYXJ0aWNsZS1icmVhZGNydW1icyBwIHtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWJyZWFkY3J1bWIgLnRvcGljLXRpdGxlIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWJyZWFkY3J1bWIgLnRvcGljLXRpdGxlLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICBtYXJnaW46IDAgMCAyNXB4IDEwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1icmVhZGNydW1icyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAxMHB4IDAgMjBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWJyZWFkY3J1bWJzIGEsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtYnJlYWRjcnVtYnMgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAwLjY4NzVyZW07IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0xLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0yLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0zIHtcbiAgcGFkZGluZy1ib3R0b206IDEwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0xIGE6OmFmdGVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0xIHA6OmFmdGVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0yIGE6OmFmdGVyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0yIHA6OmFmdGVyIHtcbiAgY29udGVudDogXCIvXCI7XG4gIG1hcmdpbjogMCA2cHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYnJlYWRjcnVtYi1sZXZlbC0zIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDA7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHtcbiAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIG9sLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGg0LFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB1bCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgb2wsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIGg0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgb2wsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBvbCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgb2wsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBvbCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGgxLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBoMSB7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGgyLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBoMiB7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGgzLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBoMyB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgaDQsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIGg0IHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIC5hcnRpY2xlLXBhZ2UtdGl0bGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIC5hcnRpY2xlLXBhZ2UtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuNTYyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIC5hcnRpY2xlLXBhZ2UtdGl0bGUsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCAuYXJ0aWNsZS1wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgLmFydGljbGUtbWFpbi1pbWFnZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgLmFydGljbGUtbWFpbi1pbWFnZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIC5hcnRpY2xlLXBhZ2UtY29udGVudCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgLmFydGljbGUtcGFnZS1jb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgb2wsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIG9sIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgb2wsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBvbCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIHVsIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgdWwsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB1bCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgaW1nLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMCBhdXRvOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgLnByb2R1Y3QtaW1hZ2UtYmFkZ2UgaW1nLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCAucHJvZHVjdC1pbWFnZS1iYWRnZSBpbWcge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5ib3R0b20tYm9yZGVyLTJwLWdyYXkge1xuICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2Q5ZDlkYTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC52aWRlby1hcnRpY2xlLWxpbmsge1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS12aWRlbyB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIG1hcmdpbi10b3A6IDUwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLXVwLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMjBweCAwIDUwcHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdGl0bGUgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luOiAwIDAgNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC1zdWJ0aXRsZSBwIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC10cmlnZ2VycyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdHJpZ2dlcnMgaSB7XG4gICAgY29sb3I6ICNiMGIxYjM7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAyLjYyNXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdHJpZ2dlcnMgaS5hY3RpdmUge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC10cmlnZ2VyLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLWRvd24tdHJpZ2dlciB7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdHJpZ2dlciB7XG4gIG1hcmdpbi1yaWdodDogMTBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtZG93bi10cmlnZ2VyIHtcbiAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gIHBhZGRpbmctdG9wOiAxMnB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZXh0ZXJuYWwtc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1leHRlcm5hbC1zZWN0aW9uIC5hcnRpY2xlLWV4dGVybmFsLWNvbnRlbnQge1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24gLmFydGljbGUtZXh0ZXJuYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24gLmFydGljbGUtZXh0ZXJuYWwtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24gLmFydGljbGUtZXh0ZXJuYWwtc3VidGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24gLmJ1dHRvbiB7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMge1xuICBwYWRkaW5nOiA1MHB4IDEwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIHtcbiAgICAgIHBhZGRpbmc6IDUwcHggMzBweCAwIDEwcHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMgcCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgcGFkZGluZy1ib3R0b206IDMwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZmlsdGVycyBhOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMgLmFjdGl2ZS1saW5rIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMgLnN1YmNhdGVnb3J5LXJlZ2lvbiB7XG4gICAgbWFyZ2luOiAwIDAgMTBweCAxMHB4OyB9XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIC5zdWJjYXRlZ29yeS1yZWdpb24gYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb3VudCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY291bnQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIHAuYXJ0aWNsZS1jb3VudC1tb2JpbGUge1xuICBib3JkZXItYm90dG9tOiAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxMHB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBwLmFydGljbGUtY291bnQtbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEucmVmaW5lbWVudC1maWx0ZXItdG9nZ2xlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEucmVmaW5lbWVudC1maWx0ZXItdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEucmVmaW5lbWVudC1maWx0ZXItdG9nZ2xlLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS5yZWZpbmVtZW50LWZpbHRlci10b2dnbGUuYWN0aXZlIDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU4MDdcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMTVweDtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWZpbHRlcnMge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjY2NjO1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1maWx0ZXJzIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IC5jb2x1bW4tY29udGVudCB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCAuY29sdW1uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiA0cHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgcCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IG9sIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCBwLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgdWwsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCBvbCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZsZXgtY2VudGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW9wdGlvbmFsLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDI0cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1vcHRpb25hbC10aXRsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wcm9kdWN0Y2FyZHJpZ2h0LFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJkbGVmdCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wcm9kdWN0Y2FyZHNjZW50ZXJlZCB7XG4gIG1hcmdpbjogMS44NzVyZW0gMDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wb3dlcnJldmlld3MtY29udGFpbmVyIHtcbiAgbWluLWhlaWdodDogMzNweDsgfVxuXG4udmlkZW8tYXJ0aWNsZS1wb3B1cCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgcmlnaHQ6IDE2cHg7XG4gIHRvcDogLTI4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC52aWRlby1hcnRpY2xlLXBvcHVwIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICB0b3A6IC0yOHB4OyB9IH1cblxuLnZpZGVvLWFydGljbGUtcG9wdXAgI2RpYWxvZy1jb250YWluZXIge1xuICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGgge1xuICAgIGhlaWdodDogMzcxcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGggLnRpdGxlLXJvdyB7XG4gICAgICBtYXJnaW46IDAgMCAwIDM0NXB4O1xuICAgICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfVxuICAgICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGggLnRpdGxlLXJvdyAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiA2NXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4OyB9XG4gICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1oZWFkbGluZWJhbm5lcmZ1bGx3aWR0aCAudGl0bGUtcm93IC5iYW5uZXItc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWhlYWRsaW5lYmFubmVyZnVsbHdpZHRoIC50aXRsZS1yb3cgLnN1YnRpdGxlLXJvdyB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1oZWFkbGluZWJhbm5lcmZ1bGx3aWR0aCAudGl0bGUtcm93IC5zdWJ0aXRsZS1yb3cgLnN1YnRpdGxlLWNvbHVtbiB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIHtcbiAgICBoZWlnaHQ6IDQwOHB4O1xuICAgIHBhZGRpbmc6IDEyMHB4IDA7IH1cbiAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIC50b3BpYy1saW5rLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDsgfVxuICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3MgLnRvcGljLWNvbHVtbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCAyNHB4O1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyAudG9waWMtY29sdW1uIC50b3BpYy1saW5rIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuICAgICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIC50b3BpYy1jb2x1bW4gLnRvcGljLWxpbmsgaSB7XG4gICAgICAgICAgZm9udC1zaXplOiA1NnB4O1xuICAgICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIC50b3BpYy1jb2x1bW4gLnRvcGljLWxpbmsgcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAyMnB4OyB9XG4gICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wb3B1bGFycmVhZHMgLnBvcHVsYXItcmVhZHMge1xuICAgIG1hcmdpbjogMTAwcHggMCA3MHB4OyB9XG4gICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wb3B1bGFycmVhZHMgLnBvcHVsYXItcmVhZHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICBoZWlnaHQ6IDIzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDIxcHg7IH1cbiAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLXBvcHVsYXJyZWFkcyAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWxheW91dHMtcG9wdWxhcnJlYWRzIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgbWFyZ2luOiAxLjg3NXJlbSAwIDEuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMy4xMjVyZW0gMDsgfSB9XG5cbi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtb3JkZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC1vcmRlciBpbnB1dFt0eXBlPVwibnVtYmVyXCJdIHtcbiAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IH1cbiAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC1vcmRlciBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC1vcmRlciBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cblxuLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtd3JhcHBlciB7XG4gICAgICBib3JkZXI6IDAuMzEyNXJlbSBzb2xpZCByZ2JhKDI0MiwgMjQyLCAyNDIsIDAuOCk7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgcGFkZGluZzogNXJlbSAwIDIuNXJlbTsgfSB9XG4gIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtd3JhcHBlciAuaGFzLXRpcC1jdXN0b20ge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW4tbGVmdDogMC40Mzc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IC0wLjEyNXJlbTsgfVxuICAuc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LXdyYXBwZXIgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB3aWR0aDogMS4xMjVyZW07IH1cblxuLmZpbmQtbXktYXBwb2ludG1lbnQge1xuICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuZmluZC1teS1hcHBvaW50bWVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH0gfVxuXG4uc2Vhc29uLXRpcmUtcG9wdXAge1xuICB3aWR0aDogNjAwcHggIWltcG9ydGFudDsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLmRpYWxvZy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAuc2Vhc29uLXRpcmUtcG9wdXAtdGl0bGUge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDMuNzVyZW0gMS41NjI1cmVtIDEuNTYyNXJlbTsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSAudWktYnV0dG9uLWljb24tcHJpbWFyeTo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSAudWktYnV0dG9uLWljb24tcHJpbWFyeTpob3Zlcjo6YWZ0ZXIge1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAuc2Vhc29uLXRpcmUtcG9wdXAtd3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlO1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAzLjc1cmVtIDEuNTYyNXJlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuc2Vhc29uLXRpcmUtcG9wdXAtd3JhcHBlciB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMy43NXJlbSAxLjU2MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDAuOTM3NXJlbTsgfSB9XG4gICAgLnNlYXNvbi10aXJlLXBvcHVwIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogaW5oZXJpdDsgfSB9XG4gICAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciAuYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIC5rZWVwLWFwcG9pbnRtZW50LWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwLjgxMjVyZW0gMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIC5rZWVwLWFwcG9pbnRtZW50LWJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC5hcGlmYWlsZWQtcG9wdXAtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNlYXNvbi10aXJlLXBvcHVwIC5hcGlmYWlsZWQtcG9wdXAtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAwLjkzNzVyZW07IH0gfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgIGJhY2tncm91bmQ6ICNiZmMwYzI7XG4gICAgb3BhY2l0eTogMTsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLmlucHV0LWN1c3RvbSxcbiAgLnNlYXNvbi10aXJlLXBvcHVwIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2M5YzljOTtcbiAgICBoZWlnaHQ6IDEuMTI1cmVtO1xuICAgIHdpZHRoOiAxLjEyNXJlbTsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMC4yNXJlbSBzb2xpZCAjZmY2OTAwOyB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCBpbWcge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIG1heC13aWR0aDogNy41cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnNlYXNvbi10aXJlLXBvcHVwIGltZyB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgLmZpZWxkLXdyYXBwZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIC5yYWRpby1mb3JtIHtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciAuaW5wdXQtY3VzdG9tLFxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3JkZXI6IDFweCBzb2xpZCAjYzljOWM5O1xuICBoZWlnaHQ6IDEuMTI1cmVtO1xuICB3aWR0aDogMS4xMjVyZW07IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDAuMjVyZW0gc29saWQgI2ZmNjkwMDsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIC5jYW5jZWwtYXBwb2ludG1lbnQtd2h5IHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktc3VibWl0IHtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07XG4gIHBhZGRpbmc6IDAuOTM3NXJlbSAzLjEyNXJlbTsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgYmFja2dyb3VuZDogI2JmYzBjMjtcbiAgb3BhY2l0eTogMTsgfVxuXG4udG9vbHRpcCAuc2Vhc29uLXRpcmUtcG9wdXAtb3JkZXIge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjtcbiAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luOiAwIDAuNjI1cmVtIDEuMjVyZW07XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDEuODc1cmVtIDMuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3gge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMy43NXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94IC5mYS1jaGVjay1jaXJjbGUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsZWZ0OiAxLjg3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3ggLmZhLWNoZWNrIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsZWZ0OiAxLjg3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjMxMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3ggLmZhLWNoZWNrOjpiZWZvcmUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIHBhZGRpbmc6IDAuMTg3NXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveC1rZWVwIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luOiAwIDAuNjI1cmVtIDEuMjVyZW07XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94LWtlZXAge1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBtYXJnaW46IDAgMC42MjVyZW0gMS4yNXJlbTtcbiAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMS44NzVyZW0gMy43NXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMy43NXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAuZmEtZXhjbGFtYXRpb24tdHJpYW5nbGUsXG4gIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAuZmEtY2hlY2sge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBsZWZ0OiAxLjg3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5mYS1jaGVjayB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtOyB9XG4gICAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5mYS1jaGVjazo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwLjE4NzVyZW07IH1cbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5jb250YWN0LXVzLFxuICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLnRhbGstbWVtYmVyIHtcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLnRhbGstbWVtYmVyIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC5waG9uZS1udW1iZXIge1xuICAgIGNvbG9yOiAjODA4Mjg1OyB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VjY2Vzcy13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luOiAxLjU2MjVyZW0gMCAyLjE4NzVyZW07XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDEuODc1cmVtIDMuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhbmNlbC1hcHBvaW50bWVudC1zdWNjZXNzLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMy43NXJlbTsgfSB9XG4gIC5jYW5jZWwtYXBwb2ludG1lbnQtc3VjY2Vzcy13cmFwcGVyIC5mYS1jaGVjayB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbGVmdDogMS44NzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5jYW5jZWwtYXBwb2ludG1lbnQtc3VjY2Vzcy13cmFwcGVyIC5mYS1jaGVjazo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwLjE4NzVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBtYXJnaW46IDEuODc1cmVtIDAgMS4yNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWRhc2hib2FyZC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgbWFyZ2luOiAzLjEyNXJlbSAwIDEuMjVyZW07IH0gfVxuICAuYXBwb2ludG1lbnQtZGFzaGJvYXJkLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbnRlbnQ6IFwifFwiO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtb3JkZXItc3VtbWFyeSB7XG4gIG1hcmdpbjogMS4yNXJlbSAwOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtc3RhcnR0aW1lIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1zdGFydHRpbWUtZGF5IHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNvbmZpcm0ge1xuICBtYXJnaW4tYm90dG9tOiAwLjMxMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jb25maXJtLXByb3ZpbmNlIHtcbiAgbWFyZ2luLWJvdHRvbTogMi41cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24ge1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgd2hpdGUtc3BhY2U6IHByZS1saW5lOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tZGlzdGFuY2Uge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjMxMjVyZW0gMCAwLjYyNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXNwYWNlIHtcbiAgbWFyZ2luOiAwLjYyNXJlbSAwIDEuMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1yZXNjaGVkdWxlIHtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWNhbmNlbCB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIG1hcmdpbi1ib3R0b206IDYuMjVyZW07XG4gIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWRhc2hib2FyZC1jYW5jZWwge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1zZWxlY3QtbmV3LWRhdGUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNhbGVuZGFyLW5hbWUge1xuICBmb250LXNpemU6IDFyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jYWxlbmRhci1hZGRyZXNzIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLWRyb3Age1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWRyb3A6aG92ZXIge1xuICAgIGNvbG9yOiAjZGI1YTAwOyB9XG5cbi5zdG9yZS1kZXRhaWxzLWJveC13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIC5zdG9yZS1kZXRhaWxzLWJveC13cmFwcGVyIC5zdG9yZS1kZXRhaWxzLWJveCB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLWJveC13cmFwcGVyIC5zdG9yZS1kZXRhaWxzLWJveCAubW9yZS1pbmZvLXRpdGxlIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLXBsYWluLXRleHQge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1idXR0b24td3JhcHBlciAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQ6ICNiZmMwYzI7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLWJ1dHRvbi13cmFwcGVyIC5idXR0b24ge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWJ1dHRvbi13cmFwcGVyIC5idXR0b24ge1xuICAgICAgd2lkdGg6IGluaGVyaXQ7IH0gfVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItYnV0dG9uLXdyYXBwZXIgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWtlZXAge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDAuMTg3NXJlbSBzb2xpZCAjZmY2OTAwO1xuICBjb2xvcjogIzAwMDtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIHBhZGRpbmc6IDAuNjg3NXJlbSAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1jYWxlbmRhci1idXR0b24td3JhcHBlciAuYXBwb2ludG1lbnQtY2FsZW5kYXIta2VlcCB7XG4gICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtYWN0aXZlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYXBwb2ludG1lbnQtZGF0ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1kYXRlIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cblxuLnJldmVhbC5hcHBvaW50bWVudC1jYWxlbmRhci1tb2RhbCB7XG4gIGhlaWdodDogYXV0bztcbiAgbWluLWhlaWdodDogYXV0bzsgfVxuICAucmV2ZWFsLmFwcG9pbnRtZW50LWNhbGVuZGFyLW1vZGFsIC5hcHBvaW50bWVudC1jYWxlbmRhci1rZWVwIHtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnJldmVhbC5hcHBvaW50bWVudC1jYWxlbmRhci1tb2RhbCAuYXBwb2ludG1lbnQtY2FsZW5kYXIta2VlcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLWJsb2NrIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciB7XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAuaW5mb3JtYXRpb24tYm94IGgzIHtcbiAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94LnJlbWluZGVkLWFwcG9pbnRtZW50IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5jb3VudHJ5LXJvdyAuaW5wdXQtc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1pbWFnZTogbm9uZTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAjaW5zaWRlX2hvbGRlciB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG4iLCIvKipcbiAqIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbiAqIFZlcnNpb24gNi4yLjNcbiAqIGZvdW5kYXRpb24uenVyYi5jb21cbiAqIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuICovXG5cbi8vIFNhc3MgdXRpbGl0aWVzXG5AaW1wb3J0ICd1dGlsL3V0aWwnO1xuXG4vLyBHbG9iYWwgdmFyaWFibGVzIGFuZCBzdHlsZXNcbkBpbXBvcnQgJ2dsb2JhbCc7XG5cbi8vIENvbXBvbmVudHNcbkBpbXBvcnQgJ2dyaWQvZ3JpZCc7XG5AaW1wb3J0ICd0eXBvZ3JhcGh5L3R5cG9ncmFwaHknO1xuQGltcG9ydCAnZm9ybXMvZm9ybXMnO1xuQGltcG9ydCAnY29tcG9uZW50cy92aXNpYmlsaXR5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxvYXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9idXR0b24tZ3JvdXAnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2FjY29yZGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JhZGdlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnJlYWRjcnVtYnMnO1xuQGltcG9ydCAnY29tcG9uZW50cy9jYWxsb3V0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2xvc2UtYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJpbGxkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZHJvcGRvd24tbWVudSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvZmxleCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgtdmlkZW8nO1xuQGltcG9ydCAnY29tcG9uZW50cy9sYWJlbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lZGlhLW9iamVjdCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL21lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51LWljb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9vZmYtY2FudmFzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb3JiaXQnO1xuQGltcG9ydCAnY29tcG9uZW50cy9wYWdpbmF0aW9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcHJvZ3Jlc3MtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcmV2ZWFsJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc2xpZGVyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3RpY2t5JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvc3dpdGNoJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFibGUnO1xuQGltcG9ydCAnY29tcG9uZW50cy90YWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGl0bGUtYmFyJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdG9wLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RodW1ibmFpbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Rvb2x0aXAnO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1ldmVyeXRoaW5nKCRmbGV4OiBmYWxzZSkge1xuICBAaWYgJGZsZXgge1xuICAgICRnbG9iYWwtZmxleGJveDogdHJ1ZSAhZ2xvYmFsO1xuICB9XG5cbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzO1xuICBAaWYgbm90ICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWdyaWQ7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGZvdW5kYXRpb24tZmxleC1ncmlkO1xuICB9XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdHlwb2dyYXBoeTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mb3JtcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYWNjb3JkaW9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJhZGdlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jYWxsb3V0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lbnUtaWNvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1kcm9wZG93bi1tZW51O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtdmlkZW87XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbGFiZWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9mZi1jYW52YXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tb3JiaXQ7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcGFnaW5hdGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1wcm9ncmVzcy1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc2xpZGVyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN0aWNreTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1yZXZlYWw7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tc3dpdGNoO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYmxlO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRhYnM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdGh1bWJuYWlsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRpdGxlLWJhcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b29sdGlwO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRvcC1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXM7XG5cbiAgQGlmICRmbGV4IHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcztcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIENvbG9yVmFyaWFibGUsIFF1YWxpZnlpbmdFbGVtZW50LCBWZW5kb3JQcmVmaXhcblxuLy8vL1xuLy8vIEBncm91cCBnbG9iYWxcbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBhdHRyaWJ1dGUgYXBwbGllZCB0byBgPGh0bWw+YCBhbmQgYDxib2R5PmAuIFdlIHVzZSAxMDAlIGJ5IGRlZmF1bHQgc28gdGhlIHZhbHVlIGlzIGluaGVyaXRlZCBmcm9tIHRoZSB1c2VyJ3MgYnJvd3NlciBzZXR0aW5ncy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHdpZHRoIG9mIHlvdXIgc2l0ZS4gVXNlZCBieSB0aGUgZ3JpZCB0byBkZXRlcm1pbmUgcm93IHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC13aWR0aDogcmVtLWNhbGMoMTIwMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBhbGwgdHlwZS4gYCRnbG9iYWwtbGluZWhlaWdodGAgaXMgMjRweCB3aGlsZSBgJGdsb2JhbC1mb250LXNpemVgIGlzIDE2cHhcbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtbGluZWhlaWdodDogMS41ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3JzIHVzZWQgZm9yIGJ1dHRvbnMsIGNhbGxvdXRzLCBsaW5rcywgZXRjLiBUaGVyZSBtdXN0IGFsd2F5cyBiZSBhIGNvbG9yIGNhbGxlZCBgcHJpbWFyeWAuXG4vLy8gQHR5cGUgTWFwXG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gIHByaW1hcnk6ICMyMTk5ZTgsXG4gIHByaW1hcnktYWNjZXNzaWJsZTogI2M3NTMwMCxcbiAgc2Vjb25kYXJ5OiAjNzc3LFxuICBzdWNjZXNzOiAjM2FkYjc2LFxuICB3YXJuaW5nOiAjZmZhZTAwLFxuICBhbGVydDogI2VjNTg0MCxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBsaWdodCBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbGlnaHQtZ3JheTogI2U2ZTZlNiAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIG1lZGl1bSBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVkaXVtLWdyYXk6ICNjYWNhY2EgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBkYXJrIGdyYXkgVUkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkYXJrLWdyYXk6ICM4YThhOGEgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBibGFjayB1aSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsYWNrOiAjMGEwYTBhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3Igd2hpdGUgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiR3aGl0ZTogI2ZlZmVmZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgQ29sb3JcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3RhY2sgb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTGlzdFxuJGJvZHktZm9udC1mYW1pbHk6ICdIZWx2ZXRpY2EgTmV1ZScsIEhlbHZldGljYSwgUm9ib3RvLCBBcmlhbCwgc2Fucy1zZXJpZiAhZGVmYXVsdDtcblxuLy8vIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIGFudGlhbGlhc2VkIHR5cGUsIHVzaW5nIHRoZSBgLXdlYmtpdC1mb250LXNtb290aGluZ2AgYW5kIGAtbW96LW9zeC1mb250LXNtb290aGluZ2AgQ1NTIHByb3BlcnRpZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJvZHktYW50aWFsaWFzZWQ6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgbWFyZ2luIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB2YWx1ZSB1c2VkIGZvciBwYWRkaW5nIG9uIGNvbXBvbmVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3Igbm9ybWFsIHR5cGUuXG4vLy8gQHR5cGUgS2V5d29yZCB8IE51bWJlclxuJGdsb2JhbC13ZWlnaHQtbm9ybWFsOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgZm9udCB3ZWlnaHQgdXNlZCBmb3IgYm9sZCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgYWxsIGVsZW1lbnRzIHRoYXQgaGF2ZSBhIGJvcmRlciByYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLXJhZGl1czogMCAhZGVmYXVsdDtcblxuLy8vIFNldHMgdGhlIHRleHQgZGlyZWN0aW9uIG9mIHRoZSBDU1MuIENhbiBiZSBlaXRoZXIgYGx0cmAgb3IgYHJ0bGAuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGZvciBjb21wb25lbnRzIHRoYXQgc3VwcG9ydCBpdC5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZ2xvYmFsLWZsZXhib3g6IGZhbHNlICFkZWZhdWx0O1xuXG5AaWYgbm90IG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSkge1xuICBAZXJyb3IgJ0luICRmb3VuZGF0aW9uLXBhbGV0dGUsIHlvdSBtdXN0IGhhdmUgYSBjb2xvciBuYW1lZCBcInByaW1hcnlcIi4nO1xufVxuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgdGV4dCBkaXJlY3Rpb25cbiRnbG9iYWwtbGVmdDogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIHJpZ2h0LCBsZWZ0KTtcbiRnbG9iYWwtcmlnaHQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCBsZWZ0LCByaWdodCk7XG5cbi8vIEludGVybmFsIHZhcmlhYmxlcyB1c2VkIGZvciBjb2xvcnNcbiRwcmltYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuJHN1Y2Nlc3MtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcyk7XG4kd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKTtcbiRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG5cbi8vIFJlbW92ZSB0aGlzIGluIDYuM1xuJC16Zi1tZW51LWljb24taW1wb3J0ZWQ6IGZhbHNlO1xuJC16Zi1mbGV4LWNsYXNzZXMtaW1wb3J0ZWQ6IGZhbHNlO1xuXG5AbWl4aW4gZm91bmRhdGlvbi1nbG9iYWwtc3R5bGVzIHtcbiAgQGluY2x1ZGUgLXpmLW5vcm1hbGl6ZTtcblxuICAvLyBUaGVzZSBzdHlsZXMgYXJlIGFwcGxpZWQgdG8gYSA8bWV0YT4gdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHRcbiAgLmZvdW5kYXRpb24tbXEge1xuICAgIGZvbnQtZmFtaWx5OiAnI3stemYtYnAtc2VyaWFsaXplKCRicmVha3BvaW50cyl9JztcbiAgfVxuXG4gIGh0bWwge1xuICAgIGZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemU7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIFNldCBib3gtc2l6aW5nIGdsb2JhbGx5IHRvIGhhbmRsZSBwYWRkaW5nIGFuZCBib3JkZXIgd2lkdGhzXG4gICosXG4gICo6OmJlZm9yZSxcbiAgKjo6YWZ0ZXIge1xuICAgIGJveC1zaXppbmc6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBEZWZhdWx0IGJvZHkgc3R5bGVzXG4gIGJvZHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAkZ2xvYmFsLWxpbmVoZWlnaHQ7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgYmFja2dyb3VuZDogJGJvZHktYmFja2dyb3VuZDtcblxuICAgIEBpZiAoJGJvZHktYW50aWFsaWFzZWQpIHtcbiAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIC8vIEdyaWQgZGVmYXVsdHMgdG8gZ2V0IGltYWdlcyBhbmQgZW1iZWRzIHRvIHdvcmsgcHJvcGVybHlcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIC1tcy1pbnRlcnBvbGF0aW9uLW1vZGU6IGJpY3ViaWM7XG5cbiAgICAvLyBHZXQgcmlkIG9mIGdhcCB1bmRlciBpbWFnZXMgYnkgbWFraW5nIHRoZW0gZGlzcGxheTogaW5saW5lLWJsb2NrOyBieSBkZWZhdWx0XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIH1cblxuICAvLyBNYWtlIHN1cmUgdGV4dGFyZWEgdGFrZXMgb24gaGVpZ2h0IGF1dG9tYXRpY2FsbHlcbiAgdGV4dGFyZWEge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gTWFrZSBzZWxlY3QgZWxlbWVudHMgYXJlIDEwMCUgd2lkdGggYnkgZGVmYXVsdFxuICBzZWxlY3Qge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG5cbiAgLy8gU3R5bGVzIEdvb2dsZSBNYXBzIGFuZCBNYXBRdWVzdCBlbWJlZHMgcHJvcGVybHlcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgSWRTZWxlY3RvclxuICAjbWFwX2NhbnZhcyxcbiAgLm1hcF9jYW52YXMsXG4gIC5tcWEtZGlzcGxheSB7XG4gICAgaW1nLFxuICAgIGVtYmVkLFxuICAgIG9iamVjdCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBSZXNldCA8YnV0dG9uPiBzdHlsZXMgY3JlYXRlZCBieSBtb3N0IGJyb3dzZXJzXG4gIGJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gIH1cblxuICAvLyBJbnRlcm5hbCBjbGFzc2VzIHRvIHNob3cvaGlkZSBlbGVtZW50cyBpbiBKYXZhU2NyaXB0XG4gIC5pcy12aXNpYmxlIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmlzLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBMb2FkcyBub3JtYWxpemUuY3NzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC16Zi1ub3JtYWxpemUge1xuICAvKiEgbm9ybWFsaXplLmNzcyB2My4wLjMgfCBNSVQgTGljZW5zZSB8IGdpdGh1Yi5jb20vbmVjb2xhcy9ub3JtYWxpemUuY3NzICovXG5cbiAgLyoqXG4gICAqIDEuIFNldCBkZWZhdWx0IGZvbnQgZmFtaWx5IHRvIHNhbnMtc2VyaWYuXG4gICAqIDIuIFByZXZlbnQgaU9TIGFuZCBJRSB0ZXh0IHNpemUgYWRqdXN0IGFmdGVyIGRldmljZSBvcmllbnRhdGlvbiBjaGFuZ2UsXG4gICAqICAgIHdpdGhvdXQgZGlzYWJsaW5nIHVzZXIgem9vbS5cbiAgICovXG5cbiAgaHRtbCB7XG4gICAgZm9udC1mYW1pbHk6IHNhbnMtc2VyaWY7IC8qIDEgKi9cbiAgICAtbXMtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICAgIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IG1hcmdpbi5cbiAgICovXG5cbiAgYm9keSB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLyogSFRNTDUgZGlzcGxheSBkZWZpbml0aW9uc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYW55IEhUTUw1IGVsZW1lbnQgaW4gSUUgOC85LlxuICAgKiBDb3JyZWN0IGBibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBmb3IgYGRldGFpbHNgIG9yIGBzdW1tYXJ5YCBpbiBJRSAxMC8xMVxuICAgKiBhbmQgRmlyZWZveC5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBtYWluYCBpbiBJRSAxMS5cbiAgICovXG5cbiAgYXJ0aWNsZSxcbiAgYXNpZGUsXG4gIGRldGFpbHMsXG4gIGZpZ2NhcHRpb24sXG4gIGZpZ3VyZSxcbiAgZm9vdGVyLFxuICBoZWFkZXIsXG4gIGhncm91cCxcbiAgbWFpbixcbiAgbWVudSxcbiAgbmF2LFxuICBzZWN0aW9uLFxuICBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBpbmxpbmUtYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgaW4gSUUgOC85LlxuICAgKiAyLiBOb3JtYWxpemUgdmVydGljYWwgYWxpZ25tZW50IG9mIGBwcm9ncmVzc2AgaW4gQ2hyb21lLCBGaXJlZm94LCBhbmQgT3BlcmEuXG4gICAqL1xuXG4gIGF1ZGlvLFxuICBjYW52YXMsXG4gIHByb2dyZXNzLFxuICB2aWRlbyB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyAvKiAxICovXG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBtb2Rlcm4gYnJvd3NlcnMgZnJvbSBkaXNwbGF5aW5nIGBhdWRpb2Agd2l0aG91dCBjb250cm9scy5cbiAgICogUmVtb3ZlIGV4Y2VzcyBoZWlnaHQgaW4gaU9TIDUgZGV2aWNlcy5cbiAgICovXG5cbiAgYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5cbiAgW2hpZGRlbl0sXG4gIHRlbXBsYXRlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgLyogTGlua3NcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIHRoZSBncmF5IGJhY2tncm91bmQgY29sb3IgZnJvbSBhY3RpdmUgbGlua3MgaW4gSUUgMTAuXG4gICAqL1xuXG4gIGEge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICB9XG5cbiAgLyoqXG4gICAqIEltcHJvdmUgcmVhZGFiaWxpdHkgb2YgZm9jdXNlZCBlbGVtZW50cyB3aGVuIHRoZXkgYXJlIGFsc28gaW4gYW5cbiAgICogYWN0aXZlL2hvdmVyIHN0YXRlLlxuICAgKi9cblxuICBhOmFjdGl2ZSxcbiAgYTpob3ZlciB7XG4gICAgb3V0bGluZTogMDtcbiAgfVxuXG4gIC8qIFRleHQtbGV2ZWwgc2VtYW50aWNzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYWJiclt0aXRsZV0ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBzdHlsZSBzZXQgdG8gYGJvbGRlcmAgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBiLFxuICBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgZGZuIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyB2YXJpYWJsZSBgaDFgIGZvbnQtc2l6ZSBhbmQgbWFyZ2luIHdpdGhpbiBgc2VjdGlvbmAgYW5kIGBhcnRpY2xlYFxuICAgKiBjb250ZXh0cyBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGgxIHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBtYXJnaW46IDAuNjdlbSAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xuXG4gIG1hcmsge1xuICAgIGJhY2tncm91bmQ6ICNmZjA7XG4gICAgY29sb3I6ICMwMDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBpbmNvbnNpc3RlbnQgYW5kIHZhcmlhYmxlIGZvbnQgc2l6ZSBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6IDgwJTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHN1YixcbiAgc3VwIHtcbiAgICBmb250LXNpemU6IDc1JTtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICB9XG5cbiAgc3VwIHtcbiAgICB0b3A6IC0wLjVlbTtcbiAgfVxuXG4gIHN1YiB7XG4gICAgYm90dG9tOiAtMC4yNWVtO1xuICB9XG5cbiAgLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgYm9yZGVyIHdoZW4gaW5zaWRlIGBhYCBlbGVtZW50IGluIElFIDgvOS8xMC5cbiAgICovXG5cbiAgaW1nIHtcbiAgICBib3JkZXI6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuXG4gIHN2Zzpub3QoOnJvb3QpIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG5cbiAgLyogR3JvdXBpbmcgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5cbiAgZmlndXJlIHtcbiAgICBtYXJnaW46IDFlbSA0MHB4O1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgZGlmZmVyZW5jZXMgYmV0d2VlbiBGaXJlZm94IGFuZCBvdGhlciBicm93c2Vycy5cbiAgICovXG5cbiAgaHIge1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94O1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5cbiAgcHJlIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIG9kZCBgZW1gLXVuaXQgZm9udCBzaXplIHJlbmRlcmluZyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGNvZGUsXG4gIGtiZCxcbiAgcHJlLFxuICBzYW1wIHtcbiAgICBmb250LWZhbWlseTogbW9ub3NwYWNlLCBtb25vc3BhY2U7XG4gICAgZm9udC1zaXplOiAxZW07XG4gIH1cblxuICAvKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBLbm93biBsaW1pdGF0aW9uOiBieSBkZWZhdWx0LCBDaHJvbWUgYW5kIFNhZmFyaSBvbiBPUyBYIGFsbG93IHZlcnkgbGltaXRlZFxuICAgKiBzdHlsaW5nIG9mIGBzZWxlY3RgLCB1bmxlc3MgYSBgYm9yZGVyYCBwcm9wZXJ0eSBpcyBzZXQuXG4gICAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGNvbG9yIG5vdCBiZWluZyBpbmhlcml0ZWQuXG4gICAqICAgIEtub3duIGlzc3VlOiBhZmZlY3RzIGNvbG9yIG9mIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKiAyLiBDb3JyZWN0IGZvbnQgcHJvcGVydGllcyBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAzLiBBZGRyZXNzIG1hcmdpbnMgc2V0IGRpZmZlcmVudGx5IGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBpbnB1dCxcbiAgb3B0Z3JvdXAsXG4gIHNlbGVjdCxcbiAgdGV4dGFyZWEge1xuICAgIGNvbG9yOiBpbmhlcml0OyAvKiAxICovXG4gICAgZm9udDogaW5oZXJpdDsgLyogMiAqL1xuICAgIG1hcmdpbjogMDsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgYG92ZXJmbG93YCBzZXQgdG8gYGhpZGRlbmAgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICBidXR0b24ge1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cblxuICBidXR0b24sXG4gIHNlbGVjdCB7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogMS4gQXZvaWQgdGhlIFdlYktpdCBidWcgaW4gQW5kcm9pZCA0LjAuKiB3aGVyZSAoMikgZGVzdHJveXMgbmF0aXZlIGBhdWRpb2BcbiAgICogICAgYW5kIGB2aWRlb2AgY29udHJvbHMuXG4gICAqIDIuIENvcnJlY3QgaW5hYmlsaXR5IHRvIHN0eWxlIGNsaWNrYWJsZSBgaW5wdXRgIHR5cGVzIGluIGlPUy5cbiAgICogMy4gSW1wcm92ZSB1c2FiaWxpdHkgYW5kIGNvbnNpc3RlbmN5IG9mIGN1cnNvciBzdHlsZSBiZXR3ZWVuIGltYWdlLXR5cGVcbiAgICogICAgYGlucHV0YCBhbmQgb3RoZXJzLlxuICAgKi9cblxuICBidXR0b24sXG4gIGh0bWwgaW5wdXRbdHlwZT1cImJ1dHRvblwiXSwgLyogMSAqL1xuICBpbnB1dFt0eXBlPVwicmVzZXRcIl0sXG4gIGlucHV0W3R5cGU9XCJzdWJtaXRcIl0ge1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uOyAvKiAyICovXG4gICAgY3Vyc29yOiBwb2ludGVyOyAvKiAzICovXG4gIH1cblxuICAvKipcbiAgICogUmUtc2V0IGRlZmF1bHQgY3Vyc29yIGZvciBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICovXG5cbiAgYnV0dG9uW2Rpc2FibGVkXSxcbiAgaHRtbCBpbnB1dFtkaXNhYmxlZF0ge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIGJvcmRlciBpbiBGaXJlZm94IDQrLlxuICAgKi9cblxuICBidXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG4gIGlucHV0OjotbW96LWZvY3VzLWlubmVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIEZpcmVmb3ggNCsgc2V0dGluZyBgbGluZS1oZWlnaHRgIG9uIGBpbnB1dGAgdXNpbmcgYCFpbXBvcnRhbnRgIGluXG4gICAqIHRoZSBVQSBzdHlsZXNoZWV0LlxuICAgKi9cblxuICBpbnB1dCB7XG4gICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJdCdzIHJlY29tbWVuZGVkIHRoYXQgeW91IGRvbid0IGF0dGVtcHQgdG8gc3R5bGUgdGhlc2UgZWxlbWVudHMuXG4gICAqIEZpcmVmb3gncyBpbXBsZW1lbnRhdGlvbiBkb2Vzbid0IHJlc3BlY3QgYm94LXNpemluZywgcGFkZGluZywgb3Igd2lkdGguXG4gICAqXG4gICAqIDEuIEFkZHJlc3MgYm94IHNpemluZyBzZXQgdG8gYGNvbnRlbnQtYm94YCBpbiBJRSA4LzkvMTAuXG4gICAqIDIuIFJlbW92ZSBleGNlc3MgcGFkZGluZyBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94OyAvKiAxICovXG4gICAgcGFkZGluZzogMDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIEZpeCB0aGUgY3Vyc29yIHN0eWxlIGZvciBDaHJvbWUncyBpbmNyZW1lbnQvZGVjcmVtZW50IGJ1dHRvbnMuIEZvciBjZXJ0YWluXG4gICAqIGBmb250LXNpemVgIHZhbHVlcyBvZiB0aGUgYGlucHV0YCwgaXQgY2F1c2VzIHRoZSBjdXJzb3Igc3R5bGUgb2YgdGhlXG4gICAqIGRlY3JlbWVudCBidXR0b24gdG8gY2hhbmdlIGZyb20gYGRlZmF1bHRgIHRvIGB0ZXh0YC5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cIm51bWJlclwiXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEFkZHJlc3MgYGFwcGVhcmFuY2VgIHNldCB0byBgc2VhcmNoZmllbGRgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKiAyLiBBZGRyZXNzIGBib3gtc2l6aW5nYCBzZXQgdG8gYGJvcmRlci1ib3hgIGluIFNhZmFyaSBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IHRleHRmaWVsZDsgLyogMSAqL1xuICAgIGJveC1zaXppbmc6IGNvbnRlbnQtYm94OyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1jYW5jZWwtYnV0dG9uLFxuICBpbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGNvbnNpc3RlbnQgYm9yZGVyLCBtYXJnaW4sIGFuZCBwYWRkaW5nLlxuICAgKiBbTk9URV0gV2UgZG9uJ3QgZW5hYmxlIHRoaXMgcnVsZXNldCBpbiBGb3VuZGF0aW9uLCBiZWNhdXNlIHdlIHdhbnQgdGhlIDxmaWVsZHNldD4gZWxlbWVudCB0byBoYXZlIHBsYWluIHN0eWxpbmcuXG4gICAqL1xuXG4gIC8qIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzBjMGMwO1xuICAgIG1hcmdpbjogMCAycHg7XG4gICAgcGFkZGluZzogMC4zNWVtIDAuNjI1ZW0gMC43NWVtO1xuICB9ICovXG5cbiAgLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cblxuICBsZWdlbmQge1xuICAgIGJvcmRlcjogMDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCB2ZXJ0aWNhbCBzY3JvbGxiYXIgaW4gSUUgOC85LzEwLzExLlxuICAgKi9cblxuICB0ZXh0YXJlYSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5cbiAgb3B0Z3JvdXAge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB9XG5cbiAgLyogVGFibGVzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG5cbiAgdGFibGUge1xuICAgIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gIH1cblxuICB0ZCxcbiAgdGgge1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cbn1cbiIsIi8vICBGb3VuZGF0aW9uIGZvciBTaXRlcyBTZXR0aW5nc1xuLy8gIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vL1xuLy8gIFRhYmxlIG9mIENvbnRlbnRzOlxuLy9cbi8vICAgMS4gR2xvYmFsXG4vLyAgIDIuIEJyZWFrcG9pbnRzXG4vLyAgIDMuIFRoZSBHcmlkXG4vLyAgIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gICA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vICAgNi4gQWJpZGVcbi8vICAgNy4gQWNjb3JkaW9uXG4vLyAgIDguIEFjY29yZGlvbiBNZW51XG4vLyAgIDkuIEJhZGdlXG4vLyAgMTAuIEJyZWFkY3J1bWJzXG4vLyAgMTEuIEJ1dHRvblxuLy8gIDEyLiBCdXR0b24gR3JvdXBcbi8vICAxMy4gQ2FsbG91dFxuLy8gIDE0LiBDbG9zZSBCdXR0b25cbi8vICAxNS4gRHJpbGxkb3duXG4vLyAgMTYuIERyb3Bkb3duXG4vLyAgMTcuIERyb3Bkb3duIE1lbnVcbi8vICAxOC4gRmxleCBWaWRlb1xuLy8gIDE5LiBGb3Jtc1xuLy8gIDIwLiBMYWJlbFxuLy8gIDIxLiBNZWRpYSBPYmplY3Rcbi8vICAyMi4gTWVudVxuLy8gIDIzLiBNZXRlclxuLy8gIDI0LiBPZmYtY2FudmFzXG4vLyAgMjUuIE9yYml0XG4vLyAgMjYuIFBhZ2luYXRpb25cbi8vICAyNy4gUHJvZ3Jlc3MgQmFyXG4vLyAgMjguIFJldmVhbFxuLy8gIDI5LiBTbGlkZXJcbi8vICAzMC4gU3dpdGNoXG4vLyAgMzEuIFRhYmxlXG4vLyAgMzIuIFRhYnNcbi8vICAzMy4gVGh1bWJuYWlsXG4vLyAgMzQuIFRpdGxlIEJhclxuLy8gIDM1LiBUb29sdGlwXG4vLyAgMzYuIFRvcCBCYXJcblxuQGltcG9ydCBcInV0aWwvdXRpbFwiO1xuXG4vLyAxLiBHbG9iYWxcbi8vIC0tLS0tLS0tLVxuXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJTtcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEzMjApO1xuJGdsb2JhbC1saW5laGVpZ2h0OiAxLjU7XG4kZm91bmRhdGlvbi1wYWxldHRlOiAoXG4gICAgcHJpbWFyeTogI2ZmNjkwMCxcbiAgICBwcmltYXJ5LWFjY2Vzc2libGU6ICNjNzUzMDAsXG4gICAgcHJpbWFyeS1kYXJrLWhvdmVyOiAjOTk0MDAwLFxuICAgIHNlY29uZGFyeTogIzAwMCxcbiAgICBzdGFuZGFyZC1ibGFjazogIzFkMWQxZCxcbiAgICBkYXJrZ3JleTE6ICMyMDIwMjAsXG4gICAgbWVkaXVtLWdyYXk6ICMzMzMsXG4gICAgbWlkZ3JleTogIzgwODI4NSxcbiAgICBsaWdodC1ncmF5OiAjZjJmMmYyLFxuICAgIHRoaW4tZ3JheTogI2Y4ZjhmOCxcbiAgICBib3JkZXItZ3JleTogI2NjYyxcbiAgICB2ZXJ5LWxpZ2h0LWdyZXk6ICNjOWM5YzksXG4gICAgYnJpZ2h0LWdyZXk6ICNlOGU4ZTksXG4gICAgZGlzYWJsZWQtZ3JleTogIzgwODA4MCxcbiAgICBuZXV0cmFsLWdyZXk6ICM0ZDRkNGQsXG4gICAgc3RlZWwtZ3JleTogIzk0OTQ5NCxcbiAgICB3aGl0ZS1kZWZhdWx0OiAjZmZmLFxuICAgIHdoaXRlLWdob3N0OiNmMmYyZjMsXG4gICAgd2hpdGUtc21va2U6ICNlN2U3ZTcsXG4gICAgc3VjY2VzczogIzNhZGI3NixcbiAgICB3YXJuaW5nOiAjZmZhZTAwLFxuICAgIGFsZXJ0OiAjZWM1ODQwLFxuICAgIGVycm9yOiAjZjAwLFxuICAgIHVuYXZhaWxhYmxlOiAjZmZlMWJlLFxuICAgIG5vYmVsOiAjOTc5Nzk3LFxuICAgIGxpZ2h0LWdyYXktbXktZ2FyYWdlOiAjYWRiNWJkLFxuICAgIHVuYXZhaWxhYmxlLXRleHQ6ICNkZTFjMjIsXG4gICAgZ3JlZW4tYWNjZXNzaWJsZTogIzE1N2YxMCxcbiAgICByZWQtYWNjZXNzaWJsZTogI2M2MTc1MlxuKTtcbiRidXR0b24taG92ZXI6ICNmZmE1NjY7XG4kYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI6ICNmNmE1ODM7XG4kYnV0dG9uLWRhcms6ICMwMDA7XG4kYnV0dG9uLWhvdmVyLWRhcms6ICM2NjY7XG4kbGlnaHQtZ3JheTogI2U2ZTZlNjtcbiRleHRyYS1saWdodC1ncmF5OiAjZTVlNWU1O1xuJGxpZ2h0LWdyYXktb3ZlcjogI2Q5ZDlkYTtcbiRkYXJrLWdyYXktb3ZlcjogI2Q4ZDhkODtcbiRkYXJrZXItZ3JheS1vdmVyOiAjNzU3NTc1O1xuJGxpZ2h0ZXItZ3JheTogI2Y3ZjdmNztcbiRtZWRpdW0tZ3JheTogI2NjYztcbiR0aHVtYnMtZ3JheTogI2IwYjFiMztcbiRib3JkZXItbGlnaHQtZ3JheTogI2JlYmViZTtcbiRkYXJrLWdyYXk6ICM4YThhOGE7XG4kZGFyay1ncmF5LWZlYXR1cmU6ICM0MjQyNDI7XG4kZGFya2VyLWdyYXk6ICMyNjI2MjY7XG4kbWVkaXVtLWRhcmstZ3JheTogIzkxOTE5MTtcbiRtZWRpdW0tbGlnaHQtZ3JheTogI2M0YzRjNDtcbiRtZWRpdW0tbGlnaHQtbGlnaHQtZ3JheTogI2U0ZTRlNDtcbiRjb21wYXJlLWdyYXk6ICM5OTk7XG4kbWFwLWJhY2tncm91bmQtZ3JleTogI2U1ZTNkZjtcbiRibGFjazogIzAwMDtcbiR3aGl0ZTogI2ZmZjtcbiRncmV5LWRpc2FibGVkOiAjYmZjMGMyO1xuJGJvZHktYmFja2dyb3VuZDogJHdoaXRlO1xuJGJvZHktZm9udC1jb2xvcjogJGJsYWNrO1xuJGJvZHktYW50aWFsaWFzZWQ6IHRydWU7XG4kZ2xvYmFsLW1hcmdpbjogMXJlbTtcbiRnbG9iYWwtcGFkZGluZzogMXJlbTtcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsO1xuJGdsb2JhbC13ZWlnaHQtYm9sZDogYm9sZDtcbiRnbG9iYWwtcmFkaXVzOiAwO1xuJGdsb2JhbC10ZXh0LWRpcmVjdGlvbjogbHRyO1xuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZTtcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZTtcbiRvbGQtc2lsdmVyOiAjODQ4NDg0O1xuJHB1cnBsZTogI2JmMWE4ZDtcbiRwdXJwbGUtZGFya2VyOiAjNjM1M2EzO1xuJGJsdWUtd2hpdGVyOiAjMjBjM2YzO1xuJG9yYW5nZS15ZWxsb3c6ICNmYmIxMTY7XG4kZ3JlZW46ICMwMGE2NTE7XG4kZ3JlZW4td2hpdGVyOiAjOWVjZjdjO1xuJGJyb3duOiAjN2E1MjI2O1xuJGJyb3duLWRhcmtlcjogIzQyMjgwMDtcbiRncmV5LTAxOiAjYTdhOWFjO1xuJGdyZXktMDI6ICNhNDk5Y2E7XG4kcmVkOiAjZjAwO1xuJHdoaXRlLWdyZXk6ICNmNWY1ZjU7XG5cbkBpbmNsdWRlIGFkZC1mb3VuZGF0aW9uLWNvbG9ycztcblxuLy8gMi4gQnJlYWtwb2ludHNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRicmVha3BvaW50czogKFxuICAgIHNtYWxsOiAwLFxuICAgIG1lZGl1bTogNzY4cHgsXG4gICAgbGFyZ2U6IDEwMjRweCxcbiAgICB4bGFyZ2U6IDEzMjBweCxcbiAgICB4eGxhcmdlOiAxNDQwcHgsXG4pO1xuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSk7XG5cbi8vIDMuIFRoZSBHcmlkXG4vLyAtLS0tLS0tLS0tLVxuXG4kZ3JpZC1yb3ctd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kZ3JpZC1jb2x1bW4tY291bnQ6IDEyO1xuJGdyaWQtY29sdW1uLWd1dHRlcjogKFxuICAgIHNtYWxsOiAzMHB4LFxuICAgIG1lZGl1bTogMjBweCxcbik7XG4kZ3JpZC1jb2x1bW4tYWxpZ24tZWRnZTogdHJ1ZTtcbiRibG9jay1ncmlkLW1heDogODtcblxuLy8gNC4gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtLS0tLS0tLS0tLS0tLS0tLS1cblxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsIFwiTGliZXJhdGlvbiBNb25vXCIsIENvdXJpZXIsIG1vbm9zcGFjZTtcbiRoZWFkZXItc2l6ZXM6IChcbiAgICBzbWFsbDogKFxuICAgICAgICBcImgxXCI6IDQwLFxuICAgICAgICBcImgyXCI6IDMyLFxuICAgICAgICBcImgzXCI6IDI2LFxuICAgICAgICBcImg0XCI6IDIyLFxuICAgICAgICBcImg1XCI6IDE3LFxuICAgICAgICBcImg2XCI6IDE0LFxuICAgICksXG4gICAgbWVkaXVtOiAoXG4gICAgICAgIFwiaDFcIjogNDEsXG4gICAgICAgIFwiaDJcIjogMzQsXG4gICAgICAgIFwiaDNcIjogMjYsXG4gICAgICAgIFwiaDRcIjogMjEsXG4gICAgICAgIFwiaDVcIjogMTcsXG4gICAgICAgIFwiaDZcIjogMTQsXG4gICAgKSxcbiAgICBsYXJnZTogKFxuICAgICAgICBcImgxXCI6IDQyLFxuICAgICAgICBcImgyXCI6IDM1LFxuICAgICAgICBcImgzXCI6IDI2LFxuICAgICAgICBcImg0XCI6IDIyLFxuICAgICAgICBcImg1XCI6IDE4LFxuICAgICAgICBcImg2XCI6IDE1LFxuICAgICksXG4pO1xuJGhlYWRlci1jb2xvcjogaW5oZXJpdDtcbiRoZWFkZXItbGluZWhlaWdodDogMS40O1xuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kaGVhZGVyLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG4kc21hbGwtZm9udC1zaXplOiA4MCU7XG4kaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I6ICRtZWRpdW0tZ3JheTtcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42O1xuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtO1xuJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJGNvZGUtY29sb3I6ICRibGFjaztcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpO1xuJGFuY2hvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuJGFuY2hvci1jb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGFuY2hvci1jb2xvciwgJGxpZ2h0bmVzczogLTE0JSk7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyOiBub25lO1xuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRoci1tYXJnaW46IHJlbS1jYWxjKDIwKSBhdXRvO1xuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlO1xuJGxpc3Qtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW07XG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRkZWZubGlzdC10ZXJtLXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b206IDAuM3JlbTtcbiRibG9ja3F1b3RlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KTtcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjaXRlLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXk7XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2U7XG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2s7XG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGtleXN0cm9rZS1wYWRkaW5nOiByZW0tY2FsYygyIDQgMCk7XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrO1xuXG4vLyA1LiBUeXBvZ3JhcGh5IEhlbHBlcnNcbi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuXG4kbGVhZC1mb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplICogMS4yNTtcbiRsZWFkLWxpbmVoZWlnaHQ6IDEuNjtcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40O1xuJHN1YmhlYWRlci1jb2xvcjogJGRhcmstZ3JheTtcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtO1xuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW07XG4kc3RhdC1mb250LXNpemU6IDIuNXJlbTtcblxuLy8gNi4gQWJpZGVcbi8vIC0tLS0tLS0tXG5cbiRhYmlkZS1pbnB1dHM6IHRydWU7XG4kYWJpZGUtbGFiZWxzOiB0cnVlO1xuJGlucHV0LWJhY2tncm91bmQtaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG5cbi8vIDcuIEFjY29yZGlvblxuLy8gLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlO1xuJGFjY29yZGlvbi1wbHVzbWludXM6IHRydWU7XG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxcmVtO1xuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tY29udGVudC1ib3JkZXI6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyA4LiBBY2NvcmRpb24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlO1xuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuXG4vLyA5LiBCYWRnZVxuLy8gLS0tLS0tLS1cblxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKTtcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbTtcbiRiYWRnZS1taW53aWR0aDogMi4xZW07XG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW07XG5cbi8vIDEwLiBCcmVhZGNydW1ic1xuLy8gLS0tLS0tLS0tLS0tLS0tXG5cbiRicmVhZGNydW1icy1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50OiAkYmxhY2s7XG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtO1xuJGJyZWFkY3J1bWJzLWl0ZW0tdXBwZXJjYXNlOiB0cnVlO1xuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWU7XG5cbi8vIDExLiBCdXR0b25cbi8vIC0tLS0tLS0tLS1cblxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtO1xuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwO1xuJGJ1dHRvbi1maWxsOiBzb2xpZDtcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kYnV0dG9uLWJhY2tncm91bmQtaG92ZXI6IHNjYWxlLWNvbG9yKCRidXR0b24tYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4kYnV0dG9uLWNvbG9yOiAkYmxhY2s7XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrO1xuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGJ1dHRvbi1zaXplczogKFxuICAgIHRpbnk6IDAuNnJlbSxcbiAgICBzbWFsbDogMC43NXJlbSxcbiAgICBkZWZhdWx0OiAwLjlyZW0sXG4gICAgbGFyZ2U6IDEuMjVyZW0sXG4pO1xuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuXG4vLyAxMi4gQnV0dG9uIEdyb3VwXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW07XG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4O1xuJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yOiBcIi5idXR0b25cIjtcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2O1xuXG4vLyAxMy4gQ2FsbG91dFxuLy8gLS0tLS0tLS0tLS1cblxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSU7XG4kY2FsbG91dC1ib3JkZXI6IDFweCBzb2xpZCByZ2JhKCRibGFjaywgMC4yNSk7XG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDA7XG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtO1xuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kO1xuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRjYWxsb3V0LWxpbmstdGludDogMzAlO1xuXG4vLyAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wO1xuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtO1xuJGNsb3NlYnV0dG9uLW9mZnNldC12ZXJ0aWNhbDogMC41cmVtO1xuJGNsb3NlYnV0dG9uLXNpemU6IDJlbTtcbiRjbG9zZWJ1dHRvbi1saW5laGVpZ2h0OiAxO1xuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5O1xuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2s7XG5cbi8vIDE1LiBEcmlsbGRvd25cbi8vIC0tLS0tLS0tLS0tLS1cblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyO1xuJGRyaWxsZG93bi1hcnJvd3M6IHRydWU7XG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlO1xuXG4vLyAxNi4gRHJvcGRvd25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd24tcGFkZGluZzogMXJlbTtcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtO1xuJGRyb3Bkb3duLXdpZHRoOiAzMDBweDtcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGRyb3Bkb3duLXNpemVzOiAoXG4gICAgdGlueTogMTAwcHgsXG4gICAgc21hbGw6IDIwMHB4LFxuICAgIGxhcmdlOiA0MDBweCxcbik7XG5cbi8vIDE3LiBEcm9wZG93biBNZW51XG4vLyAtLS0tLS0tLS0tLS0tLS0tLVxuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZTtcbiRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3I6ICRhbmNob3ItY29sb3I7XG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHg7XG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuXG4vLyAxOC4gRmxleCBWaWRlb1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDM7XG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDk7XG5cbi8vIDE5LiBGb3Jtc1xuLy8gLS0tLS0tLS0tXG5cbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApO1xuJGZpZWxkc2V0LW1hcmdpbjogcmVtLWNhbGMoMTggMCk7XG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMyk7XG4kZm9ybS1zcGFjaW5nOiByZW0tY2FsYygxNik7XG4kaGVscHRleHQtY29sb3I6ICRibGFjaztcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWM7XG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2s7XG4kaW5wdXQtcHJlZml4LWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtcHJlZml4LXBhZGRpbmc6IDFyZW07XG4kZm9ybS1sYWJlbC1jb2xvcjogJGJsYWNrO1xuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsO1xuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuODtcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlO1xuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheTtcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRpbnB1dC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4kaW5wdXQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaW5wdXQtYmFja2dyb3VuZDogJHdoaXRlO1xuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheTtcbiRpbnB1dC1zaGFkb3c6IDA7XG4kaW5wdXQtc2hhZG93LWZvY3VzOiAwO1xuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogZGVmYXVsdDtcbiRpbnB1dC10cmFuc2l0aW9uOiBpbml0aWFsO1xuJGlucHV0LW51bWJlci1zcGlubmVyczogdHJ1ZTtcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMC4gTGFiZWxcbi8vIC0tLS0tLS0tLVxuXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpO1xuJGxhYmVsLWZvbnQtc2l6ZTogMC44cmVtO1xuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtO1xuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDIxLiBNZWRpYSBPYmplY3Rcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCU7XG5cbi8vIDIyLiBNZW51XG4vLyAtLS0tLS0tLVxuXG4kbWVudS1tYXJnaW46IDA7XG4kbWVudS1tYXJnaW4tbmVzdGVkOiAxcmVtO1xuJG1lbnUtaXRlbS1wYWRkaW5nOiAwLjdyZW0gMCAwIDM4cHg7XG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlO1xuJG1lbnUtaXRlbS1iYWNrZ3JvdW5kLWFjdGl2ZTogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMjMuIE1ldGVyXG4vLyAtLS0tLS0tLS1cblxuJG1ldGVyLWhlaWdodDogMXJlbTtcbiRtZXRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJG1ldGVyLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRtZXRlci1maWxsLWdvb2Q6ICRzdWNjZXNzLWNvbG9yO1xuJG1ldGVyLWZpbGwtbWVkaXVtOiAkd2FybmluZy1jb2xvcjtcbiRtZXRlci1maWxsLWJhZDogJGFsZXJ0LWNvbG9yO1xuXG4vLyAyNC4gT2ZmLWNhbnZhc1xuLy8gLS0tLS0tLS0tLS0tLS1cblxuJG9mZmNhbnZhcy1zaXplOiAyNTBweDtcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kb2ZmY2FudmFzLXppbmRleDogLTE7XG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZTtcbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlO1xuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KTtcbiRtYWluY29udGVudC1jbGFzczogXCJvZmYtY2FudmFzLWNvbnRlbnRcIjtcbiRtYWluY29udGVudC1zaGFkb3c6IDAgMCAxMHB4IHJnYmEoJGJsYWNrLCAwLjUpO1xuXG4vLyAyNS4gT3JiaXRcbi8vIC0tLS0tLS0tLVxuXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU6ICRkYXJrLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWRpYW1ldGVyOiAxLjJyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW07XG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpO1xuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbTtcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTA7XG5cbi8vIDI2LiBQYWdpbmF0aW9uXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kcGFnaW5hdGlvbi1mb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKTtcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSk7XG4kcGFnaW5hdGlvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheTtcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1jdXJyZW50OiAkcHJpbWFyeS1jb2xvcjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCk7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXk7XG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrO1xuJHBhZ2luYXRpb24tbW9iaWxlLWl0ZW1zOiBmYWxzZTtcbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZTtcblxuLy8gMjcuIFByb2dyZXNzIEJhclxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kcHJvZ3Jlc3MtaGVpZ2h0OiAxcmVtO1xuJHByb2dyZXNzLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRwcm9ncmVzcy1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRwcm9ncmVzcy1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyOC4gUmV2ZWFsXG4vLyAtLS0tLS0tLS0tXG5cbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlO1xuJHJldmVhbC13aWR0aDogNjAwcHg7XG4kcmV2ZWFsLW1heC13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRyZXZlYWwtcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nO1xuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kcmV2ZWFsLXppbmRleDogMTAwNTtcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcblxuLy8gMjkuIFNsaWRlclxuLy8gLS0tLS0tLS0tLVxuXG4kc2xpZGVyLXdpZHRoLXZlcnRpY2FsOiAwLjVyZW07XG4kc2xpZGVyLXRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0O1xuJHNsaWRlci1oZWlnaHQ6IDAuNXJlbTtcbiRzbGlkZXItYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG4kc2xpZGVyLWZpbGwtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHNsaWRlci1oYW5kbGUtaGVpZ2h0OiAxLjRyZW07XG4kc2xpZGVyLWhhbmRsZS13aWR0aDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjU7XG4kc2xpZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDMwLiBTd2l0Y2hcbi8vIC0tLS0tLS0tLS1cblxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvcjtcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtO1xuJHN3aXRjaC1oZWlnaHQtdGlueTogMS41cmVtO1xuJHN3aXRjaC1oZWlnaHQtc21hbGw6IDEuNzVyZW07XG4kc3dpdGNoLWhlaWdodC1sYXJnZTogMi41cmVtO1xuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luO1xuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlO1xuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtO1xuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtcGFkZGxlLXRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcblxuLy8gMzEuIFRhYmxlXG4vLyAtLS0tLS0tLS1cblxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWJsZS1jb2xvci1zY2FsZTogNSU7XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSk7XG4kdGFibGUtcGFkZGluZzogcmVtLWNhbGMoOCAxMCAxMCk7XG4kdGFibGUtaG92ZXItc2NhbGU6IDIlO1xuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpO1xuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXN0cmlwZTogZXZlbjtcbiR0YWJsZS1oZWFkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgLyAyKTtcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2U7XG5cbi8vIDMyLiBUYWJzXG4vLyAtLS0tLS0tLVxuXG4kdGFiLW1hcmdpbjogMDtcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXk7XG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlO1xuJHRhYi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMS41cmVtO1xuJHRhYi1leHBhbmQtbWF4OiA2O1xuJHRhYi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5O1xuJHRhYi1jb250ZW50LWNvbG9yOiBmb3JlZ3JvdW5kKCR0YWItYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW07XG5cbi8vIDMzLiBUaHVtYm5haWxcbi8vIC0tLS0tLS0tLS0tLS1cblxuLy8gJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGU7XG4vLyAkdGh1bWJuYWlsLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luO1xuLy8gJHRodW1ibmFpbC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKCRibGFjaywgMC4yKTtcbi8vICR0aHVtYm5haWwtc2hhZG93LWhvdmVyOiAwIDAgNnB4IDFweCByZ2JhKCRwcmltYXJ5LWNvbG9yLCAwLjUpO1xuLy8gJHRodW1ibmFpbC10cmFuc2l0aW9uOiBib3gtc2hhZG93IDIwMG1zIGVhc2Utb3V0O1xuLy8gJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNC4gVGl0bGUgQmFyXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiR0aXRsZWJhci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGl0bGViYXItY29sb3I6ICRibGFjaztcbiR0aXRsZWJhci1wYWRkaW5nOiAwLjVyZW07XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZDtcbiR0aXRsZWJhci1pY29uLWNvbG9yOiAkYmxhY2s7XG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5O1xuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbTtcblxuLy8gMzUuIFRvb2x0aXBcbi8vIC0tLS0tLS0tLS0tXG5cbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5O1xuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrO1xuJHRvb2x0aXAtY29sb3I6ICR3aGl0ZTtcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW07XG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW07XG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NjtcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbi8vIDM2LiBUb3AgQmFyXG4vLyAtLS0tLS0tLS0tLVxuXG4kdG9wYmFyLXBhZGRpbmc6IDA7XG4kdG9wYmFyLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDFyZW07XG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweDtcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW07XG5cbi8vIDM3LiBGb250c1xuJGdvdGhhbS1hLWI6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcblxuQG1peGluIGZvbnQtZ290aGFtLWJvbGQge1xuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICBmb250LXdlaWdodDogNzAwO1xufVxuXG5AbWl4aW4gZm9udC1nb3RoYW0tbWVkaXVtIHtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuQG1peGluIGZvbnQtZ290aGFtLWJvb2sge1xuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICBmb250LXdlaWdodDogNDAwO1xufVxuXG5AbWl4aW4gZm9udC1nb3RoYW0tbGlnaHQge1xuICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICBmb250LXdlaWdodDogMzAwO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgQ1NTIHRyaWFuZ2xlLCB3aGljaCBjYW4gYmUgdXNlZCBmb3IgZHJvcGRvd24gYXJyb3dzLCBkcm9wZG93biBwaXBzLCBhbmQgbW9yZS4gVXNlIHRoaXMgbWl4aW4gaW5zaWRlIGEgYCY6OmJlZm9yZWAgb3IgYCY6OmFmdGVyYCBzZWxlY3RvciwgdG8gYXR0YWNoIHRoZSB0cmlhbmdsZSB0byBhbiBleGlzdGluZyBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0cmlhbmdsZS1zaXplIC0gV2lkdGggb2YgdGhlIHRyaWFuZ2xlLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR0cmlhbmdsZS1jb2xvciAtIENvbG9yIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0cmlhbmdsZS1kaXJlY3Rpb24gLSBEaXJlY3Rpb24gdGhlIHRyaWFuZ2xlIHBvaW50cy4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuQG1peGluIGNzcy10cmlhbmdsZShcbiAgJHRyaWFuZ2xlLXNpemUsXG4gICR0cmlhbmdsZS1jb2xvcixcbiAgJHRyaWFuZ2xlLWRpcmVjdGlvblxuKSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCAkdHJpYW5nbGUtc2l6ZTtcblxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gZG93bikge1xuICAgIGJvcmRlci1jb2xvcjogJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHVwKSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gcmlnaHQpIHtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR0cmlhbmdsZS1jb2xvcjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSBsZWZ0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3IgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIG1lbnUgaWNvbiB3aXRoIGEgc2V0IHdpZHRoLCBoZWlnaHQsIG51bWJlciBvZiBiYXJzLCBhbmQgY29sb3JzLiBUaGUgbWl4aW4gdXNlcyB0aGUgaGVpZ2h0IG9mIHRoZSBpY29uIGFuZCB0aGUgd2VpZ2h0IG9mIHRoZSBiYXJzIHRvIGRldGVybWluZSBzcGFjaW5nLiA8ZGl2IGNsYXNzPVwiZG9jcy1leGFtcGxlLWJ1cmdlclwiPjwvZGl2PlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3ItaG92ZXIgWyRkYXJrLWdyYXldIC0gQ29sb3IgdG8gdXNlIHdoZW4gdGhlIGljb24gaXMgaG92ZXJlZCBvdmVyLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWzIwcHhdIC0gV2lkdGggb2YgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzE2cHhdIC0gSGVpZ2h0IG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2VpZ2h0IFsycHhdIC0gSGVpZ2h0IG9mIGluZGl2aWR1YWwgYmFycyBpbiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhcnMgWzNdIC0gTnVtYmVyIG9mIGJhcnMgaW4gdGhlIGljb24uXG5AbWl4aW4gaGFtYnVyZ2VyKFxuICAkY29sb3I6ICRibGFjayxcbiAgJGNvbG9yLWhvdmVyOiAkZGFyay1ncmF5LFxuICAkd2lkdGg6IDIwcHgsXG4gICRoZWlnaHQ6IDE2cHgsXG4gICR3ZWlnaHQ6IDJweCxcbiAgJGJhcnM6IDNcbikge1xuICAvLyBib3gtc2hhZG93IENTUyBvdXRwdXRcbiAgJHNoYWRvdzogKCk7XG4gICRob3Zlci1zaGFkb3c6ICgpO1xuXG4gIC8vIFNwYWNpbmcgYmV0d2VlbiBiYXJzIGlzIGNhbGN1bGF0ZWQgYmFzZWQgb24gdGhlIHRvdGFsIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiBlYWNoIGJhclxuICAkc3BhY2luZzogZmxvb3IoKCRoZWlnaHQgLSAoJHdlaWdodCAqICRiYXJzKSkgLyAoJGJhcnMgLSAxKSk7XG5cbiAgLy8gSWNvbiBjb250YWluZXJcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6ICR3aWR0aDtcbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuXG4gIC8vIEljb24gYmFyc1xuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogJHdlaWdodDtcbiAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG5cbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkc2hhZG93OiBhcHBlbmQoJHNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLCBjb21tYSk7XG4gICAgfVxuXG4gICAgYm94LXNoYWRvdzogJHNoYWRvdztcbiAgfVxuXG4gIC8vIEhvdmVyIHN0YXRlXG4gIEBpZiAkY29sb3ItaG92ZXIge1xuICAgIC8vIEdlbmVyYXRlIENTU1xuICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJhcnMge1xuICAgICAgJG9mZnNldDogKCR3ZWlnaHQgKyAkc3BhY2luZykgKiAoJGkgLSAxKTtcbiAgICAgICRob3Zlci1zaGFkb3c6IGFwcGVuZCgkaG92ZXItc2hhZG93LCAwICRvZmZzZXQgMCAkY29sb3ItaG92ZXIsIGNvbW1hKTtcbiAgICB9XG5cbiAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkY29sb3ItaG92ZXI7XG4gICAgICBib3gtc2hhZG93OiAkaG92ZXItc2hhZG93O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBhIGRvd253YXJkLWZhY2luZyB0cmlhbmdsZSBhcyBhIGJhY2tncm91bmQgaW1hZ2UgdG8gYW4gZWxlbWVudC4gVGhlIGltYWdlIGlzIGZvcm1hdHRlZCBhcyBhbiBTVkcsIG1ha2luZyBpdCBlYXN5IHRvIGNoYW5nZSB0aGUgY29sb3IuIEJlY2F1c2UgSW50ZXJuZXQgRXhwbG9yZXIgZG9lc24ndCBzdXBwb3J0IGVuY29kZWQgU1ZHcyBhcyBiYWNrZ3JvdW5kIGltYWdlcywgYSBQTkcgZmFsbGJhY2sgaXMgYWxzbyBpbmNsdWRlZC5cbi8vLyBUaGVyZSBhcmUgdHdvIFBORyBmYWxsYmFja3M6IGEgYmxhY2sgdHJpYW5nbGUgYW5kIGEgd2hpdGUgdHJpYW5nbGUuIFRoZSBvbmUgdXNlZCBkZXBlbmRzIG9uIHRoZSBsaWdodG5lc3Mgb2YgdGhlIGlucHV0IGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYmxhY2tdIC0gQ29sb3IgdG8gdXNlIGZvciB0aGUgdHJpYW5nbGUuXG5AbWl4aW4gYmFja2dyb3VuZC10cmlhbmdsZSgkY29sb3I6ICRibGFjaykge1xuICAkcmdiOiAncmdiJTI4I3tyZWQoJGNvbG9yKX0sICN7Z3JlZW4oJGNvbG9yKX0sICN7Ymx1ZSgkY29sb3IpfSUyOSc7XG5cbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiAjeyRyZ2J9Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuXG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA8IDYwJSB7XG4gICAgICAvLyBXaGl0ZSB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIC8vIEJsYWNrIHRyaWFuZ2xlXG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoJ2RhdGE6aW1hZ2UvcG5nO2Jhc2U2NCxpVkJPUncwS0dnb0FBQUFOU1VoRVVnQUFBQ0FBQUFBWUNBWUFBQUNiVS84MEFBQUFHWFJGV0hSVGIyWjBkMkZ5WlFCQlpHOWlaU0JKYldGblpWSmxZV1I1Y2NsbFBBQUFBTUJKUkVGVWVOckVsbHNPaENBTVJWc3pDOUlselU3S0NtVkhUSnNvTVdZTVV0cHl2OUJnYnVYUUI1WlNkZ0JZWVk0eWNnQml2azhLWUZzUU1mTWlUVEJQNG8zblV6Q0t6T2FiTEpiTHkyL2czMWV2R2tBZ2luUjQvWmVnS0g1cVgzYkpDc2NBM3QweDNrZ081dFFGeWhoRmY1MHhScUZMYnlNVU5KUXpneWpHUy93Z0Nwdktxa1JCcHVXckU0VjlkKzFFNGRQVVhxSWcxMDdTUU9FLzJEUlF4TXdURHlnSUluVkRFVDlUM2xDb2ovNmovVkNtR2paT2wybEtwWjhBQXdEUVA3eklpbURHRlFBQUFBQkpSVTVFcmtKZ2dnPT0nKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFwcGxpZXMgdGhlIG1pY3JvIGNsZWFyZml4IGhhY2sgcG9wdWxhcml6ZWQgYnkgTmljb2xhcyBHYWxsYWdoZXIuIEluY2x1ZGUgdGhpcyBtaXhpbiBvbiBhIGNvbnRhaW5lciBpZiBpdHMgY2hpbGRyZW4gYXJlIGFsbCBmbG9hdGVkLCB0byBnaXZlIHRoZSBjb250YWluZXIgYSBwcm9wZXIgaGVpZ2h0LlxuLy8vIFRoZSBjbGVhcmZpeCBpcyBhdWdtZW50ZWQgd2l0aCBzcGVjaWZpYyBzdHlsZXMgdG8gcHJldmVudCBib3JkZXJzIGluIGZsZXhib3ggZW52aXJvbm1lbnRzXG4vLy8gQGxpbmsgaHR0cDovL25pY29sYXNnYWxsYWdoZXIuY29tL21pY3JvLWNsZWFyZml4LWhhY2svIE1pY3JvIENsZWFyZml4IEhhY2tcbi8vLyBAbGluayBodHRwOi8vZGFuaXNhZGVzaWduZXIuY29tL2Jsb2cvZmxleGJveC1jbGVhci1maXgtcHNldWRvLWVsZW1lbnRzLyBGbGV4Ym94IGZpeFxuQG1peGluIGNsZWFyZml4IHtcbiAgJjo6YmVmb3JlLFxuICAmOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC1iYXNpczogMDtcbiAgICAgIG9yZGVyOiAxO1xuICAgIH1cbiAgfVxuXG4gICY6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDtcbiAgfVxufVxuXG4vLy8gQWRkcyBDU1MgZm9yIGEgXCJxdWFudGl0eSBxdWVyeVwiIHNlbGVjdG9yIHRoYXQgYXV0b21hdGljYWxseSBzaXplcyBlbGVtZW50cyBiYXNlZCBvbiBob3cgbWFueSB0aGVyZSBhcmUgaW5zaWRlIGEgY29udGFpbmVyLlxuLy8vIEBsaW5rIGh0dHA6Ly9hbGlzdGFwYXJ0LmNvbS9hcnRpY2xlL3F1YW50aXR5LXF1ZXJpZXMtZm9yLWNzcyBRdWFudGl0eSBRdWVyaWVzIGZvciBDU1Ncbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4IC0gTWF4aW11bSBudW1iZXIgb2YgaXRlbXMgdG8gZGV0ZWN0LiBUaGUgaGlnaGVyIHRoaXMgbnVtYmVyIGlzLCB0aGUgbW9yZSBDU1MgdGhhdCdzIHJlcXVpcmVkIHRvIGNvdmVyIGVhY2ggbnVtYmVyIG9mIGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGVsZW0gW2xpXSAtIFRhZyB0byB1c2UgZm9yIHNpYmxpbmcgc2VsZWN0b3JzLlxuQG1peGluIGF1dG8td2lkdGgoJG1heCwgJGVsZW06IGxpKSB7XG4gIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJG1heCB7XG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQsXG4gICAgJjpudGgtbGFzdC1jaGlsZCgjeyRpfSk6Zmlyc3QtY2hpbGQgfiAjeyRlbGVtfSB7XG4gICAgICB3aWR0aDogcGVyY2VudGFnZSgxIC8gJGkpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyB0aGUgZm9jdXMgcmluZyBhcm91bmQgYW4gZWxlbWVudCB3aGVuIGEgbW91c2UgaW5wdXQgaXMgZGV0ZWN0ZWQuXG5AbWl4aW4gZGlzYWJsZS1tb3VzZS1vdXRsaW5lIHtcbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddICYge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cbn1cblxuLy8vIE1ha2VzIGFuIGVsZW1lbnQgdmlzdWFsbHkgaGlkZGVuLCBidXQgc3RpbGwgYWNjZXNzaWJsZSB0byBrZXlib2FyZHMgYW5kIGFzc2lzdGl2ZSBkZXZpY2VzLlxuLy8vIEBsaW5rIGh0dHA6Ly9zbm9vay5jYS9hcmNoaXZlcy9odG1sX2FuZF9jc3MvaGlkaW5nLWNvbnRlbnQtZm9yLWFjY2Vzc2liaWxpdHkgSGlkaW5nIENvbnRlbnQgZm9yIEFjY2Vzc2liaWxpdHlcbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICB3aWR0aDogMXB4O1xuICBoZWlnaHQ6IDFweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbn1cblxuLy8vIFJldmVyc2VzIHRoZSBDU1Mgb3V0cHV0IGNyZWF0ZWQgYnkgdGhlIGBlbGVtZW50LWludmlzaWJsZSgpYCBtaXhpbi5cbkBtaXhpbiBlbGVtZW50LWludmlzaWJsZS1vZmYge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvO1xufVxuXG4vLy8gVmVydGljYWxseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiB2ZXJ0aWNhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gaG9yaXpvbnRhbC1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xufVxuXG4vLy8gQWJzb2x1dGVseSBjZW50ZXJzIHRoZSBlbGVtZW50IGluc2lkZSBvZiBpdHMgZmlyc3Qgbm9uLXN0YXRpYyBwYXJlbnQsXG4vLy8gQGxpbmsgaHR0cDovL3d3dy5zaXRlcG9pbnQuY29tL2NlbnRlcmluZy13aXRoLXNhc3MvIENlbnRlcmluZyBXaXRoIFNhc3NcbkBtaXhpbiBhYnNvbHV0ZS1jZW50ZXIge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xufVxuXG4vLy8gSXRlcmF0ZXMgdGhyb3VnaCBicmVha3BvaW50cyBkZWZpbmVkIGluIGAkYnJlYWtwb2ludC1jbGFzc2VzYCBhbmQgcHJpbnRzIHRoZSBDU1MgaW5zaWRlIHRoZSBtaXhpbiBhdCBlYWNoIGJyZWFrcG9pbnQncyBtZWRpYSBxdWVyeS4gVXNlIHRoaXMgd2l0aCB0aGUgZ3JpZCwgb3IgYW55IG90aGVyIGNvbXBvbmVudCB0aGF0IGhhcyByZXNwb25zaXZlIGNsYXNzZXMuXG4vLy9cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRzbWFsbCBbdHJ1ZV0gLSBJZiBgZmFsc2VgLCB0aGUgbWl4aW4gd2lsbCBza2lwIHRoZSBgc21hbGxgIGJyZWFrcG9pbnQuIFVzZSB0aGlzIHdpdGggY29tcG9uZW50cyB0aGF0IGRvbid0IHByZWZpeCBjbGFzc2VzIHdpdGggYHNtYWxsLWAsIG9ubHkgYG1lZGl1bS1gIGFuZCB1cC5cbkBtaXhpbiAtemYtZWFjaC1icmVha3BvaW50KCRzbWFsbDogdHJ1ZSkge1xuICAkbWFwOiAkYnJlYWtwb2ludC1jbGFzc2VzO1xuXG4gIEBpZiBub3QgJHNtYWxsIHtcbiAgICAkbWFwOiBtYXAtcmVtb3ZlKCRtYXAsICQtemYtemVyby1icmVha3BvaW50KTtcbiAgfVxuXG4gIEBlYWNoICRzaXplIGluICRtYXAge1xuICAgICQtemYtc2l6ZTogJHNpemUgIWdsb2JhbDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC1ncmlkXG4vLy8vXG5cbi8vLyBDcmVhdGVzIGEgY29udGFpbmVyIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR8TGlzdH0gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgW251bGxdIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlIGZvciB0aGlzIHJvdy4gSWYgc2V0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpLCB0aGUgZ2xvYmFsIGNvbHVtbiBjb3VudCB3aWxsIGJlIHVzZWQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IGJhc2ljIHN0eWxlcyBmcm9tIGJlaW5nIG91dHB1dC4gVXNlZnVsIGlmIHlvdSdyZSBjYWxsaW5nIHRoaXMgbWl4aW4gb24gdGhlIHNhbWUgZWxlbWVudCB0d2ljZSwgYXMgaXQgcHJldmVudHMgZHVwbGljYXRlIENTUyBvdXRwdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLlxuQG1peGluIGZsZXgtZ3JpZC1yb3coXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjb2x1bW5zOiBudWxsLFxuICAkYmFzZTogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRiYXNlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zLCAkYmFzZSkge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDYWxjdWxhdGVzIHRoZSBgZmxleGAgcHJvcGVydHkgZm9yIGEgZmxleCBncmlkIGNvbHVtbi4gSXQgYWNjZXB0cyBhbGwgb2YgdGhlIHNhbWUgdmFsdWVzIGFzIHRoZSBiYXNpYyBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24sIGFsb25nIHdpdGggdHdvIGV4dHJhczpcbi8vLyAgIC0gYG51bGxgICh0aGUgZGVmYXVsdCkgd2lsbCBtYWtlIHRoZSBjb2x1bW4gZXhwYW5kIHRvIGZpbGwgc3BhY2UuXG4vLy8gICAtIGBzaHJpbmtgIHdpbGwgbWFrZSB0aGUgY29sdW1uIGNvbnRyYWN0LCBzbyBpdCBvbmx5IHRha2VzIHVwIHRoZSBob3Jpem9udGFsIHNwYWNlIGl0IG5lZWRzLlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW251bGxdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi5cbkBmdW5jdGlvbiBmbGV4LWdyaWQtY29sdW1uKCRjb2x1bW5zOiBudWxsKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICRmbGV4OiAxIDEgMHB4O1xuXG4gIEBpZiAkY29sdW1ucyA9PSBzaHJpbmsge1xuICAgICRmbGV4OiAwIDAgYXV0bztcbiAgfVxuICBAZWxzZSBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICAkZmxleDogMCAwIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbiAgfVxuXG4gIEByZXR1cm4gJGZsZXg7XG59XG5cbi8vLyBDcmVhdGVzIGEgY29sdW1uIGZvciBhIGZsZXggZ3JpZC4gQnkgZGVmYXVsdCwgdGhlIGNvbHVtbiB3aWxsIHN0cmV0Y2ggdG8gdGhlIGZ1bGwgd2lkdGggb2YgaXRzIGNvbnRhaW5lciwgYnV0IHRoaXMgY2FuIGJlIG92ZXJyaWRkZW4gd2l0aCBzaXppbmcgY2xhc3Nlcywgb3IgYnkgdXNpbmcgdGhlIGB1bnN0YWNrYCBjbGFzcyBvbiB0aGUgcGFyZW50IGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGNvbHVtbnMgW251bGxdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBmbGV4LWdyaWQtY29sdW1uKClgIGZ1bmN0aW9uIHRvIHNlZSBwb3NzaWJsZSB2YWx1ZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gU3BhY2UgYmV0d2VlbiBjb2x1bW5zLCBhZGRlZCBhcyBhIGxlZnQgYW5kIHJpZ2h0IHBhZGRpbmcuXG5AbWl4aW4gZmxleC1ncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAvLyBCYXNlIHByb3BlcnRpZXNcbiAgZmxleDogZmxleC1ncmlkLWNvbHVtbigkY29sdW1ucyk7XG5cbiAgLy8gR3V0dGVyc1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgfVxuXG4gIC8vIGZpeGVzIHJlY2VudCBDaHJvbWUgdmVyc2lvbiBub3QgbGltaXRpbmcgY2hpbGQgd2lkdGhcbiAgLy8gaHR0cHM6Ly9zdGFja292ZXJmbG93LmNvbS9xdWVzdGlvbnMvMzQ5MzQ1ODYvd2hpdGUtc3BhY2Utbm93cmFwLWFuZC1mbGV4Ym94LWRpZC1ub3Qtd29yay1pbi1jaHJvbWVcbiAgQGlmICRjb2x1bW5zID09IG51bGwge1xuICAgIG1pbi13aWR0aDogaW5pdGlhbDtcbiAgfVxuICAvLyBtYXgtd2lkdGggZml4ZXMgSUUgMTAvMTEgbm90IHJlc3BlY3RpbmcgdGhlIGZsZXgtYmFzaXMgcHJvcGVydHlcbiAgQGlmICRjb2x1bW5zICE9IG51bGwgYW5kICRjb2x1bW5zICE9IHNocmluayB7XG4gICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBibG9jayBncmlkIGZvciBhIGZsZXggZ3JpZCByb3cuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG4gLSBOdW1iZXIgb2YgY29sdW1ucyB0byBkaXNwbGF5IG9uIGVhY2ggcm93LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgLSBTZWxlY3RvciB0byB1c2UgdG8gdGFyZ2V0IGNvbHVtbnMgd2l0aGluIHRoZSByb3cuXG5AbWl4aW4gZmxleC1ncmlkLWxheW91dChcbiAgJG4sXG4gICRzZWxlY3RvcjogJy5jb2x1bW4nXG4pIHtcbiAgZmxleC13cmFwOiB3cmFwO1xuXG4gID4gI3skc2VsZWN0b3J9IHtcbiAgICAkcGN0OiBwZXJjZW50YWdlKDEvJG4pO1xuXG4gICAgZmxleDogMCAwICRwY3Q7XG4gICAgbWF4LXdpZHRoOiAkcGN0O1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGdyaWQgY29sdW1uLiBDb2x1bW5zIHdpdGggbG93ZXIgbnVtYmVycyBhcHBlYXIgZmlyc3QgaW4gdGhlIGxheW91dC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG9yZGVyIFswXSAtIE9yZGVyIG51bWJlciB0byBhcHBseS5cbkBtaXhpbiBmbGV4LWdyaWQtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtb3JkZXIoKS4gZmxleC1ncmlkLW9yZGVyKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtb3JkZXIoJG9yZGVyKTtcbn1cblxuLy8vIEhvcml6b250YWxseSBvciB2ZXJ0aWNhbGx5IGFsaWducyB0aGUgY29sdW1ucyB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtZ3JpZC1yb3ctYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24oKS4gZmxleC1ncmlkLXJvdy1hbGlnbigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4LCAkeSk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oJHk6IG51bGwpIHtcbiAgQHdhcm4gJ1RoaXMgbWl4aW4gaXMgYmVpbmcgcmVwbGFjZWQgYnkgZmxleC1hbGlnbi1zZWxmKCkuIGZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5KTtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tZmxleC1ncmlkIHtcbiAgLy8gUm93XG4gIC5yb3cge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3c7XG5cbiAgICAvLyBOZXN0aW5nIGJlaGF2aW9yXG4gICAgJiAmIHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1yb3cobmVzdCwgJGJhc2U6IGZhbHNlKTtcbiAgICB9XG5cbiAgICAvLyBFeHBhbmRlZCByb3dcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICAmLmNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuICB9XG5cbiAgLy8gQ29sdW1uXG4gIC5jb2x1bW4ge1xuICAgIEBpbmNsdWRlIGZsZXgtZ3JpZC1jb2x1bW47XG4gIH1cblxuICAvLyBDb2x1bW4gcm93XG4gIC8vIFRoZSBkb3VibGUgLnJvdyBjbGFzcyBpcyBuZWVkZWQgdG8gYnVtcCB1cCB0aGUgc3BlY2lmaWNpdHlcbiAgLmNvbHVtbi5yb3cucm93IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIC8vIFRvIHByb3Blcmx5IG5lc3QgYSBjb2x1bW4gcm93LCBwYWRkaW5nIGFuZCBtYXJnaW4gaXMgcmVtb3ZlZFxuICAgIC5yb3cgJiB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgLXpmLWVhY2gtYnJlYWtwb2ludCB7XG4gICAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkZ3JpZC1jb2x1bW4tY291bnQge1xuICAgICAgLy8gU2l6aW5nIChwZXJjZW50YWdlKVxuICAgICAgLiN7JC16Zi1zaXplfS0jeyRpfSB7XG4gICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGkpO1xuICAgICAgICBtYXgtd2lkdGg6IGdyaWQtY29sdW1uKCRpKTtcbiAgICAgIH1cblxuICAgICAgLy8gT2Zmc2V0c1xuICAgICAgJG86ICRpIC0gMTtcblxuICAgICAgLiN7JC16Zi1zaXplfS1vZmZzZXQtI3skb30ge1xuICAgICAgICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG8pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNvdXJjZSBvcmRlcmluZ1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQmxvY2sgZ3JpZFxuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGJsb2NrLWdyaWQtbWF4IHtcbiAgICAgIC4jeyQtemYtc2l6ZX0tdXAtI3skaX0ge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtbGF5b3V0KCRpKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJC16Zi1zaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgIC8vIFNpemluZyAoZXhwYW5kKVxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgLiN7JC16Zi1zaXplfS1leHBhbmQge1xuICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBBdXRvLXN0YWNraW5nL3Vuc3RhY2tpbmdcbiAgICAgIEBhdC1yb290ICh3aXRob3V0OiBtZWRpYSkge1xuICAgICAgICAucm93LiN7JC16Zi1zaXplfS11bnN0YWNrIHtcbiAgICAgICAgICA+IC5jb2x1bW4ge1xuICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigxMDAlKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXNpemUpIHtcbiAgICAgICAgICAgICAgZmxleDogZmxleC1ncmlkLWNvbHVtbigpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlc3BvbnNpdmUgY29sbGFwc2luZ1xuICAgIC4jeyQtemYtc2l6ZX0tY29sbGFwc2Uge1xuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtY29sbGFwc2U7IH1cbiAgICB9XG5cbiAgICAuI3skLXpmLXNpemV9LXVuY29sbGFwc2Uge1xuICAgICAgJGd1dHRlcjogLXpmLWdldC1icC12YWwoJGdyaWQtY29sdW1uLWd1dHRlciwgJC16Zi1zaXplKTtcblxuICAgICAgPiAuY29sdW1uIHsgQGluY2x1ZGUgZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyKTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFNpemluZyAoc2hyaW5rKVxuICAuc2hyaW5rIHtcbiAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKHNocmluayk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIC8vIFJlbW92ZSB0aGVzZSBpbiA2LjNcbiAgQGVhY2ggJHZkaXIsICRwcm9wIGluICQtemYtZmxleC1hbGlnbiB7XG4gICAgLmNvbHVtbi5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduLXNlbGYoJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC5jb2x1bW5zIHtcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBQbGFjZWhvbGRlckluRXh0ZW5kXG4gICAgQGV4dGVuZCAuY29sdW1uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBSZW1vdmVzIHRoZSB1bml0IChlLmcuIHB4LCBlbSwgcmVtKSBmcm9tIGEgdmFsdWUsIHJldHVybmluZyB0aGUgbnVtYmVyIG9ubHkuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG51bSAtIE51bWJlciB0byBzdHJpcCB1bml0IGZyb20uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBUaGUgc2FtZSBudW1iZXIsIHNhbnMgdW5pdC5cbkBmdW5jdGlvbiBzdHJpcC11bml0KCRudW0pIHtcbiAgQHJldHVybiAkbnVtIC8gKCRudW0gKiAwICsgMSk7XG59XG5cbi8vLyBDb252ZXJ0cyBvbmUgb3IgbW9yZSBwaXhlbCB2YWx1ZXMgaW50byBtYXRjaGluZyByZW0gdmFsdWVzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJHZhbHVlcyAtIE9uZSBvciBtb3JlIHZhbHVlcyB0byBjb252ZXJ0LiBCZSBzdXJlIHRvIHNlcGFyYXRlIHRoZW0gd2l0aCBzcGFjZXMgYW5kIG5vdCBjb21tYXMuIElmIHlvdSBuZWVkIHRvIGNvbnZlcnQgYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCwgd3JhcCB0aGUgbGlzdCBpbiBwYXJlbnRoZXNlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhc2UgW251bGxdIC0gVGhlIGJhc2UgdmFsdWUgdG8gdXNlIHdoZW4gY2FsY3VsYXRpbmcgdGhlIGByZW1gLiBJZiB5b3UncmUgdXNpbmcgRm91bmRhdGlvbiBvdXQgb2YgdGhlIGJveCwgdGhpcyBpcyAxNnB4LiBJZiB0aGlzIHBhcmFtZXRlciBpcyBgbnVsbGAsIHRoZSBmdW5jdGlvbiB3aWxsIHJlZmVyZW5jZSB0aGUgYCRiYXNlLWZvbnQtc2l6ZWAgdmFyaWFibGUgYXMgdGhlIGJhc2UuXG4vLy9cbi8vLyBAcmV0dXJucyB7TGlzdH0gQSBsaXN0IG9mIGNvbnZlcnRlZCB2YWx1ZXMuXG5AZnVuY3Rpb24gcmVtLWNhbGMoJHZhbHVlcywgJGJhc2U6IG51bGwpIHtcbiAgJHJlbS12YWx1ZXM6ICgpO1xuICAkY291bnQ6IGxlbmd0aCgkdmFsdWVzKTtcblxuICAvLyBJZiBubyBiYXNlIGlzIGRlZmluZWQsIGRlZmVyIHRvIHRoZSBnbG9iYWwgZm9udCBzaXplXG4gIEBpZiAkYmFzZSA9PSBudWxsIHtcbiAgICAkYmFzZTogJGdsb2JhbC1mb250LXNpemU7XG4gIH1cblxuICAvLyBJZiB0aGUgYmFzZSBmb250IHNpemUgaXMgYSAlLCB0aGVuIG11bHRpcGx5IGl0IGJ5IDE2cHhcbiAgLy8gVGhpcyBpcyBiZWNhdXNlIDEwMCUgZm9udCBzaXplID0gMTZweCBpbiBtb3N0IGFsbCBicm93c2Vyc1xuICBAaWYgdW5pdCgkYmFzZSkgPT0gJyUnIHtcbiAgICAkYmFzZTogKCRiYXNlIC8gMTAwJSkgKiAxNnB4O1xuICB9XG5cbiAgQGlmICRjb3VudCA9PSAxIHtcbiAgICBAcmV0dXJuIC16Zi10by1yZW0oJHZhbHVlcywgJGJhc2UpO1xuICB9XG5cbiAgQGZvciAkaSBmcm9tIDEgdGhyb3VnaCAkY291bnQge1xuICAgICRyZW0tdmFsdWVzOiBhcHBlbmQoJHJlbS12YWx1ZXMsIC16Zi10by1yZW0obnRoKCR2YWx1ZXMsICRpKSwgJGJhc2UpKTtcbiAgfVxuXG4gIEByZXR1cm4gJHJlbS12YWx1ZXM7XG59XG5cbi8vIENvbnZlcnRzIGEgdW5pdGxlc3MsIHBpeGVsLCBvciByZW0gdmFsdWUgdG8gZW0sIGZvciB1c2UgaW4gYnJlYWtwb2ludHMuXG5AZnVuY3Rpb24gLXpmLWJwLXRvLWVtKCR2YWx1ZSkge1xuICAvLyBQaXhlbCBhbmQgdW5pdGxlc3MgdmFsdWVzIGFyZSBjb252ZXJ0ZWQgdG8gcmVtc1xuICBAaWYgdW5pdCgkdmFsdWUpID09ICdweCcgb3IgdW5pdGxlc3MoJHZhbHVlKSB7XG4gICAgJHZhbHVlOiByZW0tY2FsYygkdmFsdWUsICRiYXNlOiAxNnB4KTtcbiAgfVxuXG4gIC8vIFRoZW4gdGhlIHZhbHVlIGlzIGNvbnZlcnRlZCB0byBlbXNcbiAgQHJldHVybiBzdHJpcC11bml0KCR2YWx1ZSkgKiAxZW07XG59XG5cbi8vLyBDb252ZXJ0cyBhIHBpeGVsIHZhbHVlIHRvIG1hdGNoaW5nIHJlbSB2YWx1ZS4gKkFueSogdmFsdWUgcGFzc2VkLCByZWdhcmRsZXNzIG9mIHVuaXQsIGlzIGFzc3VtZWQgdG8gYmUgYSBwaXhlbCB2YWx1ZS4gQnkgZGVmYXVsdCwgdGhlIGJhc2UgcGl4ZWwgdmFsdWUgdXNlZCB0byBjYWxjdWxhdGUgdGhlIHJlbSB2YWx1ZSBpcyB0YWtlbiBmcm9tIHRoZSBgJGdsb2JhbC1mb250LXNpemVgIHZhcmlhYmxlLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR2YWx1ZSAtIFBpeGVsIHZhbHVlIHRvIGNvbnZlcnQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIEJhc2UgZm9yIHBpeGVsIGNvbnZlcnNpb24uXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIG51bWJlciBpbiByZW1zLCBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSBnaXZlbiB2YWx1ZSBhbmQgdGhlIGJhc2UgcGl4ZWwgdmFsdWUuIHJlbSB2YWx1ZXMgYXJlIHBhc3NlZCB0aHJvdWdoIGFzIGlzLlxuQGZ1bmN0aW9uIC16Zi10by1yZW0oJHZhbHVlLCAkYmFzZTogbnVsbCkge1xuICAvLyBDaGVjayBpZiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgQGlmIHR5cGUtb2YoJHZhbHVlKSAhPSAnbnVtYmVyJyB7XG4gICAgQHdhcm4gaW5zcGVjdCgkdmFsdWUpICsgJyB3YXMgcGFzc2VkIHRvIHJlbS1jYWxjKCksIHdoaWNoIGlzIG5vdCBhIG51bWJlci4nO1xuICAgIEByZXR1cm4gJHZhbHVlO1xuICB9XG5cbiAgLy8gQ2FsY3VsYXRlIHJlbSBpZiB1bml0cyBmb3IgJHZhbHVlIGlzIG5vdCByZW1cbiAgQGlmIHVuaXQoJHZhbHVlKSAhPSAncmVtJyB7XG4gICAgJHZhbHVlOiBzdHJpcC11bml0KCR2YWx1ZSkgLyBzdHJpcC11bml0KCRiYXNlKSAqIDFyZW07XG4gIH1cblxuICAvLyBUdXJuIDByZW0gaW50byAwXG4gIEBpZiAkdmFsdWUgPT0gMHJlbSB7XG4gICAgJHZhbHVlOiAwO1xuICB9XG5cbiAgQHJldHVybiAkdmFsdWU7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDaGFuZ2UgdGhlIGJlaGF2aW9yIG9mIGNvbHVtbnMgZGVmaW5lZCBpbnNpZGUgdGhpcyBtaXhpbiB0byB1c2UgYSBkaWZmZXJlbnQgY29sdW1uIGNvdW50LlxuLy8vIEBjb250ZW50XG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGNvbHVtbnMgLSBOdW1iZXIgb2YgY29sdW1ucyB0byB1c2UuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkcm9vdCBbZmFsc2VdXG4vLy8gICBJZiBgZmFsc2VgLCBzZWxlY3RvcnMgaW5zaWRlIHRoaXMgbWl4aW4gd2lsbCBuZXN0IGluc2lkZSB0aGUgcGFyZW50IHNlbGVjdG9yLlxuLy8vICAgSWYgYHRydWVgLCBzZWxlY3RvcnMgd2lsbCBub3QgbmVzdC5cbkBtaXhpbiBncmlkLWNvbnRleHQoXG4gICRjb2x1bW5zLFxuICAkcm9vdDogZmFsc2Vcbikge1xuICAvLyBTdG9yZSB0aGUgY3VycmVudCBjb2x1bW4gY291bnQgc28gaXQgY2FuIGJlIHJlLXNldCBsYXRlclxuICAkb2xkLWdyaWQtY29sdW1uLWNvdW50OiAkZ3JpZC1jb2x1bW4tY291bnQ7XG4gICRncmlkLWNvbHVtbi1jb3VudDogJGNvbHVtbnMgIWdsb2JhbDtcblxuICBAaWYgJHJvb3Qge1xuICAgIEBhdC1yb290IHsgQGNvbnRlbnQ7IH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQGNvbnRlbnQ7XG4gIH1cblxuICAvLyBSZXN0b3JlIHRoZSBvbGQgY29sdW1uIGNvdW50XG4gICRncmlkLWNvbHVtbi1jb3VudDogJG9sZC1ncmlkLWNvbHVtbi1jb3VudDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIHJvdy5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIENvbHVtbiBjb3VudCBmb3IgdGhpcyByb3cuIGBudWxsYCB3aWxsIHVzZSB0aGUgZGVmYXVsdCBjb2x1bW4gY291bnQuXG4vLy8gQHBhcmFtIHtLZXl3b3Jkc30gJGJlaGF2aW9yIFtudWxsXVxuLy8vICAgTW9kaWZpY2F0aW9ucyB0byB0aGUgZGVmYXVsdCBncmlkIHN0eWxlcy4gYG5lc3RgIGluZGljYXRlcyB0aGUgcm93IHdpbGwgYmUgcGxhY2VkIGluc2lkZSBhbm90aGVyIHJvdy4gYGNvbGxhcHNlYCBpbmRpY2F0ZXMgdGhhdCB0aGUgY29sdW1ucyBpbnNpZGUgdGhpcyByb3cgd2lsbCBub3QgaGF2ZSBwYWRkaW5nLiBgbmVzdCBjb2xsYXBzZWAgY29tYmluZXMgYm90aCBiZWhhdmlvcnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbJGdyaWQtcm93LXdpZHRoXSAtIE1heGltdW0gd2lkdGggb2YgdGhlIHJvdy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRjZiBbdHJ1ZV0gLSBXaGV0aGVyIG9yIG5vdCB0byBpbmNsdWRlIGEgY2xlYXJmaXguXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gR3V0dGVyIHRvIHVzZSB3aGVuIGludmVydGluZyBtYXJnaW5zLCBpbiBjYXNlIHRoZSByb3cgaXMgbmVzdGVkLlxuQG1peGluIGdyaWQtcm93KFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJlaGF2aW9yOiBudWxsLFxuICAkd2lkdGg6ICRncmlkLXJvdy13aWR0aCxcbiAgJGNmOiB0cnVlLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgJG1hcmdpbjogYXV0bztcblxuICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBuZXN0KSAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLXJvdy1uZXN0KCRndXR0ZXIpO1xuXG4gICAgQGlmIGluZGV4KCRiZWhhdmlvciwgY29sbGFwc2UpICE9IG51bGwge1xuICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICBtYXgtd2lkdGg6ICR3aWR0aDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICBAaWYgJGNmIHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgfVxuXG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIHtcbiAgICBAaW5jbHVkZSBncmlkLWNvbnRleHQoJGNvbHVtbnMpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gSW52ZXJ0cyB0aGUgbWFyZ2lucyBvZiBhIHJvdyB0byBuZXN0IGl0IGluc2lkZSBvZiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWFwfG51bGx9ICRndXR0ZXIgW251bGxdIC0gR3V0dGVyIHZhbHVlIHRvIHVzZSB3aGVuIGludmVydGluZyB0aGUgbWFyZ2lucy4gU2V0IHRvIGBudWxsYCB0byByZWZlciB0byB0aGUgcmVzcG9uc2l2ZSBndXR0ZXIgc2V0dGluZ3MuXG5AbWl4aW4gZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpZiB0eXBlLW9mKCRndXR0ZXIpID09ICdudW1iZXInIHtcbiAgICAkZ3V0dGVyOiAoJC16Zi16ZXJvLWJyZWFrcG9pbnQ6ICRndXR0ZXIpO1xuICB9XG4gIG1heC13aWR0aDogbm9uZTtcblxuICBAZWFjaCAkYnJlYWtwb2ludCwgJHZhbHVlIGluICRndXR0ZXIge1xuICAgICRtYXJnaW46IHJlbS1jYWxjKCR2YWx1ZSkgLyAyICogLTE7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRicmVha3BvaW50KSB7XG4gICAgICBtYXJnaW4tbGVmdDogJG1hcmdpbjtcbiAgICAgIG1hcmdpbi1yaWdodDogJG1hcmdpbjtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFrcG9pbnRzXG4vLy8vXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG5cbi8vLyBBIGxpc3Qgb2YgbmFtZWQgYnJlYWtwb2ludHMuIFlvdSBjYW4gdXNlIHRoZXNlIHdpdGggdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHF1aWNrbHkgY3JlYXRlIG1lZGlhIHF1ZXJpZXMuXG4vLy8gQHR5cGUgTWFwXG4kYnJlYWtwb2ludHM6IChcbiAgc21hbGw6IDAsXG4gIG1lZGl1bTogNjQwcHgsXG4gIGxhcmdlOiAxMDI0cHgsXG4gIHhsYXJnZTogMTIwMHB4LFxuICB4eGxhcmdlOiAxNDQwcHgsXG4pICFkZWZhdWx0O1xuXG4kLXpmLXplcm8tYnJlYWtwb2ludDogc21hbGwgIWRlZmF1bHQ7XG5cbkBpZiBudGgobWFwLXZhbHVlcygkYnJlYWtwb2ludHMpLCAxKSAhPSAwIHtcbiAgQGVycm9yICdZb3VyIHNtYWxsZXN0IGJyZWFrcG9pbnQgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnRzKSBtdXN0IGJlIHNldCB0byBcIjBcIi4nO1xufVxuQGVsc2Uge1xuICAkLXpmLXplcm8tYnJlYWtwb2ludDogbnRoKG1hcC1rZXlzKCRicmVha3BvaW50cyksIDEpO1xufVxuXG4vLy8gQWxsIG9mIHRoZSBuYW1lcyBpbiB0aGlzIGxpc3Qgd2lsbCBiZSBvdXRwdXQgYXMgY2xhc3NlcyBpbiB5b3VyIENTUywgbGlrZSBgLnNtYWxsLTEyYCwgYC5tZWRpdW0tNmAsIGFuZCBzbyBvbi4gRWFjaCB2YWx1ZSBpbiB0aGlzIGxpc3QgbXVzdCBhbHNvIGJlIGluIHRoZSBgJGJyZWFrcG9pbnRzYCBtYXAuXG4vLy8gQHR5cGUgTGlzdFxuJGJyZWFrcG9pbnQtY2xhc3NlczogKHNtYWxsIG1lZGl1bSBsYXJnZSkgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYSBtZWRpYSBxdWVyeSBzdHJpbmcgbWF0Y2hpbmcgdGhlIGlucHV0IHZhbHVlLiBSZWZlciB0byB0aGUgZG9jdW1lbnRhdGlvbiBmb3IgdGhlIGBicmVha3BvaW50KClgIG1peGluIHRvIHNlZSB3aGF0IHRoZSBwb3NzaWJsZSBpbnB1dHMgYXJlLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbCBbc21hbGxdIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuQGZ1bmN0aW9uIGJyZWFrcG9pbnQoJHZhbDogJC16Zi16ZXJvLWJyZWFrcG9pbnQpIHtcbiAgLy8gU2l6ZSBvciBrZXl3b3JkXG4gICRicDogbnRoKCR2YWwsIDEpO1xuICAvLyBWYWx1ZSBmb3IgbWF4LXdpZHRoIG1lZGlhIHF1ZXJpZXNcbiAgJGJwLW1heDogMDtcbiAgLy8gRGlyZWN0aW9uIG9mIG1lZGlhIHF1ZXJ5ICh1cCwgZG93biwgb3Igb25seSlcbiAgJGRpcjogaWYobGVuZ3RoKCR2YWwpID4gMSwgbnRoKCR2YWwsIDIpLCB1cCk7XG4gIC8vIEV2ZW50dWFsIG91dHB1dFxuICAkc3RyOiAnJztcbiAgLy8gSXMgaXQgYSBuYW1lZCBtZWRpYSBxdWVyeT9cbiAgJG5hbWVkOiBmYWxzZTtcblxuICAvLyBPcmllbnRhdGlvbiBtZWRpYSBxdWVyaWVzIGhhdmUgYSB1bmlxdWUgc3ludGF4XG4gIEBpZiAkYnAgPT0gJ2xhbmRzY2FwZScgb3IgJGJwID09ICdwb3J0cmFpdCcge1xuICAgIEByZXR1cm4gJyhvcmllbnRhdGlvbjogI3skYnB9KSc7XG4gIH1cbiAgQGVsc2UgaWYgJGJwID09ICdyZXRpbmEnIHtcbiAgICBAcmV0dXJuICcoLXdlYmtpdC1taW4tZGV2aWNlLXBpeGVsLXJhdGlvOiAyKSwgKG1pbi1yZXNvbHV0aW9uOiAxOTJkcGkpJztcbiAgfVxuXG4gIC8vIFRyeSB0byBwdWxsIGEgbmFtZWQgYnJlYWtwb2ludCBvdXQgb2YgdGhlICRicmVha3BvaW50cyBtYXBcbiAgQGlmIHR5cGUtb2YoJGJwKSA9PSAnc3RyaW5nJyB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJGJwKSB7XG4gICAgICBAaWYgJGRpciA9PSAnb25seScgb3IgJGRpciA9PSAnZG93bicge1xuICAgICAgICAkYnAtbWF4OiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgfVxuXG4gICAgICAkYnA6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkYnApO1xuICAgICAgJG5hbWVkOiB0cnVlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkYnA6IDA7XG4gICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBcIiN7JHZhbH1cIiBpcyBub3QgZGVmaW5lZCBpbiB5b3VyICRicmVha3BvaW50cyBzZXR0aW5nLic7XG4gICAgfVxuICB9XG5cbiAgLy8gQ29udmVydCBhbnkgcGl4ZWwsIHJlbSwgb3IgdW5pdGxlc3MgdmFsdWUgdG8gZW1cbiAgJGJwOiAtemYtYnAtdG8tZW0oJGJwKTtcbiAgQGlmICRicC1tYXgge1xuICAgICRicC1tYXg6IC16Zi1icC10by1lbSgkYnAtbWF4KSAtICgxLzE2KTtcbiAgfVxuXG4gIC8vIENvbmRpdGlvbnMgdG8gc2tpcCBtZWRpYSBxdWVyeSBjcmVhdGlvblxuICAvLyAtIEl0J3MgYSBuYW1lZCBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIGRvd25cIiBvciBcIjAgdXBcIlxuICAvLyAtIEl0J3MgYSBudW1lcmljIGJyZWFrcG9pbnQgdGhhdCByZXNvbHZlZCB0byBcIjAgXCIgKyBhbnl0aGluZ1xuICBAaWYgJGJwID4gMGVtIG9yICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAvLyBgb25seWAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKSBhbmQgKG1heC13aWR0aDogbilgXG4gICAgQGlmICRkaXIgPT0gJ29ubHknIHtcbiAgICAgIC8vIE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBcIm9ubHlcIiByYW5nZVxuICAgICAgQGlmICRuYW1lZCA9PSB0cnVlIHtcbiAgICAgICAgLy8gT25seSB1c2UgXCJtaW4td2lkdGhcIiBpZiB0aGUgZmxvb3IgaXMgZ3JlYXRlciB0aGFuIDBcbiAgICAgICAgQGlmICRicCA+IDBlbSB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcblxuICAgICAgICAgIC8vIE9ubHkgYWRkIFwiYW5kXCIgdG8gdGhlIG1lZGlhIHF1ZXJ5IGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgICAgQGlmICRicC1tYXggIT0gbnVsbCB7XG4gICAgICAgICAgICAkc3RyOiAkc3RyICsgJyBhbmQgJztcbiAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAvLyBPbmx5IHVzZSBcIm1heC13aWR0aFwiIGlmIHRoZXJlJ3MgYSBjZWlsaW5nXG4gICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1heC13aWR0aDogI3skYnAtbWF4fSknO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIEB3YXJuICdicmVha3BvaW50KCk6IE9ubHkgbmFtZWQgbWVkaWEgcXVlcmllcyBjYW4gaGF2ZSBhbiBgb25seWAgcmFuZ2UuJztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgZG93bmAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWF4LXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkZGlyID09ICdkb3duJyB7XG4gICAgICAkbWF4OiBpZigkbmFtZWQsICRicC1tYXgsICRicCk7XG5cbiAgICAgIC8vIFNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb24gaWYgaW5wdXQgdmFsdWUgaXMgZXhhY3RseSBcIjAgZG93blwiLFxuICAgICAgLy8gdW5sZXNzIHRoZSBmdW5jdGlvbiB3YXMgY2FsbGVkIGFzIFwic21hbGwgZG93blwiLCBpbiB3aGljaCBjYXNlIGl0J3MganVzdCBcInNtYWxsIG9ubHlcIlxuICAgICAgQGlmICRuYW1lZCBvciAkYnAgPiAwZW0ge1xuICAgICAgICBAaWYgJG1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JG1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGB1cGAgcmFuZ2VzIHVzZSB0aGUgZm9ybWF0IGAobWluLXdpZHRoOiBuKWBcbiAgICBAZWxzZSBpZiAkYnAgPiAwZW0ge1xuICAgICAgJHN0cjogJHN0ciArICcobWluLXdpZHRoOiAjeyRicH0pJztcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRzdHI7XG59XG5cbi8vLyBXcmFwcyBhIG1lZGlhIHF1ZXJ5IGFyb3VuZCB0aGUgY29udGVudCB5b3UgcHV0IGluc2lkZSB0aGUgbWl4aW4uIFRoaXMgbWl4aW4gYWNjZXB0cyBhIG51bWJlciBvZiB2YWx1ZXM6XG4vLy8gIC0gSWYgYSBzdHJpbmcgaXMgcGFzc2VkLCB0aGUgbWl4aW4gd2lsbCBsb29rIGZvciBpdCBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLCBhbmQgdXNlIGEgbWVkaWEgcXVlcnkgdGhlcmUuXG4vLy8gIC0gSWYgYSBwaXhlbCB2YWx1ZSBpcyBwYXNzZWQsIGl0IHdpbGwgYmUgY29udmVydGVkIHRvIGFuIGVtIHZhbHVlIHVzaW5nIGAkZ2xvYmFsLWZvbnQtc2l6ZWAgYXMgdGhlIGJhc2UuXG4vLy8gIC0gSWYgYSByZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdW5pdCB3aWxsIGJlIGNoYW5nZWQgdG8gZW0uXG4vLy8gIC0gSWYgYW4gZW0gdmFsdWUgaXMgcGFzc2VkLCB0aGUgdmFsdWUgd2lsbCBiZSB1c2VkIGFzLWlzLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lLCBvciBweCwgcmVtLCBvciBlbSB2YWx1ZSB0byBwcm9jZXNzLlxuLy8vXG4vLy8gQG91dHB1dCBJZiB0aGUgYnJlYWtwb2ludCBpcyBcIjBweCBhbmQgbGFyZ2VyXCIsIG91dHB1dHMgdGhlIGNvbnRlbnQgYXMtaXMuIE90aGVyd2lzZSwgb3V0cHV0cyB0aGUgY29udGVudCB3cmFwcGVkIGluIGEgbWVkaWEgcXVlcnkuXG5AbWl4aW4gYnJlYWtwb2ludCgkdmFsdWUpIHtcbiAgJHN0cjogYnJlYWtwb2ludCgkdmFsdWUpO1xuXG4gIC8vIElmICRzdHIgaXMgc3RpbGwgYW4gZW1wdHkgc3RyaW5nLCBubyBtZWRpYSBxdWVyeSBpcyBuZWVkZWRcbiAgQGlmICRzdHIgPT0gJycge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gT3RoZXJ3aXNlLCB3cmFwIHRoZSBjb250ZW50IGluIGEgbWVkaWEgcXVlcnlcbiAgQGVsc2Uge1xuICAgIEBtZWRpYSBzY3JlZW4gYW5kICN7JHN0cn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDb252ZXJzIHRoZSBicmVha3BvaW50cyBtYXAgdG8gYSBVUkwtZW5jb2RlZCBzdHJpbmcsIGxpa2UgdGhpczogYGtleTE9dmFsdWUxJmtleTI9dmFsdWUyYC4gVGhlIHZhbHVlIGlzIHRoZW4gZHJvcHBlZCBpbnRvIHRoZSBDU1MgZm9yIGEgc3BlY2lhbCBgPG1ldGE+YCB0YWcsIHdoaWNoIGlzIHJlYWQgYnkgdGhlIEZvdW5kYXRpb24gSmF2YVNjcmlwdC4gVGhpcyBpcyBob3cgd2UgdHJhbnNmZXIgdmFsdWVzIGZyb20gU2FzcyB0byBKYXZhU2NyaXB0LCBzbyB0aGV5IGNhbiBiZSBkZWZpbmVkIGluIG9uZSBwbGFjZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIGNvbnZlcnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7U3RyaW5nfSBBIHN0cmluZyBjb250YWluaW5nIHRoZSBtYXAncyBjb250ZW50cy5cbkBmdW5jdGlvbiAtemYtYnAtc2VyaWFsaXplKCRtYXApIHtcbiAgJHN0cjogJyc7XG4gIEBlYWNoICRrZXksICR2YWx1ZSBpbiAkbWFwIHtcbiAgICAkc3RyOiAkc3RyICsgJGtleSArICc9JyArIC16Zi1icC10by1lbSgkdmFsdWUpICsgJyYnO1xuICB9XG4gICRzdHI6IHN0ci1zbGljZSgkc3RyLCAxLCAtMik7XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gRmluZCB0aGUgbmV4dCBrZXkgaW4gYSBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byB0cmF2ZXJzZS5cbi8vLyBAcGFyYW0ge01peGVkfSAka2V5IC0gS2V5IHRvIHVzZSBhcyBhIHN0YXJ0aW5nIHBvaW50LlxuLy8vXG4vLy8gQHJldHVybnMge01peGVkfSBUaGUgdmFsdWUgZm9yIHRoZSBrZXkgYWZ0ZXIgYCRrZXlgLCBpZiBgJGtleWAgd2FzIGZvdW5kLiBJZiBgJGtleWAgd2FzIG5vdCBmb3VuZCwgb3IgYCRrZXlgIHdhcyB0aGUgbGFzdCB2YWx1ZSBpbiB0aGUgbWFwLCByZXR1cm5zIGBudWxsYC5cbkBmdW5jdGlvbiAtemYtbWFwLW5leHQoJG1hcCwgJGtleSkge1xuICAvLyBTdG9yZSB0aGUgdmFsdWVzIG9mIHRoZSBtYXAgYXMgYSBsaXN0LCBzbyB3ZSBjYW4gYWNjZXNzIHRoZW0gd2l0aCBudGhcbiAgJHZhbHVlczogbWFwLXZhbHVlcygkbWFwKTtcblxuICAvLyBHaGV0dG8gZm9yIGxvb3BcbiAgJGk6IDE7XG4gICRmb3VuZDogZmFsc2U7XG4gIEBlYWNoICR2YWwgaW4gbWFwLWtleXMoJG1hcCkge1xuICAgIEBpZiAkZm91bmQgPT0gZmFsc2Uge1xuICAgICAgQGlmICgka2V5ID09ICR2YWwpIHtcbiAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgfVxuICAgICAgJGk6ICRpICsgMTtcbiAgICB9XG4gIH1cblxuICAvLyBJZiB0aGUga2V5IGRvZXNuJ3QgZXhpc3QsIG9yIGl0J3MgdGhlIGxhc3Qga2V5IGluIHRoZSBtYXAsIHJldHVybiBudWxsXG4gIEBpZiAkaSA+IGxlbmd0aCgkbWFwKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgcmV0dXJuIHRoZSB2YWx1ZVxuICBAZWxzZSB7XG4gICAgQHJldHVybiBudGgoJHZhbHVlcywgJGkpO1xuICB9XG59XG5cbi8vLyBHZXQgYSB2YWx1ZSBmb3IgYSBicmVha3BvaW50IGZyb20gYSByZXNwb25zaXZlIGNvbmZpZyBtYXAuIElmIHRoZSBjb25maWcgbWFwIGhhcyB0aGUga2V5IGAkdmFsdWVgLCB0aGUgZXhhY3QgYnJlYWtwb2ludCB2YWx1ZSBpcyByZXR1cm5lZC4gSWYgdGhlIGNvbmZpZyBtYXAgZG9lcyAqbm90KiBoYXZlIHRoZSBicmVha3BvaW50LCB0aGUgdmFsdWUgbWF0Y2hpbmcgdGhlIG5leHQgbG93ZXN0IGJyZWFrcG9pbnQgaW4gdGhlIGNvbmZpZyBtYXAgaXMgcmV0dXJuZWQuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIElucHV0IGNvbmZpZyBtYXAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdmFsdWUgLSBCcmVha3BvaW50IG5hbWUgdG8gdXNlLlxuLy8vXG4vLy8gQHJldHVybiB7TWl4ZWR9IFRoZSBjb3JyZXNwb25kaW5nIGJyZWFrcG9pbnQgdmFsdWUuXG5AZnVuY3Rpb24gLXpmLWdldC1icC12YWwoJG1hcCwgJHZhbHVlKSB7XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGdsb2JhbGx5XG4gIEBpZiBub3QgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCAkdmFsdWUpIHtcbiAgICBAcmV0dXJuIG51bGw7XG4gIH1cbiAgLy8gQ2hlY2sgaWYgdGhlIGJyZWFrcG9pbnQgbmFtZSBleGlzdHMgaW4gdGhlIGxvY2FsIGNvbmZpZyBtYXBcbiAgQGVsc2UgaWYgbWFwLWhhcy1rZXkoJG1hcCwgJHZhbHVlKSB7XG4gICAgLy8gSWYgaXQgZG9lcywganVzdCByZXR1cm4gdGhlIHZhbHVlXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICR2YWx1ZSk7XG4gIH1cbiAgLy8gT3RoZXJ3aXNlLCBmaW5kIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGFuZCByZXR1cm4gdGhhdCB2YWx1ZVxuICBAZWxzZSB7XG4gICAgJGFuY2hvcjogbnVsbDtcbiAgICAkZm91bmQ6IGZhbHNlO1xuXG4gICAgQGVhY2ggJGtleSwgJHZhbCBpbiAkYnJlYWtwb2ludHMge1xuICAgICAgQGlmIG5vdCAkZm91bmQge1xuICAgICAgICBAaWYgbWFwLWhhcy1rZXkoJG1hcCwgJGtleSkge1xuICAgICAgICAgICRhbmNob3I6ICRrZXk7XG4gICAgICAgIH1cbiAgICAgICAgQGlmICRrZXkgPT0gJHZhbHVlIHtcbiAgICAgICAgICAkZm91bmQ6IHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICBAcmV0dXJuIG1hcC1nZXQoJG1hcCwgJGFuY2hvcik7XG4gIH1cbn1cblxuLy8gTGVnYWN5IGJyZWFrcG9pbnQgdmFyaWFibGVzXG4vLyBUaGVzZSB3aWxsIGJlIHJlbW92ZWQgaW4gNi4zXG4kc21hbGwtdXA6IG51bGw7XG4kc21hbGwtb25seTogbnVsbDtcbiRtZWRpdW0tdXA6IG51bGw7XG4kbWVkaXVtLW9ubHk6IG51bGw7XG4kbGFyZ2UtdXA6IG51bGw7XG4kbGFyZ2Utb25seTogbnVsbDtcbiR4bGFyZ2UtdXA6IG51bGw7XG4keGxhcmdlLW9ubHk6IG51bGw7XG4keHhsYXJnZS11cDogbnVsbDtcbiR4eGxhcmdlLW9ubHk6IG51bGw7XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHNtYWxsKSB7XG4gICRzbWFsbC11cDogc2NyZWVuO1xuICAkc21hbGwtb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoc21hbGwgb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIG1lZGl1bSkge1xuICAkbWVkaXVtLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0pfScpO1xuICAkbWVkaXVtLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KG1lZGl1bSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgbGFyZ2UpIHtcbiAgJGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSl9Jyk7XG4gICRsYXJnZS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeGxhcmdlKSB7XG4gICR4bGFyZ2UtdXA6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSl9Jyk7XG4gICR4bGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeGxhcmdlIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCB4eGxhcmdlKSB7XG4gICR4eGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4eGxhcmdlKX0nKTtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGdyaWRcbi8vLy9cblxuLy8vIENvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlbW92aW5nIHRoZSBwYWRkaW5nLiAqKk5vdGU6Kiogb25seSB1c2UgdGhpcyBtaXhpbiB3aXRoaW4gYSBicmVha3BvaW50LiBUbyBjb2xsYXBzZSBhIGNvbHVtbidzIGd1dHRlcnMgb24gYWxsIHNjcmVlbiBzaXplcywgdXNlIHRoZSBgJGd1dHRlcmAgcGFyYW1ldGVyIG9mIHRoZSBgZ3JpZC1jb2x1bW4oKWAgbWl4aW4gaW5zdGVhZC5cbkBtaXhpbiBncmlkLWNvbHVtbi1jb2xsYXBzZSB7XG4gIHBhZGRpbmctbGVmdDogMDtcbiAgcGFkZGluZy1yaWdodDogMDtcbn1cblxuLy8vIFVuLWNvbGxhcHNlIHRoZSBndXR0ZXJzIG9uIGEgY29sdW1uIGJ5IHJlLWFkZGluZyB0aGUgcGFkZGluZy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICAkZ3V0dGVyOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gIHBhZGRpbmctbGVmdDogJGd1dHRlcjtcbiAgcGFkZGluZy1yaWdodDogJGd1dHRlcjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLWNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLWNvbGxhcHNlIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tY29sbGFwc2U7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi11bmNvbGxhcHNlKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi11bmNvbGxhcHNlXG5AbWl4aW4gZ3JpZC1jb2wtdW5jb2xsYXBzZSgkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVuY29sbGFwc2UoJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDYWxjdWxhdGVzIHRoZSB3aWR0aCBvZiBhIGNvbHVtbiBiYXNlZCBvbiBhIG51bWJlciBvZiBmYWN0b3JzLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJGNvbHVtbnNcbi8vLyAgIFdpZHRoIG9mIHRoZSBjb2x1bW4uIEFjY2VwdHMgbXVsdGlwbGUgdmFsdWVzOlxuLy8vICAgLSBBIHBlcmNlbnRhZ2UgdmFsdWUgd2lsbCBtYWtlIHRoZSBjb2x1bW4gdGhhdCBleGFjdCBzaXplLlxuLy8vICAgLSBBIHNpbmdsZSBkaWdpdCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBzcGFuIHRoYXQgbnVtYmVyIG9mIGNvbHVtbnMgd2lkZSwgdGFraW5nIGludG8gYWNjb3VudCB0aGUgY29sdW1uIGNvdW50IG9mIHRoZSBwYXJlbnQgcm93LlxuLy8vICAgLSBBIHN0cmluZyBvZiB0aGUgZm9ybWF0IFwieCBvZiB5XCIgd2lsbCBtYWtlIGEgY29sdW1uIHRoYXQgaXMgKngqIGNvbHVtbnMgd2lkZSwgYXNzdW1pbmcgKnkqIHRvdGFsIGNvbHVtbnMgZm9yIHRoZSBwYXJlbnQuXG4vLy9cbi8vLyBAcmV0dXJucyB7TnVtYmVyfSBBIGNhbGN1bGF0ZWQgcGVyY2VudGFnZSB2YWx1ZS5cbkBmdW5jdGlvbiBncmlkLWNvbHVtbigkY29sdW1ucykge1xuICAkd2lkdGg6IDAlO1xuXG4gIC8vIFBhcnNpbmcgcGVyY2VudHMsIGRlY2ltYWxzLCBhbmQgY29sdW1uIGNvdW50c1xuICBAaWYgdHlwZS1vZigkY29sdW1ucykgPT0gJ251bWJlcicge1xuICAgIEBpZiB1bml0KCRjb2x1bW5zKSA9PSAnJScge1xuICAgICAgJHdpZHRoOiAkY29sdW1ucztcbiAgICB9XG4gICAgQGVsc2UgaWYgJGNvbHVtbnMgPCAxIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICR3aWR0aDogcGVyY2VudGFnZSgkY29sdW1ucyAvICRncmlkLWNvbHVtbi1jb3VudCk7XG4gICAgfVxuICB9XG5cbiAgLy8gUGFyc2luZyBcIm4gb2YgblwiIGV4cHJlc3Npb25zXG4gIEBlbHNlIGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdsaXN0JyB7XG4gICAgQGlmIGxlbmd0aCgkY29sdW1ucykgIT0gMyB7XG4gICAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIHRoZSBmb3JtYXQgXCJuIG9mIG5cIi4nO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UobnRoKCRjb2x1bW5zLCAxKSAvIG50aCgkY29sdW1ucywgMykpO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFueXRoaW5nIGVsc2UgaXMgaW5jb3JyZWN0XG4gIEBlbHNlIHtcbiAgICBAZXJyb3IgJ1dyb25nIHN5bnRheCBmb3IgZ3JpZC1jb2x1bW4oKS4gVXNlIGEgbnVtYmVyLCBkZWNpbWFsLCBwZXJjZW50YWdlLCBvciBcIm4gb2YgblwiLic7XG4gIH1cblxuICBAcmV0dXJuICR3aWR0aDtcbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFskZ3JpZC1jb2x1bW4tY291bnRdIC0gV2lkdGggb2YgdGhlIGNvbHVtbi4gUmVmZXIgdG8gdGhlIGBncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNpbmcgYmV0d2VlbiBjb2x1bW5zLlxuQG1peGluIGdyaWQtY29sdW1uKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tc2l6ZSgkY29sdW1ucyk7XG4gIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG5cbiAgLy8gR3V0dGVyc1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbWFwJyB7XG4gICAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAgICRwYWRkaW5nOiByZW0tY2FsYygkdmFsdWUpIC8gMjtcblxuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyBhbmQgc3RyaXAtdW5pdCgkZ3V0dGVyKSA+IDAge1xuICAgICRwYWRkaW5nOiByZW0tY2FsYygkZ3V0dGVyKSAvIDI7XG4gICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgfVxuXG4gIC8vIExhc3QgY29sdW1uIGFsaWdubWVudFxuICBAaWYgJGdyaWQtY29sdW1uLWFsaWduLWVkZ2Uge1xuICAgICY6bGFzdC1jaGlsZDpub3QoOmZpcnN0LWNoaWxkKSB7XG4gICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBncmlkIGNvbHVtbiByb3cuIFRoaXMgaXMgdGhlIGVxdWl2YWxlbnQgb2YgYWRkaW5nIGAucm93YCBhbmQgYC5jb2x1bW5gIHRvIHRoZSBzYW1lIGVsZW1lbnQuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBXaWR0aCBvZiB0aGUgZ3V0dGVycyBvbiBlaXRoZXIgc2lkZSBvZiB0aGUgY29sdW1uIHJvdy5cbkBtaXhpbiBncmlkLWNvbHVtbi1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLXJvdztcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGd1dHRlcjogJGd1dHRlcik7XG5cbiAgJixcbiAgJjpsYXN0LWNoaWxkIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uXG5AZnVuY3Rpb24gZ3JpZC1jb2woXG4gICRjb2x1bW5zOiAkZ3JpZC1jb2x1bW4tY291bnRcbikge1xuICBAcmV0dXJuIGdyaWQtY29sdW1uKCRjb2x1bW5zKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQG1peGluIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50LFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4oJGNvbHVtbnMsICRndXR0ZXIpO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcm93KClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1yb3dcbkBtaXhpbiBncmlkLWNvbC1yb3coXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1yb3coJGd1dHRlcik7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBSZXBvc2l0aW9uIGEgY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ8S2V5d29yZH0gJHBvc2l0aW9uIC0gRGlyZWN0aW9uIGFuZCBhbW91bnQgdG8gbW92ZS4gVGhlIGNvbHVtbiB3aWxsIG1vdmUgZXF1YWwgdG8gdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gY291bnQgc3BlY2lmaWVkLiBBIHBvc2l0aXZlIG51bWJlciB3aWxsIHB1c2ggdGhlIGNvbHVtbiB0byB0aGUgcmlnaHQsIHdoaWxlIGEgbmVnYXRpdmUgbnVtYmVyIHdpbGwgcHVsbCBpdCB0byB0aGUgbGVmdC4gU2V0IHRvIGNlbnRlciB0byBjZW50ZXIgdGhlIGNvbHVtbi5cbkBtaXhpbiBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pIHtcbiAgQGlmIHR5cGUtb2YoJHBvc2l0aW9uKSA9PSAnbnVtYmVyJyB7XG4gICAgJG9mZnNldDogcGVyY2VudGFnZSgkcG9zaXRpb24gLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJG9mZnNldDtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gY2VudGVyIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uLXBvc2l0aW9uKCkuIEVudGVyIGEgcG9zaXRpdmUgb3IgbmVnYXRpdmUgbnVtYmVyLCBvciBjZW50ZXIuJztcbiAgfVxufVxuXG4vLy8gUmVzZXQgYSBwb3NpdGlvbiBkZWZpbml0aW9uLlxuQG1peGluIGdyaWQtY29sdW1uLXVucG9zaXRpb24ge1xuICBwb3NpdGlvbjogc3RhdGljO1xuICBtYXJnaW4tbGVmdDogMDtcbiAgbWFyZ2luLXJpZ2h0OiAwO1xuICBmbG9hdDogbGVmdDtcbn1cblxuLy8vIE9mZnNldHMgYSBjb2x1bW4gdG8gdGhlIHJpZ2h0IGJ5IGAkbmAgY29sdW1ucy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkbiAtIFdpZHRoIHRvIG9mZnNldCBieS4gWW91IGNhbiBwYXNzIGluIGFueSB2YWx1ZSBhY2NlcHRlZCBieSB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluLCBzdWNoIGFzIGA2YCwgYDUwJWAsIG9yIGAxIG9mIDJgLlxuQG1peGluIGdyaWQtY29sdW1uLW9mZnNldCgkbikge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiBncmlkLWNvbHVtbigkbik7XG59XG5cbi8vLyBEaXNhYmxlIHRoZSBkZWZhdWx0IGJlaGF2aW9yIG9mIHRoZSBsYXN0IGNvbHVtbiBpbiBhIHJvdyBhbGlnbmluZyB0byB0aGUgb3Bwb3NpdGUgZWRnZS5cbkBtaXhpbiBncmlkLWNvbHVtbi1lbmQge1xuICAvLyBUaGlzIGV4dHJhIHNwZWNpZmljaXR5IGlzIHJlcXVpcmVkIGZvciB0aGUgcHJvcGVydHkgdG8gYmUgYXBwbGllZFxuICAmOmxhc3QtY2hpbGQ6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6ICRnbG9iYWwtbGVmdDtcbiAgfVxufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tcG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXBvc2l0aW9uXG5AbWl4aW4gZ3JpZC1jb2wtcG9zKCRwb3NpdGlvbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1wb3NpdGlvbigkcG9zaXRpb24pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXVucG9zIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tdW5wb3NpdGlvbjtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLW9mZnNldCgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tb2Zmc2V0XG5AbWl4aW4gZ3JpZC1jb2wtb2ZmKCRuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLW9mZnNldCgkbik7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1lbmQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLWVuZFxuQG1peGluIGdyaWQtY29sLWVuZCB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWVuZDtcbn1cbiIsIiQtemYtZmxleC1qdXN0aWZ5OiAoXG4gICdsZWZ0JzogZmxleC1zdGFydCxcbiAgJ3JpZ2h0JzogZmxleC1lbmQsXG4gICdjZW50ZXInOiBjZW50ZXIsXG4gICdqdXN0aWZ5Jzogc3BhY2UtYmV0d2VlbixcbiAgJ3NwYWNlZCc6IHNwYWNlLWFyb3VuZCxcbik7XG5cbiQtemYtZmxleC1hbGlnbjogKFxuICAndG9wJzogZmxleC1zdGFydCxcbiAgJ2JvdHRvbSc6IGZsZXgtZW5kLFxuICAnbWlkZGxlJzogY2VudGVyLFxuICAnc3RyZXRjaCc6IHN0cmV0Y2gsXG4pO1xuXG4vLy8gRW5hYmxlcyBmbGV4Ym94IGJ5IGFkZGluZyBgZGlzcGxheTogZmxleGAgdG8gdGhlIGVsZW1lbnQuXG5AbWl4aW4gZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGl0ZW1zIHdpdGhpbiBhIGZsZXggY29udGFpbmVyLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeCBbbnVsbF0gLSBIb3Jpem9udGFsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgbGVmdGAsIGByaWdodGAsIGBjZW50ZXJgLCBganVzdGlmeWAsIG9yIGBzcGFjZWRgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgaG9yaXpvbnRhbCBhbGlnbm1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24oJHg6IG51bGwsICR5OiBudWxsKSB7XG4gIEBpZiAkeCB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1qdXN0aWZ5LCAkeCkge1xuICAgICAgJHg6IG1hcC1nZXQoJC16Zi1mbGV4LWp1c3RpZnksICR4KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeH0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGhvcml6b250YWwgYWxpZ25tZW50LiBVc2UgbGVmdCwgcmlnaHQsIGNlbnRlciwganVzdGlmeSwgb3Igc3BhY2VkLidcbiAgICB9XG4gIH1cblxuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1yb3ctYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIHZlcnRpY2FsIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGp1c3RpZnktY29udGVudDogJHg7XG4gIGFsaWduLWl0ZW1zOiAkeTtcbn1cblxuLy8vIFZlcnRpY2FsbHkgYWxpZ24gYSBzaW5nbGUgY29sdW1uIHdpdGhpbiBhIGZsZXggcm93LiBBcHBseSB0aGlzIG1peGluIHRvIGEgZmxleCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR5IFtudWxsXSAtIFZlcnRpY2FsIGFsaWdubWVudCB0byB1c2UuIENhbiBiZSBgdG9wYCwgYGJvdHRvbWAsIGBtaWRkbGVgLCBvciBgc3RyZXRjaGAuIE9yLCBzZXQgaXQgdG8gYG51bGxgICh0aGUgZGVmYXVsdCkgdG8gbm90IHNldCB2ZXJ0aWNhbCBhbGlnbm1lbnQuXG5AbWl4aW4gZmxleC1hbGlnbi1zZWxmKCR5OiBudWxsKSB7XG4gIEBpZiAkeSB7XG4gICAgQGlmIG1hcC1oYXMta2V5KCQtemYtZmxleC1hbGlnbiwgJHkpIHtcbiAgICAgICR5OiBtYXAtZ2V0KCQtemYtZmxleC1hbGlnbiwgJHkpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBAd2FybiAnZmxleC1ncmlkLWNvbHVtbi1hbGlnbigpOiAjeyR5fSBpcyBub3QgYSB2YWxpZCB2YWx1ZSBmb3IgYWxpZ25tZW50LiBVc2UgdG9wLCBib3R0b20sIG1pZGRsZSwgb3Igc3RyZXRjaC4nXG4gICAgfVxuICB9XG5cbiAgYWxpZ24tc2VsZjogJHk7XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzb3VyY2Ugb3JkZXIgb2YgYSBmbGV4IGNoaWxkLiBDaGlsZHJlbiB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1vcmRlcigkb3JkZXI6IDApIHtcbiAgb3JkZXI6ICRvcmRlcjtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktYmFzZVxuLy8vL1xuXG4vLyBCYXNlIFR5cG9ncmFwaHlcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG4vLyBUaGVzZSBhcmUgc3R5bGVzIGFwcGxpZWQgdG8gYmFzaWMgSFRNTCB0YWdzLCBpbmNsdWRpbmc6XG4vLyAgIC0gUGFyYWdyYXBocyA8cD5cbi8vICAgLSBCb2xkL2l0YWxpY3MgPGI+IDxzdHJvbmc+IDxpPiA8ZW0+XG4vLyAgIC0gU21hbGwgdGV4dCA8c21hbGw+XG4vLyAgIC0gSGVhZGluZ3MgPGgxPuKAlDxoNj5cbi8vICAgLSBBbmNob3JzIDxhPlxuLy8gICAtIERpdmlkZXJzIDxocj5cbi8vICAgLSBMaXN0cyA8dWw+IDxvbD4gPGRsPlxuLy8gICAtIEJsb2NrcXVvdGVzIDxibG9ja3F1b3RlPlxuLy8gICAtIENvZGUgYmxvY2tzIDxjb2RlPlxuLy8gICAtIEFiYnJldmlhdGlvbnMgPGFiYnI+XG4vLyAgIC0gQ2l0YXRpb25zIDxjaXRlPlxuLy8gICAtIEtleXN0cm9rZXMgPGtiZD5cblxuLy8vIEZvbnQgZmFtaWx5IGZvciBoZWFkZXIgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGhlYWRlci1mb250LWZhbWlseTogJGJvZHktZm9udC1mYW1pbHkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdHlsZSAoZS5nLiBpdGFsaWNpemVkKSBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci1mb250LXN0eWxlOiBub3JtYWwgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIHVzZWQgZm9yIGVsZW1lbnRzIHRoYXQgdXNlIG1vbm9zcGFjZWQgdHlwZSwgc3VjaCBhcyBjb2RlIHNhbXBsZXNcbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kZm9udC1mYW1pbHktbW9ub3NwYWNlOiBDb25zb2xhcywgJ0xpYmVyYXRpb24gTW9ubycsIENvdXJpZXIsIG1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFNpemVzIG9mIGhlYWRpbmdzIGF0IHZhcmlvdXMgc2NyZWVuIHNpemVzLiBFYWNoIGtleSBpcyBhIGJyZWFrcG9pbnQsIGFuZCBlYWNoIHZhbHVlIGlzIGEgbWFwIG9mIGhlYWRpbmcgc2l6ZXMuXG4vLy8gQHR5cGUgTWFwXG4kaGVhZGVyLXNpemVzOiAoXG4gIHNtYWxsOiAoXG4gICAgJ2gxJzogMjQsXG4gICAgJ2gyJzogMjAsXG4gICAgJ2gzJzogMTksXG4gICAgJ2g0JzogMTgsXG4gICAgJ2g1JzogMTcsXG4gICAgJ2g2JzogMTYsXG4gICksXG4gIG1lZGl1bTogKFxuICAgICdoMSc6IDQ4LFxuICAgICdoMic6IDQwLFxuICAgICdoMyc6IDMxLFxuICAgICdoNCc6IDI1LFxuICAgICdoNSc6IDIwLFxuICAgICdoNic6IDE2LFxuICApLFxuKSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItY29sb3I6IGluaGVyaXQgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kaGVhZGVyLW1hcmdpbi1ib3R0b206IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIGA8c21hbGw+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzbWFsbC1mb250LXNpemU6IDgwJSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIGA8c21hbGw+YCBlbGVtZW50cyB3aGVuIHBsYWNlZCBpbnNpZGUgaGVhZGVycy5cbi8vLyBAdHlwZSBDb2xvclxuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBvZiB0ZXh0IGluc2lkZSBgPHA+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCByZW5kZXJpbmcgbWV0aG9kIGZvciBwYXJhZ3JhcGggdGV4dC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRjb2RlLWZvbnQtZmFtaWx5OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kY29kZS1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjb2RlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGNvZGUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBhcm91bmQgdGV4dCBvZiBjb2RlIHNhbXBsZXMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGNvZGUtcGFkZGluZzogcmVtLWNhbGMoMiA1IDEpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3MuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlb2NyYXRpb24gZm9yIGxpbmtzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgZGVjb3JhdGlvbiBmb3IgbGlua3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gd2lkdGggb2YgYSBkaXZpZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGhyLXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBMaXN0XG4kaHItYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gZm9yIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0byAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1saW5laGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBpdGVtcyBpbiBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1tYXJnaW4tYm90dG9tOiAkcGFyYWdyYXBoLW1hcmdpbi1ib3R0b20gIWRlZmF1bHQ7XG5cbi8vLyBCdWxsZXQgdHlwZSB0byB1c2UgZm9yIHVub3JkZXJlZCBsaXN0cyAoZS5nLiwgYHNxdWFyZWAsIGBjaXJjbGVgLCBgZGlzY2ApLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtdHlwZTogZGlzYyAhZGVmYXVsdDtcblxuLy8vIFBvc2l0aW9uaW5nIGZvciBidWxsZXRzIG9uIHVub3JkZXJlZCBsaXN0IGl0ZW1zLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxpc3Qtc3R5bGUtcG9zaXRpb246IG91dHNpZGUgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0IChvciByaWdodCkgbWFyZ2luIGZvciBsaXN0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgYSBsaXN0IGluc2lkZSBhIGxpc3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW46IDEuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciBgPGRsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBgPGR0PmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYDxkdD5gIGFuZCBgPGRkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgYDxibG9ja3F1b3RlPmAgZWxlbWVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYmxvY2txdW90ZS1wYWRkaW5nOiByZW0tY2FsYyg5IDIwIDAgMTkpICFkZWZhdWx0O1xuXG4vLy8gU2lkZSBib3JkZXIgZm9yIGA8YmxvY2txdW90ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIExpc3RcbiRibG9ja3F1b3RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgYDxjaXRlPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2l0ZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRrZXlzdHJva2UtZm9udDogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRrZXlzdHJva2UtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gYm9yZGVyIHN0eWxlIGZvciBgPGFiYnI+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYWJici11bmRlcmxpbmU6IDFweCBkb3R0ZWQgJGJsYWNrICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10eXBvZ3JhcGh5LWJhc2Uge1xuICAvLyBUeXBvZ3JhcGh5IHJlc2V0c1xuICBkaXYsXG4gIGRsLFxuICBkdCxcbiAgZGQsXG4gIHVsLFxuICBvbCxcbiAgbGksXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYsXG4gIHByZSxcbiAgZm9ybSxcbiAgcCxcbiAgYmxvY2txdW90ZSxcbiAgdGgsXG4gIHRkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgfVxuXG4gIC8vIFBhcmFncmFwaHNcbiAgcCB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiAkcGFyYWdyYXBoLWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHRleHQtcmVuZGVyaW5nOiAkcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nO1xuICB9XG5cbiAgLy8gRW1waGFzaXplZCB0ZXh0XG4gIGVtLFxuICBpIHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTdHJvbmcgdGV4dFxuICBzdHJvbmcsXG4gIGIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFNtYWxsIHRleHRcbiAgc21hbGwge1xuICAgIGZvbnQtc2l6ZTogJHNtYWxsLWZvbnQtc2l6ZTtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIEhlYWRpbmdzXG4gIGgxLFxuICBoMixcbiAgaDMsXG4gIGg0LFxuICBoNSxcbiAgaDYge1xuICAgIGZvbnQtZmFtaWx5OiAkaGVhZGVyLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkaGVhZGVyLWZvbnQtd2VpZ2h0O1xuICAgIGZvbnQtc3R5bGU6ICRoZWFkZXItZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlYWRlci1jb2xvcjtcbiAgICB0ZXh0LXJlbmRlcmluZzogJGhlYWRlci10ZXh0LXJlbmRlcmluZztcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIG1hcmdpbi1ib3R0b206ICRoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBsaW5lLWhlaWdodDogJGhlYWRlci1saW5laGVpZ2h0O1xuXG4gICAgc21hbGwge1xuICAgICAgY29sb3I6ICRoZWFkZXItc21hbGwtZm9udC1jb2xvcjtcbiAgICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhlYWRpbmcgc2l6ZXNcbiAgQGVhY2ggJHNpemUsICRoZWFkZXJzIGluICRoZWFkZXItc2l6ZXMge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgIEBlYWNoICRoZWFkZXIsICRmb250LXNpemUgaW4gJGhlYWRlcnMge1xuICAgICAgICAjeyRoZWFkZXJ9IHtcbiAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKCRmb250LXNpemUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gTGlua3NcbiAgYSB7XG4gICAgY29sb3I6ICRhbmNob3ItY29sb3I7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbjtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgY29sb3I6ICRhbmNob3ItY29sb3ItaG92ZXI7XG4gICAgICBAaWYgJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXIgIT0gJGFuY2hvci10ZXh0LWRlY29yYXRpb24ge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gSG9yaXpvbnRhbCBydWxlXG4gIGhyIHtcbiAgICBtYXgtd2lkdGg6ICRoci13aWR0aDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGhyLWJvcmRlcjtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBtYXJnaW46ICRoci1tYXJnaW47XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cblxuICAvLyBMaXN0c1xuICB1bCxcbiAgb2wsXG4gIGRsIHtcbiAgICBsaW5lLWhlaWdodDogJGxpc3QtbGluZWhlaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAkbGlzdC1tYXJnaW4tYm90dG9tO1xuICAgIGxpc3Qtc3R5bGUtcG9zaXRpb246ICRsaXN0LXN0eWxlLXBvc2l0aW9uO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtc1xuICBsaSB7XG4gICAgZm9udC1zaXplOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gVW5vcmRlcmVkIGxpc3RzXG4gIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6ICRsaXN0LXN0eWxlLXR5cGU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBPcmRlcmVkIGxpc3RzXG4gIG9sIHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1zaWRlLW1hcmdpbjtcbiAgfVxuXG4gIC8vIE5lc3RlZCB1bm9yZGVyZWQvb3JkZXJlZCBsaXN0c1xuICB1bCwgb2wge1xuICAgICYgJiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbGlzdC1uZXN0ZWQtc2lkZS1tYXJnaW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIERlZmluaXRpb24gbGlzdHNcbiAgZGwge1xuICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC1tYXJnaW4tYm90dG9tO1xuXG4gICAgZHQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiAkZGVmbmxpc3QtdGVybS13ZWlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLy8gQmxvY2txdW90ZXNcbiAgYmxvY2txdW90ZSB7XG4gICAgbWFyZ2luOiAwIDAgJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tO1xuICAgIHBhZGRpbmc6ICRibG9ja3F1b3RlLXBhZGRpbmc7XG4gICAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogJGJsb2NrcXVvdGUtYm9yZGVyO1xuXG4gICAgJiwgcCB7XG4gICAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgICAgY29sb3I6ICRibG9ja3F1b3RlLWNvbG9yO1xuICAgIH1cbiAgfVxuXG4gIC8vIENpdGF0aW9uc1xuICBjaXRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6ICRjaXRlLWZvbnQtc2l6ZTtcbiAgICBjb2xvcjogJGNpdGUtY29sb3I7XG5cbiAgICAmOmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwyMDE0IFxcMDAyMCc7XG4gICAgfVxuICB9XG5cbiAgLy8gQWJicmV2aWF0aW9uc1xuICBhYmJyIHtcbiAgICBjb2xvcjogJGJvZHktZm9udC1jb2xvcjtcbiAgICBjdXJzb3I6IGhlbHA7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFiYnItdW5kZXJsaW5lO1xuICB9XG5cbiAgLy8gQ29kZVxuICBjb2RlIHtcbiAgICBmb250LWZhbWlseTogJGNvZGUtZm9udC1mYW1pbHk7XG4gICAgZm9udC13ZWlnaHQ6ICRjb2RlLWZvbnQtd2VpZ2h0O1xuICAgIGNvbG9yOiAkY29kZS1jb2xvcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29kZS1iYWNrZ3JvdW5kO1xuICAgIGJvcmRlcjogJGNvZGUtYm9yZGVyO1xuICAgIHBhZGRpbmc6ICRjb2RlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBLZXlzdHJva2VzXG4gIGtiZCB7XG4gICAgcGFkZGluZzogJGtleXN0cm9rZS1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAka2V5c3Ryb2tlLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRrZXlzdHJva2UtY29sb3I7XG4gICAgZm9udC1mYW1pbHk6ICRrZXlzdHJva2UtZm9udDtcblxuICAgIEBpZiBoYXMtdmFsdWUoJGtleXN0cm9rZS1yYWRpdXMpIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6ICRrZXlzdHJva2UtcmFkaXVzO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdHlwb2dyYXBoeS1oZWxwZXJzXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBsZWFkIHBhcmFncmFwaHMuXG4vLy8gQHR5cGUgU3RyaW5nXG4kbGVhZC1saW5laGVpZ2h0OiAxLjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGxpbmUgaGVpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1saW5laGVpZ2h0OiAxLjQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIHN1YmhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgd2VpZ2h0IGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJHN1YmhlYWRlci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0b3AgbWFyZ2luIGZvciBzdWJoaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLXRvcDogMC4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN1YmhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3Igc3RhdGlzdGljIG51bWJlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3RhdC1mb250LXNpemU6IDIuNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1oZWxwZXJzIHtcbiAgLy8gVXNlIHRvIGNyZWF0ZSBhIHN1YmhlYWRpbmcgdW5kZXIgYSBtYWluIGhlYWRlclxuICAvLyBNYWtlIHN1cmUgeW91IHBhaXIgdGhlIHR3byBlbGVtZW50cyBpbiBhIDxoZWFkZXI+IGVsZW1lbnQsIGxpa2UgdGhpczpcbiAgLy8gPGhlYWRlcj5cbiAgLy8gICA8aDE+SGVhZGluZzwvaDE+XG4gIC8vICAgPGgyPlN1YmhlYWRpbmc8L2gyPlxuICAvLyA8L2hlYWRlcj5cbiAgLnN1YmhlYWRlciB7XG4gICAgbWFyZ2luLXRvcDogJHN1YmhlYWRlci1tYXJnaW4tdG9wO1xuICAgIG1hcmdpbi1ib3R0b206ICRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTtcbiAgICBmb250LXdlaWdodDogJHN1YmhlYWRlci1mb250LXdlaWdodDtcbiAgICBsaW5lLWhlaWdodDogJHN1YmhlYWRlci1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkc3ViaGVhZGVyLWNvbG9yO1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGFuIGludHJvZHVjdG9yeSBsZWFkLCBkZWNrLCBibHVyYiwgZXRjLlxuICAubGVhZCB7XG4gICAgZm9udC1zaXplOiAkbGVhZC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6ICRsZWFkLWxpbmVoZWlnaHQ7XG4gIH1cblxuICAvLyBVc2UgdG8gc3R5bGUgYSBsYXJnZSBudW1iZXIgdG8gZGlzcGxheSBhIHN0YXRpc3RpY1xuICAuc3RhdCB7XG4gICAgZm9udC1zaXplOiAkc3RhdC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBwICsgJiB7XG4gICAgICBtYXJnaW4tdG9wOiAtMXJlbTtcbiAgICB9XG4gIH1cblxuICAvLyBVc2UgdG8gcmVtb3ZlIHRoZSBidWxsZXRzIGZyb20gYW4gdW5vcmRlcmVkIGxpc3RcbiAgLm5vLWJ1bGxldCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tdGV4dC1hbGlnbm1lbnQge1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkYWxpZ24gaW4gKGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnkpIHtcbiAgICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgICAuI3skc2l6ZX0tdGV4dC0jeyRhbGlnbn0ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogJGFsaWduO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBAZWxzZSB7XG4gICAgICAgICAgLnRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSWYgYHRydWVgLCBhbGwgZWxlbWVudHMgd2lsbCBoYXZlIHRyYW5zcGFyZW50IGJhY2tncm91bmRzIHdoZW4gcHJpbnRlZCwgdG8gc2F2ZSBvbiBpbmsuXG4vLy8gQHR5cGUgQm9vbGVhblxuLy8vIEBncm91cCBnbG9iYWxcbiRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8gc2Nzcy1saW50OmRpc2FibGUgYWxsXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByaW50LXN0eWxlcyB7XG4gIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gIEBtZWRpYSBwcmludCB7XG4gICAgKiB7XG4gICAgICBAaWYgJHByaW50LXRyYW5zcGFyZW50LWJhY2tncm91bmRzIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgIH1cblxuICAgICAgY29sb3I6IGJsYWNrICFpbXBvcnRhbnQ7IC8vIEJsYWNrIHByaW50cyBmYXN0ZXI6IGg1YnAuY29tL3NcbiAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgIHRleHQtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAgIC5oaWRlLWZvci1wcmludCB7IGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4gICAgdGFibGUuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZSAhaW1wb3J0YW50OyB9XG4gICAgdGhlYWQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1oZWFkZXItZ3JvdXAgIWltcG9ydGFudDsgfVxuICAgIHRib2R5LnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtcm93LWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0ci5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdyAhaW1wb3J0YW50OyB9XG4gICAgdGQuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgICB0aC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLWNlbGwgIWltcG9ydGFudDsgfVxuXG4gICAgLy8gRGlzcGxheSB0aGUgVVJMIG9mIGEgbGluayBhZnRlciB0aGUgdGV4dFxuICAgIGEsXG4gICAgYTp2aXNpdGVkIHsgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7fVxuICAgIGFbaHJlZl06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIoaHJlZikgJyknOyB9XG5cbiAgICAvLyBEb24ndCBkaXNwbGF5IHRoZSBVUkwgZm9yIGltYWdlcyBvciBKYXZhU2NyaXB0L2ludGVybmFsIGxpbmtzXG4gICAgLmlyIGE6YWZ0ZXIsXG4gICAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgICBhW2hyZWZePScjJ106YWZ0ZXIgeyBjb250ZW50OiAnJzsgfVxuXG4gICAgLy8gRGlzcGxheSB3aGF0IGFuIGFiYnJldmlhdGlvbiBzdGFuZHMgZm9yIGFmdGVyIHRoZSB0ZXh0XG4gICAgYWJiclt0aXRsZV06YWZ0ZXIgeyBjb250ZW50OiAnICgnIGF0dHIodGl0bGUpICcpJzsgfVxuXG4gICAgLy8gUHJldmVudCBwYWdlIGJyZWFrcyBpbiB0aGUgbWlkZGxlIG9mIGEgYmxvY2txdW90ZSBvciBwcmVmb3JtYXR0ZWQgdGV4dCBibG9ja1xuICAgIHByZSxcbiAgICBibG9ja3F1b3RlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4gICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLy8gaDVicC5jb20vdFxuICAgIHRoZWFkIHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwOyB9XG5cbiAgICB0cixcbiAgICBpbWcgeyBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cblxuICAgIGltZyB7IG1heC13aWR0aDogMTAwJSAhaW1wb3J0YW50OyB9XG5cbiAgICBAcGFnZSB7IG1hcmdpbjogMC41Y207IH1cblxuICAgIHAsXG4gICAgaDIsXG4gICAgaDMge1xuICAgICAgb3JwaGFuczogMztcbiAgICAgIHdpZG93czogMztcbiAgICB9XG5cbiAgICAvLyBBdm9pZCBwYWdlIGJyZWFrcyBhZnRlciBhIGhlYWRpbmdcbiAgICBoMixcbiAgICBoMyB7IHBhZ2UtYnJlYWstYWZ0ZXI6IGF2b2lkOyB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvblxuLy8vL1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLXBhZGRpbmc6IDAuODVlbSAxZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYXJvdW5kIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAwICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmaWxsIGZvciBidXR0b25zLiBDYW4gZWl0aGVyIGJlIGBzb2xpZGAgb3IgYGhvbGxvd2AuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGJ1dHRvbi1maWxsOiBzb2xpZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1hY2Nlc3NpYmxlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBDb2xvclxuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIGZvciBidXR0b25zLCBpZiB0aGUgYmFja2dyb3VuZCBpcyBsaWdodC5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLWNvbG9yLWFsdDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBmb3IgYnV0dG9ucywgZGVmYXVsdGVkIHRvIGdsb2JhbC1yYWRpdXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBmb3IgYnV0dG9ucy5cbi8vLyBAdHlwZSBNYXBcbiRidXR0b24tc2l6ZXM6IChcbiAgdGlueTogMC42cmVtLFxuICBzbWFsbDogMC43NXJlbSxcbiAgZGVmYXVsdDogMC45cmVtLFxuICBsYXJnZTogMS4yNXJlbSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBvcGFjaXR5IGZvciBhIGRpc2FibGVkIGJ1dHRvbi5cbi8vLyBAdHlwZSBMaXN0XG4kYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ6IDAuMjUgIWRlZmF1bHQ7XG5cbi8vIEludGVybmFsOiBmbGlwIGZyb20gbWFyZ2luLXJpZ2h0IHRvIG1hcmdpbi1sZWZ0IGZvciBkZWZhdWx0c1xuQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAkYnV0dG9uLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xufVxuXG4vLyBUT0RPOiBEb2N1bWVudCBidXR0b24tYmFzZSgpIG1peGluXG5AbWl4aW4gYnV0dG9uLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4yNXMgZWFzZS1vdXQsIGNvbG9yIDAuMjVzIGVhc2Utb3V0O1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gIHBhZGRpbmc6ICRidXR0b24tcGFkZGluZztcbiAgbWFyZ2luOiAkYnV0dG9uLW1hcmdpbjtcbiAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xufVxuXG4vLy8gRXhwYW5kcyBhIGJ1dHRvbiB0byBtYWtlIGl0IGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZW5hYmxlIHRoZSBleHBhbmQgYmVoYXZpb3IuIFNldCB0byBgZmFsc2VgIHRvIHJldmVyc2UgdGhpcyBiZWhhdmlvci5cbkBtaXhpbiBidXR0b24tZXhwYW5kKCRleHBhbmQ6IHRydWUpIHtcbiAgQGlmICRleHBhbmQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIH1cbn1cblxuLy8vIFNldHMgdGhlIHZpc3VhbCBzdHlsZSBvZiBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGJ1dHRvbi1iYWNrZ3JvdW5kXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZC1ob3ZlciBbJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyXSAtIEJhY2tncm91bmQgY29sb3Igb2YgdGhlIGJ1dHRvbiBvbiBob3Zlci4gU2V0IHRvIGBhdXRvYCB0byBoYXZlIHRoZSBtaXhpbiBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgaG92ZXIgY29sb3IuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskYnV0dG9uLWNvbG9yXSAtIFRleHQgY29sb3Igb2YgdGhlIGJ1dHRvbi4gU2V0IHRvIGBhdXRvYCB0byBhdXRvbWF0aWNhbGx5IGdlbmVyYXRlIGEgY29sb3IgYmFzZWQgb24gdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gYnV0dG9uLXN0eWxlKFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3Jcbikge1xuICBAaWYgJGNvbG9yID09IGF1dG8ge1xuICAgICRjb2xvcjogZm9yZWdyb3VuZCgkYmFja2dyb3VuZCwgJGJ1dHRvbi1jb2xvci1hbHQsICRidXR0b24tY29sb3IpO1xuICB9XG5cbiAgQGlmICRiYWNrZ3JvdW5kLWhvdmVyID09IGF1dG8ge1xuICAgICRiYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTIwJSk7XG4gIH1cblxuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgY29sb3I6ICRjb2xvcjtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmFja2dyb3VuZC1ob3ZlcjtcbiAgICBjb2xvcjogJGNvbG9yO1xuICB9XG59XG5cbi8vLyBSZW1vdmVzIGJhY2tncm91bmQgZmlsbCBvbiBob3ZlciBhbmQgZm9jdXMgZm9yIGhvbGxvdyBidXR0b25zLlxuQG1peGluIGJ1dHRvbi1ob2xsb3cge1xuICAmLFxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxufVxuXG5AbWl4aW4gYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3I6ICRwcmltYXJ5LWNvbG9yKSB7XG4gICRjb2xvci1ob3Zlcjogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAtNTAlKTtcblxuICBib3JkZXI6IDFweCBzb2xpZCAkY29sb3I7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAkY29sb3ItaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvci1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBkaXNhYmxlZCBzdHlsZXMgdG8gYSBidXR0b24gYnkgZmFkaW5nIHRoZSBlbGVtZW50LCByZXNldGluZyB0aGUgY3Vyc29yLCBhbmQgZGlzYWJsaW5nIHBvaW50ZXIgZXZlbnRzLlxuQG1peGluIGJ1dHRvbi1kaXNhYmxlZCB7XG4gIG9wYWNpdHk6ICRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcblxuICAmOmhvdmVyLCAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRidXR0b24tY29sb3I7XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkcm9wZG93biBhcnJvdyB0byBhIGJ1dHRvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHNpemUgWzAuNGVtXSAtIFNpemUgb2YgdGhlIGFycm93LiBXZSByZWNvbW1lbmQgdXNpbmcgYW4gYGVtYCB2YWx1ZSBzbyB0aGUgdHJpYW5nbGUgc2NhbGVzIHdoZW4gdXNlZCBpbnNpZGUgZGlmZmVyZW50IHNpemVzIG9mIGJ1dHRvbnMuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFt3aGl0ZV0gLSBDb2xvciBvZiB0aGUgYXJyb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvZmZzZXQgWyRidXR0b24tcGFkZGluZ10gLSBEaXN0YW5jZSBiZXR3ZWVuIHRoZSBhcnJvdyBhbmQgdGhlIHRleHQgb2YgdGhlIGJ1dHRvbi4gRGVmYXVsdHMgdG8gd2hhdGV2ZXIgdGhlIHJpZ2h0IHBhZGRpbmcgb2YgYSBidXR0b24gaXMuXG5AbWl4aW4gYnV0dG9uLWRyb3Bkb3duKFxuICAkc2l6ZTogMC40ZW0sXG4gICRjb2xvcjogJHdoaXRlLFxuICAkb2Zmc2V0OiBnZXQtc2lkZSgkYnV0dG9uLXBhZGRpbmcsIHJpZ2h0KVxuKSB7XG4gICY6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHNpemUsICRjb2xvciwgZG93bik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07IC8vIEFsaWducyB0aGUgYXJyb3cgd2l0aCB0aGUgdGV4dCBvZiB0aGUgYnV0dG9uXG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1yaWdodH07XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodCk7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG59XG5cbi8vLyBBZGRzIGFsbCBzdHlsZXMgZm9yIGEgYnV0dG9uLiBGb3IgbW9yZSBncmFudWxhciBjb250cm9sIG92ZXIgc3R5bGVzLCB1c2UgdGhlIGluZGl2aWR1YWwgYnV0dG9uIG1peGlucy5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRleHBhbmQgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gbWFrZSB0aGUgYnV0dG9uIGZ1bGwtd2lkdGguXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0eWxlIFtzb2xpZF0gLSBTZXQgdG8gYGhvbGxvd2AgdG8gY3JlYXRlIGEgaG9sbG93IGJ1dHRvbi4gVGhlIGNvbG9yIGRlZmluZWQgaW4gYCRiYWNrZ3JvdW5kYCB3aWxsIGJlIHVzZWQgYXMgdGhlIHByaW1hcnkgY29sb3Igb2YgdGhlIGJ1dHRvbi5cbkBtaXhpbiBidXR0b24oXG4gICRleHBhbmQ6IGZhbHNlLFxuICAkYmFja2dyb3VuZDogJGJ1dHRvbi1iYWNrZ3JvdW5kLFxuICAkYmFja2dyb3VuZC1ob3ZlcjogJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyLFxuICAkY29sb3I6ICRidXR0b24tY29sb3IsXG4gICRzdHlsZTogJGJ1dHRvbi1maWxsXG4pIHtcbiAgQGluY2x1ZGUgYnV0dG9uLWJhc2U7XG5cbiAgQGlmICRzdHlsZSA9PSBzb2xpZCB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1ob3ZlciwgJGNvbG9yKTtcbiAgfVxuICBAZWxzZSBpZiAkc3R5bGUgPT0gaG9sbG93IHtcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGJhY2tncm91bmQpO1xuICB9XG5cbiAgQGlmICRleHBhbmQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1leHBhbmQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tYnV0dG9uIHtcbiAgLmJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgYnV0dG9uO1xuXG4gICAgLy8gU2l6ZXNcbiAgICBAZWFjaCAkc2l6ZSwgJHZhbHVlIGluIG1hcC1yZW1vdmUoJGJ1dHRvbi1zaXplcywgZGVmYXVsdCkge1xuICAgICAgJi4jeyRzaXplfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24tc3R5bGUoJGNvbG9yLCBhdXRvLCBhdXRvKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgIH1cblxuICAgICAgICAmLiN7JG5hbWV9LmRyb3Bkb3duOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gSG9sbG93IHN0eWxlXG4gICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgJi5ob2xsb3cge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlO1xuXG4gICAgICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRjb2xvcik7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQgc3R5bGVcbiAgICAmLmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAvLyBEcm9wZG93biBhcnJvd1xuICAgICYuZHJvcGRvd24ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWRyb3Bkb3duO1xuXG4gICAgICBAaWYgJGJ1dHRvbi1maWxsID09IGhvbGxvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICBib3JkZXItdG9wLWNvbG9yOiAkYnV0dG9uLWJhY2tncm91bmQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBCdXR0b24gd2l0aCBkcm9wZG93biBhcnJvdyBvbmx5XG4gICAgJi5hcnJvdy1vbmx5OjphZnRlciB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICB0b3A6IC0wLjFlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBGb250IGNvbG9yIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3Igb2YgcGxhY2Vob2xkZXIgdGV4dCB3aXRoaW4gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBmYW1pbHkgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgRm9udFxuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZm9jdXNlZCBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJhY2tncm91bmQtZm9jdXM6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgZGlzYWJsZWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQm9yZGVyXG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGFyb3VuZCBmb2N1c2VkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYm9yZGVyLWZvY3VzOiAxcHggc29saWQgJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgaW5zaWRlIHRleHQgaW5wdXRzIHdoZW4gbm90IGZvY3VzZWQuXG4vLy8gQHR5cGUgU2hhZG93XG4kaW5wdXQtc2hhZG93OiBpbnNldCAwIDFweCAycHggcmdiYSgkYmxhY2ssIDAuMSkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IG91dHNpZGUgdGV4dCBpbnB1dHMgd2hlbiBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdy1mb2N1czogMCAwIDVweCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDdXJzb3IgdG8gdXNlIHdoZW4gaG92ZXJpbmcgb3ZlciBhIGRpc2FibGVkIHRleHQgaW5wdXQuXG4vLy8gQHR5cGUgQ3Vyc29yXG4kaW5wdXQtY3Vyc29yLWRpc2FibGVkOiBub3QtYWxsb3dlZCAhZGVmYXVsdDtcblxuLy8vIFByb3BlcnRpZXMgdG8gdHJhbnNpdGlvbiBvbiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kaW5wdXQtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjVzLCBib3JkZXItY29sb3IgMC4yNXMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBFbmFibGVzIHRoZSB1cC9kb3duIGJ1dHRvbnMgdGhhdCBDaHJvbWUgYW5kIEZpcmVmb3ggYWRkIHRvIGA8aW5wdXQgdHlwZT0nbnVtYmVyJz5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBSYWRpdXMgZm9yIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3JtLWVsZW1lbnQge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBkaXNwbGF5OiBibG9jaztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogJGhlaWdodDtcbiAgcGFkZGluZzogJGZvcm0tc3BhY2luZyAvIDI7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcblxuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBmb250LXNpemU6ICRpbnB1dC1mb250LXNpemU7XG4gIGNvbG9yOiAkaW5wdXQtY29sb3I7XG4gIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kO1xuICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93O1xuICBib3JkZXItcmFkaXVzOiAkaW5wdXQtcmFkaXVzO1xuXG4gIEBpZiBoYXMtdmFsdWUoJGlucHV0LXRyYW5zaXRpb24pIHtcbiAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgfVxuXG4gIC8vIEZvY3VzIHN0YXRlXG4gICY6Zm9jdXMge1xuICAgIGJvcmRlcjogJGlucHV0LWJvcmRlci1mb2N1cztcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1mb2N1cztcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6ICRpbnB1dC1zaGFkb3ctZm9jdXM7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgICB0cmFuc2l0aW9uOiAkaW5wdXQtdHJhbnNpdGlvbjtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS10ZXh0IHtcbiAgLy8gVGV4dCBpbnB1dHNcbiAgI3t0ZXh0LWlucHV0cygpfSxcbiAgdGV4dGFyZWEge1xuICAgIEBpbmNsdWRlIGZvcm0tZWxlbWVudDtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLy8gVGV4dCBhcmVhc1xuICB0ZXh0YXJlYSB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuXG4gICAgJltyb3dzXSB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICB9XG5cbiAgaW5wdXQsXG4gIHRleHRhcmVhIHtcbiAgICAvLyBQbGFjZWhvbGRlciB0ZXh0XG4gICAgJjo6cGxhY2Vob2xkZXIge1xuICAgICAgY29sb3I6ICRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjtcbiAgICB9XG5cbiAgICAvLyBEaXNhYmxlZC9yZWFkb25seSBzdGF0ZVxuICAgICY6ZGlzYWJsZWQsXG4gICAgJltyZWFkb25seV0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZGlzYWJsZWQ7XG4gICAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9uIGJ1dHRvbi1saWtlIGlucHV0c1xuICBbdHlwZT0nc3VibWl0J10sXG4gIFt0eXBlPSdidXR0b24nXSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGJ1dHRvbi1yYWRpdXM7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFJlc2V0IE5vcm1hbGl6ZSBzZXR0aW5nIGNvbnRlbnQtYm94IHRvIHNlYXJjaCBlbGVtZW50c1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBpbnB1dFt0eXBlPSdzZWFyY2gnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgfVxuXG4gIC8vIE51bWJlciBpbnB1dCBzdHlsZXNcbiAgW3R5cGU9J251bWJlciddIHtcbiAgICBAaWYgbm90ICRpbnB1dC1udW1iZXItc3Bpbm5lcnMge1xuICAgICAgLW1vei1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG5cbiAgICAgIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbixcbiAgICAgIFt0eXBlPSdudW1iZXInXTo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1jaGVja2JveCB7XG4gIFt0eXBlPSdmaWxlJ10sXG4gIFt0eXBlPSdjaGVja2JveCddLFxuICBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXQvbGFiZWwgc2libGluZ3NcbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbCxcbiAgW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG5cbiAgICAmW2Zvcl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cbiAgfVxuXG4gIC8vIFN0eWxlcyBmb3IgaW5wdXRzIGluc2lkZSBsYWJlbHNcbiAgbGFiZWwgPiBbdHlwZT0nY2hlY2tib3gnXSxcbiAgbGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gIH1cblxuICAvLyBOb3JtYWxpemUgZmlsZSBpbnB1dCB3aWR0aFxuICBbdHlwZT0nZmlsZSddIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1mb250LXNpemU6IHJlbS1jYWxjKDE0KSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IGZvciBmb3JtIGxhYmVscy5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kZm9ybS1sYWJlbC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgZm9yIGZvcm0gbGFiZWxzLiBUaGUgaGlnaGVyIHRoZSBudW1iZXIsIHRoZSBtb3JlIHNwYWNlIGJldHdlZW4gdGhlIGxhYmVsIGFuZCBpdHMgaW5wdXQgZmllbGQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZm9ybS1sYWJlbC1saW5lLWhlaWdodDogMS44ICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogJGZvcm0tbGFiZWwtZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ7XG4gIGxpbmUtaGVpZ2h0OiAkZm9ybS1sYWJlbC1saW5lLWhlaWdodDtcbiAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yO1xufVxuXG5AbWl4aW4gZm9ybS1sYWJlbC1taWRkbGUge1xuICAkaW5wdXQtYm9yZGVyLXdpZHRoOiBnZXQtYm9yZGVyLXZhbHVlKCRpbnB1dC1ib3JkZXIsIHdpZHRoKTtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgcGFkZGluZzogKCRmb3JtLXNwYWNpbmcgLyAyICsgcmVtLWNhbGMoJGlucHV0LWJvcmRlci13aWR0aCkpIDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tbGFiZWwge1xuICBsYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9ybS1sYWJlbDtcblxuICAgICYubWlkZGxlIHtcbiAgICAgIEBpbmNsdWRlIGZvcm0tbGFiZWwtbWlkZGxlO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBDb2xvclxuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGhlbHB0ZXh0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHN0eWxlIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGhlbHB0ZXh0LWZvbnQtc3R5bGU6IGl0YWxpYyAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1oZWxwdGV4dCB7XG4gIC5oZWxwLXRleHQge1xuICAgICRtYXJnaW4tdG9wOiAoJGZvcm0tc3BhY2luZyAqIDAuNSkgKiAtMTtcblxuICAgIG1hcmdpbi10b3A6ICRtYXJnaW4tdG9wO1xuICAgIGZvbnQtc2l6ZTogJGhlbHB0ZXh0LWZvbnQtc2l6ZTtcbiAgICBmb250LXN0eWxlOiAkaGVscHRleHQtZm9udC1zdHlsZTtcbiAgICBjb2xvcjogJGhlbHB0ZXh0LWNvbG9yO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gQ29sb3Igb2YgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcHJlZml4LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgbGFiZWxzIHByZWZpeGVkIHRvIGFuIGlucHV0LlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LXByZWZpeC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBMZWZ0L3JpZ2h0IHBhZGRpbmcgb2YgYW4gcHJlL3Bvc3RmaXhlZCBpbnB1dCBsYWJlbFxuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLXByZXBvc3RmaXgge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICRmb3JtLXNwYWNpbmcgKiAxLjUpO1xuXG4gIC5pbnB1dC1ncm91cCB7XG4gICAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCB0YWJsZSk7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgfVxuXG4gICAgPiA6Zmlyc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJhZGl1czogaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzKTtcbiAgICB9XG5cbiAgICA+IDpsYXN0LWNoaWxkIHtcbiAgICAgID4gKiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAkZ2xvYmFsLXJhZGl1cyAwIDAgJGdsb2JhbC1yYWRpdXMsIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXMgMCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgJWlucHV0LWdyb3VwLWNoaWxkIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1sYWJlbCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHBhZGRpbmc6IDAgJGlucHV0LXByZWZpeC1wYWRkaW5nO1xuICAgIGJhY2tncm91bmQ6ICRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGlucHV0LXByZWZpeC1jb2xvcjtcbiAgICBib3JkZXI6ICRpbnB1dC1wcmVmaXgtYm9yZGVyO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRpbnB1dC1wcmVmaXgtYm9yZGVyKSB7XG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgYm9yZGVyLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICB9XG5cbiAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBib3JkZXItcmFkaXVzOiAwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIHdpZHRoOiAxJTtcbiAgICB9XG5cbiAgICBhLFxuICAgIGlucHV0LFxuICAgIGJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgfVxuICB9XG5cbiAgLy8gU3BlY2lmaWNpdHkgYnVtcCBuZWVkZWQgdG8gcHJldmVudCBvdmVycmlkZSBieSBidXR0b25zXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdTZWxlY3RvclxuICAuaW5wdXQtZ3JvdXAgLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBjdXN0b20gZmllbGRzZXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGZpZWxkc2V0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1wYWRkaW5nOiByZW0tY2FsYygyMCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1hcmdpbiBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGJldHdlZW4gdGhlIGxlZ2VuZCB0ZXh0IGFuZCBmaWVsZHNldCBib3JkZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGVnZW5kLXBhZGRpbmc6IHJlbS1jYWxjKDAgMykgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmaWVsZHNldCB7XG4gIGJvcmRlcjogJGZpZWxkc2V0LWJvcmRlcjtcbiAgcGFkZGluZzogJGZpZWxkc2V0LXBhZGRpbmc7XG4gIG1hcmdpbjogJGZpZWxkc2V0LW1hcmdpbjtcblxuICBsZWdlbmQge1xuICAgIC8vIENvdmVycyB1cCB0aGUgZmllbGRzZXQncyBib3JkZXIgdG8gY3JlYXRlIGFydGlmaWNpYWwgcGFkZGluZ1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgcGFkZGluZzogJGxlZ2VuZC1wYWRkaW5nO1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiByZW0tY2FsYygtMyk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1maWVsZHNldCB7XG4gIGZpZWxkc2V0IHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBtYXJnaW46IDA7XG4gIH1cblxuICBsZWdlbmQge1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmcgKiAwLjU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgLmZpZWxkc2V0IHtcbiAgICBAaW5jbHVkZSBmaWVsZHNldDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZHJvcGRvd24gdHJpYW5nbGUgaW5zaWRlIHNlbGVjdCBtZW51cy4gU2V0IHRvIGB0cmFuc3BhcmVudGAgdG8gcmVtb3ZlIGl0IGVudGlyZWx5LlxuLy8vIEB0eXBlIENvbG9yXG4kc2VsZWN0LXRyaWFuZ2xlLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIHNlbGVjdCBtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1zZWxlY3Qge1xuICAkaGVpZ2h0OiAoJGlucHV0LWZvbnQtc2l6ZSArICgkZm9ybS1zcGFjaW5nICogMS41KSAtIHJlbS1jYWxjKDEpKTtcblxuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMik7XG4gIGJvcmRlcjogJGlucHV0LWJvcmRlcjtcbiAgbWFyZ2luOiAwIDAgJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBmb250LWZhbWlseTogJGlucHV0LWZvbnQtZmFtaWx5O1xuICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2VsZWN0LWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRzZWxlY3QtcmFkaXVzO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcblxuICBAaWYgJHNlbGVjdC10cmlhbmdsZS1jb2xvciAhPSB0cmFuc3BhcmVudCB7XG4gICAgQGluY2x1ZGUgYmFja2dyb3VuZC10cmlhbmdsZSgkc2VsZWN0LXRyaWFuZ2xlLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogJGdsb2JhbC1yaWdodCAoLSRmb3JtLXNwYWNpbmcpIGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogY29udGVudC1ib3g7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06ICgkZm9ybS1zcGFjaW5nICogMS41KTtcbiAgfVxuXG4gIC8vIERpc2FibGVkIHN0YXRlXG4gICY6ZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgIGN1cnNvcjogJGlucHV0LWN1cnNvci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIEhpZGUgdGhlIGRyb3Bkb3duIGFycm93IHNob3duIGluIG5ld2VyIElFIHZlcnNpb25zXG4gICY6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICAmW211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1zZWxlY3Qge1xuICBzZWxlY3Qge1xuICAgIEBpbmNsdWRlIGZvcm0tc2VsZWN0O1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhYmlkZVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGlucHV0cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtaW5wdXRzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBpZiBlcnJvciBzdHlsZXMgc2hvdWxkIGJlIGFkZGVkIHRvIGxhYmVscy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWJpZGUtbGFiZWxzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciB0byB1c2UgZm9yIGludmFsaWQgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdG8gdXNlIGZvciBsYWJlbHMgb2YgaW52YWxpZCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBmb3JtIGVycm9yIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1lcnJvci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIE51bWJlclxuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRpbnB1dC1lcnJvci1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIFN0eWxlcyB0aGUgYmFja2dyb3VuZCBhbmQgYm9yZGVyIG9mIGFuIGlucHV0IGZpZWxkIHRvIGhhdmUgYW4gZXJyb3Igc3RhdGUuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJGFsZXJ0LWNvbG9yXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGJhY2tncm91bmQtYWxwaGEgWzAuMV0gLSBUcmFuc3BhcmVuY3kgbGV2ZWwgb2YgdGhlIGJhY2tncm91bmQgY29sb3IuXG5AbWl4aW4gZm9ybS1pbnB1dC1lcnJvcihcbiAgJGJhY2tncm91bmQ6ICRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQsXG4gICRiYWNrZ3JvdW5kLWFscGhhOiAwLjFcbikge1xuICAmOm5vdCg6Zm9jdXMpIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKCRiYWNrZ3JvdW5kLCAkYmFja2dyb3VuZC1hbHBoYSk7XG4gICAgYm9yZGVyLWNvbG9yOiAkYmFja2dyb3VuZDtcbiAgfVxufVxuXG4vLy8gQWRkcyBlcnJvciBzdHlsZXMgdG8gYSBmb3JtIGVsZW1lbnQsIHVzaW5nIHRoZSB2YWx1ZXMgaW4gdGhlIHNldHRpbmdzIGZpbGUuXG5AbWl4aW4gZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6ICRmb3JtLXNwYWNpbmcgKiAtMC41O1xuICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nO1xuICBmb250LXNpemU6ICRpbnB1dC1lcnJvci1mb250LXNpemU7XG4gIGZvbnQtd2VpZ2h0OiAkaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ7XG4gIGNvbG9yOiAkaW5wdXQtZXJyb3ItY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZXJyb3Ige1xuICBAaWYgJGFiaWRlLWlucHV0cyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGludmFsaWQgaW5wdXRzXG4gICAgLmlzLWludmFsaWQtaW5wdXQge1xuICAgICAgQGluY2x1ZGUgZm9ybS1pbnB1dC1lcnJvcjtcbiAgICB9XG4gIH1cblxuICBAaWYgJGFiaWRlLWxhYmVscyB7XG4gICAgLy8gRXJyb3IgY2xhc3MgZm9yIGxhYmVscyBvZiBpbnZhbGlkIG91dHB1dHNcbiAgICAuaXMtaW52YWxpZC1sYWJlbCB7XG4gICAgICBjb2xvcjogJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDtcbiAgICB9XG4gIH1cblxuICAvLyBGb3JtIGVycm9yIGVsZW1lbnRcbiAgLmZvcm0tZXJyb3Ige1xuICAgIEBpbmNsdWRlIGZvcm0tZXJyb3I7XG5cbiAgICAmLmlzLXZpc2libGUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb25cbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY2NvcmRpb24gZ3JvdXAuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhZGRzIHBsdXMgYW5kIG1pbnVzIGljb25zIHRvIHRoZSBzaWRlIG9mIGVhY2ggYWNjb3JkaW9uIHRpdGxlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24taXRlbS1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvbiBob3ZlciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZCwgJGJvZHktZm9udC1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGFjY29yZGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gdGhlIHNhbWUgZWxlbWVudCB0aGF0IGdldHMgYGRhdGEtYWNjb3JkaW9uYC5cbkBtaXhpbiBhY2NvcmRpb24tY29udGFpbmVyIHtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkYWNjb3JkaW9uLWJhY2tncm91bmQ7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaXN0IGl0ZW0gd2l0aGluIGFuIGFjY29yZGlvbiB1bC5cbkBtaXhpbiBhY2NvcmRpb24taXRlbSB7XG4gICY6Zmlyc3QtY2hpbGQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAgMDtcbiAgfVxuXG4gICY6bGFzdC1jaGlsZCA+IDpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgdGl0bGUgb2YgYW4gYWNjb3JkaW9uIGl0ZW0uIEFwcGx5IHRoaXMgdG8gdGhlIGxpbmsgd2l0aGluIGFuIGFjY29yZGlvbiBpdGVtLlxuQG1peGluIGFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWl0ZW0tcGFkZGluZztcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICBjb2xvcjogJGFjY29yZGlvbi1pdGVtLWNvbG9yO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLWJvdHRvbTogMDtcblxuICA6bGFzdC1jaGlsZDpub3QoLmlzLWFjdGl2ZSkgPiAmIHtcbiAgICBib3JkZXItcmFkaXVzOiAwIDAgJGdsb2JhbC1yYWRpdXMgJGdsb2JhbC1yYWRpdXM7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG5cbiAgQGlmICRhY2NvcmRpb24tcGx1c21pbnVzIHtcbiAgICAmOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJysnO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgICB9XG5cbiAgICAuaXMtYWN0aXZlID4gJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICfigJMnO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFjY29yZGlvbiBjb250ZW50LiBBcHBseSB0aGlzIHRvIHRoZSBjb250ZW50IHBhbmUgYmVsb3cgYW4gYWNjb3JkaW9uIGl0ZW0ncyB0aXRsZS5cbkBtaXhpbiBhY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6ICRhY2NvcmRpb24tY29udGVudC1wYWRkaW5nO1xuICBkaXNwbGF5OiBub25lO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kO1xuICBjb2xvcjogJGFjY29yZGlvbi1jb250ZW50LWNvbG9yO1xuXG4gIDpsYXN0LWNoaWxkID4gJjpsYXN0LWNoaWxkIHtcbiAgICBib3JkZXItYm90dG9tOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbiB7XG4gIC5hY2NvcmRpb24ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1jb250YWluZXI7XG4gIH1cblxuICAuYWNjb3JkaW9uLWl0ZW0ge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi1pdGVtO1xuICB9XG5cbiAgLmFjY29yZGlvbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLXRpdGxlO1xuICB9XG5cbiAgLmFjY29yZGlvbi1jb250ZW50IHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGVudDtcbiAgfVxufVxuIiwiLy8vL1xuLy8vIEBncm91cCBhY2NvcmRpb24tbWVudVxuLy8vL1xuXG4vLy8gU2V0cyBpZiBhY2NvcmRpb24gbWVudXMgaGF2ZSB0aGUgZGVmYXVsdCBhcnJvdyBzdHlsZXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFjY29yZGlvbm1lbnUtYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBhY2NvcmRpb24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWFjY29yZGlvbi1tZW51IHtcbiAgQGlmICRhY2NvcmRpb25tZW51LWFycm93cyB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAmOjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTRweDtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPSd0cnVlJ10gPiBhOjphZnRlciB7XG4gICAgICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYmFkZ2Vcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIENvbG9yXG4kYmFkZ2UtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWNvbG9yOiBmb3JlZ3JvdW5kKCRiYWRnZS1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLXBhZGRpbmc6IDAuM2VtICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBhIGJhZGdlLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLW1pbndpZHRoOiAyLjFlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYmFkZ2UtZm9udC1zaXplOiAwLjZyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIGJhZGdlLlxuQG1peGluIGJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkYmFkZ2UtcGFkZGluZztcbiAgbWluLXdpZHRoOiAkYmFkZ2UtbWlud2lkdGg7XG4gIGZvbnQtc2l6ZTogJGJhZGdlLWZvbnQtc2l6ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJhZGdlIHtcbiAgLmJhZGdlIHtcbiAgICBAaW5jbHVkZSBiYWRnZTtcblxuICAgIGJhY2tncm91bmQ6ICRiYWRnZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYmFkZ2UtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYnJlYWRjcnVtYnNcbi8vLy9cblxuLy8vIE1hcmdpbiBhcm91bmQgYSBicmVhZGNydW1icyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMSkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgYWN0aXZlIGJyZWFkY3J1bWIgbGluay5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gT3BhY2l0eSBvZiBkaXNhYmxlZCBicmVhZGNydW1iIGxpbmtzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJyZWFkY3J1bWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW46IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIG1ha2VzIGJyZWFkY3J1bWIgbGlua3MgdXBwZXJjYXNlLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBhIHNsYXNoIGJldHdlZW4gYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS1zbGFzaDogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGJyZWFkY3J1bWJzIGNvbnRhaW5lciwgYWxvbmcgd2l0aCB0aGUgc3R5bGVzIGZvciB0aGUgYDxsaT5gIGFuZCBgPGE+YCBlbGVtZW50cyBpbnNpZGUgb2YgaXQuXG5AbWl4aW4gYnJlYWRjcnVtYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogJGJyZWFkY3J1bWJzLW1hcmdpbjtcblxuICAvLyBJdGVtIHdyYXBwZXJcbiAgbGkge1xuICAgIGZsb2F0OiAjeyRnbG9iYWwtbGVmdH07XG4gICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gICAgZm9udC1zaXplOiAkYnJlYWRjcnVtYnMtaXRlbS1mb250LXNpemU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgQGlmICRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZSB7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS1zbGFzaCB7XG4gICAgICAvLyBOZWVkIHRvIGVzY2FwZSB0aGUgYmFja3NsYXNoXG4gICAgICAkc2xhc2g6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ2x0cicsICcvJywgJ1xcXFwnKTtcblxuICAgICAgJjpub3QoOmxhc3QtY2hpbGQpOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGNvbnRlbnQ6ICRzbGFzaDtcbiAgICAgICAgbWFyZ2luOiAwICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDFweDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRicmVhZGNydW1icy1pdGVtLW1hcmdpbjtcbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvcjtcblxuICAgICY6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJyZWFkY3J1bWJzIHtcbiAgLmJyZWFkY3J1bWJzIHtcbiAgICBAaW5jbHVkZSBicmVhZGNydW1icy1jb250YWluZXI7XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgY29sb3I6ICRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJ1dHRvbi1ncm91cFxuLy8vL1xuXG4vLy8gTWFyZ2luIGZvciBidXR0b24gZ3JvdXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbmdyb3VwLW1hcmdpbjogMXJlbSAhZGVmYXVsdDtcblxuLy8vIE1hcmdpbiBiZXR3ZWVuIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgQm9yZGVyXG4kYnV0dG9uZ3JvdXAtc3BhY2luZzogMXB4ICFkZWZhdWx0O1xuXG4vLy8gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBTdHJpbmdcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogJy5idXR0b24nICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSBudW1iZXIgb2YgYnV0dG9ucyB0aGF0IGNhbiBiZSBpbiBhbiBldmVuLXdpZHRoIGJ1dHRvbiBncm91cC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gQWRkIHN0eWxlcyBmb3IgYSBidXR0b24gZ3JvdXAgY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkY2hpbGQtc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIGEgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cChcbiAgJGNoaWxkLXNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLW1hcmdpbjtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB9XG4gIEBlbHNlIHtcbiAgICBmb250LXNpemU6IDA7XG4gIH1cblxuICAjeyRjaGlsZC1zZWxlY3Rvcn0ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG4gICAgbWFyZ2luLWJvdHRvbTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG4gICAgZm9udC1zaXplOiBtYXAtZ2V0KCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC13aWR0aCBidXR0b24gZ3JvdXAsIG1ha2luZyBlYWNoIGJ1dHRvbiBlcXVhbCB3aWR0aC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtZXhwYW5kKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcixcbiAgJGNvdW50OiBudWxsXG4pIHtcbiAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAtJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG4gIH1cblxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYnV0dG9uZ3JvdXAtZXhwYW5kLW1heCB7XG4gICAgICAgICY6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoI3skaX0pIHtcbiAgICAgICAgICAmLCAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB+ICN7JHNlbGVjdG9yfSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygje3BlcmNlbnRhZ2UoMSAvICRpKX0gLSAjeyRidXR0b25ncm91cC1zcGFjaW5nfSk7XG4gICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmc7XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnV0dG9uZ3JvdXAtc3BhY2luZyAqIC0kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIFN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC1zdGFjayhcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3Jcbikge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gIH1cblxuICAjeyRzZWxlY3Rvcn0ge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gVW4tc3RhY2tzIHRoZSBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkc2VsZWN0b3IgWyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcl0gLSBTZWxlY3RvciBmb3IgdGhlIGJ1dHRvbnMgaW5zaWRlIHRoZSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLXVuc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbi1ncm91cCB7XG4gIC5idXR0b24tZ3JvdXAge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cDtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgZm9udC1zaXplOiAkdmFsdWU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gRXZlbi13aWR0aCBHcm91cFxuICAgICYuZXhwYW5kZWQgeyBAaW5jbHVkZSBidXR0b24tZ3JvdXAtZXhwYW5kOyB9XG5cbiAgICAvLyBDb2xvcnNcbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRidXR0b24tZmlsbCAhPSBob2xsb3cge1xuICAgICAgICAmLiN7JG5hbWV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3c7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLFxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwsXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXN0YWNrO1xuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFja2VkLWZvci1tZWRpdW0ge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSkge1xuICAgICAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXAtdW5zdGFjaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBNZXJnZWFibGVTZWxlY3RvclxuICAgICYuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGNhbGxvdXRcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmYWRlIHZhbHVlIGZvciBjYWxsb3V0IGJhY2tncm91bmRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtYmFja2dyb3VuZC1mYWRlOiA4NSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBzdHlsZSBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTGlzdFxuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LW1hcmdpbjogMCAwIDFyZW0gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgaW5uZXIgcGFkZGluZyBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMsIGlmIHRoZSBjYWxsb3V0IGhhcyBhIGRhcmsgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtZm9udC1jb2xvci1hbHQ6ICRib2R5LWJhY2tncm91bmQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciByYWRpdXMgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kY2FsbG91dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQW1vdW50IHRvIHRpbnQgbGlua3MgdXNlZCB3aXRoaW4gY29sb3JlZCBwYW5lbHMuIFNldCB0byBgZmFsc2VgIHRvIGRpc2FibGUgdGhpcyBmZWF0dXJlLlxuLy8vIEB0eXBlIE51bWJlciB8IEJvb2xlYW5cbiRjYWxsb3V0LWxpbmstdGludDogMzAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGEgY2FsbG91dCwgaW5jbHVkaW5nIHBhZGRpbmcgYW5kIG1hcmdpbi5cbkBtaXhpbiBjYWxsb3V0LWJhc2UoKSB7XG4gIG1hcmdpbjogJGNhbGxvdXQtbWFyZ2luO1xuICBwYWRkaW5nOiAkY2FsbG91dC1wYWRkaW5nO1xuICBib3JkZXI6ICRjYWxsb3V0LWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGNhbGxvdXQtcmFkaXVzO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGNvbG9yOiAkY2FsbG91dC1mb250LWNvbG9yO1xuXG4gIC8vIFJlc3BlY3QgdGhlIHBhZGRpbmcsIGZvb2wuXG4gID4gOmZpcnN0LWNoaWxkIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICB9XG5cbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gR2VuZXJhdGUgcXVpY2sgc3R5bGVzIGZvciBhIGNhbGxvdXQgdXNpbmcgYSBzaW5nbGUgY29sb3IgYXMgYSBiYXNlbGluZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQtc3R5bGUoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gICRiYWNrZ3JvdW5kOiBzY2FsZS1jb2xvcigkY29sb3IsICRsaWdodG5lc3M6ICRjYWxsb3V0LWJhY2tncm91bmQtZmFkZSk7XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG59XG5cbkBtaXhpbiBjYWxsb3V0LXNpemUoJHBhZGRpbmcpIHtcbiAgcGFkZGluZy10b3A6ICRwYWRkaW5nO1xuICBwYWRkaW5nLXJpZ2h0OiAkcGFkZGluZztcbiAgcGFkZGluZy1ib3R0b206ICRwYWRkaW5nO1xuICBwYWRkaW5nLWxlZnQ6ICRwYWRkaW5nO1xufVxuXG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjYWxsb3V0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGNhbGxvdXQtYmFja2dyb3VuZF0gLSBDb2xvciB0byB1c2UuXG5AbWl4aW4gY2FsbG91dCgkY29sb3I6ICRjYWxsb3V0LWJhY2tncm91bmQpIHtcbiAgQGluY2x1ZGUgY2FsbG91dC1iYXNlO1xuICBAaW5jbHVkZSBjYWxsb3V0LXN0eWxlKCRjb2xvcik7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNhbGxvdXQge1xuICAuY2FsbG91dCB7XG4gICAgQGluY2x1ZGUgY2FsbG91dDtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDAuNXJlbSk7XG4gICAgfVxuXG4gICAgJi5sYXJnZSB7XG4gICAgICBAaW5jbHVkZSBjYWxsb3V0LXNpemUoM3JlbSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjbG9zZS1idXR0b25cbi8vLy9cblxuLy8vIERlZmF1bHQgcG9zaXRpb24gb2YgdGhlIGNsb3NlIGJ1dHRvbi4gVGhlIGZpcnN0IHZhbHVlIHNob3VsZCBiZSBgcmlnaHRgIG9yIGBsZWZ0YCwgYW5kIHRoZSBzZWNvbmQgdmFsdWUgc2hvdWxkIGJlIGB0b3BgIG9yIGBib3R0b21gLlxuLy8vIEB0eXBlIExpc3RcbiRjbG9zZWJ1dHRvbi1wb3NpdGlvbjogcmlnaHQgdG9wICFkZWZhdWx0O1xuXG4vLy8gUmlnaHQgKG9yIGxlZnQpIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUb3AgKG9yIGJvdHRvbSkgb2Zmc2V0IGZvciBhIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tc2l6ZTogMmVtICFkZWZhdWx0O1xuXG4vLy8gVGhlIGxpbmUtaGVpZ2h0IG9mIHRoZSBjbG9zZSBidXR0b24uIEl0IGFmZmVjdHMgdGhlIHNwYWNpbmcgb2YgdGhlIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgY2xvc2UgYnV0dG9uIHdoZW4gYmVpbmcgaG92ZXJlZCBvbi5cbi8vLyBAdHlwZSBDb2xvclxuJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBjbG9zZSBidXR0b24sIHVzaW5nIHRoZSBzdHlsZXMgaW4gdGhlIHNldHRpbmdzIHZhcmlhYmxlcy5cbkBtaXhpbiBjbG9zZS1idXR0b24ge1xuICAkeDogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMSk7XG4gICR5OiBudGgoJGNsb3NlYnV0dG9uLXBvc2l0aW9uLCAyKTtcblxuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgY29sb3I6ICRjbG9zZWJ1dHRvbi1jb2xvcjtcbiAgI3skeH06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDtcbiAgI3skeX06ICRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw7XG4gIGZvbnQtc2l6ZTogJGNsb3NlYnV0dG9uLXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAkY2xvc2VidXR0b24tbGluZWhlaWdodDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tY2xvc2UtYnV0dG9uIHtcbiAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgY2xvc2UtYnV0dG9uO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBtZW51XG4vLy8vXG5cbi8vLyBNYXJnaW4gb2YgYSBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luOiAwICFkZWZhdWx0O1xuXG4vLy8gTGVmdC1oYW5kIG1hcmdpbiBvZiBhIG5lc3RlZCBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgZm9yIGl0ZW1zIGluIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tY29sb3ItYWN0aXZlOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGFuIGFjdGl2ZSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgQ29sb3JcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gYW4gaWNvbiBhbmQgdGV4dCBpbiBhIG1lbnUgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIENyZWF0ZXMgdGhlIGJhc2Ugc3R5bGVzIGZvciBhIE1lbnUuXG5AbWl4aW4gbWVudS1iYXNlIHtcbiAgbWFyZ2luOiAkbWVudS1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIH1cblxuICAvLyBMaXN0IGl0ZW1zIGFyZSB0YWJsZSBjZWxsIHRvIGFsbG93IGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnRcbiAgPiBsaSB7XG4gICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgbGluZSBoZWlnaHQgdG8gbWFrZSB0aGUgaGVpZ2h0IG9mIHRoZSBvdmVyYWxsIGl0ZW0gZWFzaWVyIHRvIGNhbGN1bGF0ZVxuICA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gUmVzZXQgc3R5bGVzIG9mIGlubmVyIGVsZW1lbnRzXG4gIGlucHV0LFxuICBhLFxuICBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEV4cGFuZHMgdGhlIGl0ZW1zIG9mIGEgTWVudSwgc28gZWFjaCBpdGVtIGlzIHRoZSBzYW1lIHdpZHRoLlxuQG1peGluIG1lbnUtZXhwYW5kIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICA+IGxpIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB0YWJsZS1sYXlvdXQ6IGZpeGVkO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSBkaXJlY3Rpb24gb2YgYSBNZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciBbaG9yaXpvbnRhbF0gLSBEaXJlY3Rpb24gb2YgdGhlIE1lbnUuIENhbiBiZSBgaG9yaXpvbnRhbGAgb3IgYHZlcnRpY2FsYC5cbkBtaXhpbiBtZW51LWRpcmVjdGlvbigkZGlyOiBob3Jpem9udGFsKSB7XG4gIEBpZiAkZGlyID09IGhvcml6b250YWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgID4gbGkge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRkaXIgPT0gdmVydGljYWwge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgIH1cblxuICAgICAgPiBsaSAgPiBhIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHNpbXBsZSBNZW51LCB3aGljaCBoYXMgbm8gcGFkZGluZyBvciBob3ZlciBzdGF0ZS5cbkBtaXhpbiBtZW51LXNpbXBsZSB7XG4gIGxpIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IGdldC1zaWRlKCRtZW51LWl0ZW0tcGFkZGluZywgJGdsb2JhbC1yaWdodCk7XG4gIH1cblxuICBhIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBuZXN0ZWQgTWVudSwgYnkgYWRkaW5nIGBtYXJnaW4tbGVmdGAgdG8gdGhlIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfE51bWJlcn0gJHBhZGRpbmcgW2F1dG9dIC0gTGVuZ3RoIG9mIHRoZSBtYXJnaW4uXG5AbWl4aW4gbWVudS1uZXN0ZWQoJG1hcmdpbjogJG1lbnUtbWFyZ2luLW5lc3RlZCkge1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkbWFyZ2luO1xufVxuXG4vLy8gQWRkcyBzdXBwb3J0IGZvciBpY29ucyB0byBNZW51IGl0ZW1zLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHBvc2l0aW9uIFtzaWRlXSAtIFBvc2l0aW9uaW5nIGZvciBpY29ucy4gQ2FuIGJlIGBzaWRlYCAobGVmdCwgb3IgcmlnaHQgb24gUlRMKSBvciBgdG9wYC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRiYXNlIFt0cnVlXSAtIFNldCB0byBgZmFsc2VgIHRvIHByZXZlbnQgdGhlIHNoYXJlZCBDU1MgYmV0d2VlbiBzaWRlLSBhbmQgdG9wLWFsaWduZWQgaWNvbnMgZnJvbSBiZWluZyBwcmludGVkLiBTZXQgdGhpcyB0byBgZmFsc2VgIGlmIHlvdSdyZSBjYWxsaW5nIHRoZSBtaXhpbiBtdWx0aXBsZSB0aW1lcyBvbiB0aGUgc2FtZSBlbGVtZW50LlxuQG1peGluIG1lbnUtaWNvbnMoJHBvc2l0aW9uOiBzaWRlLCAkYmFzZTogdHJ1ZSkge1xuICBAaWYgJGJhc2Uge1xuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgfVxuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICA+IGxpID4gYSB7XG4gICAgICAgIGltZyxcbiAgICAgICAgaSxcbiAgICAgICAgc3ZnIHtcbiAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuXG4gICAgICAgICAgKyBzcGFuIHtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQGlmICRwb3NpdGlvbiA9PSBzaWRlIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgfVxuXG4gICAgICBpbWcsXG4gICAgICBpLFxuICAgICAgc3ZnIHtcbiAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRtZW51LWljb24tc3BhY2luZztcblxuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSB0b3Age1xuICAgID4gbGkgPiBhIHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbiBub3dyYXA7XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBtYXJnaW46IDAgYXV0byAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206ICRtZW51LWljb24tc3BhY2luZztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gbWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAkbWVudS1pdGVtLXBhZGRpbmc7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUge1xuICAubWVudSB7XG4gICAgQGluY2x1ZGUgbWVudS1iYXNlO1xuICAgIEBpbmNsdWRlIG1lbnUtaWNvbnM7XG5cbiAgICAvLyBPcmllbnRhdGlvblxuICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFNpbXBsZVxuICAgICYuc2ltcGxlIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtc2ltcGxlO1xuICAgIH1cblxuICAgIC8vIEFsaWduIHJpZ2h0XG4gICAgJi5hbGlnbi0jeyRnbG9iYWwtcmlnaHR9IHtcbiAgICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICA+IGxpIHtcbiAgICAgICAgICBmbG9hdDogJGdsb2JhbC1yaWdodDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGhcbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtZXhwYW5kO1xuXG4gICAgICA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBWZXJ0aWNhbCBpY29uc1xuICAgICYuaWNvbi10b3Age1xuICAgICAgQGluY2x1ZGUgbWVudS1pY29ucyh0b3AsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gTmVzdGluZ1xuICAgICYubmVzdGVkIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtbmVzdGVkO1xuICAgIH1cblxuICAgIC8vIEFjdGl2ZSBzdGF0ZVxuICAgIC5hY3RpdmUgPiBhIHtcbiAgICAgIGNvbG9yOiAkbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTtcbiAgICAgIGJhY2tncm91bmQ6ICRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG5cbiAgLm1lbnUtdGV4dCB7XG4gICAgQGluY2x1ZGUgbWVudS10ZXh0O1xuICB9XG5cbiAgLy8gQWxpZ24gY2VudGVyXG4gIC5tZW51LWNlbnRlcmVkIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICA+IC5tZW51IHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB9XG4gIH1cblxuICAvLyBQcmV2ZW50IEZPVUMgd2hlbiB1c2luZyB0aGUgUmVzcG9uc2l2ZSBNZW51IHBsdWdpblxuICAubm8tanMgW2RhdGEtcmVzcG9uc2l2ZS1tZW51XSB1bCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuIiwiQG1peGluIGZvdW5kYXRpb24tbWVudS1pY29uIHtcbiAgLm1lbnUtaWNvbiB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyKCRjb2xvcjogJHRpdGxlYmFyLWljb24tY29sb3IsICRjb2xvci1ob3ZlcjogJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXIpO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGRyaWxsZG93blxuLy8vL1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0eSB0byB1c2UgZm9yIGFuaW1hdGluZyBtZW51cy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kZHJpbGxkb3duLXRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBsaW5lYXIgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGFycm93cyB0byBkcmlsbGRvd24gaXRlbXMgd2l0aCBzdWJtZW51cywgYXMgd2VsbCBhcyB0aGUgYmFjayBidXR0b24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyaWxsZG93bi1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyaWxsZG93biBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJpbGxkb3duLWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIGRyaWxsZG93biBzdWJtZW51cy5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWRyaWxsZG93bi1tZW51IHtcbiAgLy8gQXBwbGllZCB0byB0aGUgTWVudSBjb250YWluZXJcbiAgLmlzLWRyaWxsZG93biB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC8vIEFwcGxpZWQgdG8gbmVzdGVkIDx1bD5zXG4gIC5pcy1kcmlsbGRvd24tc3VibWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgei1pbmRleDogLTE7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRkcmlsbGRvd24tYmFja2dyb3VuZDtcbiAgICB0cmFuc2l0aW9uOiAkZHJpbGxkb3duLXRyYW5zaXRpb247XG5cbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIC0xMDAlLCAxMDAlKSk7XG4gICAgfVxuXG4gICAgJi5pcy1jbG9zaW5nIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWChpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IGx0ciwgMTAwJSwgLTEwMCUpKTtcbiAgICB9XG4gIH1cblxuICBAaWYgJGRyaWxsZG93bi1hcnJvd3Mge1xuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkZHJpbGxkb3duLWFycm93LWNvbG9yLCAkZ2xvYmFsLXJpZ2h0KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgbWFyZ2luLXRvcDogLTZweDtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogMXJlbTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1sZWZ0KTtcbiAgICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH0td2lkdGg6IDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDAuNzVyZW07IC8vIENyZWF0ZXMgc3BhY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93blxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1mb250LXNpemU6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBmb3IgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24td2lkdGg6IDMwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIHJhZGl1cyBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRkcm9wZG93bi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGRyb3Bkb3duIHBhbmVzLiBFYWNoIHNpemUgaXMgYSBDU1MgY2xhc3MgeW91IGNhbiBhcHBseS5cbi8vLyBAdHlwZSBNYXBcbiRkcm9wZG93bi1zaXplczogKFxuICB0aW55OiAxMDBweCxcbiAgc21hbGw6IDIwMHB4LFxuICBsYXJnZTogNDAwcHgsXG4pICFkZWZhdWx0O1xuXG4vLy8gQXBwbGllcyBzdHlsZXMgZm9yIGEgYmFzaWMgZHJvcGRvd24uXG5AbWl4aW4gZHJvcGRvd24tY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJGJvZHktYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAkZHJvcGRvd24tYm9yZGVyO1xuICBib3JkZXItcmFkaXVzOiAkZHJvcGRvd24tcmFkaXVzO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAkZHJvcGRvd24tZm9udC1zaXplO1xuICBwYWRkaW5nOiAkZHJvcGRvd24tcGFkZGluZztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIHdpZHRoOiAkZHJvcGRvd24td2lkdGg7XG4gIHotaW5kZXg6IDEwO1xuXG4gICYuaXMtb3BlbiB7XG4gICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93biB7XG4gIC5kcm9wZG93bi1wYW5lIHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1jb250YWluZXI7XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHNpemUgaW4gJGRyb3Bkb3duLXNpemVzIHtcbiAgICAuZHJvcGRvd24tcGFuZS4jeyRuYW1lfSB7XG4gICAgICB3aWR0aDogJHNpemU7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcm9wZG93bi1tZW51XG4vLy8vXG5cbi8vLyBFbmFibGVzIGFycm93cyBmb3IgaXRlbXMgd2l0aCBkcm9wZG93biBtZW51cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kZHJvcGRvd25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgZHJvcGRvd24gbWVudSBhcnJvdyBjb2xvciBpZiBhcnJvdyBpcyB1c2VkLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gTWluaW11bSB3aWR0aCBvZiBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LW1pbi13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcm9wZG93bnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBzdWItbWVudXMuXG4vLy8gQHR5cGUgTGlzdFxuJGRyb3Bkb3dubWVudS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vIEJvcmRlciB3aWR0aCBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8gVXNlZCB0byBhZGp1c3QgdG9wIG1hcmdpbiBvZiBhIHN1Yi1tZW51IGlmIGEgYm9yZGVyIGlzIHVzZWQuXG4vLyBAdHlwZSBMZW5ndGhcbiRkcm9wZG93bm1lbnUtYm9yZGVyLXdpZHRoOiBudGgoJGRyb3Bkb3dubWVudS1ib3JkZXIsIDEpO1xuXG5AbWl4aW4gbGVmdC1yaWdodC1hcnJvd3Mge1xuICA+IGE6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtcmlnaHR9OiAxNHB4O1xuICAgIG1hcmdpbi10b3A6IC0zcHg7XG4gIH1cblxuICAmLm9wZW5zLWxlZnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgbGVmdCk7XG4gIH1cblxuICAmLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIHJpZ2h0KTtcbiAgfVxufVxuXG5AbWl4aW4gZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICA+IGxpLm9wZW5zLWxlZnQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaS5vcGVucy1yaWdodCB7XG4gICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHRvcDogMTAwJTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICBwYWRkaW5nLSN7JGdsb2JhbC1yaWdodH06IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgfVxuXG4gICAgICA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCBkb3duKTtcbiAgICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnB4O1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICA+IGxpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLWxlZnQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICAgIHJpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgICYub3BlbnMtcmlnaHQge1xuICAgICAgICA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICBsZWZ0OiAxMDAlO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgQHdhcm4gJ1RoZSBkaXJlY3Rpb24gdXNlZCBmb3IgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oKSBtdXN0IGJlIGhvcml6b250YWwgb3IgdmVydGljYWwuJztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1kcm9wZG93bi1tZW51IHtcbiAgLmRyb3Bkb3duLm1lbnUge1xuICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuXG4gICAgYSB7XG4gICAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gICAgfVxuXG4gICAgLm5vLWpzICYgdWwge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLnZlcnRpY2FsIHtcbiAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICB9XG5cbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUpIHtcbiAgICAgICAgICAmLiN7JHNpemV9LWhvcml6b250YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24oaG9yaXpvbnRhbCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgJi4jeyRzaXplfS12ZXJ0aWNhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgICB3aWR0aDogMTAwcHg7XG5cbiAgICAmLmFsaWduLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGE6OmFmdGVyIHtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogNTAlO1xuICAgICAgI3skZ2xvYmFsLXJpZ2h0fTogNXB4O1xuICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICB9XG5cbiAgICAmLm9wZW5zLWlubmVyID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuXG4gICAgICB0b3A6IDEwMCU7XG4gICAgICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSAncnRsJyB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgfSBAZWxzZSB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgbGVmdDogYXV0bztcbiAgICAgIHJpZ2h0OiAxMDAlO1xuICAgIH1cblxuICAgICYub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICByaWdodDogYXV0bztcbiAgICAgIGxlZnQ6IDEwMCU7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDEwMCU7XG4gICAgbWluLXdpZHRoOiAkZHJvcGRvd25tZW51LW1pbi13aWR0aDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6ICRkcm9wZG93bm1lbnUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRkcm9wZG93bm1lbnUtYm9yZGVyO1xuXG4gICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIEBpZiAkZHJvcGRvd25tZW51LWFycm93cyB7XG4gICAgICAgIEBpbmNsdWRlIGxlZnQtcmlnaHQtYXJyb3dzO1xuICAgICAgfVxuICAgIH1cblxuICAgIEBpZiAodHlwZS1vZigkZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCkgPT0gJ251bWJlcicpIHtcbiAgICAgIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgICAgbWFyZ2luLXRvcDogKC0kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgPiBsaSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAvLyBbVE9ET10gQ3V0IGJhY2sgc3BlY2lmaWNpdHlcbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBTZWxlY3RvckRlcHRoXG4gICAgLy8mOm5vdCguanMtZHJvcGRvd24tbm9ob3ZlcikgPiAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQ6aG92ZXIgPiAmLCAvLyB3aHkgaXMgdGhpcyBsaW5lIG5lZWRlZD8gT3BlbmluZyBpcyBoYW5kbGVkIGJ5IEpTIGFuZCB0aGlzIGNhdXNlcyBzb21lIHVnbHkgZmxpY2tlcmluZyB3aGVuIHRoZSBzdWIgaXMgcmUtcG9zaXRpb25lZCBhdXRvbWF0aWNhbGx5Li4uXG4gICAgJi5qcy1kcm9wZG93bi1hY3RpdmUge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmbGV4LXZpZGVvXG4vLy8vXG5cbi8vLyBNYXJnaW4gYmVsb3cgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDQ6MyBhc3BlY3QgcmF0aW8uXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLXJhdGlvOiA0IGJ5IDMgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIHVzZWQgdG8gY3JlYXRlIGEgMTY6OSBhc3BlY3QgcmF0aW8uXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW46IDE2IGJ5IDkgIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIGEgcGVyY2VudGFnZSBoZWlnaHQgdGhhdCBjYW4gYmUgdXNlZCBhcyBwYWRkaW5nIGluIGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtMaXN0fSAkcmF0aW8gLSBSYXRpbyB0byB1c2UgdG8gY2FsY3VsYXRlIHRoZSBoZWlnaHQsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbi8vLyBAcmV0dXJuIHtOdW1iZXJ9IEEgcGVyY2VudGFnZSB2YWx1ZSB0aGF0IGNhbiBiZSB1c2VkIGFzIHRoZSBgcGFkZGluZy1ib3R0b21gIHBhcmFtZXRlciBvZiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuQGZ1bmN0aW9uIGZsZXgtdmlkZW8oJHJhdGlvKSB7XG4gICR3OiBudGgoJHJhdGlvLCAxKTtcbiAgJGg6IG50aCgkcmF0aW8sIDMpO1xuICBAcmV0dXJuICRoIC8gJHcgKiAxMDAlO1xufVxuXG4vLy8gQ3JlYXRlcyBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIFskZmxleHZpZGVvLXJhdGlvXSAtIFJhdGlvIHRvIHVzZSBmb3IgdGhlIGNvbnRhaW5lciwgZm9ybWF0dGVkIGFzIGB4IGJ5IHlgLlxuQG1peGluIGZsZXgtdmlkZW8oJHJhdGlvOiAkZmxleHZpZGVvLXJhdGlvKSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkcmF0aW8pO1xuICBtYXJnaW4tYm90dG9tOiAkZmxleHZpZGVvLW1hcmdpbi1ib3R0b207XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgaWZyYW1lLFxuICBvYmplY3QsXG4gIGVtYmVkLFxuICB2aWRlbyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtdmlkZW8ge1xuICAuZmxleC12aWRlbyB7XG4gICAgQGluY2x1ZGUgZmxleC12aWRlbztcblxuICAgICYud2lkZXNjcmVlbiB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogZmxleC12aWRlbygkZmxleHZpZGVvLXJhdGlvLXdpZGVzY3JlZW4pO1xuICAgIH1cblxuICAgICYudmltZW8ge1xuICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBsYWJlbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRsYWJlbC1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtY29sb3I6IGZvcmVncm91bmQoJGxhYmVsLWJhY2tncm91bmQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBpbnNpZGUgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXBhZGRpbmc6IDAuMzMzMzNyZW0gMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgb2YgbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGxhYmVsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBHZW5lcmF0ZXMgYmFzZSBzdHlsZXMgZm9yIGEgbGFiZWwuXG5AbWl4aW4gbGFiZWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmc6ICRsYWJlbC1wYWRkaW5nO1xuICBmb250LXNpemU6ICRsYWJlbC1mb250LXNpemU7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIGJvcmRlci1yYWRpdXM6ICRsYWJlbC1yYWRpdXM7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWxhYmVsIHtcbiAgLmxhYmVsIHtcbiAgICBAaW5jbHVkZSBsYWJlbDtcblxuICAgIGJhY2tncm91bmQ6ICRsYWJlbC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkbGFiZWwtY29sb3I7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgQGlmICRuYW1lICE9IHByaW1hcnkge1xuICAgICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgICBiYWNrZ3JvdW5kOiAkY29sb3I7XG4gICAgICAgICAgY29sb3I6IGZvcmVncm91bmQoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVkaWEtb2JqZWN0XG4vLy8vXG5cbi8vLyBCb3R0b20gbWFyZ2luIG9mIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gTGVmdCBhbmQgcmlnaHQgcGFkZGluZyBvbiBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBXaWR0aCBvZiBpbWFnZXMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LCB3aGVuIHRoZSBvYmplY3QgaXMgc3RhY2tlZCB2ZXJ0aWNhbGx5LiBTZXQgdG8gJ2F1dG8nIHRvIHVzZSB0aGUgaW1hZ2UncyBuYXR1cmFsIHdpZHRoLlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ6IDEwMCUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtZWRpYSBvYmplY3QgY29udGFpbmVyLlxuQG1peGluIG1lZGlhLW9iamVjdC1jb250YWluZXIge1xuICBtYXJnaW4tYm90dG9tOiAkbWVkaWFvYmplY3QtbWFyZ2luLWJvdHRvbTtcbiAgZGlzcGxheTogaWYoJGdsb2JhbC1mbGV4Ym94LCBmbGV4LCBibG9jayk7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBzZWN0aW9ucyB3aXRoaW4gYSBtZWRpYSBvYmplY3QuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkaW5nIFskbWVkaWFvYmplY3Qtc2VjdGlvbi1wYWRkaW5nXSAtIFBhZGRpbmcgYmV0d2VlbiBzZWN0aW9ucy5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc2VjdGlvbigkcGFkZGluZzogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZykge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuICB9XG5cbiAgJjpmaXJzdC1jaGlsZCB7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAkcGFkZGluZztcbiAgfVxuXG4gICY6bGFzdC1jaGlsZDpub3QoOm50aC1jaGlsZCgyKSkge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLWxlZnR9OiAkcGFkZGluZztcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRvIHN0YWNrIHNlY3Rpb25zIG9mIGEgbWVkaWEgb2JqZWN0LiBBcHBseSB0aGlzIHRvIHRoZSBzZWN0aW9uIGVsZW1lbnRzLCBub3QgdGhlIGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3Qtc3RhY2sge1xuICBwYWRkaW5nOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZztcblxuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuICBAZWxzZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAkbWVkaWFvYmplY3QtaW1hZ2Utd2lkdGgtc3RhY2tlZDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZWRpYS1vYmplY3Qge1xuICAubWVkaWEtb2JqZWN0IHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3QtY29udGFpbmVyO1xuXG4gICAgaW1nIHtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICB9XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkLXpmLXplcm8tYnJlYWtwb2ludCBvbmx5KSB7XG4gICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgJi5zdGFjay1mb3ItI3skLXpmLXplcm8tYnJlYWtwb2ludH0gLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc3RhY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uIHtcbiAgICBAaW5jbHVkZSBtZWRpYS1vYmplY3Qtc2VjdGlvbjtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAgICYubWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDBweDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJi5taWRkbGUge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgfVxuXG4gICAgICAmLmJvdHRvbSB7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBib3R0b207XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBvZmYtY2FudmFzXG4vLy8vXG5cbi8vLyBXaWR0aCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXNpemU6IDI1MHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBaLWluZGV4IG9mIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtemluZGV4OiAtMSAhZGVmYXVsdDtcblxuLy8vIExlbmd0aCBvZiB0aGUgYW5pbWF0aW9uIG9uIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGg6IDAuNXMgIWRlZmF1bHQ7XG5cbi8vLyBUaW1pbmcgZnVuY3Rpb24gb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgS2V5d29yZFxuJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZzogZWFzZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYSByZXZlYWxlZCBvZmYtY2FudmFzIHdpbGwgYmUgZml4ZWQtcG9zaXRpb24sIGFuZCBzY3JvbGwgd2l0aCB0aGUgc2NyZWVuLlxuJG9mZmNhbnZhcy1maXhlZC1yZXZlYWw6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgb3ZlcmxheSB0aGF0IGFwcGVhcnMgd2hlbiBhbiBvZmYtY2FudmFzIG1lbnUgaXMgb3Blbi5cbi8vLyBAdHlwZSBDb2xvclxuJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ6IHJnYmEoJHdoaXRlLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIENTUyBjbGFzcyB1c2VkIGZvciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoZSBvZmYtY2FudmFzIG1peGlucyB1c2UgdGhpcyB0byB0YXJnZXQgdGhlIHBhZ2UgYm9keS5cbiRtYWluY29udGVudC1jbGFzczogJ29mZi1jYW52YXMtY29udGVudCcgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHRvIHBsYWNlIHVuZGVyIHRoZSBtYWluIGNvbnRlbnQgYXJlYS4gVGhpcyBzaGFkb3cgb3ZlcmxhcHMgdGhlIG9mZi1jYW52YXMgbWVudXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzZWxpbmUgc3R5bGVzIGZvciBvZmYtY2FudmFzLiBUaGlzIENTUyBpcyByZXF1aXJlZCB0byBtYWtlIHRoZSBvdGhlciBwaWVjZXMgd29yay5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2ljcyB7XG4gIC8vIEV4dHJhIHByb3BlcnRpZXMgbmVlZGVkIG9uIDxodG1sPiBhbmQgPGJvZHk+IHRvIG1ha2Ugb2ZmLWNhbnZhcyB3b3JrXG4gIGh0bWwsXG4gIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvO1xuICB9XG5cbiAgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lciB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gIH1cblxuICAvLyBDb250YWluZXIgZm9yIHBhZ2UgY29udGVudFxuICAub2ZmLWNhbnZhcy1jb250ZW50LFxuICAuI3skbWFpbmNvbnRlbnQtY2xhc3N9IHtcbiAgICBtaW4taGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgei1pbmRleDogMTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMC4xcHg7IC8vIFByZXZlbnRzIG1hcmdpbiBjb2xsYXBzaW5nLCB3aGljaCB3b3VsZCByZXZlYWwgdGhlIGJveCBzaGFkb3cgb2YgdGhlIHdyYXBwZXJcblxuICAgIEBpZiBoYXMtdmFsdWUoJG1haW5jb250ZW50LXNoYWRvdykge1xuICAgICAgYm94LXNoYWRvdzogJG1haW5jb250ZW50LXNoYWRvdztcbiAgICB9XG4gIH1cblxuICAvLyBDbGljay10by1leGl0IG92ZXJsYXkgKGdlbmVyYXRlZCBieSBKYXZhU2NyaXB0KVxuICAuanMtb2ZmLWNhbnZhcy1leGl0IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1leGl0LWJhY2tncm91bmQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG59XG5cbi8vLyBBZGRzIGJhc2ljIHN0eWxlcyBmb3IgYW4gb2ZmLWNhbnZhcyBtZW51LlxuQG1peGluIG9mZi1jYW52YXMtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBiYWNrZ3JvdW5kOiAkb2ZmY2FudmFzLWJhY2tncm91bmQ7XG4gIHotaW5kZXg6ICRvZmZjYW52YXMtemluZGV4O1xuICBtYXgtaGVpZ2h0OiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG59XG5cbkBtaXhpbiBvZmYtY2FudmFzLXBvc2l0aW9uKFxuICAkcG9zaXRpb246IGxlZnQsXG4gICRzaXplOiAkb2ZmY2FudmFzLXNpemUsXG4gICRmaXhlZDogZmFsc2Vcbikge1xuICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgIGxlZnQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG4gIEBlbHNlIGlmICRwb3NpdGlvbiA9PSByaWdodCB7XG4gICAgcmlnaHQ6IC0kc2l6ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzaXplO1xuICB9XG5cbiAgLy8gR2VuZXJhdGVzIGFuIG9wZW4gc3RhdGUgY2xhc3MgdGhhdCBtYXRjaGVzIHRoZSB3aWR0aCBvZiB0aGUgbWVudVxuICBAYXQtcm9vdCB7XG4gICAgLmlzLW9wZW4tI3skcG9zaXRpb259IHtcbiAgICAgIEBpZiAkcG9zaXRpb24gPT0gbGVmdCB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgkc2l6ZSk7XG4gICAgICB9XG4gICAgICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLSRzaXplKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIHRoYXQgcmV2ZWFsIGFuIG9mZi1jYW52YXMgbWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbbGVmdF0gLSBQb3NpdGlvbiBvZiB0aGUgb2ZmLWNhbnZhcyBtZW51IGJlaW5nIHJldmVhbGVkLlxuQG1peGluIG9mZi1jYW52YXMtcmV2ZWFsKFxuICAkcG9zaXRpb246IGxlZnRcbikge1xuICAjeyRwb3NpdGlvbn06IDA7XG4gIHotaW5kZXg6IGF1dG87XG5cbiAgQGlmICRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gIH1cblxuICAmIH4gLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWFyZ2luLSN7JHBvc2l0aW9ufTogJG9mZmNhbnZhcy1zaXplO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9mZi1jYW52YXMge1xuICBAaW5jbHVkZSBvZmYtY2FudmFzLWJhc2ljcztcblxuICAvLyBPZmYtY2FudmFzIGNvbnRhaW5lclxuICAub2ZmLWNhbnZhcyB7XG4gICAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNlO1xuXG4gICAgJi5wb3NpdGlvbi1sZWZ0ICAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKGxlZnQpOyB9XG4gICAgJi5wb3NpdGlvbi1yaWdodCAgeyBAaW5jbHVkZSBvZmYtY2FudmFzLXBvc2l0aW9uKHJpZ2h0KTsgfVxuICB9XG5cbiAgLy8gUmV2ZWFsIG9mZi1jYW52YXMgbWVudSBvbiBsYXJnZXIgc2NyZWVuc1xuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkbmFtZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRuYW1lKSB7XG4gICAgICAgIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKGxlZnQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItI3skbmFtZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtcmV2ZWFsKHJpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb3JiaXRcbi8vLy9cblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGFjdGl2ZSBjb2xvciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaWFtZXRlciBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYmV0d2VlbiBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbjogMC4xcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkaXN0YW5jZSBmcm9tIHNsaWRlIHJlZ2lvbiBmb3IgT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gZnJvbSBPcmJpdCdzIGJ1bGxldHMgdG8gd2hhdGV2ZXIgY29udGVudCBtYXkgbHVyayBiZWxvdyBpdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLWJvdHRvbTogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQ6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNhcHRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY2FwdGlvbi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBPcmJpdCdzIGNvbnRyb2xzIHdoZW4gaG92ZXJlZC5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjogcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIE9yYml0J3MgY29udHJvbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtY29udHJvbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB6LWluZGV4IGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtemluZGV4OiAxMCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgb3V0ZXIgT3JiaXQgd3JhcHBlci4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbm5lciBPcmJpdCBzbGlkZSBjb250YWluZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jb250YWluZXJgIGNsYXNzLlxuQG1peGluIG9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmRpdmlkdWFsIHNsaWRlcyBvZiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1zbGlkZWAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtc2xpZGUge1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LWhlaWdodDogMTAwJTtcblxuICAmLm5vLW1vdGlvbnVpIHtcbiAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICB0b3A6IDA7XG4gICAgICBsZWZ0OiAwO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gb3JiaXQtZmlndXJlIHtcbiAgbWFyZ2luOiAwO1xufVxuXG5AbWl4aW4gb3JiaXQtaW1hZ2Uge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gb3JiaXQgc2xpZGUgY2FwdGlvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWNhcHRpb25gIGNsYXNzLlxuQG1peGluIG9yYml0LWNhcHRpb24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICRvcmJpdC1jYXB0aW9uLXBhZGRpbmc7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIGNvbG9yOiBmb3JlZ3JvdW5kKCRvcmJpdC1jYXB0aW9uLWJhY2tncm91bmQpO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgdGhlIG5leHQvcHJldmlvdXMgYnV0dG9ucyBpbiBhbiBPcmJpdCBzbGlkZXIuIFRoZXNlIHN0eWxlcyBhcmUgc2hhcmVkIGJldHdlZW4gdGhlIGAub3JiaXQtbmV4dGAgYW5kIGAub3JiaXQtcHJldmlvdXNgIGNsYXNzZXMgaW4gdGhlIGRlZmF1bHQgQ1NTLlxuQG1peGluIG9yYml0LWNvbnRyb2wge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgei1pbmRleDogJG9yYml0LWNvbnRyb2wtemluZGV4O1xuICBwYWRkaW5nOiAkb3JiaXQtY29udHJvbC1wYWRkaW5nO1xuICBjb2xvcjogJHdoaXRlO1xuXG4gICY6aG92ZXIsXG4gICY6YWN0aXZlLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LXByZXZpb3VzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1wcmV2aW91cyB7XG4gICN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgT3JiaXQgbmV4dCBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1uZXh0YCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1uZXh0IHtcbiAgI3skZ2xvYmFsLWxlZnR9OiBhdXRvO1xuICAjeyRnbG9iYWwtcmlnaHR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY29udGFpbmVyIG9mIE9yYml0IGJ1bGxldHMuIC8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IHByZXZpb3VzIGJ1dHRvbi4gVGhlc2Ugc3R5bGVzIGFyZSB1c2VkIG9uIHRoZSBgLm9yYml0LWJ1bGxldHNgIGNsYXNzLlxuQG1peGluIG9yYml0LWJ1bGxldHMge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luLXRvcDogJG9yYml0LWJ1bGxldC1tYXJnaW4tdG9wO1xuICBtYXJnaW4tYm90dG9tOiAkb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b207XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICBidXR0b24ge1xuICAgIHdpZHRoOiAkb3JiaXQtYnVsbGV0LWRpYW1ldGVyO1xuICAgIGhlaWdodDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBtYXJnaW46ICRvcmJpdC1idWxsZXQtbWFyZ2luO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tb3JiaXQge1xuICAub3JiaXQge1xuICAgIEBpbmNsdWRlIG9yYml0LXdyYXBwZXI7XG4gIH1cblxuICAub3JiaXQtY29udGFpbmVyIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250YWluZXI7XG4gIH1cblxuICAub3JiaXQtc2xpZGUge1xuICAgIEBpbmNsdWRlIG9yYml0LXNsaWRlO1xuICB9XG5cbiAgLm9yYml0LWZpZ3VyZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtZmlndXJlO1xuICB9XG5cbiAgLm9yYml0LWltYWdlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1pbWFnZTtcbiAgfVxuXG4gIC5vcmJpdC1jYXB0aW9uIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jYXB0aW9uO1xuICB9XG5cbiAgJW9yYml0LWNvbnRyb2wge1xuICAgIEBpbmNsdWRlIG9yYml0LWNvbnRyb2w7XG4gIH1cblxuICAub3JiaXQtcHJldmlvdXMge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtcHJldmlvdXM7XG4gIH1cblxuICAub3JiaXQtbmV4dCB7XG4gICAgQGV4dGVuZCAlb3JiaXQtY29udHJvbDtcbiAgICBAaW5jbHVkZSBvcmJpdC1uZXh0O1xuICB9XG5cbiAgLm9yYml0LWJ1bGxldHMge1xuICAgIEBpbmNsdWRlIG9yYml0LWJ1bGxldHM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHBhZ2luYXRpb25cbi8vLy9cblxuLy8vIEZvbnQgc2l6ZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvdHRvbSBtYXJnaW4gb2YgdGhlIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b206ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBvZiBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nOiByZW0tY2FsYygzIDEwKSAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IG1hcmdpbiB0byBzZXBhcmF0ZSBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nOiByZW0tY2FsYygxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBwYWdpbmF0aW9uIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcyBvbiBob3Zlci5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBwYWdpbmF0aW9uIGl0ZW0gZm9yIHRoZSBjdXJyZW50IHBhZ2UuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDogZm9yZWdyb3VuZCgkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudCkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiB0aGUgZWxsaXBzaXMgaW4gYSBwYWdpbmF0aW9uIG1lbnUuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgZmFsc2VgLCBkb24ndCBkaXNwbGF5IHBhZ2UgbnVtYmVyIGxpbmtzIG9uIG1vYmlsZSwgb25seSBuZXh0L3ByZXZpb3VzIGxpbmtzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFycm93cyBhcmUgYWRkZWQgdG8gdGhlIG5leHQgYW5kIHByZXZpb3VzIGxpbmtzIG9mIHBhZ2luYXRpb24uXG4vLy8gQHR5cGUgQm9vbGVhblxuJHBhZ2luYXRpb24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcGFnaW5hdGlvbiBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBgPHVsPmAuXG5AbWl4aW4gcGFnaW5hdGlvbi1jb250YWluZXIge1xuICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgbWFyZ2luLWJvdHRvbTogJHBhZ2luYXRpb24tbWFyZ2luLWJvdHRvbTtcblxuICAvLyBMaXN0IGl0ZW1cbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogJHBhZ2luYXRpb24tZm9udC1zaXplO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc7XG4gICAgYm9yZGVyLXJhZGl1czogJHBhZ2luYXRpb24tcmFkaXVzO1xuXG4gICAgQGlmICRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtcyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICY6bGFzdC1jaGlsZCxcbiAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQYWdlIGxpbmtzXG4gIGEsXG4gIGJ1dHRvbiB7XG4gICAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3I7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGN1cnJlbnQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1jdXJyZW50IHtcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBiYWNrZ3JvdW5kOiAkcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDtcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItY3VycmVudDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgZGlzYWJsZWQgcGFnaW5hdGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIGFuIGA8YT5gLlxuQG1peGluIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWl0ZW0tY29sb3ItZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBlbGxpcHNpcyBmb3IgdXNlIGluIGEgcGFnaW5hdGlvbiBsaXN0LlxuQG1peGluIHBhZ2luYXRpb24tZWxsaXBzaXMge1xuICBjb250ZW50OiAnXFwyMDI2JztcbiAgcGFkZGluZzogJHBhZ2luYXRpb24taXRlbS1wYWRkaW5nO1xuICBjb2xvcjogJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXBhZ2luYXRpb24ge1xuICAucGFnaW5hdGlvbiB7XG4gICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1jb250YWluZXI7XG5cbiAgICAuY3VycmVudCB7XG4gICAgICBAaW5jbHVkZSBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudDtcbiAgICB9XG5cbiAgICAuZGlzYWJsZWQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWRpc2FibGVkO1xuICAgIH1cblxuICAgIC5lbGxpcHNpczo6YWZ0ZXIge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1lbGxpcHNpcztcbiAgICB9XG4gIH1cblxuICBAaWYgJHBhZ2luYXRpb24tYXJyb3dzIHtcbiAgICAucGFnaW5hdGlvbi1wcmV2aW91cyBhOjpiZWZvcmUsXG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMuZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnXFwwMGFiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24tbmV4dCBhOjphZnRlcixcbiAgICAucGFnaW5hdGlvbi1uZXh0LmRpc2FibGVkOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnXFwwMGJiJztcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDAuNXJlbTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgcHJvZ3Jlc3MgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiBwcm9ncmVzcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcHJvZ3Jlc3MtYmFja2dyb3VuZDtcbiAgaGVpZ2h0OiAkcHJvZ3Jlc3MtaGVpZ2h0O1xuICBtYXJnaW4tYm90dG9tOiAkcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTtcbiAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgbWV0ZXIgb2YgYSBwcm9ncmVzcyBiYXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLW1ldGVyLWJhY2tncm91bmQ7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0ZXh0IGluIHRoZSBwcm9ncmVzcyBtZXRlci5cbkBtaXhpbiBwcm9ncmVzcy1tZXRlci10ZXh0IHtcbiAgQGluY2x1ZGUgYWJzb2x1dGUtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIG1hcmdpbjogMDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY29sb3I6ICR3aGl0ZTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICBAaWYgaGFzLXZhbHVlKCRwcm9ncmVzcy1yYWRpdXMpIHtcbiAgICBib3JkZXItcmFkaXVzOiAkcHJvZ3Jlc3MtcmFkaXVzO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXByb2dyZXNzLWJhciB7XG4gIC8vIFByb2dyZXNzIGJhclxuICAucHJvZ3Jlc3Mge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLWNvbnRhaW5lcjtcblxuICAgIEBlYWNoICRuYW1lLCAkY29sb3IgaW4gJGZvdW5kYXRpb24tcGFsZXR0ZSB7XG4gICAgICAmLiN7JG5hbWV9IHtcbiAgICAgICAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkY29sb3I7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBJbm5lciBtZXRlclxuICAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyO1xuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXIgdGV4dFxuICAucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gICAgQGluY2x1ZGUgcHJvZ3Jlc3MtbWV0ZXItdGV4dDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIFtUT0RPXSBDaGVjayBob3cgcGx1Z2luIGNvbmZpcm1zIGRpc2FibGVkIG9yIHZlcnRpY2FsIHN0YXR1c1xuLy8gW1RPRE9dIENoZWNrIGlmIHRyYW5zaXRpb246IGFsbDsgaXMgbmVjZXNzYXJ5XG5cbi8vLy9cbi8vLyBAZ3JvdXAgc2xpZGVyXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHNsaWRlciB3aWR0aCBvZiBhIHZlcnRpY2FsIHNsaWRlci4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIE51bWJlclxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gVHJhbnNpdGlvbiBwcm9wZXJ0aWVzIHRvIGFwcGx5IHRvIHRoZSBzbGlkZXIgaGFuZGxlIGFuZCBmaWxsLiAoRG9lc24ndCBhcHBseSB0byB0aGUgbmF0aXZlIHNsaWRlci4pXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dCAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogJHNsaWRlci1oZWlnaHQ7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuMjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIGFjdGl2ZSBmaWxsIGZvciBzbGlkZXJzLlxuQG1peGluIHNsaWRlci1maWxsIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWZpbGwtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuXG4gICYuaXMtZHJhZ2dpbmcge1xuICAgIHRyYW5zaXRpb246IGFsbCAwcyBsaW5lYXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciB0aGUgc2xpZGVyIGhhbmRsZXMuXG5AbWl4aW4gc2xpZGVyLWhhbmRsZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGxlZnQ6IDA7XG4gIHotaW5kZXg6IDE7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6ICRzbGlkZXItaGFuZGxlLXdpZHRoO1xuICBoZWlnaHQ6ICRzbGlkZXItaGFuZGxlLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogJHNsaWRlci10cmFuc2l0aW9uO1xuICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHNsaWRlci1yYWRpdXM7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogc2NhbGUtY29sb3IoJHNsaWRlci1oYW5kbGUtYmFja2dyb3VuZCwgJGxpZ2h0bmVzczogLTE1JSk7XG4gIH1cblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbkBtaXhpbiBzbGlkZXItZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkc2xpZGVyLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG59XG5cbkBtaXhpbiBzbGlkZXItdmVydGljYWwge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLXdpZHRoLXZlcnRpY2FsO1xuICBoZWlnaHQ6IDEyLjVyZW07XG4gIG1hcmdpbjogMCAxLjI1cmVtO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEsIC0xKTtcblxuICAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgICBtYXgtaGVpZ2h0OiAxMDAlO1xuICB9XG5cbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogNTAlO1xuICAgIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gICAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc2xpZGVyIHtcbiAgLy8gQ29udGFpbmVyXG4gIC5zbGlkZXIge1xuICAgIEBpbmNsdWRlIHNsaWRlci1jb250YWluZXI7XG4gIH1cblxuICAvLyBGaWxsIGFyZWFcbiAgLnNsaWRlci1maWxsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItZmlsbDtcbiAgfVxuXG4gIC8vIERyYWdnYWJsZSBoYW5kbGVcbiAgLnNsaWRlci1oYW5kbGUge1xuICAgIEBpbmNsdWRlIHNsaWRlci1oYW5kbGU7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAuc2xpZGVyLmRpc2FibGVkLFxuICAuc2xpZGVyW2Rpc2FibGVkXSB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWRpc2FibGVkO1xuICB9XG5cbiAgLy8gVmVydGljYWwgc2xpZGVyXG4gIC5zbGlkZXIudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHNsaWRlci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFJUTCBzdXBwb3J0XG4gIEBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCB7XG4gICAgLnNsaWRlcjpub3QoLnZlcnRpY2FsKSB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKC0xLCAxKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zdGlja3kge1xuICAuc3RpY2t5LWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB9XG5cbiAgLnN0aWNreSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbiAgfVxuXG4gIC5zdGlja3kuaXMtc3R1Y2sge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB6LWluZGV4OiA1O1xuXG4gICAgJi5pcy1hdC10b3Age1xuICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAuc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogYXV0bztcblxuICAgICYuaXMtYXQtYm90dG9tIHtcbiAgICAgIGJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHJldmVhbFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgbW9kYWwuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB3aWR0aCBvZiBhIG1vZGFsLCB3aXRoIG5vIGNsYXNzIGFwcGxpZWQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXdpZHRoOiA2MDBweCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWF4aW11bSB3aWR0aCBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGEgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZyAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgbW9kYWwuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyB6LWluZGV4IGZvciBtb2RhbHMuIFRoZSBvdmVybGF5IHVzZXMgdGhpcyB2YWx1ZSwgd2hpbGUgdGhlIG1vZGFsIGl0c2VsZiB1c2VzIHRoaXMgdmFsdWUgcGx1cyBvbmUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcmV2ZWFsLXppbmRleDogMTAwNSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgbW9kYWwgb3ZlcmxheXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRyZXZlYWwtb3ZlcmxheS1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC40NSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBtb2RhbCBvdmVybGF5LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBvdmVybGF5LlxuQG1peGluIHJldmVhbC1vdmVybGF5IHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0b3A6IDA7XG4gIGJvdHRvbTogMDtcbiAgbGVmdDogMDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtYmFzZSB7XG4gIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogJHJldmVhbC16aW5kZXggKyAxO1xuICBwYWRkaW5nOiAkcmV2ZWFsLXBhZGRpbmc7XG4gIGJvcmRlcjogJHJldmVhbC1ib3JkZXI7XG4gIGJhY2tncm91bmQtY29sb3I6ICRyZXZlYWwtYmFja2dyb3VuZDtcbiAgYm9yZGVyLXJhZGl1czogJHJldmVhbC1yYWRpdXM7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHJvd3MgZG9uJ3QgaGF2ZSBhIG1pbi13aWR0aCBvbiB0aGVtXG4gIC5jb2x1bW4sXG4gIC5jb2x1bW5zIHtcbiAgICBtaW4td2lkdGg6IDA7XG4gIH1cblxuICAvLyBTdHJpcCBtYXJnaW5zIGZyb20gdGhlIGxhc3QgaXRlbSBpbiB0aGUgbW9kYWxcbiAgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG4vLy8gQWRqdXN0cyB0aGUgd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIC0gV2lkdGggb2YgdGhlIG1vZGFsLiBHZW5lcmFsbHkgYSBwZXJjZW50YWdlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkbWF4LXdpZHRoIFskcmV2ZWFsLW1heC13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSBtb2RhbC5cbkBtaXhpbiByZXZlYWwtbW9kYWwtd2lkdGgoXG4gICR3aWR0aDogJHJldmVhbC13aWR0aCxcbiAgJG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGhcbikge1xuICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgIEBleHRlbmQgJXJldmVhbC1jZW50ZXJlZDtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIG1heC13aWR0aDogJHJldmVhbC1tYXgtd2lkdGg7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBmdWxsLXNjcmVlbiBtb2RhbCwgd2hpY2ggc3RyZXRjaGVzIHRoZSBmdWxsIHdpZHRoIGFuZCBoZWlnaHQgb2YgdGhlIHdpbmRvdy5cbkBtaXhpbiByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbiB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIER1cGxpY2F0ZVByb3BlcnR5XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbWluLWhlaWdodDogMTAwdmg7XG4gIG1heC13aWR0aDogbm9uZTtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGJvcmRlcjogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbn1cblxuQG1peGluIGZvdW5kYXRpb24tcmV2ZWFsIHtcbiAgLy8gW1RPRE9dIElzIHRoaXMgbmVjZXNzYXJ5P1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICB9XG4gIC8vIGh0bWwgZ2V0cyB0aGlzIGNsYXNzIG9ubHkgaW4gaU9TXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4sXG4gIGh0bWwuaXMtcmV2ZWFsLW9wZW4gYm9keSB7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIH1cblxuICAvLyBPdmVybGF5XG4gIC5yZXZlYWwtb3ZlcmxheSB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW92ZXJsYXk7XG4gIH1cblxuICAvLyBNb2RhbCBjb250YWluZXJcbiAgLnJldmVhbCB7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWJhc2U7XG4gICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLXdpZHRoKCRyZXZlYWwtd2lkdGgpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDEwMHB4O1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuXG4gICAgLy8gUGxhY2Vob2xkZXIgc2VsZWN0b3IgZm9yIG1lZGl1bS1hbmQtdXAgbW9kYWxzXG4gICAgLy8gUHJldmVudHMgZHVwbGljYXRlIENTUyB3aGVuIGRlZmluaW5nIG11bHRpcGxlIFJldmVhbCBzaXplc1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAlcmV2ZWFsLWNlbnRlcmVkIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIFJlbW92ZSBwYWRkaW5nXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC8vIFNpemluZyBjbGFzc2VzXG4gICAgJi50aW55ICB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgzMCUpOyB9XG4gICAgJi5zbWFsbCB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg1MCUpOyB9XG4gICAgJi5sYXJnZSB7IEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCg5MCUpOyB9XG5cbiAgICAvLyBGdWxsLXNjcmVlbiBtb2RlXG4gICAgJi5mdWxsIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgQGluY2x1ZGUgcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW47XG4gICAgfVxuXG4gICAgJi53aXRob3V0LW92ZXJsYXkge1xuICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgc3dpdGNoXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgYWN0aXZlIGNvbG9yIG9mIGEgc3dpdGNoLlxuLy8vIEB0eXBlIENvbG9yXG4kc3dpdGNoLWJhY2tncm91bmQtYWN0aXZlOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQ6IDJyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAudGlueSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5zbWFsbCBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLmxhcmdlIGNsYXNzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgb2YgdGhlIHN3aXRjaFxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIGFyb3VuZCBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1tYXJnaW46ICRnbG9iYWwtbWFyZ2luICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIHN3aXRjaCBjb250YWluZXIgYW5kIHBhZGRsZS5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1wYWRkbGUtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGEgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIGJvZHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1vZmZzZXQ6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBib3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2ggcGFkZGxlXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gc3dpdGNoIHRyYW5zaXRpb24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vIG1ha2UgdGhlbSB2YXJpYWJsZXNcbi8vIGFzayBhYm91dCBhY2Nlc3NpYmlsaXR5IG9uIGxhYmVsXG4vLyBjaGFuZ2UgY2xhc3MgbmFtZSBmb3IgdGV4dFxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3dpdGNoIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGNvbnRhaW5lciBjbGFzcy5cbkBtaXhpbiBzd2l0Y2gtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJHN3aXRjaC1tYXJnaW47XG4gIG91dGxpbmU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5cbiAgLy8gVGhlc2UgcHJvcGVydGllcyBjYXNjYWRlIGRvd24gdG8gdGhlIHN3aXRjaCB0ZXh0XG4gIGNvbG9yOiAkd2hpdGU7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBpbnB1dC4gQXBwbHkgdGhpcyB0byBhbiBgPGlucHV0PmAgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC1pbnB1dCB7XG4gIG9wYWNpdHk6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYmFja2dyb3VuZCBhbmQgcGFkZGxlIG9mIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIGEgYDxsYWJlbD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiA0cmVtO1xuICBoZWlnaHQ6ICRzd2l0Y2gtaGVpZ2h0O1xuICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkc3dpdGNoLXJhZGl1cztcblxuICAvLyBSZXNldHRpbmcgdGhlc2UgPGxhYmVsPiBwcmVzZXRzIHNvIHR5cGUgc3R5bGVzIGNhc2NhZGUgZG93blxuICBjb2xvcjogaW5oZXJpdDtcbiAgZm9udC13ZWlnaHQ6IGluaGVyaXQ7XG5cbiAgLy8gTmVlZGVkIHRvIG92ZXJyaWRlIHNwZWNpZmljaXR5XG4gIGlucHV0ICsgJiB7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgLy8gVGhlIHBhZGRsZSBpdHNlbGZcbiAgJjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGhlaWdodDogMS41cmVtO1xuICAgICN7JGdsb2JhbC1sZWZ0fTogMC4yNXJlbTtcbiAgICB0b3A6IDAuMjVyZW07XG4gICAgd2lkdGg6IDEuNXJlbTtcbiAgICB0cmFuc2l0aW9uOiAkc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gICAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1wYWRkbGUtcmFkaXVzO1xuICB9XG5cbiAgLy8gQ2hhbmdlIHRoZSB2aXN1YWwgc3R5bGUgd2hlbiB0aGUgc3dpdGNoIGlzIGFjdGl2ZVxuICBpbnB1dDpjaGVja2VkIH4gJiB7XG4gICAgYmFja2dyb3VuZDogJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICN7JGdsb2JhbC1sZWZ0fTogMi4yNXJlbTtcbiAgICB9XG4gIH1cblxuICBpbnB1dDpmb2N1cyB+ICYge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNlIHN0eWxlcyBmb3IgYWN0aXZlL2luYWN0aXZlIHRleHQgaW5zaWRlIGEgc3dpdGNoLiBBcHBseSB0aGlzIHRvIHRleHQgZWxlbWVudHMgaW5zaWRlIHRoZSBzd2l0Y2ggYDxsYWJlbD5gLlxuQG1peGluIHN3aXRjaC10ZXh0IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtYWN0aXZlIHtcbiAgI3skZ2xvYmFsLWxlZnR9OiA4JTtcbiAgZGlzcGxheTogbm9uZTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBpbmFjdGl2ZSBzdGF0ZSB0ZXh0IHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtdGV4dC1pbmFjdGl2ZSB7XG4gICN7JGdsb2JhbC1yaWdodH06IDE1JTtcblxuICBpbnB1dDpjaGVja2VkICsgbGFiZWwgPiAmIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG59XG5cbi8vLyBDaGFuZ2VzIHRoZSBzaXplIG9mIGEgc3dpdGNoIGJ5IG1vZGlmeWluZyB0aGUgc2l6ZSBvZiB0aGUgYm9keSBhbmQgcGFkZGxlLiBBcHBseSB0aGlzIHRvIGEgc3dpdGNoIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZvbnQtc2l6ZSBbMXJlbV0gLSBGb250IHNpemUgb2YgbGFiZWwgdGV4dCB3aXRoaW4gdGhlIHN3aXRjaC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFs0cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGhlaWdodCBbMnJlbV0gLSBIZWlnaHQgb2YgdGhlIHN3aXRjaCBib2R5LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLXdpZHRoIFsxLjVyZW1dIC0gV2lkdGggb2YgdGhlIHN3aXRjaCBwYWRkbGUuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRwYWRkbGUtb2Zmc2V0IFswLjI1cmVtXSAtIFNwYWNpbmcgYmV0d2VlbiB0aGUgc3dpdGNoIHBhZGRsZSBhbmQgdGhlIGVkZ2Ugb2YgdGhlIHN3aXRjaCBib2R5LlxuQG1peGluIHN3aXRjaC1zaXplKFxuICAkZm9udC1zaXplOiAxcmVtLFxuICAkd2lkdGg6IDRyZW0sXG4gICRoZWlnaHQ6IDJyZW0sXG4gICRwYWRkbGUtd2lkdGg6IDEuNXJlbSxcbiAgJHBhZGRsZS1vZmZzZXQ6IDAuMjVyZW1cbikge1xuICAkcGFkZGxlLWhlaWdodDogJGhlaWdodCAtICgkcGFkZGxlLW9mZnNldCAqIDIpO1xuICAkcGFkZGxlLWxlZnQtYWN0aXZlOiAkd2lkdGggLSAkcGFkZGxlLXdpZHRoIC0gJHBhZGRsZS1vZmZzZXQ7XG5cbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIHdpZHRoOiAkd2lkdGg7XG4gICAgaGVpZ2h0OiAkaGVpZ2h0O1xuICAgIGZvbnQtc2l6ZTogJGZvbnQtc2l6ZTtcbiAgfVxuXG4gIC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgd2lkdGg6ICRwYWRkbGUtd2lkdGg7XG4gICAgaGVpZ2h0OiAkcGFkZGxlLWhlaWdodDtcbiAgfVxuXG4gIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgICN7JGdsb2JhbC1sZWZ0fTogJHBhZGRsZS1sZWZ0LWFjdGl2ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1zd2l0Y2gge1xuICAvLyBDb250YWluZXIgY2xhc3NcbiAgLnN3aXRjaCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIDxpbnB1dD4gZWxlbWVudFxuICAuc3dpdGNoLWlucHV0IHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtaW5wdXQ7XG4gIH1cblxuICAvLyA8bGFiZWw+IGVsZW1lbnRcbiAgLnN3aXRjaC1wYWRkbGUge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1wYWRkbGU7XG4gIH1cblxuICAvLyBCYXNlIGxhYmVsIHRleHQgc3R5bGVzXG4gICVzd2l0Y2gtdGV4dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXRleHQ7XG4gIH1cblxuICAvLyBBY3RpdmUgbGFiZWwgdGV4dCBzdHlsZXNcbiAgLnN3aXRjaC1hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWFjdGl2ZTtcbiAgfVxuXG4gIC8vIEluYWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIEBleHRlbmQgJXN3aXRjaC10ZXh0O1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0LWluYWN0aXZlO1xuICB9XG5cbiAgLy8gU3dpdGNoIHNpemVzXG4gIC5zd2l0Y2gudGlueSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTApLCAzcmVtLCAkc3dpdGNoLWhlaWdodC10aW55LCAxcmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5zbWFsbCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTIpLCAzLjVyZW0sICRzd2l0Y2gtaGVpZ2h0LXNtYWxsLCAxLjI1cmVtLCAkc3dpdGNoLXBhZGRsZS1vZmZzZXQpO1xuICB9XG5cbiAgLnN3aXRjaC5sYXJnZSB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLXNpemUocmVtLWNhbGMoMTYpLCA1cmVtLCAkc3dpdGNoLWhlaWdodC1sYXJnZSwgMnJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIE1lcmdlYWJsZVNlbGVjdG9yLCBRdWFsaWZ5aW5nRWxlbWVudFxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYmxlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciB0YWJsZSBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtYmFja2dyb3VuZDogJHdoaXRlICAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgc3RyaXBlZCB0YWJsZSByb3dzIGFuZCB0aGUgdGFibGUgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWNvbG9yLXNjYWxlOiA1JSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3R5bGUgZm9yIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtYm9yZGVyOiAxcHggc29saWQgc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYmxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBzY2FsZSBmb3IgZGFya2VuaW5nIHRoZSB0YWJsZSByb3dzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2Ygc3RhbmRhcmQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1ob3Zlci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0cmlwZWQgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBMaXN0XG4kdGFibGUtcm93LXN0cmlwZS1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUgKyAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIGZvciBzdHJpcGVkIHJvd3MuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1zdHJpcGVkLWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB2YWx1ZSBmb3Igc2hvd2luZyB0aGUgc3RyaXBlIG9uIHJvd3Mgb2YgdGhlIHRhYmxlcywgZXhjbHVkaW5nIHRoZSBoZWFkZXIgYW5kIGZvb3Rlci4gSWYgZXZlbiwgdGhlIGV2ZW4gcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBvZGQsIHRoZSBvZGQgcm93cyB3aWxsIGhhdmUgYSBiYWNrZ3JvdW5kIGNvbG9yLiBJZiBlbXB0eSwgb3IgYW55IG90aGVyIHZhbHVlLCB0aGUgdGFibGUgcm93cyB3aWxsIGhhdmUgbm8gc3RyaXBpbmcuXG4vLy8gQHR5cGUgS2V5d29yZFxuJHRhYmxlLXN0cmlwZTogZXZlbiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGhlYWRlciBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBmb290ZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWZvb3QtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGhlYWRlci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtZm9udC1jb2xvcjogJGJvZHktZm9udC1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIGhlYWRlciB3aGVuIHVzaW5nIHN0YWNrZWQgdGFibGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRzaG93LWhlYWRlci1mb3Itc3RhY2tlZDogZmFsc2UgIWRlZmF1bHQ7XG5cbkBtaXhpbiAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGU6ICR0YWJsZS1zdHJpcGUpIHtcbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAkdGFibGUtYm9yZGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1iYWNrZ3JvdW5kO1xuICB9XG5cbiAgLy8gQ2FwdGlvblxuICBjYXB0aW9uIHtcbiAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICBwYWRkaW5nOiAkdGFibGUtcGFkZGluZztcbiAgfVxuXG4gIC8vIFRhYmxlIGhlYWQgYW5kIGZvb3RcbiAgdGhlYWQsXG4gIHRmb290IHtcbiAgICBiYWNrZ3JvdW5kOiAkdGFibGUtaGVhZC1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkdGFibGUtaGVhZC1mb250LWNvbG9yO1xuXG4gICAgLy8gUm93cyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIH1cblxuICAgIC8vIENlbGxzIHdpdGhpbiBoZWFkIGFuZCBmb290XG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgICBmb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiAgICAgIHRleHQtYWxpZ246ICN7JGdsb2JhbC1sZWZ0fTtcbiAgICB9XG4gIH1cblxuICAvLyBUYWJsZSByb3dzXG4gIHRib2R5IHtcbiAgICB0ciB7XG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIGV2ZW4sIGRhcmtlbiB0aGUgZXZlbiByb3dzLlxuICAgICAgQGlmICRzdHJpcGUgPT0gZXZlbiB7XG4gICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8vIElmIHN0cmlwZSBpcyBzZXQgdG8gb2RkLCBkYXJrZW4gdGhlIG9kZCByb3dzLlxuICAgICAgQGVsc2UgaWYgJHN0cmlwZSA9PSBvZGQge1xuICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgdGgsXG4gICAgdGQge1xuICAgICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGFibGVzLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0cmlwZSBbJHRhYmxlLXN0cmlwZV0gLSBVc2VzIGtleXdvcmRzIGV2ZW4sIG9kZCwgb3Igbm9uZSB0byBkYXJrZW4gcm93cyBvZiB0aGUgdGFibGUuIFRoZSBkZWZhdWx0IHZhbHVlIGlzIGV2ZW4uXG5AbWl4aW4gdGFibGUoXG4gICRzdHJpcGU6ICR0YWJsZS1zdHJpcGUsXG4gICRuZXN0OiBmYWxzZVxuKSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiAgYm9yZGVyLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG5cbiAgQGlmICRuZXN0IHtcbiAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAYXQtcm9vdCB7XG4gICAgICBAaW5jbHVkZSAtemYtdGFibGUtY2hpbGRyZW4tc3R5bGVzKCRzdHJpcGUpO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgYWJpbGl0eSB0byBob3Jpem9udGFsbHkgc2Nyb2xsIHRoZSB0YWJsZSB3aGVuIHRoZSBjb250ZW50IG92ZXJmbG93cyBob3Jpem9udGFsbHkuXG5AbWl4aW4gdGFibGUtc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvO1xufVxuXG4vLy8gU2xpZ2h0bHkgZGFya2VucyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbkBtaXhpbiB0YWJsZS1ob3ZlciB7XG4gIHRyIHtcbiAgICAvL0RhcmtlbnMgdGhlIG5vbi1zdHJpcGVkIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LWhvdmVyO1xuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgZXZlbiBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGlmKCR0YWJsZS1zdHJpcGUgPT0gZXZlbikge1xuICAgICAgJjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vRGFya2VucyB0aGUgb2RkIHN0cmlwZWQgdGFibGUgcm93cy5cbiAgICBAZWxzZWlmKCR0YWJsZS1zdHJpcGUgPT0gb2RkKSB7XG4gICAgICAmOm50aC1vZi10eXBlKG9kZCk6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN0YWNrZWQgdGFibGUuIFVzZWZ1bCBmb3Igc21hbGwtc2NyZWVuIGxheW91dHMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkaGVhZGVyIFskc2hvdy1oZWFkZXItZm9yLXN0YWNrZWRdIC0gU2hvdyB0aGUgZmlyc3QgdGggb2YgaGVhZGVyIHdoZW4gc3RhY2tlZC5cbkBtaXhpbiB0YWJsZS1zdGFjaygkaGVhZGVyOiAkc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQpIHtcbiAgQGlmICRoZWFkZXIge1xuICAgIHRoZWFkIHtcbiAgICAgIHRoOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICB9XG5cbiAgICAgIHRoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIHRoZWFkIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgdGZvb3Qge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cblxuICB0cixcbiAgdGgsXG4gIHRkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gIHRkIHtcbiAgICBib3JkZXItdG9wOiAwO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRhYmxlKCRuZXN0OiBmYWxzZSkge1xuICB0YWJsZSB7XG4gICAgQGluY2x1ZGUgdGFibGUoJG5lc3Q6ICRuZXN0KTtcbiAgfVxuXG4gIHRhYmxlLnN0YWNrIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICBAaW5jbHVkZSB0YWJsZS1zdGFjaztcbiAgICB9XG4gIH1cblxuICB0YWJsZS5zY3JvbGwge1xuICAgIEBpbmNsdWRlIHRhYmxlLXNjcm9sbDtcbiAgfVxuXG4gIHRhYmxlLmhvdmVyIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1ob3ZlcjtcbiAgfVxuXG4gIC50YWJsZS1zY3JvbGwge1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG5cbiAgICB0YWJsZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ2hlY2tzIHRoZSBsaWdodG5lc3Mgb2YgYCRjb2xvcmAsIGFuZCBpZiBpdCBwYXNzZXMgdGhlIGAkdGhyZXNob2xkYCBvZiBsaWdodG5lc3MsIGl0IHJldHVybnMgdGhlIGAkeWVzYCBjb2xvci4gT3RoZXJ3aXNlLCBpdCByZXR1cm5zIHRoZSBgJG5vYCBjb2xvci4gVXNlIHRoaXMgZnVuY3Rpb24gdG8gZHluYW1pY2FsbHkgb3V0cHV0IGEgZm9yZWdyb3VuZCBjb2xvciBiYXNlZCBvbiBhIGdpdmVuIGJhY2tncm91bmQgY29sb3IuXG4vLy9cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgLSBDb2xvciB0byBjaGVjayB0aGUgbGlnaHRuZXNzIG9mLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICR5ZXMgWyRibGFja10gLSBDb2xvciB0byByZXR1cm4gaWYgYCRjb2xvcmAgaXMgbGlnaHQuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJG5vIFskd2hpdGVdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGRhcmsuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkdGhyZXNob2xkIFs2MCVdIC0gVGhyZXNob2xkIG9mIGxpZ2h0bmVzcyB0byBjaGVjayBhZ2FpbnN0LlxuLy8vXG4vLy8gQHJldHVybnMge0NvbG9yfSBUaGUgJHllcyBjb2xvciBvciAkbm8gY29sb3IuXG5AZnVuY3Rpb24gZm9yZWdyb3VuZCgkY29sb3IsICR5ZXM6ICRibGFjaywgJG5vOiAkd2hpdGUsICR0aHJlc2hvbGQ6IDYwJSkge1xuICBAaWYgJGNvbG9yID09IHRyYW5zcGFyZW50IHtcbiAgICAkY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIH1cbiAgQGlmIChsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQpIHtcbiAgICBAcmV0dXJuICR5ZXM7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gJG5vO1xuICB9XG59XG5cbi8vLyBTY2FsZXMgYSBjb2xvciB0byBiZSBsaWdodGVyIGlmIGl0J3MgbGlnaHQsIG9yIGRhcmtlciBpZiBpdCdzIGRhcmsuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIHRpbnQgYSBjb2xvciBhcHByb3ByaWF0ZSB0byBpdHMgbGlnaHRuZXNzLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gc2NhbGUuXG4vLy8gQHBhcmFtIHtQZXJjZW50YWdlfSAkc2NhbGUgWzUlXSAtIEFtb3VudCB0byBzY2FsZSB1cCBvciBkb3duLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNDAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gQSBzY2FsZWQgY29sb3IuXG5AZnVuY3Rpb24gc21hcnQtc2NhbGUoJGNvbG9yLCAkc2NhbGU6IDUlLCAkdGhyZXNob2xkOiA0MCUpIHtcbiAgQGlmIGxpZ2h0bmVzcygkY29sb3IpID4gJHRocmVzaG9sZCB7XG4gICAgJHNjYWxlOiAtJHNjYWxlO1xuICB9XG4gIEByZXR1cm4gc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkc2NhbGUpO1xufVxuXG4vLy8gVHJhbnNmZXJzIHRoZSBjb2xvcnMgaW4gdGhlIGAkZm91bmRhdGlvbi1wYWxldHRlYCB2YXJpYWJsZSBpbnRvIHRoZSBsZWdhY3kgY29sb3IgdmFyaWFibGVzLCBzdWNoIGFzIGAkcHJpbWFyeS1jb2xvcmAgYW5kIGAkc2Vjb25kYXJ5LWNvbG9yYC4gQ2FsbCB0aGlzIG1peGluIGJlbG93IHRoZSBHbG9iYWwgc2VjdGlvbiBvZiB5b3VyIHNldHRpbmdzIGZpbGUgdG8gcHJvcGVybHkgbWlncmF0ZSB5b3VyIGNvZGViYXNlLlxuQG1peGluIGFkZC1mb3VuZGF0aW9uLWNvbG9ycygpIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHtcbiAgICAkcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpIHtcbiAgICAkc2Vjb25kYXJ5LWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3VjY2Vzcykge1xuICAgICRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdhcm5pbmcpIHtcbiAgICAkd2FybmluZy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkge1xuICAgICRhbGVydC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCkgIWdsb2JhbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGFic1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gb2YgdGhlIHRhYiBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIHRhYiBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gYWN0aXZlIGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQtYWN0aXZlOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0YWIgaXRlbXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tZm9udC1zaXplOiByZW0tY2FsYygxMikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbiR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgYSB0YWIgaXRlbS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbSAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGBleHBhbmQtbmAgY2xhc3NlcyB0byBpbmNsdWRlIGluIHRoZSBDU1MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWV4cGFuZC1tYXg6IDYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1jb250ZW50LWJvcmRlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJHRhYi1jb250ZW50LXBhZGRpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHRhYnMtY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbjogJHRhYi1tYXJnaW47XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kO1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xufVxuXG4vLy8gQXVnbWVudHMgYSB0YWIgY29udGFpbmVyIHRvIGhhdmUgdmVydGljYWwgdGFicy4gVXNlIHRoaXMgaW4gY29uanVuY3Rpb24gd2l0aCBgdGFicy1jb250YWluZXIoKWAuXG5AbWl4aW4gdGFicy1jb250YWluZXItdmVydGljYWwge1xuICA+IGxpIHtcbiAgICB3aWR0aDogYXV0bztcbiAgICBmbG9hdDogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBsaW5rcyB3aXRoaW4gYSB0YWIgY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBgPGxpPmAgZWxlbWVudHMgaW5zaWRlIGEgdGFiIGNvbnRhaW5lci5cbkBtaXhpbiB0YWJzLXRpdGxlIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuXG4gICAgPiBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6ICR0YWItaXRlbS1wYWRkaW5nO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgZm9udC1zaXplOiAkdGFiLWl0ZW0tZm9udC1zaXplO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmW2FyaWEtc2VsZWN0ZWQ9J3RydWUnXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkdGFiLWJhY2tncm91bmQtYWN0aXZlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSB3cmFwcGVyIHRoYXQgc3Vycm91bmRzIGEgdGFiIGdyb3VwJ3MgY29udGVudCBwYW5lcy5cbkBtaXhpbiB0YWJzLWNvbnRlbnQge1xuICBiYWNrZ3JvdW5kOiAkdGFiLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLXRvcDogMDtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRlbnQgY29udGFpbmVyIHRvIGhhdmUgYSB2ZXJ0aWNhbCBzdHlsZSwgYnkgc2hpZnRpbmcgdGhlIGJvcmRlciBhcm91bmQuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGVudCgpYC5cbkBtaXhpbiB0YWJzLWNvbnRlbnQtdmVydGljYWwge1xuICBib3JkZXI6IDFweCBzb2xpZCAkdGFiLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIGluZGl2aWR1YWwgdGFiIGNvbnRlbnQgcGFuZWwgd2l0aGluIHRoZSB0YWIgY29udGVudCBjb250YWluZXIuXG5AbWl4aW4gdGFicy1wYW5lbCB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBhZGRpbmc6ICR0YWItY29udGVudC1wYWRkaW5nO1xuXG4gICYuaXMtYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJzIHtcbiAgLnRhYnMge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyO1xuICB9XG5cbiAgLy8gVmVydGljYWxcbiAgLnRhYnMudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsO1xuICB9XG5cbiAgLy8gU2ltcGxlXG4gIC50YWJzLnNpbXBsZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgcGFkZGluZzogMDtcblxuICAgICAgJjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFByaW1hcnkgY29sb3JcbiAgLnRhYnMucHJpbWFyeSB7XG4gICAgYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICBjb2xvcjogZm9yZWdyb3VuZCgkcHJpbWFyeS1jb2xvcik7XG5cbiAgICAgICY6aG92ZXIsXG4gICAgICAmOmZvY3VzIHtcbiAgICAgICAgYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHByaW1hcnktY29sb3IpO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC50YWJzLXRpdGxlIHtcbiAgICBAaW5jbHVkZSB0YWJzLXRpdGxlO1xuICB9XG5cbiAgLnRhYnMtY29udGVudCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50O1xuICB9XG5cbiAgLnRhYnMtY29udGVudC52ZXJ0aWNhbCB7XG4gICAgQGluY2x1ZGUgdGFicy1jb250ZW50LXZlcnRpY2FsO1xuICB9XG5cbiAgLnRhYnMtcGFuZWwge1xuICAgIEBpbmNsdWRlIHRhYnMtcGFuZWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRodW1ibmFpbFxuLy8vL1xuXG4vLy8gQm9yZGVyIGFyb3VuZCB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIEJvcmRlclxuJHRodW1ibmFpbC1ib3JkZXI6IHNvbGlkIDRweCAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCb3R0b20gbWFyZ2luIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJveCBzaGFkb3cgdW5kZXIgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBTaGFkb3dcbiR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMikgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcHJ0aWVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRodW1ibmFpbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQWRkcyB0aHVtYm5haWwgc3R5bGVzIHRvIGFuIGVsZW1lbnQuXG5AbWl4aW4gdGh1bWJuYWlsIHtcbiAgYm9yZGVyOiAkdGh1bWJuYWlsLWJvcmRlcjtcbiAgYm94LXNoYWRvdzogJHRodW1ibmFpbC1zaGFkb3c7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogJHRodW1ibmFpbC10cmFuc2l0aW9uO1xuICBib3JkZXItcmFkaXVzOiAkdGh1bWJuYWlsLXJhZGl1cztcbiAgbWFyZ2luLWJvdHRvbTogJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tO1xuXG4gICY6aG92ZXIsXG4gICY6Zm9jdXMge1xuICAgIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93LWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRodW1ibmFpbCB7XG4gIC50aHVtYm5haWwge1xuICAgIEBpbmNsdWRlIHRodW1ibmFpbDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdGl0bGUtYmFyXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItYmFja2dyb3VuZDogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgV2VpZ2h0XG4kdGl0bGViYXItdGV4dC1mb250LXdlaWdodDogYm9sZCAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgbWVudSBpY29ucyBpbnNpZGUgYSB0aXRsZSBiYXIgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBTcGFjaW5nIGJldHdlZW4gdGhlIG1lbnUgaWNvbiBhbmQgdGV4dCBpbnNpZGUgYSB0aXRsZSBiYXIuXG4vLy8gQHR5cGUgTGVuZ3RoXG4kdGl0bGViYXItaWNvbi1zcGFjaW5nOiAwLjI1cmVtICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi10aXRsZS1iYXIge1xuICAudGl0bGUtYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkdGl0bGViYXItYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRpdGxlYmFyLWNvbG9yO1xuICAgIHBhZGRpbmc6ICR0aXRsZWJhci1wYWRkaW5nO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICR0aXRsZWJhci1pY29uLXNwYWNpbmc7XG4gICAgfVxuICB9XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAudGl0bGUtYmFyLWxlZnQsXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudGl0bGUtYmFyLWxlZnQge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnRpdGxlLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG4gIH1cblxuICAudGl0bGUtYmFyLXRpdGxlIHtcbiAgICBmb250LXdlaWdodDogJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ7XG4gICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIH1cblxuICAubWVudS1pY29uLmRhcmsge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9vbHRpcFxuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRoYXMtdGlwLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgYm90dG9tIG9mIHRoZSBkZWZpbmVkIHRlcm0uXG4vLy8gQHR5cGUgTGlzdFxuJGhhcy10aXAtYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBiYWNrZ3JvdW5kLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSB0b29sdGlwIGZvbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXBhZGRpbmc6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgdG9vbHRpcCB0ZXh0LiBCeSBkZWZhdWx0LCB3ZSByZWNvbW1lbmQgYSBzbWFsbGVyIGZvbnQgc2l6ZSB0aGFuIHRoZSBib2R5IGNvcHkuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1mb250LXNpemU6ICRzbWFsbC1mb250LXNpemUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCB3aWR0aCBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtd2lkdGg6IDAuNzVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBpcCBoZWlnaHQgZm9yIHRvb2x0aXBzLiBUaGlzIGlzIGhlbHBmdWwgZm9yIGNhbGN1bGF0aW5nIHRoZSBkaXN0YW5jZSBvZiB0aGUgdG9vbHRpcCBmcm9tIHRoZSB0b29sdGlwIHdvcmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1waXAtaGVpZ2h0OiAkdG9vbHRpcC1waXAtd2lkdGggKiAwLjg2NiAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciB0b29sdGlwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0b29sdGlwLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBoYXMtdGlwIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgYm9yZGVyLWJvdHRvbTogJGhhcy10aXAtYm9yZGVyLWJvdHRvbTtcbiAgZm9udC13ZWlnaHQ6ICRoYXMtdGlwLWZvbnQtd2VpZ2h0O1xuICBjdXJzb3I6IGhlbHA7XG59XG5cbkBtaXhpbiB0b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArICN7JHRvb2x0aXAtcGlwLWhlaWdodH0pO1xuICB6LWluZGV4OiAxMjAwO1xuXG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6ICR0b29sdGlwLXBhZGRpbmc7XG5cbiAgYm9yZGVyLXJhZGl1czogJHRvb2x0aXAtcmFkaXVzO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yO1xuICBmb250LXNpemU6ICR0b29sdGlwLWZvbnQtc2l6ZTtcbiAgY29sb3I6ICR0b29sdGlwLWNvbG9yO1xuXG4gICY6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgdXApO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgfVxuXG4gICYudG9wOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGRvd24pO1xuICAgIHRvcDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gIH1cblxuICAmLmxlZnQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgcmlnaHQpO1xuICAgIHRvcDogNTAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiAxMDAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxuXG4gICYucmlnaHQ6OmJlZm9yZSB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCR0b29sdGlwLXBpcC13aWR0aCwgJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvciwgbGVmdCk7XG4gICAgdG9wOiA1MCU7XG4gICAgcmlnaHQ6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvb2x0aXAge1xuICAuaGFzLXRpcCB7XG4gICAgQGluY2x1ZGUgaGFzLXRpcDtcbiAgfVxuXG4gIC50b29sdGlwIHtcbiAgICBAaW5jbHVkZSB0b29sdGlwO1xuICB9XG59IiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgdG9wLWJhclxuLy8vL1xuXG4vLy8gUGFkZGluZyBmb3IgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSB0b3AgYmFyLiBUaGlzIGNvbG9yIGFsc28gY2FzY2FkZXMgdG8gbWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBzdWJtZW51cyB3aXRoaW4gdGhlIHRvcCBiYXIuIFVzZWZ1bGwgaWYgJHRvcGJhci1iYWNrZ3JvdW5kIGlzIHRyYW5zcGFyZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBmb3IgdGhlIHRvcCBiYXIgdGl0bGUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLXRpdGxlLXNwYWNpbmc6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGA8aW5wdXQ+YCBlbGVtZW50cyBpbnNpZGUgdGhlIHRvcCBiYXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9wYmFyLWlucHV0LXdpZHRoOiAyMDBweCAhZGVmYXVsdDtcblxuLy8vIEJyZWFrcG9pbnQgYXQgd2hpY2ggdG9wIGJhciBzd2l0Y2hlcyBmcm9tIG1vYmlsZSB0byBkZXNrdG9wIHZpZXcuXG4vLy8gQHR5cGUgQnJlYWtwb2ludFxuJHRvcGJhci11bnN0YWNrLWJyZWFrcG9pbnQ6IG1lZGl1bSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHRvcCBiYXIgY29udGFpbmVyLlxuQG1peGluIHRvcC1iYXItY29udGFpbmVyIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBwYWRkaW5nOiAkdG9wYmFyLXBhZGRpbmc7XG5cbiAgJixcbiAgdWwge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENoZWNrIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyBkaWZmZXJudCBmcm9tICR0b3BiYXItYmFja2dyb3VuZC1zdWJtZW51XG4gIEBpZiAoJHRvcGJhci1iYWNrZ3JvdW5kICE9ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kKSB7XG4gICAgdWwgdWwge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzdHJhaW4gd2lkdGggb2YgaW5wdXRzIGJ5IGRlZmF1bHQgdG8gbWFrZSB0aGVtIGVhc2llciB0byBhcnJhbmdlXG4gIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6ICR0b3BiYXItaW5wdXQtd2lkdGg7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gIH1cblxuICAvLyBUaGUgYWJvdmUgc3R5bGVzIHNob3VsZG4ndCBhcHBseSB0byBpbnB1dCBncm91cCBmaWVsZHNcbiAgLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMDtcbiAgfVxuXG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFF1YWxpZnlpbmdFbGVtZW50XG4gIGlucHV0LmJ1dHRvbiB7XG4gICAgd2lkdGg6IGF1dG87XG4gIH1cbn1cblxuLy8vIE1ha2VzIHNlY3Rpb25zIG9mIGEgdG9wIGJhciBzdGFjayBvbiB0b3Agb2YgZWFjaCBvdGhlci5cbkBtaXhpbiB0b3AtYmFyLXN0YWNrZWQge1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAvLyBTdWItc2VjdGlvbnNcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuZG9lcyB0aGUgQ1NTIGFwcGxpZWQgYnkgdGhlIGB0b3AtYmFyLXN0YWNrZWQoKWAgbWl4aW4uXG5AbWl4aW4gdG9wLWJhci11bnN0YWNrIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRvcC1iYXIge1xuICAvLyBUb3AgYmFyIGNvbnRhaW5lclxuICAudG9wLWJhciB7XG4gICAgQGluY2x1ZGUgdG9wLWJhci1jb250YWluZXI7XG5cbiAgICAvLyBTdGFjayBvbiBzbWFsbCBzY3JlZW5zIGJ5IGRlZmF1bHRcbiAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCR0b3BiYXItdW5zdGFjay1icmVha3BvaW50KSB7XG4gICAgICBAaW5jbHVkZSB0b3AtYmFyLXVuc3RhY2s7XG4gICAgfVxuXG4gICAgLy8gR2VuZXJhdGUgY2xhc3NlcyBmb3Igc3RhY2tpbmcgb24gZWFjaCBzY3JlZW4gc2l6ZSAoZGVmaW5lZCBpbiAkYnJlYWtwb2ludC1jbGFzc2VzKVxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgJi5zdGFja2VkLWZvci0jeyRzaXplfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSB0b3AtYmFyLXN0YWNrZWQ7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gU3ViLXNlY3Rpb25zXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC50b3AtYmFyLXRpdGxlIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAkdG9wYmFyLXRpdGxlLXNwYWNpbmc7XG5cbiAgICB9XG5cbiAgICAudG9wLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8gSGlkZSBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIG9ubHkgZGlzcGxheWluZyBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBzaG93LWZvcigkc2l6ZSkge1xuICAkc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHNpemU6IC16Zi1icC10by1lbSgkc2l6ZSkgLSAoMSAvIDE2KTtcblxuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIGRvd24pIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgd2l0aGluIGEgY2VydGFpbiBicmVha3BvaW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3Itb25seSgkc2l6ZSkge1xuICAkbG93ZXItYm91bmQtc2l6ZTogbWFwLWdldCgkYnJlYWtwb2ludHMsICRzaXplKTtcbiAgJHVwcGVyLWJvdW5kLXNpemU6IC16Zi1tYXAtbmV4dCgkYnJlYWtwb2ludHMsICRzaXplKTtcblxuICAvLyBtb3JlIG9mdGVuIHRoYW4gbm90IHRoaXMgd2lsbCBiZSBjb3JyZWN0LCBqdXN0IG9uZSB0aW1lIHJvdW5kIHRoZSBsb29wIGl0IHdvbid0IHNvIHNldCBpbiBzY29wZSBoZXJlXG4gICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKSAtICgxIC8gMTYpO1xuICAvLyB0ZXN0IGFjdHVhbCBsb3dlci1ib3VuZC1zaXplLCBpZiAwIHNldCBpdCB0byAwZW1cbiAgQGlmIHN0cmlwLXVuaXQoJGxvd2VyLWJvdW5kLXNpemUpID09IDAge1xuICAgICRsb3dlci1ib3VuZDogLXpmLWJwLXRvLWVtKCRsb3dlci1ib3VuZC1zaXplKTtcbiAgfVxuXG4gIEBpZiAkdXBwZXItYm91bmQtc2l6ZSA9PSBudWxsIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgICR1cHBlci1ib3VuZDogLXpmLWJwLXRvLWVtKCR1cHBlci1ib3VuZC1zaXplKTtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6ICRsb3dlci1ib3VuZCksIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogJHVwcGVyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG59XG5cblxuLy8vIFNob3cgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBhbmQgaGlkZSBpdCBhYm92ZSBhIGNlcnRhaW4gc2NyZWVuIHNpemUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc2l6ZSAtIEJyZWFrcG9pbnQgdG8gdXNlLiAqKk11c3QgYmUgYSBicmVha3BvaW50IGRlZmluZWQgaW4gYCRicmVha3BvaW50c2AuKipcbkBtaXhpbiBoaWRlLWZvcigkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3Itb25seSgkc2l6ZSkge1xuICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplIG9ubHkpIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdmlzaWJpbGl0eS1jbGFzc2VzIHtcbiAgLy8gQmFzaWMgaGlkaW5nIGNsYXNzZXNcbiAgLmhpZGUge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pbnZpc2libGUge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIC8vIFJlc3BvbnNpdmUgdmlzaWJpbGl0eSBjbGFzc2VzXG4gIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAuaGlkZS1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBoaWRlLWZvcigkc2l6ZSk7XG4gICAgICB9XG5cbiAgICAgIC5zaG93LWZvci0jeyRzaXplfSB7XG4gICAgICAgIEBpbmNsdWRlIHNob3ctZm9yKCRzaXplKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZS1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBoaWRlLWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG5cbiAgICAuc2hvdy1mb3ItI3skc2l6ZX0tb25seSB7XG4gICAgICBAaW5jbHVkZSBzaG93LWZvci1vbmx5KCRzaXplKTtcbiAgICB9XG4gIH1cblxuICAvLyBTY3JlZW4gcmVhZGVyIHZpc2liaWxpdHkgY2xhc3Nlc1xuICAvLyBOZWVkIGEgXCJoaWRlLWZvci1zclwiIGNsYXNzPyBBZGQgYXJpYS1oaWRkZW49J3RydWUnIHRvIHRoZSBlbGVtZW50XG4gIC5zaG93LWZvci1zcixcbiAgLnNob3ctb24tZm9jdXMge1xuICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlO1xuICB9XG5cbiAgLy8gT25seSBkaXNwbGF5IHRoZSBlbGVtZW50IHdoZW4gaXQncyBmb2N1c2VkXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICAmOmFjdGl2ZSxcbiAgICAmOmZvY3VzIHtcbiAgICAgIEBpbmNsdWRlIGVsZW1lbnQtaW52aXNpYmxlLW9mZjtcbiAgICB9XG4gIH1cblxuICAvLyBMYW5kc2NhcGUgYW5kIHBvcnRyYWl0IHZpc2liaWxpdHlcbiAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgLmhpZGUtZm9yLXBvcnRyYWl0IHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gIC5zaG93LWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYW5kc2NhcGUpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHBvcnRyYWl0KSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxvYXRcbi8vLy9cblxuQG1peGluIGZvdW5kYXRpb24tZmxvYXQtY2xhc3NlcyB7XG4gIC5mbG9hdC1sZWZ0IHtcbiAgICBmbG9hdDogbGVmdCAhaW1wb3J0YW50O1xuICB9XG5cbiAgLmZsb2F0LXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1jZW50ZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIC5jbGVhcmZpeCB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtY2xhc3NlcyB7XG4gIC8vIEhvcml6b250YWwgYWxpZ25tZW50IHVzaW5nIGp1c3RpZnktY29udGVudFxuICBAZWFjaCAkaGRpciwgJHByb3AgaW4gbWFwLXJlbW92ZSgkLXpmLWZsZXgtanVzdGlmeSwgbGVmdCkge1xuICAgIC5hbGlnbi0jeyRoZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR4OiAkaGRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gVmVydGljYWwgYWxpZ25tZW50IHVzaW5nIGFsaWduLWl0ZW1zIGFuZCBhbGlnbi1zZWxmXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5hbGlnbi0jeyR2ZGlyfSB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKCR5OiAkdmRpcik7XG4gICAgfVxuXG4gICAgLmFsaWduLXNlbGYtI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR5OiAkdmRpcik7XG4gICAgfVxuICB9XG5cbiAgLy8gU291cmNlIG9yZGVyaW5nXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggNiB7XG4gICAgICAuI3skLXpmLXNpemV9LW9yZGVyLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1vcmRlcigkaSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQXBwbGllcyBiYXNpYyB0cmFuc2l0aW9uIHNldHRpbmdzIHRvIGFuIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gdHJhbnNpdGlvbi1iYXNpY3MoXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgQGluY2x1ZGUgLW1vdGlvbi11aS1kZWZhdWx0cztcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogJGR1cmF0aW9uO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHRpbWluZztcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5O1xufVxuXG4vLy8gV3JhcHMgdGhlIGNvbnRlbnQgaW4gdGhlIHNldHVwIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gc2V0dXAgZm9yIHRyYW5zaXRpb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1zdGFydCgkZGlyKSB7XG4gICRzZWxlY3RvcjogLW11aS1idWlsZC1zZWxlY3RvcihtYXAtZ2V0KCRtb3Rpb24tdWktc3RhdGVzLCAkZGlyKSk7XG5cbiAgQGF0LXJvb3Qge1xuICAgICN7JHNlbGVjdG9yfSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBhY3RpdmUgY2xhc3MgZm9yIGEgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgLSBTdGF0ZSB0byBhY3RpdmF0ZSBhIHRyYW5zaXRpb24gb24uXG5AbWl4aW4gdHJhbnNpdGlvbi1lbmQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpciksIHRydWUpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFnZ2VyIGFuaW1hdGlvbiwgd2hpY2ggY2FuIGJlIHVzZWQgd2l0aCBBbmd1bGFyJ3MgYG5nLXJlcGVhdGAuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5LWFtb3VudCAtIEFtb3VudCBvZiB0aW1lIGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIHRvIGFkZCBiZXR3ZWVuIGVhY2ggaXRlbSdzIGFuaW1hdGlvbi5cbkBtaXhpbiBzdGFnZ2VyKCRkZWxheS1hbW91bnQpIHtcbiAgdHJhbnNpdGlvbi1kZWxheTogJGRlbGF5LWFtb3VudDtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogMDsgLy8gUHJldmVudCBhY2NpZGVudGFsIENTUyBpbmhlcml0YW5jZVxufVxuIiwiLy8gc2Nzcy1saW50OmRpc2FibGUgSW1wb3J0YW50UnVsZSwgU3BhY2VBZnRlckNvbW1hLCBTaW5nbGVMaW5lUGVyUHJvcGVydHlcblxuQG1peGluIC1tb3Rpb24tdWktZGVmYXVsdHMge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IG1hcC1nZXQoJG1vdGlvbi11aS1lYXNpbmdzLCBkZWZhdWx0KTtcbn1cblxuLy8gVHJhbnNpdGlvbnNcbi8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5AbWl4aW4gbW90aW9uLXVpLXRyYW5zaXRpb25zIHtcbiAgLy8gU2xpZGVcbiAgLnNsaWRlLWluLWRvd24gICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBkb3duKTsgfVxuICAuc2xpZGUtaW4tbGVmdCAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHJpZ2h0KTsgfVxuICAuc2xpZGUtaW4tdXAgICAgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIHVwKTsgfVxuICAuc2xpZGUtaW4tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1zbGlkZShpbiwgIGxlZnQpOyB9XG4gIC5zbGlkZS1vdXQtZG93biAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgZG93bik7IH1cbiAgLnNsaWRlLW91dC1yaWdodCAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCByaWdodCk7IH1cbiAgLnNsaWRlLW91dC11cCAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCB1cCk7IH1cbiAgLnNsaWRlLW91dC1sZWZ0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUob3V0LCBsZWZ0KTsgfVxuXG4gIC8vIEZhZGVcbiAgLmZhZGUtaW4gIHsgQGluY2x1ZGUgbXVpLWZhZGUoaW4sICAwLCAxKTsgfVxuICAuZmFkZS1vdXQgeyBAaW5jbHVkZSBtdWktZmFkZShvdXQsIDEsIDApOyB9XG5cbiAgLy8gSGluZ2VcbiAgLmhpbmdlLWluLWZyb20tdG9wICAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3ApOyB9XG4gIC5oaW5nZS1pbi1mcm9tLXJpZ2h0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgcmlnaHQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLWJvdHRvbSAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgYm90dG9tKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1sZWZ0ICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGxlZnQpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS14ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHRvcCwgICBjZW50ZXIpOyB9XG4gIC5oaW5nZS1pbi1mcm9tLW1pZGRsZS15ICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0LCBjZW50ZXIpOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS10b3AgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tcmlnaHQgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHJpZ2h0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tYm90dG9tICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIGJvdHRvbSk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBsZWZ0KTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXggeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tbWlkZGxlLXkgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCwgY2VudGVyKTsgfVxuXG4gIC8vIFNjYWxlXG4gIC5zY2FsZS1pbi11cCAgICB7IEBpbmNsdWRlIG11aS16b29tKGluLCAgMC41LCAxKTsgfVxuICAuc2NhbGUtaW4tZG93biAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDEuNSwgMSk7IH1cbiAgLnNjYWxlLW91dC11cCAgIHsgQGluY2x1ZGUgbXVpLXpvb20ob3V0LCAxLCAxLjUpOyB9XG4gIC5zY2FsZS1vdXQtZG93biB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMC41KTsgfVxuXG4gIC8vIFNwaW5cbiAgLnNwaW4taW4gICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4oaW4sICBjdyk7IH1cbiAgLnNwaW4tb3V0ICAgIHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjdyk7IH1cbiAgLnNwaW4taW4tY2N3ICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY2N3KTsgfVxuICAuc3Bpbi1vdXQtY2N3IHsgQGluY2x1ZGUgbXVpLXNwaW4ob3V0LCBjY3cpOyB9XG5cbiAgLy8gVHJhbnNpdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLWR1cmF0aW9uOiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1lYXNpbmdzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyB0cmFuc2l0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuXG4vLyBBbmltYXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS1hbmltYXRpb25zIHtcbiAgLnNoYWtlICAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzaGFrZSk7IH1cbiAgLnNwaW4tY3cgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKTsgfVxuICAuc3Bpbi1jY3cgeyBAaW5jbHVkZSBtdWktYW5pbWF0aW9uKHNwaW4oY2N3KSk7IH1cbiAgLndpZ2dsZSAgIHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbih3aWdnbGUpOyB9XG5cbiAgLnNoYWtlLFxuICAuc3Bpbi1jdyxcbiAgLnNwaW4tY2N3LFxuICAud2lnZ2xlIHtcbiAgICBhbmltYXRpb24tZHVyYXRpb246IG1hcC1nZXQoJG1vdGlvbi11aS1zcGVlZHMsIGRlZmF1bHQpO1xuICB9XG5cbiAgLy8gQW5pbWF0aW9uIE1vZGlmaWVyc1xuICAvLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuICAuaW5maW5pdGUgeyBhbmltYXRpb24taXRlcmF0aW9uLWNvdW50OiBpbmZpbml0ZTsgfVxuXG4gIEBlYWNoICRuYW1lLCAkdmFsdWUgaW4gJG1vdGlvbi11aS1zcGVlZHMge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZGVsYXlzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0tZGVsYXkgeyBhbmltYXRpb24tZGVsYXk6ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG59XG4iLCIvLy8gRm9ybWF0IGZvciBDU1MgY2xhc3NlcyBjcmVhdGVkIHdpdGggTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBhcHBlbmQgW3RydWVdIC0gRGVmaW5lcyBpZiBzZWxlY3RvcnMgYXJlIGNoYWluZWQgdG8gdGhlIHNlbGVjdG9yIChgLmNsYXNzLmVudGVyYCksIG9yIGFwcGVuZGVkIGFzIGEgbmV3IGNsYXNzIChgLmNsYXNzLWVudGVyYCkuXG4vLy8gQHByb3Age1N0cmluZ30gcHJlZml4IFsnbXVpLSddIC0gUHJlZml4IHRvIGFkZCBiZWZvcmUgdGhlIHN0YXRlIG9mIGEgY2xhc3MuIEVudGVyIGFuIGVtcHR5IHN0cmluZyB0byB1c2Ugbm8gcHJlZml4LlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJy1hY3RpdmUnXSAtIFN1ZmZpeCB0byBhZGQgdG8gdGhlIGFjdGl2ZSBzdGF0ZSBjbGFzcy5cbiRtb3Rpb24tdWktY2xhc3NlczogKFxuICBjaGFpbjogdHJ1ZSxcbiAgcHJlZml4OiAnbXVpLScsXG4gIGFjdGl2ZTogJy1hY3RpdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIFN0YXRlIG5hbWVzIHRvIHJlZmVyZW5jZSB3aGVuIHdyaXRpbmcgbW90aW9uIGNsYXNzZXMuIFRvIHVzZSBtdWx0aXBsZSBjbGFzcyBuYW1lcyBmb3Igb25lIHN0YXRlLCBlbnRlciBhIGxpc3Qgb2Ygc3RyaW5ncyBpbnN0ZWFkIG9mIG9uZSBzdHJpbmcuXG4vLy8gQHR5cGUgTWFwXG4kbW90aW9uLXVpLXN0YXRlczogKFxuICBpbjogJ2VudGVyJyxcbiAgb3V0OiAnbGVhdmUnLFxuKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc3BlZWQgdGhhdCB0cmFuc2l0aW9ucyBhbmQgYW5pbWF0aW9ucyBwbGF5IGF0LCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIHNwZWVkLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zcGVlZHM6IChcbiAgZGVmYXVsdDogNTAwbXMsXG4gIHNsb3c6IDc1MG1zLFxuICBmYXN0OiAyNTBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGRlbGF5IHRvIGFkZCBiZWZvcmUgbW90aW9uLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGRlbGF5LlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1kZWxheXM6IChcbiAgZGVmYXVsdDogMCxcbiAgc2hvcnQ6IDMwMG1zLFxuICBsb25nOiA3MDBtcyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGVhc2luZyBmb3IgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMsIGFsb25nIHdpdGggdmFsdWVzIGZvciBtb2RpZmllciBjbGFzc2VzIHRvIGNoYW5nZSB0aGUgZWFzaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1lYXNpbmdzOiAoXG4gIGRlZmF1bHQ6IGxpbmVhcixcbiAgbGluZWFyOiBsaW5lYXIsXG4gIGVhc2U6IGVhc2UsXG4gIGVhc2UtaW46IGVhc2UtaW4sXG4gIGVhc2Utb3V0OiBlYXNlLW91dCxcbiAgZWFzZS1pbi1vdXQ6IGVhc2UtaW4tb3V0LFxuICBib3VuY2UtaW46IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuMjQsIDEuMjQ1KSxcbiAgYm91bmNlLW91dDogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSxcbiAgYm91bmNlLWluLW91dDogY3ViaWMtYmV6aWVyKDAuNzYsIC0wLjI0NSwgMC4yNCwgMS4yNDUpLFxuKSAhZGVmYXVsdDtcblxuLy8vIE1pc2NlbGxhbmVvdXMgc2V0dGluZ3MgcmVsYXRlZCB0byBNb3Rpb24gVUkuXG4vLy8gQHR5cGUgTWFwXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFtmYWxzZV0gLSBEZWZpbmVzIGlmIHNsaWRlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgaGluZ2UgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzY2FsZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIHNwaW4gbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbiRtb3Rpb24tdWktc2V0dGluZ3M6IChcbiAgc2xpZGUtYW5kLWZhZGU6IGZhbHNlLFxuICBoaW5nZS1hbmQtZmFkZTogdHJ1ZSxcbiAgc2NhbGUtYW5kLWZhZGU6IHRydWUsXG4gIHNwaW4tYW5kLWZhZGU6IHRydWUsXG4gIGFjdGl2YXRlLXF1ZXVlLWNsYXNzOiAnaXMtYW5pbWF0aW5nJyxcbikgIWRlZmF1bHQ7XG4iLCIvLyBJbnRlcm5hbCBjb3VudGVyIGZvciBjcmVhdGluZyB1bmlxdWUga2V5ZnJhbWUgbmFtZXNcbiQtbXVpLWN1c3RvbTogMDtcblxuLy8vIENyZWF0ZXMgYSBrZXlmcmFtZSBmcm9tIG9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMuIFVzZSB0aGlzIGZ1bmN0aW9uIGluc3RlYWQgb2YgYG11aS1hbmltYXRpb25gIGlmIHlvdSB3YW50IHRvIGNyZWF0ZSBhIGtleWZyYW1lIGFuaW1hdGlvbiAqd2l0aG91dCogYXV0b21hdGljYWxseSBhc3NpZ25pbmcgaXQgdG8gdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRuYW1lIC0gTmFtZSBvZiB0aGUga2V5ZnJhbWUuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1rZXlmcmFtZXMoJG5hbWUsICRlZmZlY3RzLi4uKSB7XG4gICRvYmo6IC1tdWktcHJvY2Vzcy1hcmdzKCRlZmZlY3RzLi4uKTtcbiAgJG9iajogbWFwLXJlbW92ZSgkb2JqLCBuYW1lKTtcblxuICBAa2V5ZnJhbWVzICN7JG5hbWV9IHtcbiAgICAvLyBOb3cgaXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgcGVyY2VudGFnZVxuICAgIEBlYWNoICRwY3QsICRwcm9wcyBpbiAkb2JqIHtcbiAgICAgICN7LW11aS1rZXlmcmFtZS1wY3QoJHBjdCl9IHtcbiAgICAgICAgLy8gTGFzdGx5LCBpdGVyYXRlIHRocm91Z2ggZWFjaCBDU1MgcHJvcGVydHkgd2l0aGluIGEgcGVyY2VudGFnZSBhbmQgcHJpbnQgaXQgb3V0XG4gICAgICAgIEBlYWNoICRwcm9wLCAkdmFsdWUgaW4gJHByb3BzIHtcbiAgICAgICAgICAjeyRwcm9wfTogI3skdmFsdWV9O1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgc3RyaW5nIGZvciBhIENTUyBrZXlmcmFtZSwgYnkgY29udmVydGluZyBhIGxpc3Qgb2YgbnVtYmVycyB0byBhIGNvbW1hLXNlcGFyYXRlZCBsaXN0IG9mIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRpbnB1dCAtIExpc3Qgb2YgbnVtYmVycyB0byB1c2UuXG4vLy8gQHJldHVybiB7U3RyaW5nfSBBIHNldCBvZiBjb21tYS1zZXBhcmF0ZWQgcGVyY2VudGFnZSB2YWx1ZXMuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1wY3QoJGlucHV0KSB7XG4gICRvdXRwdXQ6ICgpO1xuXG4gIEBpZiB0eXBlLW9mKCRpbnB1dCkgPT0gJ251bWJlcicge1xuICAgICRvdXRwdXQ6ICgkaW5wdXQgKiAxJSk7XG4gIH0gQGVsc2UgaWYgdHlwZS1vZigkaW5wdXQpID09ICdsaXN0JyB7XG4gICAgQGVhY2ggJGkgaW4gJGlucHV0IHtcbiAgICAgICRvdXRwdXQ6IGFwcGVuZCgkb3V0cHV0LCAoJGkgKiAxJSksIGNvbW1hKTtcbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRvdXRwdXQ7XG59XG5cbi8vLyBQcmludHMgdGhlIENTUyBwcm9wZXJ0aWVzIGZyb20gYSBzcGVjaWZpYyBrZXkgaW4gYSBrZXlmcmFtZXMgbWFwLiBVc2VkIHRvIGJvcnJvdyBDU1MgZnJvbSBrZXlmcmFtZSBmdW5jdGlvbnMgZm9yIHVzZSBpbiB0cmFuc2l0aW9ucy5cbi8vLyBAcGFyYW0ge01hcH0gJGtmIC0gS2V5ZnJhbWUgbWFwIHRvIGV4dHJhY3QgZnJvbS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGtleSAtIEtleSBpbiB0aGUgbWFwIHRvIHByaW50IHRoZSBDU1Mgb2YuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AbWl4aW4gLW11aS1rZXlmcmFtZS1nZXQoJGtmLCAka2V5KSB7XG4gICRtYXA6IG1hcC1nZXQoJGtmLCAka2V5KTtcblxuICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRtYXAgb3IgKCkge1xuICAgIC8vIFNvbWUga2V5ZnJhbWUgbWFwcyBzdG9yZSB0cmFuc2Zvcm1zIGFzIHF1b3RlZCBzdHJpbmdzXG4gICAgQGlmIHR5cGUtb2YoJHZhbHVlKSA9PSAnc3RyaW5nJyB7XG4gICAgICAkdmFsdWU6IHVucXVvdGUoJHZhbHVlKTtcbiAgICB9XG4gICAgI3skcHJvcH06ICR2YWx1ZTtcbiAgfVxufVxuXG4vLy8gUmVmb3JtYXRzIGEgbWFwIGNvbnRhaW5pbmcga2V5cyB3aXRoIGEgbGlzdCBvZiB2YWx1ZXMsIHNvIHRoYXQgZWFjaCBrZXkgaXMgYSBzaW5nbGUgdmFsdWUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gc3BsaXQgdXAuXG4vLy8gQHJldHVybiB7TWFwfSBBIHJlZm9ybWF0dGVkIG1hcC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIFNwbGl0IGtleXMgd2l0aCBtdWx0aXBsZSB2YWx1ZXMgaW50byBpbmRpdmlkdWFsIGtleXNcbiAgQGVhY2ggJGtleSwgJGl0ZW0gaW4gJG1hcCB7XG4gICAgJGtleS10eXBlOiB0eXBlLW9mKCRrZXkpO1xuXG4gICAgQGlmICRrZXktdHlwZSA9PSAnbnVtYmVyJyB7XG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJGl0ZW0pKTtcbiAgICB9IEBlbHNlIGlmICRrZXktdHlwZSA9PSAnbGlzdCcge1xuICAgICAgQGVhY2ggJGsgaW4gJGtleSB7XG4gICAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgkazogJGl0ZW0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBAcmV0dXJuICRuZXctbWFwO1xufVxuXG4vLy8gQ29tYmluZXMgYSBzZXJpZXMgb2Yga2V5ZnJhbWUgb2JqZWN0cyBpbnRvIG9uZS5cbi8vLyBAcGFyYW0ge01hcH0gJG1hcHMuLi4gLSBBIHNlcmllcyBvZiBtYXBzIHRvIG1lcmdlLCBhcyBpbmRpdmlkdWFsIHBhcmFtZXRlcnMuXG4vLy8gQHJldHVybiB7TWFwfSBBIGNvbWJpbmVkIGtleWZyYW1lIG9iamVjdC5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBmdW5jdGlvbiAtbXVpLWtleWZyYW1lLWNvbWJpbmUoJG1hcHMuLi4pIHtcbiAgJG5ldy1tYXA6ICgpO1xuXG4gIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIG1hcCBwYXNzZWQgaW5cbiAgQGVhY2ggJG1hcCBpbiAkbWFwcyB7XG4gICAgQGlmIHR5cGUtb2YoJG1hcCkgPT0gJ3N0cmluZycge1xuICAgICAgJG1hcDogY2FsbCgkbWFwKTtcbiAgICB9XG5cbiAgICAkbWFwOiAtbXVpLWtleWZyYW1lLXNwbGl0KCRtYXApO1xuXG4gICAgLy8gSXRlcmF0ZSB0aHJvdWdoIGVhY2gga2V5ZnJhbWUgaW4gdGhlIG1hcFxuICAgIC8vICRrZXkgaXMgdGhlIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICAvLyAkdmFsdWUgaXMgYSBtYXAgb2YgQ1NTIHByb3BlcnRpZXNcbiAgICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgICAkbmV3LXZhbHVlOiAoKTtcblxuICAgICAgQGlmIG1hcC1oYXMta2V5KCRuZXctbWFwLCAka2V5KSB7XG4gICAgICAgIC8vIElmIHRoZSBtYXAgYWxyZWFkeSBoYXMgdGhlIGtleWZyYW1lICUsIGFwcGVuZCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6IC1tdWktbWVyZ2UtcHJvcGVydGllcyhtYXAtZ2V0KCRuZXctbWFwLCAka2V5KSwgJHZhbHVlKTtcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICAvLyBPdGhlcndpc2UsIGNyZWF0ZSBhIG5ldyBtYXAgd2l0aCB0aGUgbmV3IHByb3BlcnR5XG4gICAgICAgICRuZXctdmFsdWU6ICR2YWx1ZTtcbiAgICAgIH1cblxuICAgICAgLy8gRmluYWxseSwgbWVyZ2UgdGhlIG1vZGlmaWVkIGtleWZyYW1lIHZhbHVlIGludG8gdGhlIG91dHB1dCBtYXBcbiAgICAgICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICgka2V5OiAkbmV3LXZhbHVlKSk7XG4gICAgfVxuICB9XG5cbiAgLy8gTWFrZSBhIG5hbWUgZm9yIHRoZSBrZXlmcmFtZXNcbiAgJC1tdWktY3VzdG9tOiAkLW11aS1jdXN0b20gKyAxICFnbG9iYWw7XG4gICRtYXAtbmFtZTogKG5hbWU6ICdjdXN0b20tI3skLW11aS1jdXN0b219Jyk7XG4gICRuZXctbWFwOiBtYXAtbWVyZ2UoJG5ldy1tYXAsICRtYXAtbmFtZSk7XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIHR3byBtYXBzIG9mIENTUyBwcm9wZXJ0aWVzIGludG8gb25lIG1hcC4gSWYgYm90aCBtYXBzIGhhdmUgYSB0cmFuc2Zvcm0gcHJvcGVydHksIHRoZSB2YWx1ZXMgZnJvbSBlYWNoIHdpbGwgYmUgY29tYmluZWQgaW50byBvbmUgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtNYXB9ICRvbmUgLSBGaXJzdCBtYXAgdG8gbWVyZ2UuXG4vLy8gQHBhcmFtIHtNYXB9ICR0d28gLSBTZWNvbmQgbWFwIHRvIG1lcmdlLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1tZXJnZS1wcm9wZXJ0aWVzKCRvbmUsICR0d28pIHtcbiAgQGlmIG1hcC1oYXMta2V5KCRvbmUsIHRyYW5zZm9ybSkgYW5kIG1hcC1oYXMta2V5KCR0d28sIHRyYW5zZm9ybSkge1xuICAgICR0cmFuc2Zvcm06IGpvaW4obWFwLWdldCgkb25lLCB0cmFuc2Zvcm0pLCBtYXAtZ2V0KCR0d28sIHRyYW5zZm9ybSkpO1xuICAgICRvbmU6IG1hcC1tZXJnZSgkb25lLCAodHJhbnNmb3JtOiAkdHJhbnNmb3JtKSk7XG4gICAgJHR3bzogbWFwLXJlbW92ZSgkdHdvLCB0cmFuc2Zvcm0pO1xuICB9XG5cbiAgQHJldHVybiBtYXAtbWVyZ2UoJG9uZSwgJHR3byk7XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNsaWRpbmcgdHJhbnNpdGlvbiBieSB0cmFuc2xhdGluZyB0aGUgZWxlbWVudCBob3Jpem9udGFsbHkgb3IgdmVydGljYWxseS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXJlY3Rpb24gW2xlZnRdIC0gRGlyZWN0aW9uIHRvIHNsaWRlIHRvLiBDYW4gYmUgYHVwYCwgYHJpZ2h0YCwgYGRvd25gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRhbW91bnQgWzEwMCVdIC0gTGVuZ3RoIG9mIHRoZSBzbGlkZSBhcyBhIHBlcmNlbnRhZ2UgdmFsdWUuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc2xpZGUgKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBsZWZ0LFxuICAkYW1vdW50OiAxMDAlLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzbGlkZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJHNsaWRlOiBzbGlkZSgkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIC8vIENTUyBPdXRwdXRcbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNsaWRlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cblxuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBmYWRlIHRyYW5zaXRpb24gYnkgYWRqdXN0aW5nIHRoZSBvcGFjaXR5IG9mIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMF0gLSBPcGFjaXR5IHRvIHN0YXJ0IGF0LiBNdXN0IGJlIGEgbnVtYmVyIGJldHdlZW4gMCBhbmQgMS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHRvIFsxXSAtIE9wYWNpdHkgdG8gZW5kIG9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWZhZGUoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAwLFxuICAkdG86IDEsXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGZhZGU6IGZhZGUoJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGZhZGUsIDApO1xuXG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogb3BhY2l0eTtcbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAxMDApO1xuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGhpbmdlIGVmZmVjdCBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG5AZnVuY3Rpb24gaGluZ2UgKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogbGVmdCxcbiAgJGF4aXM6IGVkZ2UsXG4gICRwZXJzcGVjdGl2ZTogMjAwMHB4LFxuICAkdHVybi1vcmlnaW46IGZyb20tYmFja1xuKSB7XG4gIC8vIFJvdGF0aW9uIGRpcmVjdGlvbnMgd2hlbiBoaW5naW5nIGZyb20gYmFjayB2cy4gZnJvbnRcbiAgJHJvdGF0aW9uLWFtb3VudDogOTBkZWc7XG4gICRyb3RhdGlvbnMtYmFjazogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIHJpZ2h0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQpLFxuICAgIGxlZnQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICk7XG4gICRyb3RhdGlvbnMtZnJvbTogKFxuICAgIHRvcDogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50KSxcbiAgICBib3R0b206IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICk7XG5cbiAgLy8gUm90YXRpb24gb3JpZ2luXG4gICRyb3RhdGlvbjogJyc7XG4gIEBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1mcm9udCB7XG4gICAgJHJvdGF0aW9uOiBtYXAtZ2V0KCRyb3RhdGlvbnMtZnJvbSwgJGZyb20pO1xuICB9IEBlbHNlIGlmICR0dXJuLW9yaWdpbiA9PSBmcm9tLWJhY2sge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWJhY2ssICRmcm9tKTtcbiAgfSBAZWxzZSB7XG4gICAgQHdhcm4gJyR0dXJuLW9yaWdpbiBtdXN0IGJlIGVpdGhlciBcImZyb20tYmFja1wiIG9yIFwiZnJvbS1mcm9udFwiJztcbiAgfVxuXG4gIC8vIFN0YXJ0IGFuZCBlbmQgc3RhdGVcbiAgJHN0YXJ0OiAnJztcbiAgJGVuZDogJyc7XG4gIEBpZiAkc3RhdGUgPT0gaW4ge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gIH0gQGVsc2Uge1xuICAgICRzdGFydDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSByb3RhdGUoMGRlZyk7XG4gICAgJGVuZDogcGVyc3BlY3RpdmUoJHBlcnNwZWN0aXZlKSAkcm90YXRpb247XG4gIH1cblxuICAvLyBUdXJuIGF4aXNcbiAgJG9yaWdpbjogJyc7XG4gIEBpZiAkYXhpcyA9PSBlZGdlIHtcbiAgICAkb3JpZ2luOiAkZnJvbTtcbiAgfSBAZWxzZSB7XG4gICAgJG9yaWdpbjogY2VudGVyO1xuICB9XG5cbiAgJGtleWZyYW1lczogKFxuICAgIG5hbWU6ICdoaW5nZS0jeyRzdGF0ZX0tI3skZnJvbX0tI3skYXhpc30tI3skdHVybi1vcmlnaW59JyxcbiAgICAwOiAodHJhbnNmb3JtOiAkc3RhcnQsIHRyYW5zZm9ybS1vcmlnaW46ICRvcmlnaW4pLFxuICAgIDEwMDogKHRyYW5zZm9ybTogJGVuZCksXG4gICk7XG5cbiAgQHJldHVybiAka2V5ZnJhbWVzO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGZyb20gW2xlZnRdIC0gRWRnZSBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgZnJvbS4gQ2FuIGJlIGB0b3BgLCBgcmlnaHRgLCBgYm90dG9tYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGF4aXMgW2VkZ2VdIC0gQXhpcyBvZiB0aGUgZWxlbWVudCB0byByb3RhdGUgb24uIENhbiBiZSBgZWRnZWAgb3IgYGNlbnRlcmAuXG4vLy8gQHBhcmFtIHtMZW5ndGh9ICRwZXJzcGVjdGl2ZSBbMjAwMHB4XSAtIFBlcmNlaXZlZCBkaXN0YW5jZSBiZXR3ZWVuIHRoZSB2aWV3ZXIgYW5kIHRoZSBlbGVtZW50LiBBIGhpZ2hlciBudW1iZXIgd2lsbCBtYWtlIHRoZSByb3RhdGlvbiBlZmZlY3QgbW9yZSBwcm9ub3VuY2VkLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHR1cm4tb3JpZ2luIFtmcm9tLWJhY2tdIC0gU2lkZSBvZiB0aGUgZWxlbWVudCB0byBzdGFydCB0aGUgcm90YXRpb24gZnJvbS4gQ2FuIGJlIGBmcm9tLWJhY2tgIG9yIGBmcm9tLWZyb250YC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLWhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2ssXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIGhpbmdlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkaGluZ2U6IGhpbmdlKCRzdGF0ZSwgJGZyb20sICRheGlzLCAkcGVyc3BlY3RpdmUsICR0dXJuLW9yaWdpbik7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJGhpbmdlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzY2FsaW5nIHRyYW5zaXRpb24uIEEgc2NhbGUgb2YgYDFgIG1lYW5zIHRoZSBlbGVtZW50IGlzIHRoZSBzYW1lIHNpemUuIExhcmdlciBudW1iZXJzIG1ha2UgdGhlIGVsZW1lbnQgYmlnZ2VyLCB3aGlsZSBudW1iZXJzIGxlc3MgdGhhbiAxIG1ha2UgdGhlIGVsZW1lbnQgc21hbGxlci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzEuNV0gLSBTaXplIHRvIHN0YXJ0IGF0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZnJvbSBbMV0gLSBTaXplIHRvIGVuZCBhdC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFt0cnVlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXpvb20oXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiAxLjUsXG4gICR0bzogMSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2NhbGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzY2FsZTogem9vbSgkZnJvbSwgJHRvKTtcblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLXN0YXJ0KCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIHRyYW5zaXRpb24tYmFzaWNzKCRkdXJhdGlvbiwgJHRpbWluZywgJGRlbGF5KTtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2NhbGUsIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIHNwaW5uaW5nIHRyYW5zaXRpb24gYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuIFRoZSBgdHVybmAgdW5pdCBpcyB1c2VkIHRvIHNwZWNpZnkgaG93IGZhciB0byByb3RhdGUuIGAxdHVybmAgaXMgZXF1YWwgdG8gYSAzNjAtZGVncmVlIHNwaW4uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZGlyZWN0aW9uIFtjd10gLSBEaXJlY3Rpb24gdG8gc3Bpbi4gU2hvdWxkIGJlIGBjd2AgKGNsb2Nrd2lzZSkgb3IgYGNjd2AgKGNvdW50ZXJjbG9ja3dpc2UpLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYW1vdW50IFswLjc1dHVybl0gLSBBbW91bnQgdG8gZWxlbWVudCB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0Jvb2xlYW59ICRmYWRlIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1zcGluKFxuICAkc3RhdGU6IGluLFxuICAkZGlyZWN0aW9uOiBjdyxcbiAgJGFtb3VudDogMC43NXR1cm4sXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNwaW4tYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzcGluOiBzcGluKCRzdGF0ZSwgJGRpcmVjdGlvbiwgJGFtb3VudCk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMCwgMSk7XG4gICAgfSBAZWxzZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgfVxuICB9XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1lbmQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNwaW4sIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIGFuZCBhc3NpZ25zIGl0IHRvIHRoZSBlbGVtZW50IGJ5IGFkZGluZyB0aGUgYGFuaW1hdGlvbi1uYW1lYCBwcm9wZXJ0eS5cbi8vLyBAcGFyYW0ge0Z1bmN0aW9ufSAkZWZmZWN0cy4uLiAtIE9uZSBvciBtb3JlIGVmZmVjdCBmdW5jdGlvbnMgdG8gYnVpbGQgdGhlIGtleWZyYW1lIHdpdGguXG5AbWl4aW4gbXVpLWFuaW1hdGlvbigkYXJncy4uLikge1xuICAkbmFtZTogbWFwLWdldCgtbXVpLXByb2Nlc3MtYXJncygkYXJncy4uLiksIG5hbWUpO1xuICBAaW5jbHVkZSBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkYXJncy4uLik7XG4gIGFuaW1hdGlvbi1uYW1lOiB1bnF1b3RlKCRuYW1lKTtcbn1cbiIsIlxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nLWJvdHRvbTogNzUlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lLFxuLnJlc3BvbnNpdmUtZW1iZWQgb2JqZWN0LFxuLnJlc3BvbnNpdmUtZW1iZWQgZW1iZWQsXG4ucmVzcG9uc2l2ZS1lbWJlZCB2aWRlbyxcbi5mbGV4LXZpZGVvIGlmcmFtZSxcbi5mbGV4LXZpZGVvIG9iamVjdCxcbi5mbGV4LXZpZGVvIGVtYmVkLFxuLmZsZXgtdmlkZW8gdmlkZW8ge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSB7XG4gICAgYm9yZGVyOiAwO1xufVxuXG4ucmVzcG9uc2l2ZS1lbWJlZC53aWRlc2NyZWVuLFxuLmZsZXgtdmlkZW8ud2lkZXNjcmVlbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTtcbn1cbiIsIi8qIENocm9tZSBoYWNrOiBTVkcgaXMgcmVuZGVyZWQgbW9yZSBzbW9vdGggaW4gV2luZG96emUuIDEwMCUgbWFnaWMsIHVuY29tbWVudCBpZiB5b3UgbmVlZCBpdC4gKi9cbi8qIE5vdGUsIHRoYXQgd2lsbCBicmVhayBoaW50aW5nISBJbiBvdGhlciBPUy1lcyBmb250IHdpbGwgYmUgbm90IGFzIHNoYXJwIGFzIGl0IGNvdWxkIGJlICovXG4vKlxuQG1lZGlhIHNjcmVlbiBhbmQgKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzowKSB7XG4gIEBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnZm9udGVsbG8nO1xuICAgIHNyYzogdXJsKCcuLi9mb250L2ZvbnRlbGxvLnN2Zz82Mjc1MTUwMyNmb250ZWxsbycpIGZvcm1hdCgnc3ZnJyk7XG4gIH1cbn1cbiovXG5bY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbltjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcblxuICAgIC8qIHlvdSBjYW4gYmUgbW9yZSBjb21mb3J0YWJsZSB3aXRoIGluY3JlYXNlZCBpY29ucyBzaXplICovXG4gICAgLyogZm9udC1zaXplOiAxMjAlOyAqL1xuXG4gICAgLyogRm9udCBzbW9vdGhpbmcuIFRoYXQgd2FzIHRha2VuIGZyb20gVFdCUyAqL1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIC8qIG9wYWNpdHk6IC44OyAqL1xuXG4gICAgLyogRm9yIHNhZmV0eSAtIHJlc2V0IHBhcmVudCBzdHlsZXMsIHRoYXQgY2FuIGJyZWFrIGdseXBoIGNvZGVzKi9cbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgLyogZml4IGJ1dHRvbnMgaGVpZ2h0LCBmb3IgdHdpdHRlciBib290c3RyYXAgKi9cbiAgICBsaW5lLWhlaWdodDogMWVtO1xuXG4gICAgLyogQW5pbWF0aW9uIGNlbnRlciBjb21wZW5zYXRpb24gLSBtYXJnaW5zIHNob3VsZCBiZSBzeW1tZXRyaWMgKi9cbiAgICAvKiByZW1vdmUgaWYgbm90IG5lZWRlZCAqL1xuICAgIG1hcmdpbi1sZWZ0OiAwLjJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xuICAgIHNwZWFrOiBuZXZlcjtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHdpZHRoOiAxZW07XG5cbiAgICAvKiBVbmNvbW1lbnQgZm9yIDNEIGVmZmVjdCAqL1xuICAgIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovXG59XG5cbi5pY29uLWFsZXJ0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwMFwiOyB9IC8qICfuoIAnICovXG4uaWNvbi1jYXJ0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwMVwiOyB9IC8qICfuoIEnICovXG4uaWNvbi1jdXN0b21lcmNhcmVwbGFuOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwMlwiOyB9IC8qICfuoIInICovXG4uaWNvbi1saXZlY2hhdDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDNcIjsgfSAvKiAn7qCDJyAqL1xuLmljb24tbG9jYXRpb246OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODA0XCI7IH0gLyogJ+6ghCcgKi9cbi5pY29uLXNlYXJjaDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDVcIjsgfSAvKiAn7qCFJyAqL1xuLmljb24tc2V2ZXJld2VhdGhlcmRlc2lnbmF0aW9uOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwNlwiOyB9IC8qICfuoIYnICovXG4uaWNvbi1jYW5jZWw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODA3XCI7IH0gLyogJ+6ghycgKi9cbi5pY29uLXdoZWVsd2FycmFudHk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODA4XCI7IH0gLyogJ+6giCcgKi9cbi5pY29uLW15YWNjb3VudDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDlcIjsgfSAvKiAn7qCJJyAqL1xuLmljb24tY29udGFjdDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MGFcIjsgfSAvKiAn7qCKJyAqL1xuLmljb24tcGx1czo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MGJcIjsgfSAvKiAn7qCLJyAqL1xuLmljb24tbWludXM6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODBjXCI7IH0gLyogJ+6gjCcgKi9cbi5pY29uLXN0YXI6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODBkXCI7IH0gLyogJ+6gjScgKi9cbi5pY29uLXVwLW9wZW46OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODBlXCI7IH0gLyogJ+6gjicgKi9cbi5pY29uLWRvd24tb3Blbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MGZcIjsgfSAvKiAn7qCPJyAqL1xuLmljb24tYWNjZXNzaWJpbGl0eTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTBcIjsgfSAvKiAn7qCQJyAqL1xuLmljb24tY2lyY2xlLWNoZWNrZWQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODExXCI7IH0gLyogJ+6gkScgKi9cbi5pY29uLXByaW50OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxMlwiOyB9IC8qICfuoJInICovXG4uaWNvbi1sZWZ0LW9wZW46OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODEzXCI7IH0gLyogJ+6gkycgKi9cbi5pY29uLXJpZ2h0LW9wZW46OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODE0XCI7IH0gLyogJ+6glCcgKi9cbi5pY29uLXRodW1icy1kb3duOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxNVwiOyB9IC8qICfuoJUnICovXG4uaWNvbi10aXJlOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxNlwiOyB9IC8qICfuoJYnICovXG4uaWNvbi1jYWxlbmRhcjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTdcIjsgfSAvKiAn7qCXJyAqL1xuLmljb24tcGhvbmU6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODE4XCI7IH0gLyogJ+6gmCcgKi9cbi5pY29uLWxvY2s6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODE5XCI7IH0gLyogJ+6gmScgKi9cbi5pY29uLXRlc3RlZC1ieS1rYWw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODIwXCI7IH0gLyogJ+6goCcgKi9cbi5pY29uLXRodW1icy11cDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjFcIjsgfSAvKiAn7qChJyAqL1xuLmljb24tc3Rhci1lbXB0eTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjJcIjsgfSAvKiAn7qCiJyAqL1xuLmljb24tcGxheTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjNcIjsgfSAvKiAn7qCjJyAqL1xuLmljb24td2hlZWw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODI0XCI7IH0gLyogJ+6gpCcgKi9cbi5pY29uLW1haW50ZW5hbmNlOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyNVwiOyB9IC8qICfuoKUnICovXG4uaWNvbi1zZWFzb25hbC1hbGw6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODI2XCI7IH0gLyogJ+6gpicgKi9cbi5pY29uLWdlYXJzOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyN1wiOyB9IC8qICfuoKcnICovXG4uaWNvbi1ib29rOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyOFwiOyB9IC8qICfuoKgnICovXG4uaWNvbi1maWx0ZXI6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODI5XCI7IH0gLyogJ+6gqScgKi9cbi5pY29uLWNhbGVuZGFyLWljb246OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODJjXCI7IH0gLyogJ+6grCcgKi9cbi5pY29uLXNub3dmbGFrZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MmRcIjsgfSAvKiAn7qCtJyAqL1xuLmljb24tYnV5bm93cGF5bGF0ZXI6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODJlXCI7IH0gLyogJ+6gricgKi9cbi5pY29uLWFuZ2xlLWxlZnQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA0XCI7IH0gLyogJ++EhCcgKi9cbi5pY29uLWFuZ2xlLXJpZ2h0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwNVwiOyB9IC8qICfvhIUnICovXG4uaWNvbi1hbmdsZS11cDo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDZcIjsgfSAvKiAn74SGJyAqL1xuLmljb24tYW5nbGUtZG93bjo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDdcIjsgfSAvKiAn74SHJyAqL1xuLmljb24tY2lyY2xlOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjExMVwiOyB9IC8qICfvhJEnICovXG4uaWNvbi1jaXJjbGUtdGhpbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZGJcIjsgfSAvKiBcIu+Hm1wiICovXG4uaWNvbi1zdGFyLWhhbGYtYWx0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEyM1wiOyB9IC8qICfvhKMnICovXG4uaWNvbi13aWZpOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjFlYlwiOyB9IC8qICfvh6snICovXG4uaWNvbi1idXM6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMjA3XCI7IH0gLyogJ++IhycgKi9cbi5pY29uLWV4Y2hhbmdlOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyZlwiOyB9IC8qICfuoK8nICovXG4uaWNvbi1wcmljZS1tYXRjaC1ndWFyYW50ZWUtbGluZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4NjBcIjt9IC8qICfuoaAnICovXG4uaWNvbi10aWNrOjpiZWZvcmUge2NvbnRlbnQ6IFwiXFxlODMxXCI7fSAvKiAn7qCyJyAqL1xuLmljb24tY3VzdG9tZXItY2FyZS1wbGFuLWxpbmU6OmJlZm9yZSB7Y29udGVudDogXCJcXGU4MzJcIjt9IC8qICfuoLMnICovXG4uaWNvbi1icmFrZXMtcXVhbGl0eS1wYXJ0czo6YmVmb3JlIHtjb250ZW50OiBcIlxcZTgzM1wiO30gLyogJ+6gtCcgKi9cbi5pY29uLWJyYWtlcy1uby1zdXJwcmlzZXM6OmJlZm9yZSB7Y29udGVudDogXCJcXGU4MzRcIjt9IC8qICfuoLUnICovXG4uaWNvbi1tYWlsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxYVwiOyB9IC8qICfuoJonICovXG4uaWNvbi1yZXNlbmQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODFiXCI7IH0gLyogJ+6gmycgKi9cbi5pY29uLWNoYXQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODFjXCI7IH0gLyogJ+6gnCcgKi9cbi5pY29uLW5ldy10YWI6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODM2XCI7IH0gLyogJ+6guScgKi9cbiIsIkBjaGFyc2V0ICdVVEYtOCc7XG5cbi8qIEljb25zICovXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdFwiKTtcbiAgICBzcmM6IHVybChcIi4vZm9udHMvc2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHVybChcIi4vZm9udHMvc2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG59XG4vKiBBcnJvd3MgKi9cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcblxuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcblxuICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMDtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuXG4gICAgd2lkdGg6IDIwcHg7XG59XG5cbi5zbGljay1wcmV2OmhvdmVyLFxuLnNsaWNrLXByZXY6Zm9jdXMsXG4uc2xpY2stbmV4dDpob3Zlcixcbi5zbGljay1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNsaWNrLXByZXY6aG92ZXI6OmJlZm9yZSxcbi5zbGljay1wcmV2OmZvY3VzOjpiZWZvcmUsXG4uc2xpY2stbmV4dDpob3Zlcjo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6Zm9jdXM6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSxcbi5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDAuMjU7XG59XG5cbi5zbGljay1wcmV2OjpiZWZvcmUsXG4uc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICBjb2xvcjogJHdoaXRlO1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBsaW5lLWhlaWdodDogMTtcblxuICAgIG9wYWNpdHk6IDAuNzU7XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldiB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogLTI1cHg7XG59XG5cbi5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaQXCI7XG59XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLXByZXY6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLihpJcIjtcbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcbn1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IGF1dG87XG59XG5cbi5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7XG59XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLihpBcIjtcbn1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBib3R0b206IC0yNXB4O1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uc2xpY2stZG90cyBsaSB7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIG1hcmdpbjogMCA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICB3aWR0aDogMjBweDtcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogNXB4O1xuXG4gICAgd2lkdGg6IDIwcHg7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcixcbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyOjpiZWZvcmUsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXM6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkYmxhY2s7XG5cbiAgICBjb250ZW50OiBcIuKAolwiO1xuICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgZm9udC1zaXplOiA2cHg7XG5cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgb3BhY2l0eTogMC4yNTtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdG9wOiAwO1xuXG4gICAgd2lkdGg6IDIwcHg7XG59XG5cbi5zbGljay1kb3RzIGxpLnNsaWNrLWFjdGl2ZSBidXR0b246OmJlZm9yZSB7XG4gICAgY29sb3I6ICRibGFjaztcbiAgICBvcGFjaXR5OiAwLjc1O1xufVxuXG4vLyBEZWZhdWx0IFZhcmlhYmxlc1xuXG4vLyBTbGljayBpY29uIGVudGl0eSBjb2RlcyBvdXRwdXRzIHRoZSBmb2xsb3dpbmdcbi8vIFwiXFwyMTkwXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpBcIlxuLy8gXCJcXDIxOTJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKGklwiXG4vLyBcIlxcMjAyMlwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oCiXCJcblxuJHNsaWNrLWZvbnQtcGF0aDogXCIuL2ZvbnRzL1wiICFkZWZhdWx0O1xuJHNsaWNrLWZvbnQtZmFtaWx5OiBcInNsaWNrXCIgIWRlZmF1bHQ7XG4kc2xpY2stbG9hZGVyLXBhdGg6IFwiLi9cIiAhZGVmYXVsdDtcbiRzbGljay1hcnJvdy1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU6ICRzbGljay1kb3QtY29sb3IgIWRlZmF1bHQ7XG4kc2xpY2stcHJldi1jaGFyYWN0ZXI6IFwiXFwyMTkwXCIgIWRlZmF1bHQ7XG4kc2xpY2stbmV4dC1jaGFyYWN0ZXI6IFwiXFwyMTkyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LWNoYXJhY3RlcjogXCJcXDIwMjJcIiAhZGVmYXVsdDtcbiRzbGljay1kb3Qtc2l6ZTogNnB4ICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktZGVmYXVsdDogMC43NSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW9uLWhvdmVyOiAxICFkZWZhdWx0O1xuJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTogMC4yNSAhZGVmYXVsdDtcblxuQGZ1bmN0aW9uIHNsaWNrLWltYWdlLXVybCgkdXJsKSB7XG4gICAgQGlmIGZ1bmN0aW9uLWV4aXN0cyhpbWFnZS11cmwpIHtcbiAgICAgICAgQHJldHVybiBpbWFnZS11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWxvYWRlci1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG5AZnVuY3Rpb24gc2xpY2stZm9udC11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoZm9udC11cmwpIHtcbiAgICAgICAgQHJldHVybiBmb250LXVybCgkdXJsKTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgICBAcmV0dXJuIHVybCgkc2xpY2stZm9udC1wYXRoICsgJHVybCk7XG4gICAgfVxufVxuXG4vKiBJY29ucyAqL1xuQGlmICRzbGljay1mb250LWZhbWlseSA9PSBcInNsaWNrXCIge1xuICAgIEBmb250LWZhY2Uge1xuICAgICAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3RcIik7XG4gICAgICAgIHNyYzogc2xpY2stZm9udC11cmwoXCJzbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTtcbiAgICB9XG59XG5cbi8qIEFycm93cyAqL1xuXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB3aWR0aDogMjBweDtcblxuICAgICY6aG92ZXIsXG4gICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW9uLWhvdmVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zbGljay1kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktbm90LWFjdGl2ZTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogJHNsaWNrLWFycm93LWNvbG9yO1xuICAgICAgICBmb250LWZhbWlseTogJHNsaWNrLWZvbnQtZmFtaWx5O1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICB9XG59XG5cbi5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiAtMjVweDtcblxuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAtMjVweDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG5cbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1uZXh0LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNsaWNrLW5leHQge1xuICAgIHJpZ2h0OiAtMjVweDtcblxuICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgIGxlZnQ6IC0yNXB4O1xuICAgICAgICByaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG5cbiAgICAgICAgW2Rpcj1cInJ0bFwiXSAmIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1wcmV2LWNoYXJhY3RlcjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLyogRG90cyAqL1xuXG4uc2xpY2stZG90dGVkLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbn1cblxuLnNsaWNrLWRvdHMge1xuICAgIGJvdHRvbTogLTI1cHg7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgbGkge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBtYXJnaW46IDAgNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICAgICAgJjpob3ZlcixcbiAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3I7XG4gICAgICAgICAgICAgICAgY29udGVudDogJHNsaWNrLWRvdC1jaGFyYWN0ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6ICRzbGljay1kb3Qtc2l6ZTtcbiAgICAgICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnNsaWNrLWFjdGl2ZSBidXR0b246OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogJHNsaWNrLWRvdC1jb2xvci1hY3RpdmU7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1kZWZhdWx0O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiYm9keSxcbmh0bWwge1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuYm9keSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBtYXJnaW46IDA7XG59XG5cbm9sLFxudWwge1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG59XG5cbi5mdWxsYmxlZWQge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTgwMHB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4uZnVsbGJsZWVkLW1vYmlsZSB7XG4gICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5yb3cge1xuICAgICYuYXRyb290IHtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlbC1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIC5ub3BhZGRpbmdzbWFsbCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubm8tanMge1xuICAgIC50b3AtYmFyIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cblxuICAgIC50aXRsZS1iYXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNtYWluTmF2V3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY2xpcDogcmVjdCgwIDAgMCAwKTtcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBtYXJnaW46IC0xcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMXB4O1xufVxuXG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpO1xufVxuXG4udmlzaWJpbGl0eS1oaWRkZW4ge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbn1cbiIsIi8vVHlwb2dyYXBoeVxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbn1cblxuYSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbn1cblxuLmxhcmdlLWhlYWRsaW5lIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiA0NnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogNDZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDY2cHg7XG4gICAgfVxufVxuXG4uaW50cm8tY29weSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICB9XG59XG5cbi5zbWFsbC1pbnRyby1jb3B5IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLmxpZ2h0LWludHJvLWNvcHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxufVxuXG5cbi5mb290ZXItbGlua3Mge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cbn1cblxuLmlubGluZS1saW5rLWFsdGVybmF0ZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICY6aG92ZXIge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWRhcmstaG92ZXIpO1xuICAgIH1cbn1cblxuLmFycm93LWxpbmsge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29udGVudDogXCIgPlwiO1xuICAgIH1cbn1cblxucCxcbi5wYXJhZ3JhcGgtY29weSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG59XG5cbi5zbWFsbC1jb3B5IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgfVxufVxuXG4udGlueS1jb3B5IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICB9XG59XG5cbi50aW55LWhlYWRpbmdzIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcblxuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5wYWdlLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMzBweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDQwcHg7XG4gICAgfVxufVxuXG4ucGRwLW1haW4ge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udGlwLXN5bWJvbCB7XG4gICAgJHJhZGl1czogcmVtLWNhbGMoMTcpO1xuICAgICRzaW1ib2wtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkocmVtLWNhbGMoLTQpKTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAkcmFkaXVzO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBjb250ZW50OiBcIj9cIjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogJHNpbWJvbC1zaXplO1xuICAgICAgICBoZWlnaHQ6ICRyYWRpdXM7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsaW5lLWhlaWdodDogJHNpbWJvbC1zaXplO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgd2lkdGg6ICRyYWRpdXM7XG4gICAgfVxufVxuIiwiLy9CdXR0b25zXG5cbi5idXR0b24ge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcGFkZGluZzogMTVweCAxOHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAmLmJ1dHRvbi1kYXJrIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1kYXJrO1xuICAgIH1cblxuICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgfVxuXG4gICAgJi5idXR0b24tZGFyazpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24taG92ZXItZGFyaztcbiAgICB9XG5cbiAgICAmLmhvbGxvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICY6aG92ZXIsXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ1dHRvbi1kYXJrLmhvbGxvdyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIH1cblxuICAgICYuY2xvc2UtaG9sbG93LWJ0biB7XG4gICAgICAgIC5hY3RpdmUtYnRuLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MDdcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3RpdmUtYnRuLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnRuLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNlY29uZGFyeSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgJi5ob2xsb3cge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMzEzMTMxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idXR0b24tZGFyay5zZWNvbmRhcnkuaG9sbG93IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgfVxuXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmOmRpc2FibGVkLFxuICAgICZbZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc21hbGwge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMTVweDtcbiAgICB9XG5cbiAgICAmLm1lZGl1bSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgcGFkZGluZzogMTVweCAxOHB4O1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICB9XG5cbiAgICAmLmZ1bGwtd2lkdGgge1xuICAgICAgICBtYXJnaW4tdG9wOiAxcmVtO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmLmhlbGxvYmFyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWx0ZXJuYXRlIHtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIHZpZXcgb24gdmVoaWNsZSBidXR0b25cbi52LXZpZXctb24tdmVoaWNsZSB7XG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5rLWFib3ZlLXByb2R1Y3Qge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIH1cbn1cblxuLy8gQmFkZ2VzXG4udGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgcC50ZXN0ZWQtYnlrYWwtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5pY29uLXRlc3RlZC1ieS1rYWwge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgIH1cbn1cblxuLnRlc3RlZC1ieWthbC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgIHAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuaWNvbi10ZXN0ZWQtYnkta2FsIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnRlc3RlZC1ieWthbC10ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnByb2R1Y3QtYmFkZ2Uge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWFyZ2luOiA3cHggMDtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAgICAgJi5wcm9kdWN0LWltYWdlLWJhZGdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDVweCA0cHg7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHRfcHJvZHVjdC1kZXRhaWxzLFxuLnB0X3Byb2R1Y3QtY29tcGFyZSB7XG4gICAgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgcmlnaHQ6IGluaXRpYWw7XG4gICAgfVxufVxuXG4ucHRfcHJvZHVjdC1jb21wYXJlIHtcbiAgICAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHRvcDogNXB4O1xuICAgIH1cbn1cblxuLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiAzcHg7XG4gICAgei1pbmRleDogMDtcblxuICAgIGkge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgIH1cbn1cblxuLm92ZXJ2aWV3IHtcbiAgICBpLmljb24tc25vd2ZsYWtlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0zcHg7XG4gICAgfVxufVxuXG4vLyBMb2FkZXJcbi5sb2FkZXIge1xuICAgIGFuaW1hdGlvbjogcm90YXRlIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICAgIGFuaW1hdGlvbjogcm90YXRlIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICAgIGJvcmRlcjogOHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyLXJpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBib3R0b206IDA7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDNlbTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCBhdXRvIDUwcHg7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDNlbTtcblxuICAgICYuc3RvcmUtZGV0YWlscy1sb2FkZXIge1xuICAgICAgICBib3R0b206IC01MHB4O1xuICAgICAgICB0b3A6IGF1dG87XG4gICAgfVxufVxuXG4uZXJyb3ItdGV4dC1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdW5hdmFpbGFibGUpO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDEwcHggOXB4O1xuXG4gICAgcC50ZXh0IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdW5hdmFpbGFibGUtdGV4dCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3IgLmxvYWRlciB7XG4gICAgei1pbmRleDogLTE7XG59XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAuc2VsZWN0b3IgLmxvYWRlciB7XG4gICAgei1pbmRleDogOTk7XG59XG5cbiNwc21vZGFsICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3IgLmxvYWRlciB7XG4gICAgei1pbmRleDogOTk7XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcm90YXRlIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB9XG5cbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi8vIEZsdWlkIFdpZHRoIFZpZGVvXG4udmlkZW9XcmFwcGVyIHtcbiAgICBoZWlnaHQ6IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgLy8gMTY6OVxuICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLy8gQ2F0ZWdvcnkgaW5kaWNhdG9yXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAuY2F0ZWdvcnkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcblxuICAgICAgICAmOmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC0zLXNlYXNvbixcbiAgICAuY2F0LWFsbC1zZWFzb24ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZiYjExNjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtcGVyZm9ybWFuY2Uge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzYzNTNhMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtYWxsLXdlYXRoZXIge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2JmMWE4ZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtd2ludGVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMGMzZjM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LXRvdXJpbmcge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzAwYTY1MTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtc3BvcnQtdHJ1Y2sge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzdjODZjMjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtYWxsLXRlcnJhaW4ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzdhNTIyNjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtbXVkLXRlcnJhaW4ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzQyMjgwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtY29tbWVyY2lhbCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYTdhOWFjO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC11bHRyYS1oaWdoLXBlcmZvcm1hbmNlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNhNDk5Y2E7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gZ2VuZXJhbCBzdHlsZXMgZm9yIGFjY29yZGlvbiB3aXRoIHBsdXMvbWludXMgaWNvbnNcbi5wbHVzLW1pbnVzLWFjY29yZGlvbiB7XG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgICAgIH1cblxuICAgICAgICA+IGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwYlwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlODBjXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgfVxuXG4gICAgLnN1Ym1lbnUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgIH1cbn1cblxuXG5hLmluYWN0aXZlIHtcbiAgICBjdXJzb3I6IGRlZmF1bHQ7XG59XG5cblxuLy8gU2VwYXJhdG9yIGxpbmUgKGluIHRoZSBtaWRkbGUgb2YgYSBjb2x1bW4pIGJldHdlZW4gdHdvIHNlY3Rpb25zXG4ubGluZS1zZWN0aW9ucy1zZXBhcmF0b3Ige1xuICAgIG1hcmdpbjogNTBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyOCwgMTMwLCAxMzMsIDAuMyk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IGF1dG8gMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDFweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gTW9kYWwgc3R5bGVzXG4uZ2xvYmFsTW9kYWxIZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRldGF1bHQpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiA3MnB4O1xuICAgIG1pbi1oZWlnaHQ6IDcycHg7XG4gICAgcGFkZGluZzogMCA2MHB4IDAgMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyNXB4O1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpbmFuY2luZ01vZGFsIHtcbiAgICAuZ2xvYmFsTW9kYWxIZWFkZXIge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblxuICAgICAgICAgICAgc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjZweDtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDI2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5nbG9iYWxNb2RhbENvbnRlbnQge1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWwoMTYpO1xuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maW5hbmNpbmdNb2RhbCB7XG4gICAgLmdsb2JhbE1vZGFsQ29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggNjJweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maW5hbmNpbmdNb2RhbEJ1dHRvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgbWluLXdpZHRoOiAxNzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIC5jYi1jdGEge1xuICAgICAgICAmLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDAgOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMThweDtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHVuc2V0O1xuICAgIH1cbn1cblxuLy8gUHJvZHVjdCB0aWxlIC0gcHJpY2luZyBhbmQgc2l6ZVxuLy8gVGhvc2Ugc3R5bGVzIGFyZSB1c2VkIGZvciBncmlkL2NvbXBhcmUgcGFnZS9SZXBsYWNlIHByb2R1Y3RzIFBvcC11cFxuLnByb2R1Y3QtdGlsZSB7XG4gICAgLnByb2R1Y3Qtc2l6ZSxcbiAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICYudHJhaWxlci10aWxlLWluZm8ge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgIC5hdHRyaWJ1dGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICAmLnRyYWlsZXItcHJpY2luZyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuXG4gICAgICAgICAgICAucHJpY2UtbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICAgIC5hdHRyaWJ1dGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hdHRyLWNvbHVtbiB7XG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM1KTtcblxuICAgICAgICAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICsgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDJweCAwIDA7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cbiAgICAgICAgICAgICAgICAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNpemUtbGFiZWwsXG4gICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6ICM3YTdjODA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cblxuc3ViLFxuc3VwIHtcbiAgICBmb250LXNpemU6IDY1JTtcbn1cblxuLy8gTWFpbiBMaXZlIENoYXQgQnViYmxlIEljb25cbi5tYWluTmF2TGl2ZUNoYXRDVEEub3BlbkxpdmVDaGF0QnV0dG9uIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICBib3R0b206IGNhbGMoMzAlIC0gMTdweCk7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGhlaWdodDogcmVtLWNhbGMoMzQpO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGJvdHRvbSByaWdodDtcbiAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC1ib3R0b207XG4gICAgfVxufVxuXG4uaGVhZGVyLW5hdi5tb2JpbGUtY2hhdC1idG4ge1xuICAgIGhlaWdodDogMDtcblxuICAgIC5oZWFkZXJDYXJ0V3JhcHBlcixcbiAgICAuaGVhZGVyU2VhcmNoV3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vLyBMaXZlIENoYXRcbi5vcGVuTGl2ZUNoYXRCdXR0b24ge1xuICAgICYuZGlzYWJsZWQge1xuICAgICAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxufVxuXG4vLyBDU0MgQWdlbnQgTWVzc2FnZVxuLmNzYy1hZ2VudG1lc3NhZ2Uge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgbWFyZ2luOiAxNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4vLyBBY2NvcmRpb24gY29udGVudCBhc3NldHNcbi5hY2NvcmRpb24ge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAkbGlnaHQtZ3JheS1vdmVyO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIxKTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC50b2dnbGUtaXRlbSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheS1vdmVyO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMykgMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICBzdW1tYXJ5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbWFyZ2luLWlubGluZS1lbmQ6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gLml0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgfiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCIrXCI7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0gfiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCItXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0LFxuLnB0X3Byb2R1Y3Qtc2VhcmNoLW5vcmVzdWx0LFxuLnB0X3Byb2R1Y3QtY29tcGFyZSxcbi5wdF9wcm9kdWN0LWRldGFpbHMsXG4ucHRfY2FydCxcbi5wdF9jaGVja291dCxcbi5wdF9vcmRlci1jb25maXJtYXRpb24ge1xuICAgICNtYWluIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgfVxufVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IHtcbiAgICAjbWFpbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtcmVzdWx0cy1yZXNvdXJjZS1jZW50ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHRfYWNjb3VudCB7XG4gICAgLnJlc2V0LXBhc3N3b3JkLXBhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG59XG4iLCJbdHlwZT1cInRleHRcIl0sXG5bdHlwZT1cInBhc3N3b3JkXCJdLFxuW3R5cGU9XCJkYXRlXCJdLFxuW3R5cGU9XCJkYXRldGltZVwiXSxcblt0eXBlPVwiZGF0ZXRpbWUtbG9jYWxcIl0sXG5bdHlwZT1cIm1vbnRoXCJdLFxuW3R5cGU9XCJ3ZWVrXCJdLFxuW3R5cGU9XCJlbWFpbFwiXSxcblt0eXBlPVwibnVtYmVyXCJdLFxuW3R5cGU9XCJzZWFyY2hcIl0sXG5bdHlwZT1cInRlbFwiXSxcblt0eXBlPVwidGltZVwiXSxcblt0eXBlPVwidXJsXCJdLFxuW3R5cGU9XCJjb2xvclwiXSxcbnRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG59XG5cbmlucHV0OjotbXMtY2xlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbnNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NlbGVjdC1pY29uLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6MFxcMCkge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvc2VsZWN0LWljb24ucG5nXCIpO1xuICAgIH1cbn1cblxuLnNvcnQtc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLW9yaWdpbjogYm9yZGVyLWJveDtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxcmVtIGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwIDM1cHggMCAxMHB4O1xufVxuXG5sYWJlbCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDAgMC41cmVtO1xufVxuXG50ZXh0YXJlYSB7XG4gICAgcmVzaXplOiBub25lO1xufVxuXG4uZGlhbG9nLXJlcXVpcmVkIHtcbiAgICBsaW5lLWhlaWdodDogMTtcbn1cblxuLnJlcXVpcmVkLWluZGljYXRvciB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbmlucHV0LFxuc2VsZWN0LFxudGV4dGFyZWEge1xuICAgICYuZXJyb3Ige1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICB9XG59XG5cbi8vZGl2LmVycm9yLFxuc3Bhbi5lcnJvcixcbi5lcnJvci1tZXNzYWdlLFxuLmNvdXBvbkVycm9yLFxuLm5hbWUtbGVuZ3RoLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY2xlYXI6IGJvdGg7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmbG9hdDogbGVmdDtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgcGFkZGluZzogN3B4IDAgMDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmVycm9yLWZvcm0ge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDEwcHggMDtcbn1cblxuLmZvcm0tcm93IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBtYXJnaW46IDAgMCAyMHB4O1xufVxuXG4uZm9ybS1jYXB0aW9uLmVycm9yLW1lc3NhZ2Uge1xuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbi8vIEN1c3RvbSBjaGVja2JveCBhbmQgcmFkaW8gaW5wdXRzXG4uY2hlY2tib3gtZm9ybSxcbi5yYWRpby1mb3JtIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAuZmllbGQtd3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICArIGxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBtYXJnaW46IDJweCAwLjMxMjVyZW0gMCAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMnB4O1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxuLmNoZWNrYm94LWZvcm0ge1xuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICY6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkOmRpc2FibGVkICsgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkOWQ5ZDk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgIHdpZHRoOiAxN3B4O1xuICAgIH1cbn1cblxuLnJhZGlvLWZvcm0ge1xuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICY6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZDlkOWQ5O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMTRweDtcbiAgICB9XG5cbiAgICAuaW5wdXQtY3VzdG9tLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGhlaWdodDogMTRweDtcbiAgICAgICAgd2lkdGg6IDE0cHg7XG4gICAgfVxufVxuXG4vL0N1c3RvbSBzdHlsZSBmb3IgQ29tbWVyY2lhbCBGbGVldCBWZWhpY2xlcyBjaGVja2JveCBidXR0b25zXG4uY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIHtcbiAgICAuaW5wdXQtY3VzdG9tLFxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgJjpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2xpY2stc2xpZGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xufVxuXG4uc2xpY2stc2xpZGVyLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2xpY2stbGlzdCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAuZHJhZ2dpbmcge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGN1cnNvcjogaGFuZDtcbiAgICB9XG59XG5cbi5zbGljay1saXN0LFxuLnNsaWNrLWFycm93IHtcbiAgICAmOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG59XG5cbi5zbGljay1zbGlkZXIgLnNsaWNrLXRyYWNrLFxuLnNsaWNrLXNsaWRlciAuc2xpY2stbGlzdCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTtcbn1cblxuLnNsaWNrLXRyYWNrIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDA7XG5cbiAgICAmOjpiZWZvcmUsXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoO1xuICAgIH1cbn1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMXB4O1xuXG4gICAgaW1nLnNsaWNrLWxvYWRpbmcge1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gICAgfVxufVxuXG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG5cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogYXV0bztcbn1cblxuLnNsaWNrLWFycm93LnNsaWNrLWhpZGRlbiB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cbiIsIi5yZXZlYWwge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi8vTG9jYXRpb24gU2VhcmNoIFN1Z2dlc3Rpb25zXG4ucGFjLWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgcGFkZGluZzogMjBweCAxMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IC0yMnB4O1xuICAgIH1cblxuICAgIC5wYWMtaXRlbSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuXG4gICAgICAgIC5wYWMtaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vL0Jsb2cgQ2FyZFxuXG4uYm90dG9tLXNwYWNlZC1jb2x1bXMge1xuICAgID4gZGl2LmNvbHVtbnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cblxuLmJsb2ctY2FyZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi14OiA1MCU7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiA1MCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLWhlaWdodDogMzIwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IGF1dG87XG5cbiAgICAuYmxvZy1jYXJkLWluZm8td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5ibG9nLWNhcmQtaW5mbyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNC4yNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpbnktaGVhZGluZ3Mge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ibG9nLWNhcmQtY3RhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIxcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYmxvZy1jYXJkLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuXG4gICAgICAgICAgICAuYmxvZy1jYXJkLWN0YSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgYm90dG9tOiAtNDVweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgICAgIH0gICBcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gICBcbiAgICB9XG59XG5cblxuLy9IZWxsbyBCYXJcbi5oZWxsby1iYXIge1xuICAgIGJhY2tncm91bmQ6ICRkYXJrZXItZ3JheTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBtaW4taGVpZ2h0OiAzMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMTBweCA0NXB4IDEwcHggMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMC41O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZhLXRpbWVzIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogMjNweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jdXN0b20tbWVudS1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAzO1xufVxuXG4uaGVhZGVyLWJhbm5lcixcbi5oZWFkZXItbmF2IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogNDtcbn1cblxuLy9IZWFkZXIgTmF2XG4uaGVhZGVyLW5hdiB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgaGVpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDQ7XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW5OYXZBY3Rpb25zV3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICAjaGVhZGVyTmF2TG9jYXRpb25DVEEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGJvdHRvbTogM3B4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxudWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyxcbnVsI2hlYWRlck5hdkFjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDI1cHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNjhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG5cbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkuaWNvbi1sb2NhdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZlMGUwO1xuXG4gICAgICAgICAgICBpLmljb24tbG9jYXRpb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vL01haW4gTmF2XG5cbiNtYWluTmF2V3JhcHBlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI21haW5OYXYge1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcblxuICAgICAgICAgICAgPmxpIGEubDFNZW51SXRlbSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+bGkuaXMtYWN0aXZlIGEubDFNZW51SXRlbSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgPmxpW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICBhLmwxTWVudUl0ZW0ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPmxpIGEubDFNZW51SXRlbSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZHJvcGRvd24tcGFuZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyICNtYWluTmF2ID4gbGksXG4gICAgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwsXG4gICAgICAgIGxpLFxuICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEsXG4gICAgLnRvcC1iYXIgI21haW5OYXYgPiBsaSAubW9iaWxlLW1lbnUtaXRlbS1saW5rIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDE5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhciAjbWFpbk5hdiBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgICYuaXMtc3VibWVudS1pdGVtIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2N3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubW9iaWxlLXN1Ym1lbnUtdHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5qcy1kcmlsbGRvd24tYmFjayA+IGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDY3cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IC01cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9iaWxlLW1lbnUtd3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMjVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgdWwsXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDEsXG4gICAgICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICAgICAgaDMsXG4gICAgICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICAgICAgaDUsXG4gICAgICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyM3B4IDQ1cHggMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBsaSxcbiAgICAgICAgICAgICAgICBsaSBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDQ1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCBhIHNwYW4ge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vYmlsZS1zdWJtZW51LXRyaWdnZXIge1xuICAgICAgICBoZWlnaHQ6IDY3cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZSAhaW1wb3J0YW50O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgdWwjbWFpbk5hdiAubW9iaWxlLW1lbnUtd3JhcHBlciB7XG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICB1bCNtYWluTmF2IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG59XG5cbiNtYWluTWVudVdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG51bC5tYWluTmF2QWN0aW9ucyB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO1xuICAgIG1hcmdpbjogMDtcbiAgICBtaW4td2lkdGg6IDIxM3B4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDEwMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgbWluLXdpZHRoOiBhdXRvO1xuICAgIH1cblxuICAgID5saSB7XG4gICAgICAgIHBhZGRpbmc6IDAgOHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGk6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgJGJ1dHRvbi1kYXJrKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg1IGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuXG4gICAgLmhlYWRlci1jdGEtYnV0dG9uIHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxufVxuXG4ubW9iaWxlLWhlYWRlci1jdGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIC5idXR0b24ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG59XG5cbi5oZWFkZXItbWFpbi1uYXYge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbWluLWhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAyOHB4IDA7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHRvcDogMDtcbiAgICB6LWluZGV4OiA5OTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5yb3cuYXRyb290IHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubm8tanMge1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgfVxuXG4gICAgJi1zdGlja2VkIHtcbiAgICAgICAgLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWF4LXdpZHRoOiA5MHB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBtYXgtd2lkdGg6IDEyNXB4O1xuICAgIH1cbn1cblxuXG4jbG9jYXRpb25DaGFuZ2Uge1xuICAgIEBpbmNsdWRlIGZsZXg7XG5cbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbiNsb2NhdGlvbkNoYW5nZVRyaWdnZXJXcmFwcGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG5cbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xufVxuXG4jbG9jYXRpb25DaGFuZ2VGb3JtV3JhcHBlciB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICAgIHdpZHRoOiAwO1xufVxuXG4jbG9jYXRpb25DaGFuZ2VJbnB1dCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICBwYWRkaW5nOiAwIDI1cHggMCAwO1xuXG4gICAgJjo6LW1zLWNsZWFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbiNsb2NhdGlvbkNoYW5nZUZvcm1DbG9zZSB7XG4gICAgY29sb3I6ICNkZmUwZTA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG59XG5cbi50aXRsZS1iYXIge1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jbW9iaWxlTWVudUxvZ29XcmFwcGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwYWRkaW5nOiAxOHB4IDAgMCAzMHB4O1xufVxuXG4jbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdWwge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO1xuXG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjFweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgbGkgYS5hY3RpdmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAubWVudS1pY29uIHtcbiAgICAgICAgZmlsbDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICAgICAgICB3aWR0aDogNjBweDtcbiAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAubW9iaWxlTmF2LXN2ZyB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubW9iaWxlTmF2LXJlY3Qge1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIC5tb2JpbGVOYXYtcmVjdDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDNkZWcpIHRyYW5zbGF0ZSgxMXB4LCAtMjFweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDNkZWcpIHRyYW5zbGF0ZSgxMXB4LCAtMjFweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDNkZWcpIHRyYW5zbGF0ZSgxMXB4LCAtMjFweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2JpbGVOYXYtcmVjdDpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2JpbGVOYXYtcmVjdDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtMzBweCwgMXB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtMzBweCwgMXB4KTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtMzBweCwgMXB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuI21vYmlsZU5hdkFjdGlvbnMge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA1cHggMzBweDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSNtb2JpbGVMb2NhdGlvbkNoYW5nZUZvcm1DbG9zZSB7XG4gICAgICAgICAgICBjb2xvcjogI2RmZTBlMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA0NXB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAubW9iaWxlTmF2RXh0ZXJuYWxMaW5rcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgICAgIGJvcmRlci10b3A6ICRib3JkZXItbGlnaHQtZ3JheSAxcHggc29saWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDhweDtcbiAgICB9XG59XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jbW9iaWxlTG9jYXRpb25DaGFuZ2VJbnB1dCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDQ1cHggMCAxNXB4O1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4jbW9iaWxlTG9jYXRpb25DaGFuZ2VGb3JtV3JhcHBlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG59XG5cblxuLy9taW5pY2FydFxuLm1pbmktY2FydC1saW5rIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAubWluaWNhcnQtcXVhbnRpdHkge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMjRweDtcblxuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtMTBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0b3A6IC05cHg7XG4gICAgICAgIHdpZHRoOiAyNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICByaWdodDogLTRweDtcbiAgICAgICAgICAgIHRvcDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1pbmljYXJ0LXF1YW50aXR5LWlubmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWVnYS1tZW51IHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDk5OTtcblxuICAgICAgICAubGlua3MtdHlwZSB7XG4gICAgICAgICAgICBoMSxcbiAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgaDMsXG4gICAgICAgICAgICBoNCxcbiAgICAgICAgICAgIGg1LFxuICAgICAgICAgICAgaDYge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWRhcmstaG92ZXIpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpLFxuICAgICAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcblxuICAgICAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdG9yaWFsLXR5cGUge1xuICAgICAgICAgICAgaDEsXG4gICAgICAgICAgICBoMixcbiAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICBoNSxcbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgNXB4O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktZGFyay1ob3Zlcik7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29udGVudC1jdXN0b20tYnRuIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tZWdhIHtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICAgICAgICBsZWZ0OiAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTgwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogNjBweCAwO1xuICAgICAgICAgICAgcmlnaHQ6IDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6ICRncmlkLXJvdy13aWR0aDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbHVtbnMge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2U1ZTVlNTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDM1cHg7XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmltYWdlLXR5cGUge1xuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG59XG5cbi5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcG9zaXRpb246IHN0YXRpYztcblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBhLmwxTWVudUl0ZW0ge1xuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiIFwiO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDYwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcblxuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgIHdpZHRoOiAxZW07XG4gICAgfVxufVxuXG4uaGVhZGVyLW1haW4tbmF2IHtcbiAgICAuaXMtZHJpbGxkb3duIC5tZWdhLW1lbnUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbiAgICB9XG5cbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYTo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICBwb3NpdGlvbjogaW5pdGlhbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1kcmlsbGRvd24tc3VibWVudSAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA0XCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG4gICAgICAgIHRyYW5zZm9ybTogaW5pdGlhbDtcbiAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogaW5pdGlhbDtcbiAgICB9XG59XG5cbiNtb2JpbGVTZWFyY2hXcmFwcGVyIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogOTtcblxuICAgIC5oZWFkZXItc2VhcmNoIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmLmFjdGl2ZSB7XG4gICAgICAgIC5oZWFkZXItc2VhcmNoIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLmhlYWRlci1zZWFyY2gge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG4gICAgICAgIHdpZHRoOiAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIHRvcDogLTFweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgZmllbGRzZXQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYWNoRm9ybUlucHV0IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFjaEZvcm1JbnB1dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGZlMGUwO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjVweCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoRm9ybUNsb3NlIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmhlYWRlclNlYXJjaFdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogLThweDtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoRm9ybVRyaWdnZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcblxuICAgICAgICAgICAgaS5pY29uLXNlYXJjaDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2hGb3JtQ2xvc2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGVhZGVyLXNlYXJjaCAuc2VhcmNoRm9ybVRyaWdnZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQsIG1pZGRsZSk7XG4gICAgfVxuXG4gICAgLnNlYXJjaEZvcm1UcmlnZ2VyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcbiAgICB9XG5cbiAgICAuaGVhZGVyLXNlYXJjaCBmaWVsZHNldCB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAuc2VhY2hGb3JtQnV0dG9uIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiA1cHg7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFjaEZvcm1JbnB1dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4IDAgMTBweDtcblxuICAgICAgICAmOjotbXMtY2xlYXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2hGb3JtQ2xvc2Uge1xuICAgICAgICBjb2xvcjogI2RmZTBlMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxufVxuXG4uc2VhcmNoLXN1Z2dlc3Rpb25zIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE1cHggLTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDU4NXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgdG9wOiA2NHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgdG9wOiA2N3B4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB0b3A6IDcwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5tb2JpbGUtc2VhcmNoICYge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgLmhpdGdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICB9XG5cbiAgICAuZ2VuZXJhdGVkLWhpdGdyb3VwIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAmLnBvcHVsYXItc2VhcmNoZXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaXJlY3QtcGFnZS1saW5rIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5zZWFyY2gtcHJvZHVjdC13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGZlMGUwO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgNDBweDtcbiAgICAgICAgd2lkdGg6IDM0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbi13cmFwcGVyIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweCAwIDQwcHg7XG4gICAgICAgIHdpZHRoOiAyNDVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDRkNGQ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgYS5oaXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc3VnZ2VzdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc3VnZ2VzdGlvbjpob3ZlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNGY0ZjQ7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obnVsbCwgbWlkZGxlKTtcblxuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGZlMGUwO1xuICAgICAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuXG4gICAgICAgICAgICAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciB7XG4gICAgZm9udC1zaXplOiAyOHB4O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cblxuICAgIH1cbn1cblxuLmZvb3Rlci1jb3B5LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgbWluLWhlaWdodDogOTZweDtcblxuICAgIC5yb3cge1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKG51bGwsIG1pZGRsZSk7XG5cbiAgICAgICAgbWluLWhlaWdodDogOTZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDk2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNmb290ZXJMb2dvQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0byA4cHg7XG4gICAgbWF4LXdpZHRoOiAxMDhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMTA4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4jZm9vdGVyQ29weUNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4jZm9vdGVyTGl2ZUNoYXRDVEEge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xufVxuXG4uZm9vdGVyLXdyYXBwZXIge1xuICAgIEBleHRlbmQgLmZ1bGxibGVlZDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIHBhZGRpbmc6IDU1cHggMCAyNXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIHBhZGRpbmc6IDQ1cHggMCAzNXB4O1xuICAgIH1cblxuICAgIC5mb290ZXItbG9nbyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cbn1cblxudWwuZm9vdGVyLWxpbmtzIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNob3ctc2VsZi1zZXJ2aWNlIHtcbiAgICAuc2hvdy1lbnRyeS1wb2ludCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbn1cblxuLnNob3ctZW50cnktcG9pbnQge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5mb290ZXItZW1haWwtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBwYWRkaW5nOiAzNXB4IDA7XG5cbiAgICBmb3JtIGZpZWxkc2V0IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgbWlkZGxlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgNzBweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIsXG4gICAgLmZvb3Rlci1lbWFpbC1sYWJlbC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIG51bGwpO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItZW1haWwtbGFiZWwtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb290ZXItZW1haWwtaW5wdXQtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgbnVsbCk7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHNwYW4uZXJyb3Ige1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB0b3A6IC0xOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubmV3c2xldHRlci1tZXNzYWdlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBpIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgIH1cblxuICAgIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG59XG5cbiNzdWJzY3JpYmUtZW1haWwge1xuICAgIG1heC13aWR0aDogMzA1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHdpZHRoOiAzMTVweDtcbiAgICB9XG59XG5cbiNob21lcGFnZUFsZXJ0QmFyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgcGFkZGluZzogMCA1MHB4IDAgMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpLmljb24tYWxlcnQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICBtaW4td2lkdGg6IDQycHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBtYXJnaW46IDI1cHggYXV0bztcbiAgICB9XG5cbiAgICA+IGRpdiB7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgICAgICBtaW4taGVpZ2h0OiA4MHB4O1xuICAgIH1cblxuICAgIHN0cm9uZyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgfVxuXG4gICAgI2hvbWVwYWdlQWxlcnRCYXJDbG9zZSB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDM4JTtcbiAgICB9XG59XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCB7XG4gICAgLm1haW4tbGVmdCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1yaWdodCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtY29sdW1uLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZWZ0LWNvbHVtbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IDM2cHggMzJweCAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogNTVweCAzMnB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogOTBweCA2MHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcMjAyMlwiO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjI1ZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogMC4xZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAubGVmdC1jb2x1bW4taW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEuYnV0dG9uIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtY29sdW1uLWZpcnN0IHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogYm90dG9tIGxlZnQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHBhZGRpbmc6IDg1cHggMzJweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwMHB4IDMycHggOTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDg1cHggODBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZy5yaWdodC1jb2x1bW4tZmlyc3QtaWNvbnMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjE2cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0Mik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodC1jb2x1bW4tc2Vjb25kIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodC1jb2x1bW4tc2Vjb25kLWEge1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDMycHggMTVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgcGFkZGluZzogNjBweCAxMHB4IDQwcHggNzBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTkwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yaWdodC1jb2x1bW4tc2Vjb25kLWIge1xuICAgICAgICBwYWRkaW5nOiAwIDMycHggNDVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDc1cHggNDVweCA0NXB4IDA7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMzZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnJvdy5jb2xsYXBzZS1yb3cge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG59XG5cbi52ZXJ0aWNhbC1hbGlnbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG59XG5cbi5ob3Jpem9udGFsLWFsaWduIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG59XG5cbi5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKG51bGwsIG1pZGRsZSk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDYwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA2MHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA0NXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG59XG5cbi5pbmZvLXRpbGUtd3JhcHBlciB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmLmhvdmVyZWQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgID5kaXYge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ob21wYWdlLWluZm8tdGlsZSB7XG4gICAgYm9yZGVyOiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDE1cHggMzhweCAxNXB4IDE0cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDE1cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGNlbnRlciwgbWlkZGxlKTtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihsZWZ0LCBtaWRkbGUpO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDYwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDUwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAmLnNob3didXR0b24ge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vYmlsZS1pbmZvLXRpbGUtQ1RBIHtcbiAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgIH1cbn1cblxuI2hlYWRsaW5lc1dyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgYm90dG9tO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiAxNzhweCBhdXRvO1xuICAgIHBhZGRpbmc6IDQuMjVyZW0gMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAyNDFweCBhdXRvO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiAzMTZweCBhdXRvO1xuICAgICAgICBwYWRkaW5nOiAxMDBweCAwO1xuICAgIH1cblxuICAgIC50aXRsZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN0YS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIGgyLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwLnNlY3Rpb24tc3VidGl0bGUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG5ib2R5LmlzLXJldmVhbC1vcGVuIHtcbiAgICBvdmVyZmxvdzogYXV0bztcbn1cblxuLnJldmVhbCB7XG4gICAgJi5yZXZlYWxuaW5lIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi5ib3JkZXJlZC10b3Age1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xufVxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcblxuICAgICYuc2Nyb2xsLW92ZXJsYXkge1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmVycm9yLXBhZ2UtY29udGFpbmVyIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgIC5mdWxsYmxlZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIH1cblxuICAgIC5yb3cge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDQuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEyLjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMTIuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogNDRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMDQzNWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjQzNzVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0LjA2MjVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjgxMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMjhweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnJvd3Nlci1lcnJvciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuICAgIG1hcmdpbi1ib3R0b206IC0xLjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAycmVtO1xufVxuXG4ucHJpdmFjeXBvbGljeS13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMS44NzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgIH1cblxuICAgIC5wcml2YWN5cG9saWN5LXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmNjkwMDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwge1xuICAgIHAsXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZ290aGFtXCIsIEFyaWFsO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMCAyMHB4IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgcGFkZGluZzogMjJweCAwIDIycHggMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgICYucmV2ZWFsIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxOHB4O1xuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI3cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEdEUFIgaW5mbyBiYXJcbi5nZHByLWluZm8tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGxlZnQ6IDA7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nZHByLWluZm8tZmxleCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgfVxuXG4gICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vT3JkZXIgc3VtbWFyeVxuLm9yZGVyLXN1bW1hcnktcHJvZHVjdHMtdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cblxuLmljb24tY2FsZW5kYXItaWNvbixcbi5pY29uLXByaW50IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNWVtO1xufVxuXG4vLyBQcm92aW5jZSBtb2RhbCBtZXNzYWdlXG4jcHJvdmluY2UtbW9kYWwtbWVzc2FnZSB7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgbWF4LWhlaWdodDogNjV2aDtcbiAgICBwYWRkaW5nOiAzMHB4O1xuICAgIHdpZHRoOiA3NTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICBtYXJnaW46IDUlO1xuICAgICAgICBtaW4taGVpZ2h0OiA3NXZoO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDkwJTtcbiAgICB9XG5cbiAgICAqIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iO1xuICAgIH1cblxuICAgIC5wcm92aW5jZS1tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICB9XG5cbiAgICAubWVzc2FnZS1jbG9zZS1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDMycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICB0b3A6IDAuNXJlbTtcbiAgICB9XG5cbiAgICAudGl0bGUtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXNlY3Rpb24ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIH1cbn1cblxuLy8gUHJvdmluY2Ugc2VsZWN0aW9uIG1vZGFsXG4jcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgbWluLWhlaWdodDogYXV0bztcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxNik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDUlKTtcbiAgICB3aWR0aDogOTAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5oZWFkaW5nIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgfVxuXG4gICAgLnByb3ZpbmNlLW9wdGlvbnMge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICBnYXA6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogMWZyIDFmcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm92aW5jZS1vcHRpb24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB0aGluLWdyYXkpO1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm92aW5jZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE2KTtcblxuICAgICAgICAgICAgICAgIC5wcm92aW5jZS1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDgwJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmN1c3RvbS1yYWRpby1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSkgMXB4IHNvbGlkO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jdXN0b20tcmFkaW8taWNvbiBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuY3VzdG9tLXJhZGlvLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgMXB4IHNvbGlkO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmN1c3RvbS1yYWRpby1pY29uIGkge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1mb290ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgLmxhbmd1YWdlLXNlbGVjdG9yIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWVkaXVtLWdyYXkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMjU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMnB4O1xuXG4gICAgICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsLWVycm9yIHtcbiAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4iLCIucHRfcHNyZXN1bHRzIHtcbiAgICAuaGVhZGVyLW1haW4tbmF2OjphZnRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWwtaW5mby13cmFwcGVyIHtcbiAgICAgICAgLnNtYWxsLTEyLmNvbHVtbnMucHNyZXN1bHRzLXRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogMjJweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICB3aWR0aDogMjJweDtcblxuICAgICYucXVlc3Rpb25tYXJrLXdoaXRlIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4jR1NQTm9SZXN1bHRzIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4jcHNtb2RhbCxcbiN3aGVlbC10eXBlLW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIHRvcDogMTVweDtcbiAgICAgICAgei1pbmRleDogOTk7XG4gICAgfVxuXG4gICAgLnByb2R1Y3RTZWxlY3RvciB7XG4gICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwLmN1cnJlbnQge1xuICAgICAgICAgICAgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICYudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV92ZWhpY2xlXCJdLFxuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfdmVoaWNsZVwiXSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3Ige1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAgICAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2RhbC1jb250ZW50IHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5zZWxlY3Rvcl9vcHRpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICAgICAuc2VsZWN0b3Ige1xuICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3Rvcl9zdGVwcyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluZFRpcmVTaXplTW9kYWxIZWFkZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZXRhdWx0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgIHBhZGRpbmc6IDAgNjBweCAwIDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maW5kVGlyZVNpemVNb2RhbENvbnRlbnQge1xuICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgLnB0X3N0b3JlZnJvbnQge1xuICAgICAgICAuaGVhZGVyLW1haW4tbmF2LFxuICAgICAgICAuaW5mby10aWxlLXdyYXBwZXIsXG4gICAgICAgIC5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCxcbiAgICAgICAgLmZvb3Rlci13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlcixcbiNuZXdTZWFyY2hNb2RhbCB7XG4gICAgcGFkZGluZzogMzVweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgI1BTT3ZlcmxheSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgIC5tYWluLXNlbGVjdG9yLXRhYiB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBzLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWxlY3Rvci5hY3RpdmUge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDMxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwYWRkaW5nOiAxODBweCAwO1xuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgLnBzLWxlZnQge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC01MCU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xMDAlO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG5cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBzLXJpZ2h0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzUwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC13cmFwcGVyLWJhY2tncm91bmQge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMHZoO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluc2lkZVNlbGVjdG9yIHtcbiAgICAgICAgPmE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubm8tdGFicyB7XG4gICAgICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogNzBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogOTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLXJlYXItc2l6ZSxcbiAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmFkZC1yZWFyLXNpemUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucm9vdGxldmVscHMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmJpdC1jb250YWluZXIge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcblxuICAgICAgICAub3JiaXQtc2xpZGUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2VkaXJlY3Qge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGkuaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvcl9vcHRpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucGFnaW5hdGVkX3Jlc3VsdHMge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbnMtMSB7XG4gICAgICAgICAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY29sdW1ucy0yIHtcbiAgICAgICAgICAgICAgICAucmVzdWx0c0NvbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbnMtMyB7XG4gICAgICAgICAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzMuMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbnMtNCB7XG4gICAgICAgICAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW5zLTUge1xuICAgICAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMnB4IDZweDtcblxuICAgICAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgID4ucm93IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cbn1cblxuLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIge1xuICAgIGgzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNyk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAud2hlZWx0eXBlLW9wdGlvbnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAud2hlZWx0eXBlLW9wdGlvbiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggMjBweCAyMHB4IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAxODJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxMHB4IDhweCAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE2MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4IDZweCAxNXB4IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDNweCAwIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxufVxuXG4jUFNPdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDApO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTtcblxuICAgICYudmlzaWJsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICB9XG59XG5cbi50cmFpbGVyLWJhbm5lci1zZWxlY3RvciB7XG4gICAgI1BTT3ZlcmxheSB7XG4gICAgICAgIHotaW5kZXg6IDA7XG4gICAgfVxufVxuXG5oMi5tb2JpbGUtbW9kYWwtdGl0bGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBoZWlnaHQ6IDY0cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4jcHNNb2JpbGVNb2RhbCxcbiNwc01vYmlsZSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBtYXJnaW46IDA7XG5cbiAgICA+IGxpID4gYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+bGkge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG5cbiAgICAgICAgICAgICYud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS5uZXN0ZWQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4jcHJvZHVjdFNlbGVjdG9yV3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIH1cblxuICAgIC5wcy1sZWZ0IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDM1cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQ1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0Nik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDY3KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcy1yaWdodCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDYxMHB4O1xuICAgIH1cblxuICAgICYuaW5wYWdlIHtcbiAgICAgICAgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgICAgICYudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgZGl2Om5vdCguc2VsZWN0b3ItZGVzY3JpcHRpb24pLFxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICB3aWR0aDogNTYlO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcblxuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOSk7XG4gICAgICAgIGhlaWdodDogNDRweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ4cHg7XG5cbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItdGFicyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5sb29raW5nLWZvci1vdGhlci10aXJlcyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcblxuICAgICAgICAmLnRyYWlsZXItcGFnZS1yZWRpcmVjdCB7XG4gICAgICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgICAgICByaWdodDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdFNlbGVjdG9yIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgJi5zdGFnZ2VyZWQtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAmW2RhdGEtZnJvbnRyZWFyPVwiZnJvbnRcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICZbZGF0YS1mcm9udHJlYXI9XCJyZWFyXCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIyMHB4O1xuXG4gICAgICAgICAgICAmW2RhdGEtY2F0ZWdvcnlpZD1cInRpcmVzXCJdIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgICAgIC5hZGQtcmVhci1zaXplLFxuICAgICAgICAgICAgICAgIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZyb250LXJlYXItbW9iaWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLnN0YWdnZXJlZC1hY3RpdmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgIC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvcl9jbG9zZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZyb250LXJlYXIge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuXG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDEycHg7XG5cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+ZGl2IHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdGFnZ2VyZWQtYWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgPmRpdi5hY3RpdmUgYSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZyb250LXJlYXItbW9iaWxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgLnJlYXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0U2VsZWN0b3Ige1xuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwidGlyZV9zaXplXCJdLFxuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSB7XG4gICAgICAgICAgICAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYubW9iaWxlLW9ubHkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgLmFkZC1yZWFyLXNpemUge1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCAxMHB4O1xuXG4gICAgICAgIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbCgxOCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG5cbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJi53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAwIDZweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5wYWdlZGlyZWN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvcl9zdGVwcyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXAge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbZGF0YS1jdXJyZW50LWtleT1WRUhJQ0xFX05BTUVdIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNob3NlbiBhIHtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgLnN0ZXBsaW5rIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jdXJyZW50IHtcbiAgICAgICAgICAgIC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hvc2VuIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXBsaW5rIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBpbml0aWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW5saW5lLXF1ZXN0aW9uLW1hcmsge1xuICAgIGRpc3BsYXk6IGlubGluZS1ib3g7XG4gICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuXG4gICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogMnB4O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogLTJweDtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi5uZXdzZWFyY2gtdGlyZXNlbGVjdGlvbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweCAwIDIwcHg7XG4gICAgfVxufVxuXG4ucGRwLW1haW4ge1xuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDUwcHggMCAxLjg3NXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgJi5zbWFsbC10b3Age1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxLjg3NXJlbTtcblxuICAgICAgICAgICAgLnBzcmVzdWx0cy10aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoMi5wc3Jlc3VsdHMtdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxOHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0aW9uLWluZm9ybWF0aW9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5zZWwtaW5mby13cmFwIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGhlaWdodDogMjFweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1pbWFnZS1jb2wge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgdG9wOiAyMHB4O1xuICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWltYWdlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm94LXNpemluZzogaW5pdGlhbDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBoZWlnaHQ6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCAxMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpO1xuXG4gICAgICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBzLXJlc3VsdHMtaW1hZ2UtdGlwIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAtMThweDtcbiAgICAgICAgICAgIHRvcDogLThweDtcbiAgICAgICAgICAgIHdpZHRoOiAyMnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taW5pbWl6ZWQtdmVoaWNsZS12aXp1YWxpemVyIHtcbiAgICAgICAgLnNlbC10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsLWluZm8ucm93IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgJi5sZWZ0LWFycm93IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDEycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIGxlZnQ6IC0xMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmluaXQtc2VsZWN0b3Ige1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mby1tb2RhbCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWZ0LWluZm8ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA1NnB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYubm9taW5oZWlnaHQge1xuICAgICAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMS41KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTYuNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlcGFyYXRvciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yaWdodC1pbmZvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4udGlyZS10eXBlLWNvbnRlbnQge1xuICAgICNwcm9kdWN0R3JpZFVybCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmxlZnQtaWNvbi13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIFtjbGFzc149XCJpY29uLVwiXSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZjZW50ZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIC50aXJlLXR5cGVzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICAudGlyZS10eXBlcy5wYWNrYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuXG4gICAgLnRpcmVzLWd1aWRlZC1wYXRoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICA+IGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS4zcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBib3JkZXI6IDEwcHggc29saWQgJGxpZ2h0LWdyYXk7XG4gICAgICAgICAgICBwYWRkaW5nOiA0MHB4IDIwcHggMzBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMTAwbXM7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW1hZ2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5ndWlkZWQtc2VjdGlvbi1oZWFkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMzBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcblxuICAgICAgICAgICAgICAgICsgLnRpcmUtdHlwZXMge1xuICAgICAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXk7XG5cbiAgICAgICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDUwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1pZC1saW5lLWNvcHkge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgbWFyZ2luOiAyNXB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0ZWdvcnktY29sdW1uLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICAuY2F0LXR5cGVzLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgfVxuXG4gICAgLnJlc3VsdF9idG4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3JfY2hlY2tib3gge1xuICAgICAgICBib3JkZXI6IDVweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXItbGVmdC13aWR0aDogOHB4O1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDcwcHggMTVweCAzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0LXdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcblxuICAgICAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAtMTNweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGxlZnQ6IC0yMDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFtjbGFzc149XCJpY29uLVwiXSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyM3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IC0zcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwLFxuICAgICAgICAuaGFzLXRpcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgICAgICAgICBtYXJnaW4taW5saW5lLXN0YXJ0OiAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhhcy10aXAge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mYSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgKyAxMHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IC04cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IC01cHg7XG4gICAgICAgICAgICB3aWR0aDogOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1hbGwtd2VhdGhlciB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYmYxYThkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci13aW50ZXIge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzIwYzNmMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItMy1zZWFzb24sXG4gICAgICAgICYuY2F0Y29sb3ItYWxsLXNlYXNvbiB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmJiMTE2O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1wZXJmb3JtYW5jZSB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNjM1M2EzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci10b3VyaW5nIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMGE2NTE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLW11ZC10ZXJyYWluIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MjI4MDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLXNwb3J0LXRydWNrIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM5ZWNmN2M7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLWFsbC10ZXJyYWluIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3YTUyMjY7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLWNvbW1lcmNpYWwge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2E3YTlhYztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItdWx0cmEtaGlnaC1wZXJmb3JtYW5jZSB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYTQ5OWNhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VsZWN0b3JfY2hlY2tib3guc2VsZWN0ZWQge1xuICAgIC5mYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLnRvb2x0aXAub2VtLXRpcCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXgtd2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICAvLyBieSBkZWZhdWx0IGFwcGVhcnMgYmVsb3cgKGJvdHRvbSlcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgIH1cblxuICAgICYudG9wIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxlZnQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udG9vbHRpcC5jYXR0eXBlLXRpcCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWF4LXdpZHRoOiAzODBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLy8gYnkgZGVmYXVsdCBhcHBlYXJzIGJlbG93IChib3R0b20pXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50b3Age1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJvdHRvbSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYucmlnaHQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGVmdCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIG1heC13aWR0aDogMjQ2cHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDI0NnB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMTVweDtcblxuICAgIC8vIGJ5IGRlZmF1bHQgYXBwZWFycyBiZWxvdyAoYm90dG9tKVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHdoaXRlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAycHg7XG4gICAgfVxuXG4gICAgLm9yYW5nZS1waG9uZSxcbiAgICAucGFsZS1ncmV5LXRleHQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5vcmFuZ2UtcGhvbmUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICB9XG5cbiAgICAucGFsZS1ncmV5LXRleHQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICB9XG59XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgcGFkZGluZzogNjBweCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBwYWRkaW5nOiA5MHB4IDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IDE3cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgIH1cblxuICAgIC5yb3cgPiBkaXYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jb2VtYXJraW5nTW9kYWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cblxuICAgIC5vZW1hcmtpbmdNb2RhbEN0YSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuI2ZpdG1lbnRNb2RhbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZzogOXB4IDE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgLmZpdG1lbnRNb2RhbEN0YSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLnJldmVhbC52Y2VudGVyIHtcbiAgICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cbiIsIiNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciB7XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICAgICAgICAgICYuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc3NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQge1xuICAgIC5jaG9pY2Utd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hvaWNlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAxODJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgICAgICAgICB3aWR0aDogMzQ3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIC5jaGVjay1pY29uIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXZhbHVlPVwiWWVzXCJdIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXZhbHVlPVwiTm9cIl0ge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2staWNvbiB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNkZWRlZGU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgaGVpZ2h0OiAxOXB4O1xuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxOXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMTVweCAwO1xuICAgICAgICAgICAgd2lkdGg6IDI3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTZweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3RTZWxlY3RvciB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgcGFkZGluZzogMjBweCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyOHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDMwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAyNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxODdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzdweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGlyZV9tb3VudCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogJG1lZGl1bS1kYXJrLWdyYXk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jaG9pY2Uge1xuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5WRUhJQ0xFX1RZUEVfMSB7XG4gICAgICAgIC5jaG9pY2Uge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE4MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jY2hvaWNlTW9kYWwge1xuICAgICYucmV2ZWFsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDY3cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogNDBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gTm90ZTogbWF5YmUgd2UgY2FuIHJlbW92ZSB0aGUgaW5jbHVkZSBmb3IgcGFnaW5hdGlvbiBmcm9tIGZvdW5kYXRpb24gaWYgd2Ugd2lsbCBub3QgdXNlIGl0XG5cbi5wYWdpbmF0aW9uIHtcbiAgICBtYXJnaW46IDAgMCA1MHB4O1xuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAxMnB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogOXB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXJyZW50LXBhZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIH1cbn1cblxuLnN0b3Jlcy1wYWdpbmF0aW9uIHtcbiAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgIC5jdXJyZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBpbmhlcml0O1xuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIFByb2R1Y3QgdGlsZXMgZnJvbSByZXN1bHRzL2dyaWQgcGFnZVxuLnNlYXJjaC1yZXN1bHQtY29udGVudCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUge1xuICAgIC5ncmlkLXRpbGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5uZXctcm93OmZpcnN0LW9mLXR5cGUge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihqdXN0aWZ5KTtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLnByb2R1Y3QtbGluay1hYm92ZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAubGluay1hYm92ZS1wcm9kdWN0IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB6LWluZGV4OiAzO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3Zlcikge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya2VyLWdyYXktb3ZlcjtcblxuICAgICAgICAgICAgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheS1vdmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1jb21wYXJlIGxhYmVsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5pc01hc3RlclByb2R1Y3QpIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgICAgIC8vIGN1c3RvbSBicmVha3BvaW50IGJlY2F1c2UgYWxzbyBmb3IgMTAyNSB3ZSBoYXZlIGlzc3VlcyB3aXRoIHByaWNlIHNpemVcbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDEyNzlweCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVjb21tZW5kZWQtYmFnZGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDNweCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9tby1iYWRnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA3cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWJhZGdlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7XG5cbiAgICAgICAgICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnYtdmlldy1vbi12ZWhpY2xlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDY1cHg7XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAucmViYXRlIH4gLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA1cHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLWFsbC10by1jYXJ0IHtcbiAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFya2V0aW5nLWluZm8td3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYm9yZGVyLWdyZXkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMTBweDtcblxuICAgICAgICAubWFya2V0aW5nLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcblxuICAgICAgICAudGh1bWItbGluayB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMjE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTk1cHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgICAgICBtaW4taGVpZ2h0OiAyMHB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAuYnJhbmQtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXRlZ29yaWVzLWJveCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDEwcHggMCAxNXB4O1xuICAgIH1cblxuICAgIC5ub3QtYXZhaWxhYmxlLW1zZyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLmF2YWlsYWJpbGl0eS1tc2cge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cblxuICAgICAgICAuYXZhaWxhYmlsaXR5LWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1zaXplIHtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzTWFzdGVyUHJvZHVjdCB7XG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubWFzdGVyLXByb2R1Y3QtcHJpY2UsXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZSB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmlldy1vbi12ZWhpY2xlIHtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gUHJvZHVjdCBzZXRcbiAgICAuc2l6ZS1wcmljZS1xdHktYm94IHtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDAgMDtcblxuICAgICAgICAucHJvZHVjdC1zaXplLFxuICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgIC5ib3gtc3BhY2luZzpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGVfX2FjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDI7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZV9fYWRkLXRvLWNhcnQge1xuICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuXG4gICAgICAgIC5hZGQtdG8tY2FydCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jb21wYXJlLWl0ZW1zLWNvbnRhaW5lciB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICBib3R0b206IDA7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMztcbn1cblxuLmNvbXBhcmUtaXRlbXMge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTI0MHB4O1xuXG4gICAgLmNvbXBhcmUtaXRlbSB7XG4gICAgICAgIGhlaWdodDogMTYwcHg7XG4gICAgICAgIG1hcmdpbjogMzBweCA1MHB4IDMwcHggMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTUwcHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNDVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tcGFyZS1pdGVtLW5hbWUge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBhcmUtaXRlbS1udW1iZXIge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIGhlaWdodDogMTEwcHg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtaXRlbS1yZW1vdmUge1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDI4cHg7XG4gICAgfVxuXG4gICAgLmNvbXBhcmUtYWN0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZy10b3A6IDg0cHg7XG4gICAgfVxufVxuXG4uaXRhbGljLXRleHQge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmZpbmFuY2UtaW5mbyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNXB4KTtcbiAgICBtYXJnaW46IDI1cHggMDtcbiAgICBwYWRkaW5nOiAwLjVlbTtcblxuICAgIGEge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCB7XG4gICAgICAgIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWNvbXBhcmUge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBmbGV4OiAxIDEgMTAwJTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLmNvbXBhcmUtbGFiZWwsXG4gICAgICAgICAgICAuZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb21wYXJlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiA0cHg7XG4gICAgICAgICAgICAgICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpjaGVja2VkICsgLmlucHV0LWN1c3RvbTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgxMVwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAycHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjFkYlwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW5wdXQtY3VzdG9tLFxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTdweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXRpbGUtYWN0aXZlIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgLnByb2R1Y3QtY29tcGFyZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAgICAgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC10aWxlLWFjdGl2ZSxcbiAgICAgICAgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIge1xuICAgICAgICAgICAgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29tcGFyZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6ICRkYXJrZXItZ3JheS1vdmVyO1xuXG4gICAgICAgICAgICAuY29tcGFyZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuc3RhcnQtbmV3LXNlYXJjaC13cmFwcGVyIHtcbiAgICAgICAgdGV4dC1hbGlnbjogZW5kO1xuXG4gICAgICAgIC5sb2FkZXIge1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RhcnQtbmV3LXNlYXJjaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4IDA7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICB9XG5cbiAgICAubWF0Y2hlZC1wcm9kdWN0cyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuXG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgfVxuXG4gICAgLy8gc2VhcmNoIHJlc3VsdHMgdGFic1xuICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1yZXN1bHRzLXRhYnMge1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50YWJzLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIC02cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc29ydC1ieSB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1yZXN1bHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvcnQtYnkge1xuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgei1pbmRleDogMztcbiAgICAgICAgfVxuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAycHggNHB4IDVweCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRpc2FibGVkLWdyZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3JlZmluZW1lbnRzLWNvbnRlbnQtdHJpZ2dlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnJlZmluZW1lbnRzLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnJlZmluZW1lbnRzIHtcbiAgICAgICAgW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4gICAgICAgIFtjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1jaXJjbGUtdGhpbixcbiAgICAgICAgLmljb24tY2lyY2xlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAucmVmaW5lbWVudHMtY29udGVudCB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA0NHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7IFxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsZWFyLWZpbHRlcnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgICAgID4gYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDM3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUge1xuICAgICAgICAgICAgbWFyZ2luOiAtNXB4IDAgMTBweCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudFthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSA+IGE6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwY1wiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGJcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtc3VibWVudS1pdGVtIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHggMXB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkuc2VsZWN0ZWQgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLy8gTmVlZCBIZWxwIGFuZCBSZXNvdXJjZSBDZW50cmVcbiAgICAuaW5mby1ib3gge1xuICAgICAgICBtYXJnaW46IDUwcHggMCA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFya2dyZXkxKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAxNHB4O1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCh4bGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBMaXZlIENoYXQgYm94XG4gICAgLmxpdmUtY2hhdC1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJvcmRlci1ncmV5KTtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgNDBweDtcbiAgICAgICAgbWF4LWhlaWdodDogMzc1cHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTRweCAwO1xuICAgICAgICB3aWR0aDogMjEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMjBweCA0MHB4O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDA1cHg7XG4gICAgICAgICAgICB3aWR0aDogMzE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTgwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbWFnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzJweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBmaXQtY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXZlLWNoYXQtbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLm5lZWQtaGVscC1ib3gge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1saXZlY2hhdCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQYWdlcyB0YWJcbiAgICAuc2VhcmNoLXJlc3VsdHMtY29udGVudCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvbGRlci1jb250ZW50LWxpc3Qge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGVudC10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IGNhbGMtcmVtKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWFkbW9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc291cmNlLWNlbnRlciB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBDaGFuZ2UgbG9jYXRpb25cbiAgICAuY2hhbmdlLWxvY2F0aW9uLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWluLWhlaWdodDogNTBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jbmV3U2VhcmNoTW9kYWwge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYWRkLXJlYXItc2l6ZSxcbiAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3R0b206IC0yMnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgfVxuXG4gICAgLmNsb3NlX2J1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQge1xuICAgICAgICAubWF0Y2hlZC1wcm9kdWN0cyB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWZpbmVtZW50cy13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IHtcbiAgICAgICAgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc29ydC1ieSB7XG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWZpbmVtZW50cyB7XG4gICAgICAgICAgICAucmVmaW5lbWVudHMtY29udGVudCxcbiAgICAgICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQsXG4gICAgICAgICAgICAuY2xlYXItZmlsdGVycyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAwIDEycHggMjBweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlZmluZW1lbnQtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcblxuICAgICAgICAgICAgJi5zaXplcy10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wZHAtbWFpbiB7XG4gICAgLy8gRW5kIFNsaWRlclxuXG4gICAgLy8gUHJvZHVjdCBPdmVydmlld1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAucHJvZHVjdC1iYWRnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgfVxuXG4gICAgLmJyYW5kLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5wZHAtdG9wLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1zZXQtbGlzdCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgIC5wcm9kdWN0LXNldC1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA3NXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1zZXQtZGV0YWlscyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA3MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBtYXgtY29udGVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGQtc3ViLXByb2R1Y3Qge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA4cHggMCAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hZGQtYWxsLXRvLWNhcnQge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAuc2V0LWF0dHItdGl0bGVzIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcblxuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuXG4gICAgICAgIC52YWx1ZS1mcm9udCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDEycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUtcmVhciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG5cbiAgICAubWFudWZhY3R1cmVyLW51bWJlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgfVxuXG4gICAgLm11bHRpcGxlLW1hbnVmYWN0dXJlci1udW1iZXJzIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE4cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yZXZpZXctdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3ZlcnZpZXcsXG4gICAgLnByb2R1Y3QtZGVzY3JpcHRpb24sXG4gICAgLnRlc3QtcmVzdWx0cyxcbiAgICAucHJvZHVjdC1zaXplcyxcbiAgICAucmF0aW5nLWJveCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cblxuICAgICNwcm9kdWN0RGVzY3JpcHRpb24sXG4gICAgI3Rlc3RSZXN1bHRzLFxuICAgICNyYWl0aW5nUmV2aWV3cyxcbiAgICAjcHJvZHVjdFNpemVzIHtcbiAgICAgICAgc2Nyb2xsLW1hcmdpbi10b3A6IDEyMHB4O1xuICAgIH1cblxuICAgIC8vIFNsaWRlclxuICAgIC5wcm9kdWN0LWltYWdlLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGh1bWJuYWlscyB7XG4gICAgICAgIG1hcmdpbjogMTBweCAxMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDU2cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNjZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudG9wLXBhZGRpbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgJi5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aHVtYiB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stbmV4dCxcbiAgICAgICAgLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICRncmV5LWRpc2FibGVkO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1uZXh0IHtcbiAgICAgICAgICAgIHJpZ2h0OiAtMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yM3B4O1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgxNFwiO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stcHJldiB7XG4gICAgICAgICAgICBsZWZ0OiAtMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHRvcDogLTEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MTNcIjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXNsaWRlIHtcbiAgICAgICAgICAgICYuc2xpY2stY3VycmVudCB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3R0aHVtYm5haWwge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLWNhcm91c2VsIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjcycHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzBweCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzMTdweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA4NXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1zbGlkZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgICAgICAmLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZpZGVvV3JhcHBlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDMxNXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJ2aWV3IHtcbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuXG4gICAgICAgICAgICAgICAgJi50cmFpbGVyLXRpcmUtYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jYXRlZ29yeS1hdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogMThweDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcmV2aWV3IHtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkaXRpb25hbC1kZXRhaWxzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJpY2UgUXR5IGFuZCBBZGQgdG8gY2FydCBzZWN0aW9uc1xuICAgIC5wcmljZS1yaWdodC1ib3gge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljZS13cmFwIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtcmlnaHQtYm94IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmludmVudG9yeSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW52ZW50b3J5IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNzVweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAjdG90YWxQcmljZVNlY3Rpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuXG4gICAgICAgICAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1sYWJlbCxcbiAgICAgICAgLnF1YW50aXR5IC5xdWFudGl0eS10b3RhbCxcbiAgICAgICAgLnF1YW50aXR5IGxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGluaGVyaXQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgICAgICArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG5cbiAgICAgICAgICAgICAgICAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2R1Y3QgZGVzY3JpcHRpb25cbiAgICAucHJvZHVjdC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgODBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzNXB4IDAgMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmUtcGxhbiB7XG4gICAgICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gS2FsJ3MgdGVzdCByZXN1bHRzXG4gICAgLnRlc3QtcmVzdWx0cyB7XG4gICAgICAgIC5kcml2ZXItbm90ZXMtd3JhcCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRyaXZlci1ub3RlcyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgfVxuXG4gICAgICAgIC5kcml2ZXItbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRlc3RpbmctdmlkZW8tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucXVlc3Rpb25zIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDA7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbmxpbmUtcXVlc3Rpb24tbWFyayB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDEwcHggMCAwO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFzb24tdGl0bGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF0dHJpYnV0ZS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFzc29uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWN0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA0NyU7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYWJlbC10aXRsZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sYWJlbC10aXRsZS1ib2xkIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmFpdGluZyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4gICAgICAgICAgICBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaXplcyAmIFNwZWNzXG4gICAgLnByb2R1Y3Qtc2l6ZXMge1xuICAgICAgICAubW9kZWwtc3BlY3Mge1xuICAgICAgICAgICAgLm1vZGVsLWJveCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vZGVsLXNpemUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmlldy1hbGwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogN3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmZpbmlzaF9hdHRyaWJ1dGUgLnZhbHVlOm5vdCgudmFsdWUtcmVhcikge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YWx1ZS1yZWFyIHtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDgwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZC1yYW5nZS10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy9zdHlsZSBpZiBwcm9kdWN0IGlzIHNlcnZpY2UgdHlwZVxuICAgIC5zZXJ2aWNlLWluZm8td3JhcHBlciB7XG4gICAgICAgIC5sZWZ0LWluZm8ge1xuICAgICAgICAgICAgLnNlbC1zdWJ0aXRsZSB7XG4gICAgICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQtaW5mbyB7XG4gICAgICAgICAgICAubmV3c2VhcmNoLXRpcmVzZWxlY3Rpb24ge1xuICAgICAgICAgICAgICAgIC5pbml0LXNlbGVjdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaW5mby1jb250ZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpcmUge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsLWluZm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2l6ZXMgJiBTcGVjcyAtIG1hc3RlciBwcm9kdWN0XG4ucHJvZHVjdC1zaXplLXRhYnMge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIGJvcmRlcjogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC1ncm93OiBpbml0aWFsO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAmLnRyYWlsZXItbG9hZC1yYW5nZS10YWJzIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnRhYnMtdGl0bGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXItYm90dG9tOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxleDogMCAxIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMiU7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDFyZW0gMXJlbTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5sb2FkLXJhbmdlLWFuY2hvciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC41cmVtIDJyZW0gMXJlbTtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgfVxuXG4gICAgICAgID4gYTpmb2N1cyxcbiAgICAgICAgPiBhW2FyaWEtc2VsZWN0ZWQ9XCJ0cnVlXCJdIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUsXG4gICAgICAgICY6Zm9jdXMsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgYSxcbiAgICAgICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IHtcbiAgICBib3JkZXI6IDA7XG5cbiAgICAudGFicy1wYW5lbCB7XG4gICAgICAgIHBhZGRpbmc6IDIuNzVyZW0gMDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNDhweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMzJTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50cmFpbGVyLWxvYWQtcmFuZ2Utb3B0aW9ucyB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMC41cmVtO1xuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIHtcbiAgICAgICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50YWJzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGlyZS1zaXplLW9wdGlvbnMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50cmFpbGVyLXRpcmUtc2l6ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pbWFnZS10b29sdGlwIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogNXB4IDAgMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBtYXJnaW46IDVweCAwIDAgMjBweDtcbiAgICB9XG5cbiAgICAuaGFzLXRpcCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICB9XG59XG5cbi50b29sdGlwLmltZy10aXAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWF4LXdpZHRoOiAyNjBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgaDEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogN3B4IDE1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgfVxuXG4gICAgJi50b3Age1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1hc3RlciBQRFBcbi5wZHAtbWFzdGVyIHtcbiAgICAucHJvZHVjdC1zaXplZixcbiAgICAucHJvZHVjdC13aGVlbHNpemVmIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgYnIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLnBkcC1tYWluIHtcbiAgICAgICAgLy8gUHJvZHVjdCBPdmVydmlld1xuICAgICAgICAuYmFkZ2VzLWJveCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWJhZGdlLFxuICAgICAgICAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgICAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvcC1pbmZvLXByb2R1Y3QtYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAvLyBQRFAgbmF2aWdhdGlvbiAtIGp1c3QgZm9yIGxhcmdlXG4gICAgLnBkcC1uYXYge1xuICAgICAgICBtYXJnaW46IDAgMCA3MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICB3aWR0aDogMjAlO1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBkcC1tYWluIHtcbiAgICAgICAgLnByb2R1Y3Qtc2l6ZXMge1xuICAgICAgICAgICAgLmF0dHItY29sdW1uIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDUlO1xuXG4gICAgICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmNvbXBhcmUtcGFnZSB7XG4gICAgLy8gaG9yaXpvbnRhbCBzY3JvbGwgZm9yIG1lZGl1bVxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgLnNjcm9sbC1zZWN0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogdG91Y2g7XG4gICAgICAgICAgICAtbXMtb3ZlcmZsb3ctc3R5bGU6IC1tcy1hdXRvaGlkaW5nLXNjcm9sbGJhcjtcblxuICAgICAgICAgICAgJi5uby1tYXJnaW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3cgbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnR3by1jb2x1bW5zIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAudGl0bGUtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgLnRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRocmVlLWNvbHVtbnMge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIC50aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICAudGl0bGUtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc21hbGwtZGV2aWNlLW1lc3NhZ2Uge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW46IDEwMHB4IDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiAyNXB4IDAgMjBweDtcbiAgICB9XG5cbiAgICBhLmJhY2sge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDUwcHg7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWNvbHVtbiB7XG4gICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZSxcbiAgICAgICAgICAgIC50ZXN0LXNjb3JlIC5zZWFzb24tdGl0bGUge1xuICAgICAgICAgICAgICAgIG91dGxpbmU6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjY29tcGFyZS10YWJsZSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwMHB4O1xuXG4gICAgICAgIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gY3VzdG9tIGdyaWQgZm9yIGNvbXBhcmUgcGFnZVxuICAgIC50d28tY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGhyZWUtY29sdW1ucyB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTtcblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIuMTg2NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS40MDU3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS40MDU3NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDMpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjE4NjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJvZHVjdCBUaWxlcyBjb250YWluZXJcbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAlcmVtb3ZlUHJvZHVjdEljb24geyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gICAgICAgICAgICAgICAgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICsgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICVyZW1vdmVQcm9kdWN0SWNvbjtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJXJlbW92ZVByb2R1Y3RJY29uO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgICAgICAgLnByb21vLWJhZGdlLFxuICAgICAgICAucHJvZHVjdC1hdHRyaWJ1dGVzLFxuICAgICAgICAuYXZhaWxhYmlsaXR5LW1zZyxcbiAgICAgICAgLnByb2R1Y3Qtc2l6ZSxcbiAgICAgICAgLnRlc3RlZC1ieWthbC1iYWRnZSxcbiAgICAgICAgLmFkaXRpb25hbC1kZXRhaWxzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1iYWRnZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMjE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMjVweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAuYnJhbmQtbmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm5hbWUtbGluayB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtcXR5LWJveCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcblxuICAgICAgICAgICAgLnByaWNlLXNhbGVzLFxuICAgICAgICAgICAgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyArIC5yZWJhdGUge1xuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAuaW52ZW50b3J5IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBpbnB1dC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvLyBDYXRlZ29yeSBzZWN0aW9uXG4gICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogJGNvbXBhcmUtZ3JheTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN1bW1hcnkgc2VjdGlvbiBhbmQgVGlyZSBTcGVjcyBzZWN0aW9uXG4gICAgLnN1bW1hcnksXG4gICAgLnRpcmUtc3BlY3Mge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMTJweDtcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEthbCdzIFRlc3QgU2NvcmVzXG4gICAgLnRlc3Qtc2NvcmUge1xuICAgICAgICAuc2VjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXR0cmlidXRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbC10aXRsZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAucmFpdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4OztcbiAgICAgICAgfVxuXG4gICAgICAgIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgICBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXNvbi10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcblxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNtYWxsLWRldmljZS1tZXNzYWdlIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbjogMTAwcHggMCAwO1xuXG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgfVxuXG4gICAgYS5iYWNrIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1jb2x1bW4ge1xuICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUsXG4gICAgICAgICAgICAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvbXBhcmUtdGFibGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICAgICAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGN1c3RvbSBncmlkIGZvciBjb21wYXJlIHBhZ2VcbiAgICAudHdvLWNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRocmVlLWNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNDA1NzVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDA1NzVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4xODY1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2R1Y3QgVGlsZXMgY29udGFpbmVyXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgJXJlbW92ZVByb2R1Y3RJY29uIHsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgICAgICAgICAgICAgIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICArIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlcmVtb3ZlUHJvZHVjdEljb247XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICVyZW1vdmVQcm9kdWN0SWNvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVjb21tZW5kZWQtYmFnZGUsXG4gICAgICAgIC5wcm9tby1iYWRnZSxcbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgICAgICAgLmF2YWlsYWJpbGl0eS1tc2csXG4gICAgICAgIC5wcm9kdWN0LXNpemUsXG4gICAgICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2UsXG4gICAgICAgIC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDI1cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmJyYW5kLW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYW1lLWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAvLyBSZXZpZXdzXG4gICAgICAgIC5wcm9kdWN0LXJldmlldyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDVweCAwIDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zYV9zMjhfcmF0aW5nLFxuICAgICAgICAgICAgLnNhX3MyOF9wb2ludHNfcmF0aW5nIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zYV9zMjhfbGVmdEJyYWNrZXRzLFxuICAgICAgICAgICAgLnNhX3MyOF9wcm9kdWN0UmV2aWV3Q291bnQsXG4gICAgICAgICAgICAuc2FfczI4X21hc3RlckNhdGVnb3J5UGFnZVRleHQsXG4gICAgICAgICAgICAuc2FfczI4X2NoaWxkQ2F0ZWdvcnlQYWdlVGV4dCxcbiAgICAgICAgICAgIC5zYV9zMjhfcmlnaHRCcmFja2V0cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNhX3MyOF9wb2ludHNfcmF0aW5nIHtcbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1xdHktYm94IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNzUlO1xuXG4gICAgICAgICAgICAucHJpY2Utc2FsZXMsXG4gICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IC01cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzICsgLnJlYmF0ZSB7XG4gICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbnZlbnRvcnkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgICAgICBsYWJlbCxcbiAgICAgICAgICAgIGlucHV0LnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDg1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tZ3JvdXAge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC8vIENhdGVnb3J5IHNlY3Rpb25cbiAgICAuY2F0ZWdvcmllcyB7XG4gICAgICAgIC5jYXRlZ29yeSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblxuICAgICAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3VtbWFyeSBzZWN0aW9uIGFuZCBUaXJlIFNwZWNzIHNlY3Rpb25cbiAgICAuc3VtbWFyeSxcbiAgICAudGlyZS1zcGVjcyB7XG4gICAgICAgIC5hdHRyaWJ1dGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxMnB4O1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDlweCAxMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gS2FsJ3MgVGVzdCBTY29yZXNcbiAgICAudGVzdC1zY29yZSB7XG4gICAgICAgIC5zZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcGFkZGluZzogMTJweDtcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hdHRyaWJ1dGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsLXRpdGxlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3NXB4KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYWl0aW5nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgd2lkdGg6IDc1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbiAgICAgICAgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFzb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2R1Y3Qgc2V0XG4gICAgLnByb2R1Y3Qtc2V0IHtcbiAgICAgICAgLy8gUHJvZHVjdCB0aWxlcyBzZWN0aW9uXG4gICAgICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAucHJvZHVjdC1zaXplIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNpemUtcHJpY2UtcXR5LWJveCB7XG4gICAgICAgICAgICAuYm94LXNwYWNpbmcge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDE4JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2VRdHlDb21wYXJlRm9ybSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB3aWR0aDogODIlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDcwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb21vdGlvbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXNldC1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2V0LWRldGFpbHMge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICB3aWR0aDogNjUlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDczJTtcblxuICAgICAgICAgICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByaWNlLXNhbGVzLFxuICAgICAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAycHggMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDM1JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC8vIFN1bW1hcnkgYW5kIFRpcmUgU3BlY3Mgc2VjdGlvbnNcbiAgICAgICAgLnNldC1hdHRyLXRpdGxlcyB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweCAxMnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2V0LWF0dHJpYnV0ZS1uYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICB3aWR0aDogMTglO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdW1tYXJ5LFxuICAgICAgICAudGlyZS1zcGVjcyB7XG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICA+IC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOCU7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgID4gLm5hbWUge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzQlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpcmUtc3BlY3Mge1xuICAgICAgICAgICAgLnZhbHVlLXJlYXIge1xuICAgICAgICAgICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5maW5pc2hfYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNjYlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC52YWx1ZTpub3QoLnZhbHVlLXJlYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuZmluYW5jaW5nLWJsb2NrcyB7XG4gICAgJi5hY3RpdmUtcGxhbiB7XG4gICAgICAgIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICBoMixcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgbWluLWhlaWdodDogMjMwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5MHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAuZmluYW5jaW5nLW1vbnRoLXRleHQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDU2cHg7XG5cbiAgICAgICAgICAgICtwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICAgICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1pbmZvIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS40NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgICAgICAgICBib3R0b206IDEycHg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0cHgpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IGF1dG8gMDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc3RlcHMtdG8tdGFrZSB7XG4gICAgICAgIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiA3cHggc29saWQgIzFlMWUxZTtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQzOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTNweCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTE1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNHJlbTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDE4cHg7XG4gICAgICAgIH1cbiAgICAgICAgXG4gICAgfVxufVxuXG4uYXRyb290IHtcbiAgICAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgxKSxcbiAgICAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgyKSB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZjM5MDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZjM5MDA7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMzclO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubGFzdC1tb250aGx5LWNvbHVtbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDUwcHggIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YyZjJmMjtcbiAgICB9XG5cbiAgICAuY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZCB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5MHB4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1tb250aC10ZXh0IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzBweCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQxcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1pbmZvLTEsXG4gICAgICAgIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1pbmZvLTEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctaW5mby0yIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMy4ycmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBwLmZpbmFuY2luZy1pbmZvLTEsXG4gICAgICAgICAgICAgICAgcC5maW5hbmNpbmctaW5mby0yIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA5MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAudGVybXMtY29uZGl0aW9ucyB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2ItY29sdW1uLWNoaWxkLWNvcHkuc2luZ2xlLWNvbHVtbiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgcC50ZXJtcy1jb25kaXRpb25zIHsgXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maW5hbmNpbmctYXBwbHktbm93LWN0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIGEge1xuICAgICAgICBtaW4td2lkdGg6IDIyMHB4O1xuICAgIH1cblxuICAgIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuIiwiI3Jlc3VsdHMtaW5mby1mcm9tLWdzcCB7XG4gICAgbWFyZ2luOiAyNXB4IDAgNTBweDtcblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgfVxuXG4gICAgI2NoYW5nZS1yZXNwb25zZXMtY3RhIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1hbGwtd2VhdGhlciBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRwdXJwbGU7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci13aW50ZXIgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkYmx1ZS13aGl0ZXI7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci0zLXNlYXNvbiBoNCBzcGFuLFxuICAgICYuY2F0Y29sb3ItYWxsLXNlYXNvbiBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRvcmFuZ2UteWVsbG93O1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItcGVyZm9ybWFuY2UgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlLWRhcmtlcjtcbiAgICB9XG5cbiAgICAmLmNhdGNvbG9yLXRvdXJpbmcgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW47XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1tdWQtdGVycmFpbiBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRicm93bi1kYXJrZXI7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1zcG9ydC10cnVjayBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRncmVlbi13aGl0ZXI7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1hbGwtdGVycmFpbiBoNCBzcGFuIHtcbiAgICAgICAgY29sb3I6ICRicm93bjtcbiAgICB9XG5cbiAgICAmLmNhdGNvbG9yLWNvbW1lcmNpYWwgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS0wMTtcbiAgICB9XG5cbiAgICAmLmNhdGNvbG9yLXVsdHJhLWhpZ2gtcGVyZm9ybWFuY2UgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkZ3JleS0wMjtcbiAgICB9XG59XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgLmF0cm9vdCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2dzcE1vYmlsZUNsb3NlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICBwYWRkaW5nOiAxLjVlbSAwIDAuNzVlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KSwgMC44NSk7XG4gICAgfVxuXG4gICAgLmdzcC1xdWVzdGlvbi1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxZW07XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGhlaWdodDogMmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDFlbSAwIC0zLjVlbTtcbiAgICAgICAgbWluLXdpZHRoOiAyZW07XG4gICAgICAgIHdpZHRoOiAyZW07XG4gICAgfVxuXG4gICAgLmdzcC1xdWVzdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFya2dyZXkxKSB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9xdWVzdGlvbi1oZWFkZXItaW1hZ2UucG5nXCIpIC00MnB4IGNlbnRlciBuby1yZXBlYXQ7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMTk0cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSksIDAuODUpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlQDJ4LnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IC02NnB4IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNDglO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBkaXYge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjM3NWVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuMzc1ZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDAuOTc3NWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuOTc3NWVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNDA5NWVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjQwOTVlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3BBbnN3ZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLmZhLXRpbWVzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogLTExcHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgIHRvcDogNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3Qge1xuICAgICAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMi41cHgpO1xuICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYyg1MCUgLSAyMi41cHgpO1xuICAgICAgICAgICAgaGVpZ2h0OiA4LjVlbTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuMmVtIDAuOTM3NXJlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAyMi41cHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygzMyUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDExZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuNjI1cmVtIDEuMmVtO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogY2FsYygzMyUgLSAyMHB4KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogY2FsYygyMCUgLSAyMHB4KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEyLjVlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMjAlIC0gMjBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMzdweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDZweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSksIDAuNCk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxLjY4NzVyZW07XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNyZW07XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS41cmVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdG9wOiAxLjY4NzVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDNyZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjQzNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMS42ODc1cmVtO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDMuMTI1cmVtO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMy40Mzc1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIHtcbiAgICAgICAgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG5cbiAgICAgICAgICAgICAgICBoNCxcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuXG4gICAgICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMmVtIDAgMC43NWVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KSwgMC43KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9wdGlvbi1iZyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMjRweDtcbiAgICAgICAgICAgIGhlaWdodDogNDdweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDMuNzVlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDkuMzc1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YixcbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyB7XG4gICAgICAgIC5nc3BBbnN3ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzEyNWVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIge1xuICAgICAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0LjE4NzVyZW07XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMS44NzVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTQuMTg3NXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMS44NzVyZW07XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxNC4xODc1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAxLjg3NXJlbTtcblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMi4xM3JlbTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMC45NTI0ZW07XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQzcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHNwYW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDlweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQuMzc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1LjYyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3RlZCB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxLjY4NzVyZW07XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMuMDM3NXJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDAuNzI1cmVtO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0b3A6IDAuNTI1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzLjAzNzVyZW07XG4gICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIHtcbiAgICAgICAgLmdzcC1xdWVzdGlvbi1udW1iZXIge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0zLjc1ZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgIGhlaWdodDogMTNyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMC45Mzc1cmVtIDEuODc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTMuODEyNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMC40Mzc1cmVtO1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTdyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA4LjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMC44MTI1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNHJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxOXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuMjVlbTtcbiAgICAgICAgcGFkZGluZzogMTNweCAyLjVlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24taG92ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgaDQsXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQsXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBoNCxcbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAzNnB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAtNDJweCA1cHggMDtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogcmdiYShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpLCAwLjIpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWxlY3RlZCAub3B0aW9uLFxuICAgIC5vcHRpb246aG92ZXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkd2hpdGU7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMge1xuICAgIC5nc3AtcXVlc3Rpb24tYW5zd2VycyB1bCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3BBbnN3ZXIge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogNDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYXV0bztcblxuICAgICAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIixcIjtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5ub3Jlc3VsdHMtcGFnZSB7XG4gICAgcCxcbiAgICBhIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgLnNlYXJjaC1waHJhc2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICB9XG5cbiAgICAubm9yZXN1bHRzLW1lc3NhZ2Uge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIH1cblxuICAgIC5uZXctc2VhcmNoLFxuICAgIC5yZWxhdGVkLXNlYXJjaCxcbiAgICAucmVzb3VyY2UtY2VudGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICB9XG5cbiAgICAubmV3LXNlYXJjaCB7XG4gICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA3cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaWNvbi1zZWFyY2gge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVsYXRlZC1zZWFyY2gge1xuICAgICAgICAucmVmaW5lbWVudC1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b21lci1zZXJ2aWNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBoNCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCA4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42ODc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5ob2xsb3cge1xuICAgICAgICAgICAgY29sb3I6IGluaGVyaXQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLm5vcmVzdWx0cy1wYWdlIHtcbiAgICAgICAgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFya2dyZXkxKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNDVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQ1cHggMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tZWRpdW0tY2VudGVyZWQge1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9xdWVzdGlvbi1oZWFkZXItaW1hZ2VAMngucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTUwcHggY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtc2l6ZTogNjAwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzLjEyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIC5ub3Jlc3VsdHMtcGFnZSB7XG4gICAgICAgIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTUwJSBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIudmlzdWFsaXplci13cmFwcGVyIHtcbiAgICBib3JkZXI6IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xufVxuXG4udmlzdWFsaXplci1jb250YWluZXIge1xuICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuNzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAudmlzdWFsaXplci1pbWFnZSB7XG4gICAgICAgICAgICBib3R0b206IDQuMTc1cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpc3VhbGl6ZXItdG9vbHMge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pbWl6ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgfVxuXG4gICAgLmJyYW5kLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICB9XG5cbiAgICAuZmluaXNoIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi42MjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC5maW5pc2gsXG4gICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIGVtIHtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgfVxuXG4gICAgLnZpc3VhbGl6ZXItdGlwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvdHRvbTogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLnZpc3VhbGl6ZXItY2Fyb3VzZWwge1xuICAgIGJvcmRlci10b3A6IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIHBhZGRpbmc6IDEuMjVyZW0gMy41cmVtIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNhcm91c2VsLXdyYXBwZXIge1xuICAgICAgICBoZWlnaHQ6IDE0cmVtO1xuICAgIH1cblxuICAgIC5jYXJvdXNlbC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4udi1jYXJvdXNlbC1pdGVtIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG5cbiAgICBoZWlnaHQ6IDE0cmVtO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgaW1nIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgIH1cblxuICAgIC5wcmljZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIC5jdXJyZW5jeS1jb2RlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTAwJTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWN0aXZlLFxuICAgICY6aG92ZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG59XG5cbi52aXN1YWxpemVyLWNvbG9ycyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDAgMC42MjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBib3R0b206IDAuNjI1cmVtO1xuICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxcmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luOiA1cHggMnB4O1xuICAgICAgICBtaW4td2lkdGg6IDFyZW07XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1pbmRlbnQ6IC05OTk5cHg7XG4gICAgICAgIHdpZHRoOiAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IC0wLjVyZW0gMCAwIC0wLjVyZW07XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jdi12aXN1YWxpemVyLWxhcmdlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI0cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpc3VhbGl6ZXItdG9vbHMge1xuICAgICAgICAubWluaW1pemUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuZXhwYW5kIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICB9XG59XG5cbi5jYXJvdXNlbC1idG4ge1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBoZWlnaHQ6IDJyZW07XG4gICAgbGVmdDogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS43NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogNHJlbTtcbiAgICB3aWR0aDogMnJlbTtcblxuICAgICYuc2xpY2stZGlzYWJsZWQge1xuICAgICAgICBib3JkZXItY29sb3I6ICRsaWdodC1ncmF5O1xuICAgICAgICBjb2xvcjogJGxpZ2h0LWdyYXk7XG4gICAgfVxuXG4gICAgJi5jYXJvdXNlbC1uZXh0IHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgfVxufVxuXG4jdi1wZHAtdG9wbGV2ZWxjb21wb25lbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICN2LXZlaGljbGUtaW1hZ2Uge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTcuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWxhdGl2ZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiN2LXZpc3VhbGl6ZXItZGVmYXVsdC12ZWhpY2xlLXNtYWxsIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG4iLCIvLyBMb2dpbiBwYWdlIHN0eWxlc1xuXG4ubG9naW4td3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNi4yNXJlbTtcbiAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGJvcmRlcjogNXB4IHNvbGlkIHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KSwgMC44KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuODEzcmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogNC4wNjNyZW07XG4gICAgfVxuXG4gICAgLnB0X2NhcnQgJiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLmJvcmRlcmVkLWVuZCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgIC5idXR0b24tZ3JvdXAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFzc3dvcmQtcmVzZXQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2dpbi1yZW1lbWJlcm1lIHtcbiAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXJyb3ItZm9ybSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtO1xuICAgIH1cblxuICAgIC5sb2dpbi1jcmVhdGUtYWNjb3VudCBwIHtcbiAgICAgICAgbWFyZ2luOiAwLjE4NzVyZW0gMCAxLjc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvZ2luLXBhZ2UtdGl0bGUsXG4lbG9naW4tcGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbjogMzBweCAwIDIuOTM3NXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDUwcHggMCAyLjkzNzVyZW07XG4gICAgfVxufVxuXG4vLyBNb2RhbCBkaWFsb2cgc3R5bGluZ1xuXG4udWktd2lkZ2V0LW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpLCAwLjkpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMTAwO1xufVxuXG4udWktd2lkZ2V0IHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBwYWRkaW5nOiAwIDAuOTM3NXJlbTtcbiAgICB6LWluZGV4OiAxMDE7XG5cbiAgICBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpYWxvZy1jb250ZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogMS4wNjI1cmVtIDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNjg3NXJlbSAxLjg3NXJlbSAyLjY4NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC51aS1kaWFsb2ctdGl0bGUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDM1cHg7XG4gICAgICAgIHRvcDogMTJweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcmlnaHQ6IDQ3cHg7XG4gICAgICAgICAgICB0b3A6IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktYnV0dG9uLWljb24tb25seSB7XG4gICAgICAgIC51aS1idXR0b24tdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnkge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBkXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICNkYjVhMDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGlhbG9nLWJ1dHRvbnBhbmUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBwYWRkaW5nOiAxLjVyZW0gMS4yNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxLjg3NXJlbSAxLjVlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubm8tYnV0dG9ucGFuZSAudWktZGlhbG9nLWJ1dHRvbnBhbmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5idXR0b24tbW9kYWwge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMnJlbTtcbiAgICAgICAgcGFkZGluZzogMC43NXJlbSAxOHB4O1xuICAgIH1cbn1cblxuLy8gU2hvdy9IaWRlIFBhc3N3b3JkIGJ1dHRvbiBcblxuLnBhc3N3b3JkLWNvbnRhaW5lciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG4ucGFzc3dvcmQtaWNvbiB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDEwcHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZXllLXNob3ctcGFzc3dvcmQuc3ZnXCIpO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuICAgIH1cblxuICAgICYucGFzc3dvcmQtc2hvdyB7XG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9leWUtaGlkZS1wYXNzd29yZC5zdmdcIik7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFJlc2V0IHBhc3N3b3JkIGRpYWxvZyBzdHlsZXNcblxuLmZvcmdvdC1wYXNzd29yZCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG59XG5cbi5wYXNzd29yZC1yZXNldC1kaWFsb2cge1xuICAgIG1heC13aWR0aDogNDJyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZvcm0tcm93IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNDAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMzc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG59XG5cbi5wdF9hY2NvdW50IHtcbiAgICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICB9XG59XG4iLCIucmVnaXN0ZXItcGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBtYXJnaW46IDIwcHggMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbjogMzBweCBhdXRvIDIuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxuXG4gICAgJi5oYXMtc3VidGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgfVxufVxuXG4ucmVnaXN0ZXItYnJlYWRjcnVtYiB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgbWFyZ2luLXRvcDogNDBweDtcbn1cblxuLnJlZ2lzdGVyLWZvcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IDQuODc1cmVtO1xuXG4gICAgLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgLmluZm8tYm94IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaGlkZGVuLWNhcHRpb24ge1xuICAgICAgICAuZm9ybS1jYXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmV3c2xldHRlci10ZXh0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnBhY2thZ2VzLXNlbGVjdGlvbiB7XG4gICAgbWFyZ2luOiA0MHB4IDAgMTVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgfVxuXG4gICAgLmNpcmNsZS1pbmRpY2F0b3Ige1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDkwcHg7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5way1lZGl0LXdoZWVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RlcC1udW1iZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjMxMjVyZW0gMCAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAuc3RlcC1udW1iZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiAjZDlkOWRhO1xuXG4gICAgICAgICAgICAuc3RlcC1udW1iZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNkOWQ5ZGE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyB7XG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgaDUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taWQtbGluZS1jb3B5IHtcbiAgICAgICAgbWFyZ2luOiAyLjVyZW0gMCAyLjM3NXJlbTtcbiAgICB9XG4gICAgXG5cbiAgICAub2Utc2l6ZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlbC1zdWJ0aXRsZSBzcGFuIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAxOHB4O1xuXG4gICAgICAgICAgICAmOm5vdCguc2VsLXN1YnRpdGxlKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5vZS1zaXplLW9yYW5nZSB7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1ob3ZlcjtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6ICRidXR0b24taG92ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9wdGlvbmFsLXNpemVzLWhlYWRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4xODc1cmVtO1xuICAgICAgICBcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNob3ctc2VsZi1zZXJ2aWNlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICB9XG5cbiAgICAub2Utc2l6ZS1jb250YWluZXIge1xuICAgICAgICAuc2VjdGlvbi10aXRlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN1YnRpdGxlLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnlvdXItdmVoaWNsZS1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZS10b29sdGlwIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuXG4gICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5vZS1zaXplLWJ0biB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uc2VjdGlvbi1xdWVzdGlvbi1jb3B5IHAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cbn1cblxuLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZyB7XG4gICAgQGV4dGVuZCAuc2VjdGlvbi1xdWVzdGlvbi1jb3B5OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zMTI1cmVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxufVxuXG4ucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nLW1haW4ge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICB9XG59XG5cbi5wYWNrYWdlcy1zdGFnZ2VyZWQge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbiAgICBcbiAgICAucGFja2FnZS1zdGFnZ2VyZWQtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIjcmViYXRlc0xhbmRpbmdXcmFwcGVyIHtcbiAgICAucmViYXRlc1RvcFNsb3RXcmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogNzBweCAwIDEwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEyNXB4IDAgMTM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMSxcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2N3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjJyZW07XG4gICAgICAgICAgICBtYXJnaW46IDEuNHJlbSAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjZyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlcy10YWJzLW5hdi13cmFwcGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy10YWJzLW5hdiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmbGV4LWdyb3c6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIGEge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIsXG4gICAgICAgICAgICAmLmFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlc01haW5Db250ZW50V3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogNDVweCAwIDExNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDc1cHggMCAxMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGVzLWxhbmRpbmctaGVhZCB7XG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uc21hbGwge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGVzLWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgYm9yZGVyOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICAgICAgcGFkZGluZzogN3B4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlcy1pdGVtLWltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMzUuMzMyJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGVzLWl0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDY0LjY3JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDE4cHg7XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweCAxMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTFweCAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGVzLWl0ZW0tdHlwZS1yb3cge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5yZWJhdGVzLWl0ZW0tdHlwZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy1pdGVtLXR5cGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTNweDtcblxuICAgICAgICAmLmJsYWNrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgfVxufVxuIiwiLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBoNCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhbmRzLXBhZ2UtdGl0bGUge1xuICAgICAgICBAZXh0ZW5kICVsb2dpbi1wYWdlLXRpdGxlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhbmRzLFxuICAgIC5mZWF0dXJlZC1icmFuZHMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQuMTg3NXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzLjEyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmFuZHMtc2xvdCBkaXYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjhyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmFuZHMge1xuICAgICAgICBwYWRkaW5nOiAxcmVtIDA7XG4gICAgfVxuXG4gICAgLmJyYW5kcy1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogOHJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS4zcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5mZWF0dXJlZC1icmFuZHMtaXRlbSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogNy4xODc1cmVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDE1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMS41cmVtO1xuICAgICAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuM3JlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC42MjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQuMDYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyYW5kLWJhbm5lciB7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICAgIHBhZGRpbmc6IDRyZW0gMCAzcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgcGFkZGluZzogOC43NXJlbSAwIDguMjVyZW07XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDEsXG4gICAgaDIge1xuICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA2N3B4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyYW5kLWJhbm5lci13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgICBtaW4taGVpZ2h0OiAzLjc1cmVtO1xuICAgIH1cblxuICAgIC5icmFuZC1iYW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3OSUgMjAlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNS42MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDguMTI1cmVtIDAgOC4yNXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyYW5kLW1lbnUtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSksIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIGhlaWdodDogMy4zMTI1cmVtO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWxlY3RlZCxcbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDNweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyYW5kLXBhZ2UtdGl0bGUge1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYWJvdXQtYnJhbmQtc2VjdGlvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcblxuICAgIGlmcmFtZSB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLFxuICAgIHAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLmFib3V0LWJyYW5kLXRvcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgfVxufVxuXG4uYnJhbmQtcGFnZS1wcm9kdWN0cyB7XG4gICAgLmdyaWQtdGlsZSB7XG4gICAgICAgIEBleHRlbmQgLmxhcmdlLTM7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICB9XG5cbiAgICAucmVjb21tZW5kZWQtYmFnZGUsXG4gICAgLnByb2R1Y3QtY29tcGFyZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG59XG4iLCIuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciB7XG4gICAgLmNvbnRhY3QtdXMtbWFwIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdHVzLWJhbm5lciB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICAgICAgICBwYWRkaW5nOiA0cmVtIDAgM3JlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDguNzVyZW0gMCA4LjI1cmVtO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0dXMtYmFubmVyLXRleHQtYmxvY2sge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDY3cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJkcy10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC1ibG9jayB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICAuY29udGFjdC10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICAuY29udGFjdC1vcGVuaW5nZGF5cyB7XG4gICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5jb250YWN0LWRpdmlkZXIge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICB9XG5cbiAgICAuY29udGFjdHVzLWhlbHAge1xuICAgICAgICBtYXJnaW4tdG9wOiA0cmVtO1xuICAgIH1cblxuICAgIC5jb250YWN0LWFsaWduLWNvbXBsZW1lbnQge1xuICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWIgIWltcG9ydGFudDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjRweDtcbiAgICB9XG5cbiAgICAuY29udGFjdHVzLWJhbm5lci13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMy4zMTI1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVyZW07XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzLjc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRhY3R1cy1iYW5uZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1LjYyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA4LjEyNXJlbSAwIDguMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdHVzLXBhZ2UtdGl0bGUge1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMTI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMnJlbTtcbiAgICAgICAgbWFyZ2luLXRvcDogMnJlbTtcblxuICAgICAgICAuY2FyZHMtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyZC1ibG9jayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtaWNvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICAgICAgICAgIHNwZWFrOiBub25lO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBpbmhlcml0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICB3aWR0aDogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmRzLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hc3Npc3RhbmNlLWJsb2NrIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgICAgIC5hc3Npc3RhbmNlLXRleHQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXNzaXN0YW5jZS1udW1iZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjZjYwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29udGFjdHVzLWFkZHJlc3Mge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYWRkcmVzcy10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgfVxuXG4gICAgLmFkZHJlc3MtbG9jYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5hZGRyZXNzLWRpcmVjdGlvbnMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cblxuICAgIC5hZGRyZXNzLXdvcmtpbmdob3VycyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgfVxufVxuIiwiQG1lZGlhIHByaW50IHtcbiAgICBhW2hyZWZdOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgfVxuXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiB7XG4gICAgICAgIG1hcmdpbjogNW1tO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuaGVhZGVyLWJhbm5lcixcbiAgICAgICAgLmhlYWRlci1uYXYsXG4gICAgICAgIC5wcmludC1saW5rLFxuICAgICAgICAubG9naW4tY3JlYXRlLWFjY291bnQsXG4gICAgICAgIC5uZWVkLWhlbHAtY2hlY2tvdXQsXG4gICAgICAgIC5mb290ZXItd3JhcHBlcixcbiAgICAgICAgLmZvb3Rlci1jb3B5LXdyYXBwZXIsXG4gICAgICAgIC50b3AtYmFyLXJpZ2h0LFxuICAgICAgICAuYWRkLXRvLWNhbGVuZGFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYXRyb290LFxuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNoZWNrZWQtaWNvbiB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggI2ZmNjkwMCBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1tYWluLW5hdiB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICAgICAgICAgICAgLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDIwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5jb25maXJtYXRpb24tbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgaDEge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtMTVtbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNDEuNjY2NjclO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgICAgICAgLm9yZGVyLWRhdGUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgICAgIC5wcm9kdWN0bmFtZS1jb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMuNjY2NjclO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjY2NjY3JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdHZhbHVlcy1jb2x1bW4ge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNjYuMzMzMzMlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY2LjMzMzMzJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXJvdyxcbiAgICAgICAgICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgICAgICAgICAgLm9yZGVyZGV0YWlscy1wcm9kdWN0bmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAzMy42NjY2NyU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzMuNjY2NjclO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5vcmRlcmRldGFpbHMtcHJvZHVjdHZhbHVlcyB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA2Ni4zMzMzMyU7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjYuMzMzMzMlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5saW5lLWl0ZW0tcHJpY2UsXG4gICAgICAgICAgICAgICAgLmxpbmUtaXRlbS1xdWFudGl0eSxcbiAgICAgICAgICAgICAgICAubGluZS1pdGVtLXRvdGFsIHtcbiAgICAgICAgICAgICAgICAgICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVtbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAybW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyB7XG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgJi5zaG93LWZvci1tZWRpdW0ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNtYWxsLTEyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGF5bWVudC12ZXJpZmljYXRpb24gLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTRweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1zcGVjaWZpYy1tZXNzYWdlcyB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZWVkLWNoYW5nZXMge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICNpbnNpZGVfaG9sZGVyLFxuICAgIC5tYWluTmF2TGl2ZUNoYXRDVEEge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiIsIi5wYWdlLWlhbS1zdG9yZS1sb2NhdG9yIHtcbiAgICAucGFjLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5wdF9zdG9yZS1sb2NhdG9yIHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMCAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjZmlsdGVycy1jb250ZW50LXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIHZlaGljbGUgdHlwZXMgaWNvbnNcbiAgICAudmVoaWNsZS10eXBlcy1zZWN0aW9uIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMTYgMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgNDAgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVoaWNsZS10eXBlcy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnZlaGljbGUtcmFkaW8tYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudmVoaWNsZS10eXBlcy10aXRsZSB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICAudmVoaWNsZS10eXBlIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cblxuICAgICAgICAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL3BlcnNvbmFsLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9jb21tZXJjaWFsLnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mbGVldC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvZmxlZXQuc3ZnXCIpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwsXG4gICAgICAgIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwsXG4gICAgICAgIC5mbGVldC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3AgMjhweDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhhcyhpbnB1dDpjaGVja2VkKSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG5cbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9wZXJzb25hbC1zZWxlY3RlZC5zdmdcIik7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvY29tbWVyY2lhbC1zZWxlY3RlZC5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgXG4gICAgICAgICAgICAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9mbGVldC1zZWxlY3RlZC5zdmdcIik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZlaGljbGUtdHlwZS1pY29uIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNjBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAudmVoaWNsZS10eXBlLXRvb2x0aXAge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1pdGVtLXN1bW1hcnkge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgfVxufVxuXG4uc3RvcmUtbG9jYXRvci1wYWdlLXdyYXBwZXIge1xuICAgIG1pbi1oZWlnaHQ6IDY4NXB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDgyMHB4O1xuICAgIH1cbn1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgdWwge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG5cbiAgICAubGlzdC12aWV3IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAubG9jYXRpb25zLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDE2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDQwKTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2UtbGluayB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXJjaC1jb250YWluZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAxNiAwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCA0MCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA3cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLnNtYWxsIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDExLjVweCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAzNSk7XG5cbiAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtZmllbGQtd3JhcHBlciB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgLmljb24tc2VhcmNoIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pY29uLWNhbmNlbCB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWZpbHRlcnMge1xuICAgICAgICAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzcHgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmJyZWFkY3J1bWItZmlsdGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSAyMCA1IDUpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNsZWFyLWJyZWFkY3J1bWItZmlsdGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDIpO1xuICAgICAgICAgICAgICAgIHRvcDogcmVtLWNhbGMoNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyZWFkY3J1bWJzLXdyYXBwZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDE2KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDQwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXJzLXdyYXBwZXIge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAuZmlsdGVycy1idXR0b246OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGVcIjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVycy1idXR0b24sXG4gICAgICAgIC5maWx0ZXJzLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVycy1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjZmlsdGVycy1jb250ZW50LXdyYXAge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTQpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxNik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDE2IDAgNDApO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNsZWFyLWZpbHRlcnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbGVhci1maWx0ZXJzLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB2ZXJ5LWxpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlcnMtY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5maWx0ZXJzLW92ZXJsYXkge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAyNzhweCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgei1pbmRleDogMTAwO1xuICAgIH1cblxuICAgIC5zdG9yZS1maWx0ZXIge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBjbGlwOiByZWN0KDAsIDAsIDAsIDApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxcHg7XG5cbiAgICAgICAgJjpub3QoOmNoZWNrZWQpLFxuICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDAgMCAyNCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkICsgbGFiZWw6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTExXCI7XG4gICAgICAgIH1cblxuICAgICAgICAmOmRpc2FibGVkICsgbGFiZWwge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB2ZXJ5LWxpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZmlsdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAubG9jYXRpb25zLWJveCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5sb2NhdGlvbi1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xuXG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjEyNXJlbSBjZW50ZXI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiA3cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tbGlnaHQtbGlnaHQtZ3JheTtcblxuICAgICAgICAgICAgICAgIC5wci1zbmlwcGV0LXN0YXJzLnByLXNuaXBwZXQtc3RhcnMtcG5nIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1saWdodC1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByLXNuaXBwZXQtcmF0aW5nLWRlY2ltYWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zdG9yZS1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2ItY3RhIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zY3JvbGwtbG9hZGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTcwcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvY2F0aW9uLWl0ZW0taW5uZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICAubG9jYXRpb24taXRlbS1kaXN0YW5jZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCAxMCk7XG4gICAgICAgIH1cblxuICAgICAgICAubmlja25hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcC12aWV3IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5lcnJvci1jb250YWluZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5lcnJvci1tZXNzYWdlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHggMTVweCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWRlciB7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ncHMtdG9nZ2xlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwO1xuICAgICAgICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZGRkO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHRfc3RvcmUtbG9jYXRvciB7XG4gICAgI2ZpbHRlcnMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgIC5tYXAtdmlldyB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnZpZXctbWFwLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGZsb2F0OiByaWdodDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcblxuICAgICAgICAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAuYnRuLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5hY3RpdmUtYnRuLXRleHQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9ucy1ib3gge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbiNtYXAtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWFwLWJhY2tncm91bmQtZ3JleTtcbiAgICBtaW4taGVpZ2h0OiAzMjBweDtcbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIHtcbiAgICAgICAgI21hcC1ib3gge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXAtdmlldyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saXN0LXZpZXcge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI3OHB4O1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFyY2gtZmlsdGVyLWJveCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgICAgICAgICAuc3RhcnRfbG9jYXRpb24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIHtcbiAgICAgICAgI2ZpbHRlcnMtY29udGVudC13cmFwLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjc4cHgpO1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubG9jYXRpb25zLWJveCB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xufVxuXG4udG9kYXlzLWhvdXJzLXRvZ2dsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIC5zdG9yZS1ob3Vycy1leHBhbmRlZCB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4zcyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgLnN0b3JlLXNjaGVkdWxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcmUtaG91cnMtY29sbGFwc2VkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAuc3RvcmUtaG91cnMtY29sbGFwc2VkOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZVwiO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlLWhvdXJzLWV4cGFuZGVkIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udG9kYXlzLWhvdXJzLWxhYmVsIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbn1cblxuLnN0b3JlIHtcbiAgICAmLWNsb3NlZCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHJlZC1hY2Nlc3NpYmxlKTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgJi1vcGVuIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZ3JlZW4tYWNjZXNzaWJsZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLnN0b3JlLWhvdXJzLXdyYXBwZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgbWF4LWhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IG1heC1oZWlnaHQgMC4zcyBlYXNlLWluLW91dDtcblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweDtcbiAgICB9XG59XG5cblxuLnN0b3JlLXNjaGVkdWxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBnYXA6IDEwcHg7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICAgIGp1c3RpZnktaXRlbXM6IHN0YXJ0O1xuXG4gICAgLnN0b3JlLWRheSB7XG4gICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICB9XG59XG4iLCIuYWxsLXN0b3JlcyB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAucGx1cy1taW51cy1hY2NvcmRpb24gLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMnB4O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMjtcblxuICAgICAgICAgICAgJlthcmlhLWhpZGRlbj1mYWxzZV0ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2l0eS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIG1hcmdpbjogNXB4IDAgLTJweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLnN0b3JlLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAubWVudSAuY2l0eS1ib3gge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuIiwiLnN0b3JlLWRldGFpbHMtcGFnZSB7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMCAyMCAyMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLm1hcC1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMTAwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAucm93LXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlLWhvdXJzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucGx1cy1taW51cy1hY2NvcmRpb24gLm1lbnUubmVzdGVkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLm1hcC1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luOiA0MHB4IDAgMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAjbWFwLFxuICAgICAgICAjc3RyZWV0dmlldyB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIC5yb3ctc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RvcmUtaG91cnMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAubWVudS5uZXN0ZWQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAmLnN0b3JlLWFkZHJlc3Mge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBoZWlnaHQ6IDMwcHg7XG4gICAgICAgIHRvcDogMTZweDtcbiAgICAgICAgd2lkdGg6IDMwcHg7XG4gICAgfVxuXG4gICAgLnN0b3JlLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgIC5uaWNrbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWNvbnRhY3QtaW5mbyB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMjAgMCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcmUtaG91cnMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICB9XG5cbiAgICAuYm9sZC10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICB9XG5cbiAgICAuYWJvdXQtbG9jYXRpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWFtZW5pdGllcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vZmZlcmVkLXNlcnZpY2UtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICBhOjphZnRlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gYTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDE4MGRlZyk7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RvcmUtc2VydmljZXMtY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDAgMCA0MCA0MCk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS10aXRsZSB7XG4gICAgICAgICAgICBoMyB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDM1IDAgMjApO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLXNlcnZpY2VzLWxpc3Qge1xuICAgICAgICBjb2x1bW4tY291bnQ6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogMztcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGNvbHVtbi1jb3VudDogNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtY29udGFpbmVyIHtcbiAgICAgICAgdWwgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgJi51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEudWktdGFicy1hbmNob3Ige1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE4cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5yZXZpZXctdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygzMCAwIDIwKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnN0b3JlLWxvY2F0aW9uLWluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW4tcmV2ZXJzZTtcbiAgICB9XG5cbiAgICAuc3RvcmUtYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcmUtZGlzdGFuY2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICB9XG59XG5cbi5zdG9yZS1sb2NhdG9yLXBhZ2Utd3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc3RvcmUtZGV0YWlscy1zaWRlYmFyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMzIwcHgpO1xuICAgIGxlZnQ6IC0xMDAlO1xuICAgIG1hcmdpbi10b3A6IDMyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRyYW5zaXRpb246IHRvcCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IC00MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjRzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgfVxuXG4gICAgJi5vcGVuIHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgb3ZlcmZsb3c6IHZpc2libGU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWFwLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIC5nbW5vcHJpbnQsXG4gICAgICAgIC5nbS1jb250cm9sLWFjdGl2ZSxcbiAgICAgICAgLmdtLWl2LWFkZHJlc3MsXG4gICAgICAgIC5ncHMtdG9nZ2xlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdG9yZS1kZXRhaWxzLW1vZGUge1xuICAgIC5zd2l0Y2gtdG8tc3RyZWV0LXZpZXcsXG4gICAgLnN3aXRjaC10by1tYXAtdmlldyB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNSAwIDApO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdHJlZXQtdmlldy13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICBcbiAgICAgICAgI3N0cmVldHZpZXcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLXNtYWxsLXZpZXcge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBib3R0b206IDI1cHg7XG4gICAgICAgIGhlaWdodDogMjUwcHg7XG4gICAgICAgIGxlZnQ6IDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDE1IDYwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMjAwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDE0MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMTAgMzUpO1xuICAgICAgICAgICAgd2lkdGg6IDExMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hcC12aWV3LFxuICAgICAgICAuc3RyZWV0LXZpZXcge1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgIC5nbW5vcHJpbnQsXG4gICAgICAgICAgICAuZ20tY29udHJvbC1hY3RpdmUsXG4gICAgICAgICAgICAuZ20taXYtYWRkcmVzcyxcbiAgICAgICAgICAgIC5ncHMtdG9nZ2xlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3N0cmVldHZpZXcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubWFwLWFjY29yZGlvbiB7XG4gICAgYm90dG9tOiAyMHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbn1cblxuLmN0YS1idXR0b25zIHtcbiAgICAubGluayB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgfVxufVxuXG4uaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgIG1hcmdpbjogMDtcbiAgICB3aWR0aDogYXV0bztcbn1cblxuLmFjY2Vzc2liaWxpdHktdGFibGUge1xuICAgIGJvcmRlci1zcGFjaW5nOiAxcHg7XG5cbiAgICB0ZCB7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRsaWdodC1ncmF5O1xuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuYWNjb3VudC1zdWJ0aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgfVxuXG4gICAgLmxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgIH1cbn1cblxuLmFjY291bnQtc2VjdGlvbi1oZWFkaW5nIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDI1cHggMDtcblxuICAgICYudG9wLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIH1cblxuICAgICsgLmJhY2sge1xuICAgICAgICBtYXJnaW4tdG9wOiAtMS4zcmVtO1xuICAgIH1cbn1cblxuLm1vZGlmeS1hcHBvaW50bWVudC1idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgbWF4LXdpZHRoOiAyMDhweDtcblxuICAgIC5tb2RpZnktYWNjb3VudCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cbn1cblxuLmFjY291bnQtc2VjdGlvbiB7XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nLXRvcDogM3JlbTtcbiAgICB9XG5cbiAgICAubmF2LXdyYXBwZXIuY29sdW1ucyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI1cHggMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5teS1nYXJhZ2UtcGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA3NSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFjayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG5cbiAgICAgICAgYTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDUzXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuNXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwLjkzNzVyZW07XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtYmFzaXM6IDI1JTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmJ1dHRvbi1saW5rIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24tbGluayxcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMjAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktZm9vdGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAuaGVyZS10by1oZWxwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyU3VtbWFyeUxpdmVDaGF0LFxuICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUgLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3Rpb24taWNvbiB7XG4gICAgICAgICAgICAuY2FyZC1pY29uIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kaWZ5LWFwcG9pbnRtZW50LWltcG9ydGFudCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLm1vZGlmeS1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDAuMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tb3JkZXJzLXNlbGVjdG9ycyB7XG4gICAgICAgIG1hcmdpbjogMCAtMTBweDtcblxuICAgICAgICAuc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vLW9yZGVyLXNlbGVjdG9yLXRhYiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0b3ItdGFiLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY2NvdW50LWJsb2NrLWJvcmRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuICAgICYucGVyc29uYWwtaW5mbyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm9yZGVyLWJsb2NrIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgfVxuXG4gICAgLmFjY291bnQtaW5mby10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLmxhYmVsLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIC50b3AtbGFiZWwge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3VudC1pbmZvIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIH1cblxuICAgIC5wcy1yZXN1bHRzLWltYWdlLXRpcCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgXG4gICAgfVxuXG4gICAgLmVtYWlsLWFkZHJlc3MtaW5mbyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hY2NvdW50LWVtYWlsLXRvb2x0aXAge1xuICAgIC50b29sdGlwLXBob25lIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cbn1cblxuLnNlY29uZGFyeS1uYXZpZ2F0aW9uIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgJi5hY2NvdW50LXBhZ2UgLm1vYmlsZS1hY2NvdW50LWxhYmVsIC5hY2NvdW50LXBhZ2UsXG4gICAgICAgICYub3JkZXItcGFnZSAubW9iaWxlLWFjY291bnQtbGFiZWwgLm9yZGVyLXBhZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS1pdGVtcy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICYuZXhwYW5kZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudS52ZXJ0aWNhbCA+IGxpLm1lbnUtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAmLmhpZ2hsaWdodGVkIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJvcmRlci1ncmV5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDIwcHggMCAzMHB4O1xuXG4gICAgICAgICAgICAudG9nZ2xlLWljb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuaGlnaGxpZ2h0ZWQge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgICAgIC50b2dnbGUtaWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tZW51IGxpIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYWNjb3VudC1wYWdlIHtcbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAgICAgICAgICYuYWNjb3VudC1wYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5vcmRlci1wYWdlIHtcbiAgICAgICAgLm1lbnUtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMjtcblxuICAgICAgICAgICAgICAgICYub3JkZXItcGFnZSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuY2FyZmF4LWhpc3RvcnktcGFnZSB7XG4gICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgICAgICAgICAmLmNhcmZheC1oaXN0b3J5LXBhZ2Uge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5tb2JpbGUtYWNjb3VudC1tZW51IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZzogMC43NXJlbTtcblxuICAgIGxpIGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMCAwLjYyNXJlbTtcbiAgICB9XG5cbiAgICAmOmhvdmVyLFxuICAgIC5hY3RpdmUtc3VibWVudSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIH1cbn1cblxuLm1lbnUubW9iaWxlLWFjY291bnQtbGlzdCB7XG4gICAgbWFyZ2luOiAwLjc1cmVtIDAuMzEyNXJlbSAwO1xufVxuXG4ubWVudSBsaSAubW9iaWxlLWFjY291bnQtbGFiZWwge1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMGRjXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICByaWdodDogLTJweDtcbiAgICAgICAgdG9wOiAwLjI1cmVtO1xuICAgIH1cbn1cblxuLmJ1dHRvbi1ncm91cCB7XG4gICAgJi5uby1ib3QtbWFyZ2luIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IFxuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWNjb3VudC1ibG9jay1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtIDAuMXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDAuNXJlbTtcbiAgICB9XG5cbiAgICAub3BlbkxpdmVDaGF0QnV0dG9uIHtcbiAgICAgICAgYiB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjFweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjM3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMS43NXJlbSAwIDAuMjVyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5waG9uZS1saW5rKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5ib3R0b20tc3BhY2UtbW9iaWxlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICB9XG59XG5cbi5idXR0b24tbGluayB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nOiAwLjc1cmVtIDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEuMjVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbn1cblxuLnB0X2FjY291bnQsXG4ucHRfb3JkZXIge1xuICAgIC5waG9uZS1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBtYXJnaW46IDA7XG5cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ29tbW9uIHN0eWxlcyBmb3IgT3JkZXIgaGlzdG9yeSBhbmQgT3JkZXIgZGV0YWlscyBwYWdlc1xuLm9yZGVyZGV0YWlscyAub3JkZXItc2hpcG1lbnRzLFxuLm9yZGVyLWhpc3RvcnktbGlzdCB7XG4gICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBPcmRlciBoaXN0b3J5XG4ub3JkZXItaGlzdG9yeS1saXN0IHtcbiAgICBtYXJnaW4tbGVmdDogMDtcblxuICAgIC5sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmZhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mYS1jYWxlbmRhci1vIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjMxMjVyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY29yZGlvbi1vcmRlci1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktaXRlbXMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLXRvdGFscyB7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAub3JkZXItdmFsdWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3RhbC12YWx1ZS1yb3cge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci10b3RhbHMtcm93LFxuICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWluZm8ge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItaW5mby1yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmUtaXRlbXMge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1yb3cge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5vcmRlcmRldGFpbHMtcHJvZHVjdHZhbHVlcyxcbiAgICAgICAgICAgICAgICAub3JkZXJkZXRhaWxzLXByb2R1Y3RuYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1pbmZvLFxuICAgICAgICAub3JkZXItdG90YWxzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZS1jb2x1bW4ge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaGlzdG9yeS1oZWFkZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcblxuICAgICAgICAgICAgJi5wYWlkLW9ubGluZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICAgIFxuICAgICAgICAub3JkZXItaGVhZGVyLWluZm8ge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2x1bW5zIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWxvY2F0aW9uIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWluZm9ybWF0aW9uLWNsaWVudCxcbiAgICAgICAgLm9yZGVyLWxvY2F0aW9uIHtcbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYW5jZWxsZWQtb3JkZXIsXG4gICAgICAgIC5tb2RpZmllZC1vcmRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vZGlmaWVkLW9yZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYW5jZWxsZWQtb3JkZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktdGFibGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxLjM3NXJlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU2JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGgge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vbGQtcHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItYmxvY2sge1xuICAgICAgICAub3JkZXItdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICAgICAgaGVpZ2h0OiA2NHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkb2xkLXNpbHZlcjtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwN1wiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIHRvcDogOHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMzAlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICZbYXJpYS1leHBhbmRlZD1cInRydWVcIl06OmFmdGVyIHtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6ICRidXR0b24tZGFyaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDMwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci1udW1iZXItc3RhdHVzIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItdmVoaWNsZS1uYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMTVweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYudW5rbm93biB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgXG4gICAgICAgIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTZweCAxMHB4IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTZweCAyM3B4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FyLWFwcG9pbnRtZW50LWluZm8ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvYWQtbW9yZS1jb250YWluZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3R2YWx1ZXMtY29sdW1uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubW9iaWxlLXRpdGxlcyB7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJnb3RoYW0tYm9sZFwiLCBBcmlhbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBPcmRlciBEZXRhaWxzIHBhZ2Vcbi5vcmRlcmRldGFpbHMge1xuICAgIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMS42MjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3VudC1ibG9jay1ncmV5IHtcbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sYWJlbCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDFlbTtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuYWNjb3VudC1ibG9jay1ib3JkZXIge1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuODEyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvdW50LXNlY3Rpb24taGVhZGluZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuICAgIH1cblxuICAgIC5taW5pLWFkZHJlc3MtbG9jYXRpb24sXG4gICAgLmFjY291bnQtaW5mbyxcbiAgICAuYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICYuZW1haWwge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtdGltZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIH1cblxuICAgIC5saW5lLXNlY3Rpb25zLXNlcGFyYXRvciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWNjb3VudC1pbmZvLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbn1cblxuLmFjY291bnQtaW5mby1tZXNzYWdlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLy8gT3JkZXIgU3VtbWFyeSBzZWN0aW9uXG4ub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtIDA7XG4gICAgfVxuXG4gICAgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItZGV0YWlsLXN1bW1hcnkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA1OC4zMzMzMyU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNDEuNjY2NjclO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIC5vcmRlci10b3RhbCB7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ib2xkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYub3JkZXItdG90YWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFtb3VudC10b3RhbC1wYWlkLFxuICAgICAgICAgICAgJi5hbW91bnQtc3RvcmUtdG90YWwge1xuICAgICAgICAgICAgICAgICYuYm9sZCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VycmVuY3ktY29kZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG4gICAgfVxufVxuXG4uYWNjb3VudC1pbmZvLXJvdyB7XG4gICAgLmFjY291bnQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgLmFjY291bnQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1mb3JtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVkaXQtZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICAgICAgLnJlcXVpcmVkLWluZGljYXRvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhc3N3b3JkLWRvdHMge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xuXG4gICAgICAgIC5pY29uLWNpcmNsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5LWZlYXR1cmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVzZXQtcGFzc3dvcmQtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5lZGl0LXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuaW50LXBob25lLXRlc3Rpbmcge1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG59XG5cbi8vIFZlcmlmaWNhdGlvbiBjb2RlIG1vZGFsXG4udmVyaWZpY2F0aW9uLW1vZGFsIHtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIHdpZHRoOiA1MDBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICB9XG5cbiAgICAudmVyaWZpY2F0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5pY29uLXZlcmlmeS1tZXRob2Q6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLnZlcmlmaWNhdGlvbi1tZXRob2Qge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBwYWRkaW5nOiAzcHggMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB9XG5cbiAgICAudmVyaWZpY2F0aW9uLXRleHQtbWVzc2FnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tZXItY29udGFjdCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLnZlcmlmaWNhdGlvbi1hY3Rpb25zIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAgICAgICAmLmRpc2FibGUtcmVzZW5kIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVyaWZ5LWNvZGUtYnRuIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc2VuZC1jb2RlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAudmVyaWZpY2F0aW9uLWNvZGUtc2VudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLnZlcmlmaWNhdGlvbi1lcnJvciB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuaWNvbi1yZXNlbmQ6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudmVyaWZ5LWNvZGUtZm9ybSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxufVxuXG4uc2VuZC12ZXJpZmljYXRpb24tY29kZS1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXh0cmEtbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGV4dHJhLWxpZ2h0LWdyYXk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAubGluZS1pdGVtIHtcbiAgICAgICAgLnByb2R1Y3QtYnJhbmQsXG4gICAgICAgIC5wcm9kdWN0LW5hbWUsXG4gICAgICAgIC5saW5lLWl0ZW0tcHJpY2UsXG4gICAgICAgIC5pdGVtLXF1YW50aXR5LFxuICAgICAgICAucHJpY2UtdG90YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jdXJyZW5jeS1jb2RlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubG9naW4tbW9kYWwge1xuICAgIGhlaWdodDogMTYwcHg7XG4gICAgbWluLWhlaWdodDogMTYwcHg7IC8vIE92ZXIgd3JpdGUgdGhlIG1pbi1oZWlnaHQgZnJvbSBfcmV2ZWFsLnNjc3NcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgaGVpZ2h0OiAxNzVweDtcbiAgICAgICAgbWluLWhlaWdodDogMTc1cHg7IC8vIE92ZXIgd3JpdGUgdGhlIG1pbi1oZWlnaHQgZnJvbSBfcmV2ZWFsLnNjc3NcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCk7XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmxvZ2luLW1vZGFsLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5uby10aGFua3Mge1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICA6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDYwcHg7XG4gICAgfVxufVxuIiwiLnB0X215Z2FyYWdlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgLmNvbHVtbnMubW9iaWxlLXBhZGRpbmctcmlnaHQtNnB4IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2x1bW5zLm1vYmlsZS1wYWRkaW5nLWxlZnQtNnB4IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndpZHRoLTUwLXBlcmNlbnQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC5kb3R0ZWQtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMy41cHggZG90dGVkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmFycm93IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnRvcC1zZWN0aW9uLFxuICAgIC50b3Atc2VjdGlvbi1hcmNoaXZlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBwLFxuICAgICAgICAgICAgLmNhci1hZGQtbmV3LFxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhci1hZGQtbmV3IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjEuNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3Atc2VjdGlvbi1hcmNoaXZlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VidGl0bGUtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItYWRkLW5ldyB7XG4gICAgICAgIGJ1dHRvbi5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjayB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2Fycy1jb250YWluZXIsXG4gICAgLmNhcnMtY29udGFpbmVyLWFyY2hpdmVkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2ItY3RhIHtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLXZpc3VhbHMge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhci1pbmZvcm1hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTRweCAxNHB4IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjFweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1uYW1lLFxuICAgIC5jYXItdmluLFxuICAgIC5jYXItcGxhdGUtYWRkLFxuICAgIC5jYXItcGxhdGUtZWRpdCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNC40cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLXBsYXRlLWVkaXQsXG4gICAgLmNhci1uYW1lLFxuICAgIC5jYXItdmluIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5jYXItbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNi44cHg7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItdGlyZS13aGVlbCA+IGRpdiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItdGlyZS13aGVlbCxcbiAgICAuY2FyLWluZm8tYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNhci1pbmZvLWJvdHRvbSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgICAgICByb3ctZ2FwOiAxN3B4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLW5vLW9yZGVyLWhpc3Rvcnkge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICB9XG5cbiAgICAuY2FyLWFwcG9pbnRtZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgfVxuXG4gICAgLmNhci1hcHBvaW50bWVudC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5jYXItYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtbWFwLFxuICAgIC5tb2RpZnktYXBwb2ludG1lbnQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtbWFwIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLm1vZGlmeS1hcHBvaW50bWVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgIC5jYXItYnV5LWFjdGlvbnMge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWJ1eS1hY3Rpb24sXG4gICAgLnNlcnZpY2VzLWN0YSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssXG4gICAgICAgICYuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1jdGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tLWNsYXNzIHtcbiAgICAgICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaWdobGlnaHQtZXhpc3RpbmctY2FyIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuNXMgbGluZWFyO1xuXG4gICAgICAgICYudHJhbnNpdGlvbi10by1lbmQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1hcmNoaXZlZC1jYXJzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcmNoaXZlZC1jYXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCB7XG4gICAgdG9wOiA1MCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiA5NSU7XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiA4cHggMDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgIC5jYXItYnV5LWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgfVxuXG4gICAgLmNhci1idXktYWN0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubW9kYWwtY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRleHQtYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZmxleC1vcmRlci0xIHtcbiAgICBvcmRlcjogLTE7XG59XG5cbi5nYXJhZ2UtbW9kYWwtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbltmb3JtLWN0cmxdIHtcbiAgICAudmluLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJltmb3JtLWN0cmw9XCJjYXJmYXhcIl0sXG4gICAgJltmb3JtLWN0cmw9XCJlZGl0VmVoaWNsZURhdGFcIl0ge1xuICAgICAgICAudmluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdhcmFnZS1tb2RhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAubW9kYWwtY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiAxNXB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudmVoaWNsZXMtc2VjdGlvbiB7XG4gICAgICAgIGdhcDogMjBweDtcblxuICAgICAgICAuY2FyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSxcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGQtbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b25zLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgJi5hbGlnbi10by1yaWdodCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRleHRyYS1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGV4dHJhLWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZml0LXdpZHRoIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDZweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICB9XG5cbiAgICAucGxhdGUtbm8tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssXG4gICAgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCA2MHB4O1xuICAgIH1cbn1cblxuLnZlaGljbGUtZXhpc3RzLW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4ucGxhdGUtbnVtYmVyLW1vZGFsIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLnBsYXRlLW51bWJlci1tb2RhbCxcbi5jYXItZWRpdC1tb2RhbCxcbi52ZWhpY2xlLWluZm8tbW9kYWwsXG4jdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIC5nYXJhZ2UtdmVoaWNsZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDM2cHggMjBweCAwO1xuICAgIH1cbn1cblxuI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uY2FyLWVkaXQtbW9kYWwge1xuICAgIHAge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICB9XG59XG5cbi5hZGQtcGxhdGUtbm8ge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0LjRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi5wdF9vcmRlciB7XG4gICAgLmQtZmxleCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgfVxuXG4gICAgLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5mbGV4LXdyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmZsZXgtY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAuc3dpdGNoZXItY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXRjaGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoZXItaW5wdXQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgcmlnaHQ6IDNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zd2l0Y2hlci1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5LW15LWdhcmFnZSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgd2lkdGg6IDM5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiA1MCUgLyA1MCUgNTAlIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheS1teS1nYXJhZ2UpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0LC13ZWJraXQtdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaGlzdG9yeS1maWx0ZXItYm94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW0ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjJweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxMHB4IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItY2hlY2tib3gge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgJjpjaGVja2VkIH4gLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIgeyBcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDYwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDlweDtcbiAgICB9XG5cbiAgICAuY2FyLW5hbWUge1xuICAgICAgICBwYWRkaW5nOiA2cHggMCA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2FyLXBsYXRlLFxuICAgIC5jYXItbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuIiwiI2NhcmZheC1oaXN0b3J5LW1vZGFsIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBtYXgtd2lkdGg6IDgxNnB4O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICB0b3A6IDE2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDc4dmg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3OHZoOyAvKiBVc2UgdmggYXMgYSBmYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBDdXN0b20gUHJvcGVydGllcyAqL1xuICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYyh2YXIoZHluYW1pY1NjcmVlblNpemUsIDF2aCkgKiAxMDApO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIC5tb2RhbC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgfVxuXG4gICAgLmNhcmZheC1oaXN0b3J5LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGljZW5zZS1wbGF0ZS13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuXG4gICAgICAgIC5saWNlbnNlLXBsYXRlLWhlYWRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saWNlbnNlLXBsYXRlLWNvbnRlbnQge1xuICAgICAgICAgICAgY29sdW1uLWdhcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saWNlbnNlLXBsYXRlLWlubmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgLnBsYXRlLW51bWJlci1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZXJyb3I6bm90KC5saWNlbnNlUGxhdGUpID4gKiB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjMycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9ybS1yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3ItdmluIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdW5hdmFpbGFibGUpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAub3ItYnJlYWsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAub3ItYnJlYWs6OmJlZm9yZSxcbiAgICAub3ItYnJlYWs6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGZsZXg6IDEgMTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC5vci1icmVhazo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC5vci1icmVhazo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAudmluLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG5cbiAgICAgICAgLnZpbi1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cblxuICAgICAgICAudmluLW51bWJlci1pbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVoaWNsZS1pbmZvcm1hdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cblxuI2NhcmZheC1kZWxldGUtbW9kYWwge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg1MDApO1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XG4gICAgfVxuXG4gICAgLm1vZGFsLXRleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG5cbiAgICAuYnV0dG9ucy13cmFwIHtcbiAgICAgICAgY29sdW1uLWdhcDogNjBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2NhcmZheC1oaXN0b3J5LW1vZGFsLFxuI2NhcmZheC1kZWxldGUtbW9kYWwge1xuICAgIC5jYXJmYXgtbW9kYWwtY2xvc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIHRvcDogMC41cmVtO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4jY2FyZmF4LWRlbGV0ZS1mb3JtLFxuI3ZlaGljbGUtZmllbGRzZXQge1xuICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ3JleS1saW5lIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIG1hcmdpbjogMTJweCAwO1xufVxuXG4uZmluZC12aW4td3JhcHBlciB7XG4gICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtYnV0dG9ucyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICB9XG59XG5cbi5zZXJ2aWNlLXVuYXZhaWxhYmxlLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgbWFyZ2luOiA4cHggMCAyNHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAudW5hdmFpbGFibGUtdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdW5hdmFpbGFibGUpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICB9XG59XG5cbi52ZWhpY2xlLWRhdGEtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmNoZWNrYm94LWZvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC52ZWhpY2xlLWRhdGEtY29udGVudCB7XG4gICAgICAgIC5zYXZlLXZlaGljbGUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDlweDtcblxuICAgICAgICAgICAgLnNhdmUtdmVoaWNsZS1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtYnV0dG9ucyB7XG4gICAgLmNhcmZsZXgtbG9nbyB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgIH1cblxuICAgICNjYXJmYXgtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFya2dyZXkxKTtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAjY2FyZmF4LXNlcnZpY2UtYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMzVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICAubm8tc2VydmljZS1idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5wdF9jYXJmYXgge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAucm93LmF0cm9vdCB7XG4gICAgICAgICAgICAuY29udGVudC1jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICAuYWJvdXQtY2FyZmF4LXdyYXBwZXIge1xuICAgICAgICAuYWJvdXQtY2FyZmF4LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b2dnbGUtaXRlbSB7XG4gICAgICAgICAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbn1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwIHtcbiAgICAmW3RvZ2dsZS1zdGF0ZT1cImluaXRpYWxcIl0ge1xuICAgICAgICAuc2VydmljZS1oaXN0b3J5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW3RvZ2dsZS1zdGF0ZT1cIm5vLXNlcnZpY2VcIl0ge1xuICAgICAgICAuc2VydmljZS1oaXN0b3J5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW3RvZ2dsZS1zdGF0ZT1cImhhcy1zZXJ2aWNlXCJdIHtcbiAgICAgICAgLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VydmljZS1oaXN0b3J5IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5oaXN0b3J5LWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItY29udGVudCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJmYXgtbG9nbyB7XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZWxldGUtYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaXN0b3J5LXRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnRhYmxlLWhlYWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXh0cmEtbGlnaHQtZ3JheTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRhYmxlLXJvdyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBiIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLXJvdyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheS1vdmVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBnYXA6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1jb2x1bW4ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgICAgICAgZmxleDogMjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgYi5tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vYmlsZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkZ3JpZC1ib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJvcmRlci1ncmV5KTtcblxuLnNlbC1pbmZvLmxlZnQtYXJyb3cge1xuICAgIG1pbi1oZWlnaHQ6IDEyNnB4O1xufVxuXG4uYnJha2VzLWRldGFpbHMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDUwcHggYXV0bztcblxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLmJyYWtlcy1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyYWtlcy1ncmlkLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMTVweDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI5MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ3JpZC1tYWtlciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJha2VzLWdyaWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGdyaWQtYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGdyaWQtYm9yZGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCg1MHB4LCAxZnIpKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIC5ncmlkLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGdyaWQtYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkZ3JpZC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ3JpZC1oZWFkZXIsXG4gICAgICAgICAgICAuZ3JpZC12ZWhpY2xlLXR5cGUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyYWtlcy1kaXNjbGFpbWVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5icmFrZXMtbm8tcmVzdWx0cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJha2VzLWluY2x1ZGVkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgIC5pbmNsdWRlZC1ibG9jayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlcjogJGdyaWQtYm9yZGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMjVweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyYWtlcy1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbnRlcmZhY2UvdGlyZS1tYXJrLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgIGJvcmRlcjogJGdyaWQtYm9yZGVyO1xuICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLmJyYWtlcy1wYWNrYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWNrYWdlcy1ibG9jayB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICAmLnBhY2thZ2VzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYucGFja2FnZXMtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3N0aWNreUNUQSB7XG4gICAgYm90dG9tOiAtMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAycHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkYXJrZ3JleTEpO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjRzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLnNsaWRlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIvLyBFbXB0eSBDYXJ0IHBhZ2Vcbi5jYXJ0LWVtcHR5IHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuXG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcnQtYWN0aW9uLWNvbnRpbnVlLXNob3BwaW5nIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi8vIENhcnQgcGFnZVxuLmNhcnQtcGFnZSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXRWZWhpY2xlQ2FydCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5zbWFsbC0xMiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHggMjBweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcy5oZWFkZXIge1xuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIG1hcmdpbjogLTQwcHggMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE2KSAwO1xuICAgIH1cblxuICAgIC5pdGVtLWxpc3Qge1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMjUpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAwKTtcblxuICAgICAgICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIC5xdHktaGVhZGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3RhbC1wcmljZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtcm93LFxuICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAuaXRlbS1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaXRlbS10b3RhbCxcbiAgICAgICAgICAgIC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtbGluZS1zZXBhcmF0b3Ige1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2U4ZThlOTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1zdW1tYXJ5LXJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWxpbmUtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlzY2xhaW1lci1jYXJ0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICYubGV2eS1tZXNzYWdlLWNhcnQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1zdW1tYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSkgMDtcblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vdXQtb2Ytc3RvY2stbWVzc2FnZS1ib3gge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICB3aWR0aDogMzAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMuMTI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtZmluYW5jaW5nIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWluLWhlaWdodDogNDVweDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWZpbmFuY2luZy1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1hY3Rpb24tY2hlY2tvdXQtYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtYWN0aW9uLWNoZWNrb3V0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDIzXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZWVkLWhlbHAtY2FydCB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZXJpZnktdmVoaWNsZSB7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE2KSAwIDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgLmxlZnQtYm94LFxuICAgICAgICAgICAgLnJpZ2h0LWJveCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxlZnQtYm94IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJpZ2h0LWJveCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlcmlmaWVkLXJlc3BvbnNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWJveCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMzEzcmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDI3JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWJveCB7XG4gICAgICAgICAgICB3aWR0aDogNzMlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tYWxlcnQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZhLWNoZWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAwIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWZ0LWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yaWdodC1ib3gge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1zdW1tYXJ5LXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXJrZXRpbmctY2FyZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaW50ZXJmYWNlL3RpcmUtbWFyay5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICAubGVhcm4tbW9yZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICAgICAgICAgIC5sZWFybi1tb3JlLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgPiAubW9yZS1pbmZvLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubW9yZS1pbmZvLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgIC5tYXJrZXRpbmctdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ2FydCBQcm9kdWN0IHJvd1xuLmNhcnQtcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgICAuc2VydmljZS1yb3cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbGlzdC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGVnb3J5LWF0dHJpYnV0ZXMge1xuICAgICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hdmFpbGFiaWxpdHktYXR0cmlidXRlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDtcblxuICAgICAgICAuYXZhaWxhYmlsaXR5LWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWF2YWlsYWJpbGl0eS1saXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tcXR5LXByaWNlLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLWhlYWRlci5xdHktaGVhZGVyLFxuICAgIC5zZWN0aW9uLWhlYWRlci5pdGVtLXByaWNlLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1wcmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLXRvdGFsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDM2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS10b3RhbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FyZC1xdWFudGl0eS5pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0UXVhbnRpdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlbW92ZS1idG4ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZS1iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9yZWJhdGVfaWNvbi5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IHNldFxuICAgICYuZmlyc3QtcHNldCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2Vjb25kLXBzZXQge1xuICAgICAgICAuaXRlbS1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlbW92ZS1idG4ge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZXJ2aWNlc1xuLmNhcnQtc2VydmljZXMge1xuICAgIC8vIFJlcXVpcmVkIFNlcnZpY2VzXG4gICAgJi5yZXF1aXJlZC1zZXJ2aWNlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcblxuICAgICAgICAuc2VydmljZS1yb3cge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEluY2x1ZGVkIFNlcnZpY2VzXG4gICAgJi5pbmNsdWRlZC1zZXJ2aWNlcyB7XG4gICAgICAgIC5pdGVtLXByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR3JvdXBlZCBzZXJ2aXNlc1xuICAgICYuZ3JvdXBlZC1zZXJ2aWNlcyB7XG4gICAgICAgIC5yZWNvbW1lbmRlZC1zZXJ2aWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWdyb3VwLW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDQwIDAgMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaXRlbS10b3RhbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pdGVtLXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1yb3cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDApO1xuICAgIH1cblxuICAgIC5ib3R0b20tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMjApO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaW5mby13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaW1hZ2Uge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtbmFtZS1ib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDEwKTtcbiAgICB9XG5cbiAgICAuc2VydmljZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaG9ydC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS10b3RhbC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDAgMCAxMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9yZS1pbmZvLWxpbmsge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vcmUtaW5mby10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgfVxuXG4gICAgLm1haW4taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi4xODhyZW07XG5cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaXRlbS10b3RhbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICB9XG5cbiAgICAuaXRlbS1wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VydmljZSBtb3JlLWluZm8gbW9kYWxcbi8vIFNlcnZpY2UgY2hlY2sgbW9kYWwgKHdoZW4gdW5jaGVjayBhbiByZWNvbW1lbmRlZCBzZXJ2aWNlKVxuLy8gY29tbW9uIHN0eWxlc1xuLnJldmVhbFtpZCo9XCJzZXJ2aWNlcG9wdXBcIl0sXG4jc2VydmljZWluZm9tb2RhbCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICByaWdodDogMS4xMjVyZW07XG4gICAgICAgIHRvcDogMC45Mzc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICByaWdodDogMS43NXJlbTtcbiAgICAgICAgICAgIHRvcDogMS40MzhyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlcnZpY2UgbW9yZS1pbmZvIG1vZGFsXG4uc2VydmljZS1tb2RhbC1jb250ZW50IHtcbiAgICAuc2VydmljZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDkwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9uZy1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxLjg3NXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFZlcmlmeSBWZWhpY2xlIG1vZGFsXG4uY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIH1cbn1cblxuLy8gVmVyaWZ5IFZlaGljbGUgbW9kYWxcbi8vIFNlcnZpY2UgY2hlY2sgbW9kYWwgKHdoZW4gdW5jaGVjayBhbiByZWNvbW1lbmRlZCBzZXJ2aWNlKVxuLy8gY29tbW9uIHN0eWxlc1xuLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwsXG4jc2VydmljZWluZm9tb2RhbCB7XG4gICAgLnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDkwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b25zLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxLjI1cmVtIDAgMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEhpZGUgTGl2ZSBDaGF0IGJ1dHRvblxuI2luc2lkZV9ob2xkZXIgI2luc2lkZV9saXZlQ2hhdFRhYiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBZTU1vIGNoZWNrIG1vZGFsXG4uY2FydC1wc21vZGFsLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDIwcHggMCAwIDMwcHg7XG4gICAgd2lkdGg6IDg1JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIH1cbn1cblxuLnRvdGFscy1zdGlja3ktYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgLTRweCAxMHB4IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGlzYWJsZWQtZ3JleSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCA4KTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgLnByaWNlLXRvdGFsIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICB9XG5cbiAgICAucHJpY2UtdG90YWwtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNCk7XG4gICAgfVxufVxuXG4jcHNtb2RhbC5jYXJ0LXBzbW9kYWwge1xuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICByaWdodDogMjVweDtcbiAgICB9XG59XG5cbiNjYXJ0UXVhbnRpdHlNb2RhbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICAuY2FydFF1YW50aXR5TW9kYWxDdGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLy8gV2h5IENob29zZSBLYWwgVGlyZSBtb2RhbCBcbiN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgIH1cblxuICAgICYucmV2ZWFsIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygxMik7XG4gICAgfVxufVxuXG4vLyBDb250YWN0IFVzLyBMaXZlIENoYXQgc2VjdGlvblxuLmNvbnRhdC11cy1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDgwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgfVxuXG4gICAgLmhlcmUtdG8taGVscCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRkYXJrLWdyYXktb3ZlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMjUpO1xuICAgIH1cblxuICAgIC5jYXJ0LWZvb3Rlci1pbWFnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LXVzLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgIH1cblxuICAgIC5jb250YWN0LWluZm8tc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi1ib3gtY29udGVudCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBob25lLW51bWJlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbiAgICAub3JkZXJTdW1tYXJ5TGl2ZUNoYXQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi1pY29uIHtcbiAgICAgICAgLmNhcmQtaWNvbiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG5cbiAgICAuY2FyZC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTYpO1xuICAgIH1cbn1cblxuLm1hbnVmYWN0dXJlci1udW1iZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMjIpO1xuICAgIH1cbn1cbiIsIi8vIFJlcGxhY2UgcHJvZHVjdHMgZnJvbSBjYXJ0IC0gUG9wLXVwXG4jYWRkdG9jYXJ0cG9wdXAge1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1hdHRyaWJ1dGVzLFxuICAgIC5jYXRlZ29yaWVzLWJveCxcbiAgICAuYXZhaWxhYmlsaXR5LW1zZyxcbiAgICAucmVjb21tZW5kZWQtYmFnZGUsXG4gICAgLnByb21vLWJhZGdlLFxuICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICB9XG5cbiAgICAucHJvZHVjdC1zaXplIHtcbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3B1cC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9wdXAtc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLm5ldy1jYXJ0LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDMwcHggMCAyNXB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGUtYm94IHtcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyJSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7XG5cbiAgICAgICAgLmJveC1zcGFjaW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi5uby1ib3JkZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYW5jZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9ucy1tYXJnaW4ge1xuICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDA7XG4gICAgfVxuXG4gICAgLmN1cnJlbnQtY2FydCB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1iYWRnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvcHVwLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXNpemUsXG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuXG4gICAgICAgICAgICAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjYXJ0LXBvcHVwLWNvbnRhaW5lciB7XG4gICAgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWJhZGdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgI2FkZHRvY2FydHBvcHVwIHtcbiAgICAgICAgd2lkdGg6IDcwMHB4O1xuXG4gICAgICAgIC5uZXctY2FydC1pdGVtIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtYm94IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgyLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYW5jZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jYi1ib3JkZXJlZC1jb250ZW50IHtcbiAgICBib3JkZXI6IDdweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB9XG59XG5cbi8vIFBhZ2UgSGVhZGVyIENvbnRlbnQgQmxvY2tcbi5jYi1wYWdlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZzogMTAwcHggMCAxMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMTVweCAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG59XG5cblxuLy8gQ1RBIFN0eWxlXG5cbi5jYi1jdGEge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgJi5idXR0b24taG9sbG93LXdoaXRlIHtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLCBjb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZmluYW5jaW5nTGluayB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWhvdmVyO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGJ1dHRvbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYi1jdGEtc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8vIFNlY3Rpb24gSGVhZGVyIENvbnRlbnQgQmxvY2tcbi5jYi1zZWN0aW9uLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjVweDtcblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAsXG4gICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxufVxuXG4uY2ItY29sdW1uIHtcbiAgICBtYXJnaW46IDVweCAwIDA7XG5cbiAgICAuY2ItY29sdW1uLWNoaWxkLWNvcHkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgICB9XG5cbiAgICAuZmluYW5jaW5nLWJsb2Nrcy10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogODIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2ItY29sdW1uLWNoaWxkIHtcbiAgICBtYXJnaW46IDAgMCA0MHB4O1xuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuICAgICAgICBtYXJnaW46IDAgMCAxM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VjdGlvbiBJbWFnZSBBbHRlcm5hdGUgQ29sdW1uXG4uY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiB7XG4gICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiA3cHggMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VjdGlvbiBPbmUgQ29sdW1uIENUQVxuLmNiLTEtY29sdW1uLWN0YSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDMwMnB4O1xuICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDc1cHggMCA1MHB4O1xuICAgIH1cblxuICAgID4gLnJvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIFRlc3RpbW9uaWFsXG4uY2ItdGVzdGltb25pYWwge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiA2NXB4IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogODBweCAwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItdGVzdGltb25pYWwtYXZhdGFyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAzIENvbHVtbiBGZWF0dXJlXG4uY2ItMy1jb2x1bW4tZmVhdHVyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIC5jYi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2ItY3RhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIEZlYXR1cmVkIFByb2R1Y3RzIENhcmRzXG4uY2ItZmVhdHVyZWQtcHJvZHVjdHMtY2FyZHMge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDYwcHg7XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLy8gU2VjdGlvbiBQcm9kdWN0IERldGFpbHMgQ2FyZHNcbi5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDtcbiAgICB9XG5cbiAgICBpbWcucHJvZEltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAyMHB4O1xuXG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YS13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNDVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtY3RhcyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2ItY3RhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIFNlY29uZGFyeSBOYXZpZ2F0aW9uXG4uY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiB7XG5cbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiA4cHggNDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gU2VjdGlvbiBDb2x1bW4gVGFic1xuLmNiLWNvbHVtbi10YWJzIHtcbiAgICAuY29sdW1uLWltYWdlLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFicyB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgbGkgYTpob3ZlcixcbiAgICAgICAgbGkuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gICAgICAgIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4yJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA2MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMDtcblxuICAgICAgICAudGFicy1wYW5lbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlY3Rpb24gQ29sdW1uIERldGFpbHNcbi5jYi0xLWNvbHVtbi1kZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG59XG5cbi8vIEFjY29yZGlvblxuLmNiLWFjY29yZGlvbiB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyMSAwKTtcblxuICAgIC50b2dnbGUtaXRlbSB7XG4gICAgICAgIHN1bW1hcnkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUXVlYmVjIExhbmRpbmcgcGFnZVxuLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIHtcbiAgICAuc2ltcGxlLWhlYWRlci13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDk2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogOTZweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW1wbGUtaGVhZGVyLWxvZ28ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLXBhZ2UtaGVhZGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNiLXBhZ2UtaGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucXVlYmVjLXBhZ2UtdGV4dCB7XG4gICAgICAgIGNvbHVtbnM6IDI7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDYwcHg7XG4gICAgICAgIG1heC13aWR0aDogMTMwMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDUwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN0YW5kYXJkLWJsYWNrKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgICAgIH1cblxuICAgICAgICAqIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogNTBweCAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogNTAgMzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdWViZWMtc3RvcmUtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDBweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1ZWJlYy1zdG9yZXMtZGV0YWlscyB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBnYXA6IDJyZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC13aWR0aDogMTIzMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnF1ZWJlYy1zdG9yZS1kZXRhaWwge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNDAwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaDUge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnF1ZWJlYy1zdG9yZS1hZGRyZXNzIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnF1ZWJlYy1zdG9yZS1waG9uZSB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxN3B4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWNvcHktd3JhcHBlciAucm93IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cbn1cbiIsIi5mb290ZXItZmFxLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCAwIDUwcHg7XG5cbiAgICBociB7XG4gICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNlMGUxZTE7XG4gICAgICAgIG1hcmdpbjogMCAwIDUwcHg7XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgIGEuZmFxLWN0YSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG5cbiAgICAuY29sdW1ucyB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ3Vlc3QtY2hlY2tvdXQtdGV4dCB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIG1hcmdpbi10b3A6IDIzcHg7XG5cbiAgICBwIHtcbiAgICAgICAgbWFyZ2luOiAwLjE4NzVyZW0gMCAxLjc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xufVxuXG4ucHRfY2hlY2tvdXQge1xuICAgIGxlZ2VuZCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBzZWxlY3Qge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAuc3RlcC1iYWNrLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgIH1cblxuICAgIC5mb3JtLXJvdy1idXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucGF5bWVudC1mb3JtIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5jaGVja291dC1tYWluLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LXN0ZXAge1xuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5wLnNlbGVjdC12ZWhpY2xlIHtcbiAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTApO1xufVxuXG4uaGVhZGVyLXRpdGxlLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbWFyZ2luLWJvdHRvbTogNTBweDtcblxuICAgIC5jaGVja291dC1zdGVwLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvcm0tcm93LWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5jaGVja291dC1tYWluLXJvdyB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogNjVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDg3cHg7XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LW1haW4tdGl0bGUge1xuICAgICAgICBwYWRkaW5nOiA0NXB4IDAgMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuXG4gICAgLnN0ZXBzLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAyNzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA0NTRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGVwcyB7XG4gICAgICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIC5zdGVwIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1zbW9rZSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDMycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogNDZweDtcbiAgICAgICAgICAgIHdpZHRoOiA0NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtc21va2UpO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDMycHg7XG4gICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDhweDtcbiAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHJpZ2h0OiA0NnB4O1xuICAgICAgICAgICAgICAgIHRvcDogMjJweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1NHB4O1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1zbW9rZSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAzMnB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI0cHg7XG4gICAgICAgICAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA0NnB4O1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlLFxuICAgICAgICAmLnBhc3NlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wYXNzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMnB4IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgaW5zZXQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgLmljb24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5pbmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB2ZXJ5LWxpZ2h0LWdyZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0ZXAtbmFtZSB7XG4gICAgICAgIGJvdHRvbTogLTE1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogOHB4O1xuICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAtNTAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaWNvbiB7XG4gICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLWFwcG9pbnRtZW50IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYyNzFcIjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtaW5mb3JtYXRpb24ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwN1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi12ZXJpZmljYXRpb24ge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjA5ZFwiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi1yZXZpZXcge1xuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjE1Y1wiO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBPcmRlciBTdW1tYXJ5IHNlY3Rpb25cbi5jaGVja291dC1zdW1tYXJ5IHtcbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXNwZWNpZmljLW1lc3NhZ2VzIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDIwKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAyMCAyMCAyMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTApO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyIDE1IDE1IDE1KTtcbiAgICB9XG59XG5cbi5jaGVja291dC1vcmRlci10b3RhbHMge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICBtYXJnaW46IDAgMCAxLjU2MjVyZW07XG4gICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi41cmVtO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICB9XG5cbiAgICAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgdHI6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwLjYyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ib2xkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFtb3VudC10b3RhbC1wYWlkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YyZjJmMztcblxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFtb3VudC1zdG9yZS10b3RhbCxcbiAgICAgICAgICAgICYuYW1vdW50LXRvdGFsLXBhaWQge1xuICAgICAgICAgICAgICAgICYuYm9sZCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnZlaGljbGUtaW5mbyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyLjE4OHJlbTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sZXZ5LW1lc3NhZ2UtbWluaXN1bW1hcnkge1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE4KSAwIDAgMDtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE2KTtcbiAgICB9XG5cbiAgICAuc3RlcC1iYWNrLWxpbmsge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDtcbiAgICB9XG59XG5cbi8vIE5lZWQgSGVscCBib3hcbi5uZWVkLWhlbHAtY2hlY2tvdXQge1xuICAgIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG59XG5cbi8vIFN0ZXAgMiAtIFlvdXIgSW5mb3JtYXRpb24gJiBDb21tZXJjaWFsIEZsZWV0IFZlaGljbGVzXG4uY2hlY2tvdXQtc2hpcHBpbmcge1xuICAgIGxlZ2VuZCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNhdmUtZm9yLWJpbGxpbmcge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0aW9uLWJveCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJhZGlvLWZvcm0sXG4gICAgICAgIC5jaGVja2JveC1mb3JtIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yYWRpby1mb3JtIHtcbiAgICAgICAgICAgIC5maWVsZC13cmFwcGVyICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIHtcbiAgICAgICAgLmNvbW1lcmNpYWwtZmxlZXQtZm9ybSB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaGFzLXRpcCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgbGVmdDogOHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlaGljbGUtaW5mb3JtYXRpb24ge1xuICAgICAgICBtYXJnaW46IDIwcHggMCAzMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDU5MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCA3MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mb3JtYXRpb25zIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52ZWhpY2xlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkZC12ZWhpY2xlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDE0MXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXQtYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0ZXAgMiB3YXJuaW5nIG1vZGFsXG4jcHNtb2RhbCB7XG4gICAgJi53YXJuaW5nLW1vZGFsIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICAgICAgdG9wOiAyM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rZWVwLXZlaGljbGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0ZXAgMiBZb3VyIEluZm9ybWF0aW9uICYgU3RlcCAzIFBheW1lbnQgLSBjdXN0b20gc3R5bGVzIGZvciBDaXR5LCBQcm92aW5jZSwgUG9zdGFsIGNvZGUgYW5kIENvdW50cnkgZmllbGRzXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gICAgLmZvcm0tcm93IHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICYuY2l0eS1yb3csXG4gICAgICAgICAgICAmLnBvc3RhbC1yb3cge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5zdGF0ZS1yb3csXG4gICAgICAgICAgICAmLmNvdW50cnktcm93IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2l0eS1yb3csXG4gICAgICAgICYuc3RhdGUtcm93LFxuICAgICAgICAmLnBvc3RhbC1yb3csXG4gICAgICAgICYuY291bnRyeS1yb3cge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBub25lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bm90KC5jaXR5LXJvdyksXG4gICAgICAgICY6bm90KC5wb3N0YWwtcm93KSxcbiAgICAgICAgJjpub3QoLnN0YXRlLXJvdyksXG4gICAgICAgICY6bm90KC5jaGVja2JveC1mb3JtKSxcbiAgICAgICAgJjpub3QoLmNvdW50cnktcm93KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMC42MjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaXR5LXJvdyxcbiAgICAgICAgJi5zdGF0ZS1yb3csXG4gICAgICAgICYucG9zdGFsLXJvdyxcbiAgICAgICAgJi5jb3VudHJ5LXJvdyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmNpdHktcm93KSxcbiAgICAgICAgJjpub3QoLnBvc3RhbC1yb3cpLFxuICAgICAgICAmOm5vdCguc3RhdGUtcm93KSxcbiAgICAgICAgJjpub3QoLmNvdW50cnktcm93KSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtIDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMC42MjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaXR5LXJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY291bnRyeS1yb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5wb3N0YWwtcm93IHtcbiAgICAgICAgICAgIC5maWVsZC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC13cmFwcGVyLmhhcy10b29sdGlwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmZvcm0taW5kZW50LmNoZWNrYm94LWZvcm0ge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTdGVwIDMgLSBQYXltZW50XG4uY2hlY2tvdXQtYmlsbGluZyB7XG4gICAgLnRvcC1wYXltZW50LWluZm8ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmR1ZS1wYXltZW50LXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuZm9ybS1yb3cuYWRkcmVzcy1yb3cge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYXltZW50LW1ldGhvZCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuODEzcmVtO1xuICAgIH1cblxuICAgIC5jcmVkaXQtY2FyZC1sb2dvcyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDE1MHB4O1xuICAgIH1cblxuICAgICNtb25lcmlzRnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDIzNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAjbW9uZXJpc01zZyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vU3RlcCA0IGFuZCA1IC0gY29tbW9uIHN0eWxlXG4ub3JkZXItcmV2aWV3LXBhZ2UsXG4uY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgIC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tcHJpY2Uge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9sZC1wcmljZS5vbGQtcHJpY2UtY2hlY2tvdXQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc3RlZWwtZ3JleSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN0ZWVsLWdyZXkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZS1pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgLml0ZW0tcXVhbnRpdHkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbS10b3RhbCB7XG4gICAgICAgIC5wcmljZS10b3RhbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEwcHggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkcmVzczEge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAuemlwLWNvZGUge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cbn1cblxuLy8gU3RlcCA0IC0gT3JkZXIgUmV2aWV3XG4ub3JkZXItcmV2aWV3LXBhZ2Uge1xuICAgIGFkZHJlc3Mge1xuICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgICYuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjNyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYzcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0LWluZm8tYm94IHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmVoaWNsZS1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpc2NsYWltZXItY2hlY2tvdXQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1zdW1tYXJ5LWZvb3RlciB7XG4gICAgICAgIG1hcmdpbjogMS41NjNyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDMuMTI1cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxufVxuXG4vLyBPcmRlciBjb25maXJtYXRpb24gcGFnZVxuLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAzLjQzOHJlbSAwIDA7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGFjY291bnQgYm94XG4gICAgLmxvZ2luLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMS41NjNyZW0gMS4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubG9naW4tY3JlYXRlLWFjY291bnQge1xuICAgICAgICAgICAgLmxvZ2luLWJveC1maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICAgICAuZm9ybS1yb3cge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBmb3JtIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxvZ2luLWJveC1zdWJtaXQtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpdmFjeS1wb2xpY3kge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5ldXRyYWwtZ3JleSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuXG4gICAgICAgICAgICAgICAgJi5saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3JlYXRlLWFjY291bnQtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmRlc2t0b3Age1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2JpbGUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcmVhdGUtYWNjb3VudC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA1cHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9yZGVyIGNvbmZpcm1hdGlvbiBtYWluIGNvbnRlbnRcbiAgICAuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMi4xODhyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2M3JlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXQtc2VjdGlvbi1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGlvbi1ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFjdGlvbi1pY29uIHtcbiAgICAgICAgICAgICAgICAuY2FyZC1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG5cbiAgICAgICAgJi0tdG9wLW1hcmdpbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYzcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAmLmNvbHVtbnMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMnJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS4ycmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNtcy1yZW1pbmRlci1ib3gge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW0gMC42MjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItY29uZmlybWF0aW9uLWxpbmtzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGQtdG8tY2FsZW5kYXIsXG4gICAgICAgIC5wcmludC1saW5rIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcHQtaW5mby1ib3gge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAwLjkzNzVyZW0gMC42MjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgICAgICAgcGFkZGluZzogMS4yNXJlbSAwLjkzNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuaW1nLWJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC40Mzc1cmVtIDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiA1MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxLjI1cmVtIDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWJveCB7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNTdweCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaW5mb3JtYXRpb24ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBib3JkZXItZ3JleSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYm9yZGVyLWdyZXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWRhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFpbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWJsb2NrIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cblxuICAgICAgICAmLWxvY2FsZSB7XG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4O1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucGVyc29uYWwtaW5mb3JtYXRpb24tYm94IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMS41NjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWluaS1iaWxsaW5nLWFkZHJlc3Mge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgICAgICsgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMjBweCBhdXRvIDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAzNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYm9yZGVyLWdyZXkpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDM4cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzhweDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaW50LWluZm8ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hlY2tlZC1pY29uIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpIGluc2V0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGl0bGUge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0wLjQ0cHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZS1pbmZvIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgICAgICBsZXR0ZXItc3BhY2luZzogLTAuNDRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4OyAvKiAxMDAlICovXG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNDNweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBoNSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpdGxlLWluZm8tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgIC53aWR0aC0xMDAtbW9iaWxlIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLndpZHRoLTUwLW1vYmlsZSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VidGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1kYXRhLXRpbWUtbG9jYWxlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1kYXRhLXRpbWUge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9jYXRpb24tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWRkLXRvLWNhbGVuZGFyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmludC1saW5rIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZW1pbmRlci1pbmZvIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1pbnN0cnVjdGlvbnMge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYWx3YXlzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmN1c3RvbWVyLWNhcmUge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTguNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5mb3JtYXRpb24tYXNzZXRzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwdC1pbmZvIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXG4gICAgICAgICAgICAuaW5mb3JtYXRpb24tYm94LFxuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpdiBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvcm1hdGlvbi1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMjVweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuYXNzZXRzLXBkZiB7XG4gICAgICAgICAgICAuYXBwdC1pbmZvLXBkZiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jdXN0b21lci1jYXJlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLXN1bW1hcnktdGl0bGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJvcmRlci1ncmV5KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMXB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTguNSk7XG4gICAgICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFpbi1zZWN0aW9uLWhlYWRlci5zaG93LWZvci1zbWFsbC1vbmx5IHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjFweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxldnktbWVzc2FnZS1vcmRlcmRldGFpbHMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLXN1bW1hcnktaGVhZGVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbSAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLWluZm9ybWF0aW9uLWJsb2NrIHtcbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmUtaXRlbXMge1xuICAgICAgICAgICAgLnByb2R1Y3QtYnJhbmQsXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGluZS1pdGVtLXByaWNlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0bmFtZS1jb2x1bW4ge1xuICAgICAgICAgICAgLmxpbmUtaXRlbXMtdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLXN1bW1hcnktcHJvZHVjdHMtdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZnVsbC1uYW1lIHtcbiAgICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVtYWlsIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0YWwtY29kZSB7XG4gICAgICAgICAgICBvcmRlcjogMztcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5zdGFsbGF0aW9uLW5vdGljZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGhpbi1ncmF5KSAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDIxcHggMTVweCAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMTlweCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgICAgICAtd2Via2l0LXByaW50LWNvbG9yLWFkanVzdDogZXhhY3Q7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wZXJzb25hbC1wYXltZW50LWluZm8ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAuaW5mb3JtYXRpb24tYm94IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMDtcblxuICAgICAgICAgICAgICAgICYtLWZ1bGwtcGFkZGluZyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi0tZ3JleS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICAgICYtLW5vLW1hcmdpbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi0tb3JhbmdlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBheW1lbnQtdmVyaWZpY2F0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMnB4IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5lZWQtY2hhbmdlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDMwMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwO1xuXG4gICAgICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpbnRlZC12ZXJzaW9uLW9ubHkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBkaXY6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtdmVyaWZpY2F0aW9uIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRyLmFtb3VudC1zdG9yZS10b3RhbC5ib2xkIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItdG90YWwge1xuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYW1vdW50LXRvdGFsLXBhaWQge1xuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1kZXRhaWxlZC1pbmZvIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gICAgLmF0dHJpYnV0ZS1kYXRhIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogMzAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogbm9ybWFsO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2F2ZS1mb3ItYmlsbGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1vbmVyaXNJbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMjA0LCAyMDQsIDIwNCk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuI21vbmVyaXNOYW1lSW5wdXQge1xuICAgIHdpZHRoOiAyNTVweDtcbn1cblxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgZGl2OmZpcnN0LWNoaWxkLFxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgZGl2OmZpcnN0LWNoaWxkICsgZGl2IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBNaW5pIGhlYWRlciBzdHlsZVxuLm1pbmktaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcblxuICAgIC5oZWFkZXItbG9nbyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgYXNwZWN0LXJhdGlvOiAzOS8xMDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDc4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvIHtcbiAgICAuYWNjb3VudC1pbmZvLWNoZWNrb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcHg7XG4gICAgfVxuXG4gICAgLmFjY291bnQtaW5mby1jaGVja291dC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICAuYWNjb3VudC1pbmZvLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgICAuYWNjb3VudC1pbmZvLWZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3VudC1pbmZvLWNoZWNrb3V0LFxuICAgICAgICAuYWNjb3VudC1pbmZvLWNoZWNrb3V0LWxhYmVsLFxuICAgICAgICAubmFtZS1sZW5ndGgtZXJyb3Ige1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY2NvdW50LWluZm8tZm9ybS10b2dnbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVwZGF0ZS1jcmVkcy1saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJlcXVpcmVkLWZpZWxkOjphZnRlciB7XG4gICAgY29udGVudDogXCIqXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbn1cbiIsIi8vIFRoaXMgZmlsZSBjb250YWlucyB0aGUgc3R5bGVzIGZvciB0aGUgYm94IHdpdGggY2FydCBkZXRhaWxzIGZyb20gQ2hlY2tvdXQsIFN1bW1hcnkgYW5kIE9yZGVyIERldGFpbHMoTXkgQWNjb3VudCkgcGFnZXNcbi5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgICAgICYucXR5LWhlYWRlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRvdGFsLXByaWNlLWhlYWRlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZS1pdGVtLXByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbS1xdWFudGl0eSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaXRlbS1xdWFudGl0eSxcbiAgICAucHJpY2UtdG90YWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tdG90YWwge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbTtcblxuICAgICAgICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJvcmRlci1ib3RvbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBib3JkZXItZ3JleSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwOCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDE4cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDk3LjUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYm9yZGVyLWdyZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUHJvZHVjdCBTZXRcbiAgICAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuZmlyc3QtcHNldCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcbiAgICB9XG5cbiAgICAvLyBSZWJhdGUgc2VjdGlvblxuICAgIC5yZWJhdGUtYmFkZ2Uge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjMxMjVyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9yZWJhdGVfaWNvbi5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjI1cmVtIDAgMDtcbiAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG59XG5cbi8vIEFkaXRpb25hbCBTZXJ2aWNlc1xuLnNlcnZpY2Utcm93IHtcbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG59XG5cbi8vIEFkaXRpb25hbCBjdXN0b20gc3R5bGVzIGZvciBPcmRlciBEZXRhaWxzKE15IEFjY291bnQpIHBhZ2Vcbi5vcmRlcmRldGFpbHMge1xuICAgIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZS1ib3gge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gQWRpdGlvbmFsIGN1c3RvbSBzdHlsZXMgZm9yIENoZWNrb3V0IHBhZ2VzXG4uY2hlY2tvdXQtbWluaS1jYXJ0IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgcGFkZGluZzogMzBweCAyMHB4O1xuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgIC5jaGVja291dC1taW5pLWNhcnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDAgMS4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIC5saW5lLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGluZS1pdGVtIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMS4yNXJlbTtcblxuICAgICAgICAgICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuZmlyc3QtcHNldCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zZWNvbmQtcHNldCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGluZS1pdGVtLWRldGFpbHMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtYnJhbmQsXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLXRvdGFsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmUtaXRlbS1xdWFudGl0eSB7XG4gICAgICAgICAgICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcblxuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCI6XCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2Utcm93IHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcblxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4vLyBBZGl0aW9uYWwgY3VzdG9tIHN0eWxlcyBmb3IgU3RlcCA0IC0gT3JkZXIgUmV2aWV3XG4ub3JkZXItcmV2aWV3LXBhZ2Uge1xuICAgIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGEtdGltZSB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcC1pbmZvLXdyYXBwZXIge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWJveCB7XG4gICAgICAgIC5zZWN0aW9uLXRpdGxlLFxuICAgICAgICBwLCB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxM3B4O1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZnVsbC1uYW1lIHtcbiAgICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVtYWlsIHtcbiAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICBvcmRlcjogMjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3N0YWwtY29kZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpc2NsYWltZXItY2hlY2tvdXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBBZGl0aW9uYWwgY3VzdG9tIHN0eWxlcyBmb3IgcmViYXRlIG1lc3NhZ2UgLSBPcmRlciBSZXZpZXcgJiBDb25maXJtYXRpb24gcGFnZVxuLm9yZGVyLXJldmlldy1wYWdlLFxuLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAucmViYXRlLXRleHQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cbiAgICAucmViYXRlLWJveCB7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiA4MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogMjclO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZS1iYWRnZSB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgfVxufVxuIiwiLy8gQmVnaW46IEFwcG9pbnRtZW50IENhbGVuZGFyXG4uYXBwb2ludG1lbnRzIHtcbiAgICAmLmFwcG9pbnRtZW50cy13cmFwIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCAwIDc1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDQ0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi10aXRsZSB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kdXJhdGlvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWNhbGVuZGFyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5sb2FkZXIge1xuICAgICAgICAgICAgYm90dG9tOiAtNGVtO1xuICAgICAgICAgICAgdG9wOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsbmRyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1zbW9rZSk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxOHB4O1xuICAgIH1cblxuICAgIC5jbG5kci1jb250cm9scyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMCAxLjI1cmVtO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLm1vbnRoIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHItcHJldmlvdXMtYnV0dG9uLFxuICAgIC5jbG5kci1uZXh0LWJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgIH1cblxuICAgIC5jbG5kci1wcmV2aW91cy1idXR0b24sXG4gICAgLmNsbmRyLW5leHQtYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAzcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LWluZGVudDogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbiB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTgxM1wiO1xuICAgICAgICAgICAgbGVmdDogMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsbmRyLW5leHQtYnV0dG9uIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODE0XCI7XG4gICAgICAgICAgICByaWdodDogMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG5kci10YWJsZSB7XG4gICAgICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICB0aGVhZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGU7XG4gICAgICAgICAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgdHIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsbmRyLWNvbnRyb2xzIHtcbiAgICAgICAgICAgICYud2VlayB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaGVhZGVyLWRheSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNkZGRkZGU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZGRkZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5ldmVudCB7XG4gICAgICAgICAgICAudy1kYXksXG4gICAgICAgICAgICAubW9udGgtZGF5IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRheSB7XG4gICAgICAgICAgICAubW9udGgtdmlldyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTFweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkgYW5kIChtYXgtd2lkdGg6IDEzMTlweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmV2ZW50OmhvdmVyIHtcbiAgICAgICAgICAgICAgICAuZGF5LWNvbnRlbnRzIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpub3QoLmV2ZW50KSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUtZXZlbnQge1xuICAgICAgICAgICAgICAgIC5kYXktY29udGVudHMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlyc3QtZGF5IHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubW9udGgtZGF5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuZGF5LWNvbnRlbnRzIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgaGVpZ2h0OiAyOXB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMjlweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDMzcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMzcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudy1kYXkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAud2Vlay12aWV3IHtcbiAgICAgICAgICAgIC5jb250cm9sbC13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsbmRyLXRhYnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIC50YWIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtc21va2UpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vbnRoLXRhYiB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1lcnJvci1tZXNzYWdlIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyxcbiAgICAuYXBwb2ludG1lbnQtZGF0ZS10aW1lLFxuICAgIC5uby1hdmFpbGFibGUtYXBwb2ludG1lbnRzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RkZGRkZTtcbiAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgcGFkZGluZzogMS41NjNyZW0gMS4yNXJlbSAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kYXRlIHtcbiAgICAgICAgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNjI1cmVtIDAuOTM3NXJlbTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxNi42JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFwcG9pbnRtZW50cyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMjBweDtcblxuICAgICAgICAgICAgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5hcHBvaW50bWVudC1hY3RpdmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEuNTYzcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAwIDAuOTM3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZWRpdC1hcHBvaW50bWVudCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcHQtZXhwaXJ5IHtcbiAgICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmVlZC1oZWxwLWNoZWNrb3V0LWFwcG9pbnRtZW50IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDUwcHggMCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1idXR0b25zLWJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBtYXJnaW46IDAgMCA1MHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAmLndpdGgtYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWNvbnRpbnVlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDM3NnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcHQtZXhwaXJ5IHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cbi8vIEVuZDogQXBwb2ludG1lbnQgQ2FsZW5kYXJcblxuLmFwcG9pbnRtZW50LXBhZ2Uge1xuICAgIC5hcHBvaW50bWVudC1wYWdlLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZXJ0aWNhbC1hbGlnbiB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICB9XG5cbiAgICAuc3RhcnRfbG9jYXRpb24ge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgIGZsZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogNDVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtc3RvcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMTNweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI21hcC1ib3gge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDEuMjVyZW0gMCAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b2dnbGUtbWFwIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzOXB4O1xuICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTM5cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFwLXZpZXcge1xuICAgICAgICBtYXgtaGVpZ2h0OiAzNjBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3Qtdmlldy1pdGVtcyB7XG4gICAgICAgIC5sb2NhdGlvbi1pdGVtIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvY2F0aW9uLWl0ZW0td3JhcHBlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgNTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb3JlLXRpbWVzLFxuICAgICAgICAuYm9vay1ub3cge1xuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTVweCAwIDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vcmUtdGltZXMge1xuICAgICAgICAgICAgJjpub3QoLnN0b3JlZC1oZXJlLWJ0bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogN3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaG9sbG93IHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxM3B4IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RvcmVkLWhlcmUtYnRuIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjQxcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlZC10aXJlcyB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYm9vay1ub3cge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNob3ctc3RvcmUtYm94IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaG93LXN0b3JlLWluZm8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvbGlzdHZpZXdBcnJvdy5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuaGlnaGxpZ2h0LW91dG9mc3RvY2stc3RvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjNzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgICAgICAmLnRyYW5zaXRpb24tdG8tZW5kIHtcbiAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGlzdC12aWV3LWl0ZW1zLFxuICAgIC5zdG9yZS1kZXRhaWxzLWJveCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubmlja25hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1pdGVtLWRpc3RhbmNlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1hdmFpbGFiaWxpdHkge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDtcblxuICAgICAgICAuYXZhaWxhYmlsaXR5LW1lc3NhZ2Uge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lYXJsaWVzdC1hdmFpbGFibGUge1xuICAgICAgICAgICAgLnNsb3QtaW5mbyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlYXJjaGluZy1mb3ItYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHJlZDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmZsb2F0LWNsZWFyLWJvdGgge1xuICAgICAgICAgICAgICAgIGNsZWFyOiBib3RoO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vLXRyYWlsZXItc2VydmljZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICB9XG5cbiAgICAucmF0aW5nLWRpc3RhbmNlLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFjay1hbmQtcGFnaW5hdGlvbi13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogMS44NzVyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjg3NXJlbSAwIC0xLjg3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RlcC1iYWNrLWxpbmsge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucGFnaW5hdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdG9yZSBEZXRhaWxzXG4gICAgLm1hcC1pbmZvYm94IHtcbiAgICAgICAgLnN0b3JlLWJhY2stYm94IHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RvcmUtYmFjayB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1kZXRhaWxzLWJveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAgICAgLmxvY2F0aW9uLWRpc3RhbmNlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9yZS1pbmZvLWJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMS44NzVyZW07XG5cbiAgICAgICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb3JlLWluZm8tdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxLjI1cmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN1Ym1lbnUge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDAgMS4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5waG9uZS1udW1iZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ib29raW5nLW5vdC1hdmFpbGFibGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi4xODhyZW07XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24tZmlsdGVycyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIzNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEzcHggMCAwIDE2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICBzZWxlY3Qge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0LWxvY2F0aW9uLXdyYXBwZXIge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxufVxuXG5cbi8vIEFwcG9pbnRtZW50IHRpbWUgaGFzIHRha2VuIC0gcG9wdXBcbi8vIEFwcG9pbnRtZW50IFJlbGVhc2VkIE1lc3NhZ2luZyAtIHBvcHVwXG4uYXBwb2ludG1lbnQtcG9wdXAtd3JhcCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICByaWdodDogMS4xMjVyZW07XG4gICAgICAgIHRvcDogMC45Mzc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICByaWdodDogMS43NXJlbTtcbiAgICAgICAgICAgIHRvcDogMS40MzhyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgICB3aWR0aDogODAlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTdHlsZSBmb3Igc3RvcmFnZSBtb2RhbCBmcm9tIGFwcG9pbnRtZW50IHN0ZXBcbiNzdG9yYWdlTW9kYWwsXG4jdHJhaWxlclRpcmVNb2RhbCB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAuYnJpbmdpbmctdHJhbGVyLWJ0biB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5icmluZ2luZy13aGVlbC1idG4ge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnRyYWlsZXItYXBwb2ludG1lbnQtbW9kYWwge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1heC1oZWlnaHQ6IHVuc2V0O1xuICAgICAgICBtaW4taGVpZ2h0OiB1bnNldDtcbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50cmFpbGVyLW1vZGFsLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgLnRpdGxlLnN0ZXAtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVuc2V0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYudGl0bGUtbGFyZ2Uge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYudGl0bGUtc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5zZWNvbmQtc3RlcC1tb2RhbC10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbG9zZS1idXR0b24sXG4gICAgICAgICAgICAucmV0dXJuLXN0ZXAtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLW1vZGFsLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICYuc2Vjb25kLXN0ZXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgJi5zZWNvbmQtc3RlcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWc6bm90KC50cmFpbGVyLWltYWdlKSB7XG4gICAgICAgIG1heC13aWR0aDogNjhweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA4NnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAyMHB4O1xuICAgIH1cblxuICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvLWJ0biB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheS1vdmVyO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnRyYWlsZXItYnV0dG9uIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIzM3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjMzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJlLXN0b3JlZC1idG4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1MnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vdC1zdG9yZWQtYnRuIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjI1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogMTZweCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0OHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMzZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWlsZXItbW9kYWwtc3RlcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpdGxlLnRpdGxlLXNtYWxsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9kYWwtaGVhZGVyLFxuICAgICAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgJi5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICAgICAgJi5zZWNvbmQtc3RlcC1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLm5leHQtc3RlcC50cmFpbGVyLWluZm8ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpdGxlLnRpdGxlLXNtYWxsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucHJldmlvdXMtc3RlcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiA1MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudHJhaWxlci1pbmZvIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMDtcblxuICAgICAgICAgICAgICAgIC50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGl0bGUudGl0bGUtc21hbGwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IHVuc2V0O1xuXG4gICAgICAgICAgICAgICAgLnRyYWlsZXItbW9kYWwtYnRuIHtcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLmJyaW5naW5nLXRyYWxlci1idG4sXG4gICAgICAgICAgICAgICAgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tbGlnaHQtbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG5cbiAgICAgICAgICAgICAgICAgICAgJi5zZWxlY3RlZC1zdGVwLW9wdGlvbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgXG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuc2VsZWN0ZWQtc3RlcC1vcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmV0dXJuLXN0ZXAtYnV0dG9uIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDI3cHg7XG4gICAgICAgIHBvc2l0aW9uOiB1bnNldDtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIHRvcDogMC41cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICAmLm5vdC1zdGVwLW9uZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNsaWNlbnNlUGxhdGVNb2RhbCB7XG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHg7XG4gICAgfVxuXG4gICAgI2xpY2Vuc2VQbGF0ZVN1Ym1pdCB7XG4gICAgICAgIG1heC13aWR0aDogMjUwcHg7XG4gICAgfVxuXG4gICAgI2xpY2Vuc2UtcGxhdGUtbnVtYmVyIHtcbiAgICAgICAgcGFkZGluZzogMCA2NXB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgfVxufVxuXG4jdHJhaWxlclRpcmVNb2RhbCB7XG4gICAgJi5yZXZlYWwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDc3NXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIG1hcmdpbjogMzBweCAzMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhaWxlci10aXJlLWhlYWRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IHtcbiAgICAgICAgLmFjdGl2ZS10aXRsZSAuc3RlcC1tZXNzYWdlIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCAwIDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUuZGlzYWJsZWQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGlzYWJsZWQtZ3JleSk7XG4gICAgICAgICAgICBjdXJzb3I6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAuc3RlcC10aXRsZSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vjb25kLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAzMHB4IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudHJhaWxlci1tb2RhbC1jb250ZW50IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MDBweDtcbiAgICAgICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGJ1dHRvbi5jbG9zZS1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhaWxlci1tb2RhbC1zdGVwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuc3RlcC1hcnJvdyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkaXNhYmxlZC1ncmV5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICN0cmFpbGVyVGlyZU1vZGFsRXhpdCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGxlZnQ6IDMwMHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyaW5naW5nLXRyYWxlci1idG4sXG4gICAgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgfVxuXG4gICAgI2JyaW5naW5nVHJhaWxlcixcbiAgICAjYnJpbmdpbmdUcmFpbGVyV2hlZWwge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBtYXgtaGVpZ2h0OiBub25lO1xuICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogOTBweDtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhaWxlci1tb2RhbC1idG4ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbGlnaHRlci1ncmF5O1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaG9vc2UtYWN0aW9uIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgMzYwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFpbGVyVHlwZSB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDI3MHB4KTtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgNzZweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWlsZXJMZW5ndGgge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgLnNlY29uZC10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgzLCAxNzBweCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTdHlsZSBmb3Igc3RvcmFnZSBtb2RhbCBmcm9tIGFwcG9pbnRtZW50IHN0ZXBcbiNhcHBvaW50bWVudFNlY3VyZSxcbiNzZWxlY3RlTmV3QXBwb2ludG1lbnQge1xuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAudGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDY4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJlLXN0b3JlZC1idG4ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweCAwIDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE1MnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vdC1zdG9yZWQtYnRuIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjI1cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1jb25maXJtYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IDUwcHg7XG5cbiAgICAudGl0bGUtd3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnNlY3VkcmVkLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogMTRweCAwIDE0cHggMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVzdGFydC1idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLmV4cGlyeSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHggMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtYWRkcmVzcy13cmFwcGVyIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0ZWQtYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1idXR0b25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29uZmlybS1idXR0b24ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTk2cHg7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5iYWNrLWJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICAgICAgICAgIG9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWR1cmF0aW9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWl0ZW0tbmFtZSxcbiAgICAubG9jYXRpb24taXRlbS1hZGRyZXNzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAubG9jYXRpb24taXRlbS1uYW1lIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLnJlc3RhcnQtYXBwb2ludG1lbnQge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLmNpdHkge1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAuemlwLWNvZGUsXG4gICAgLnN0YXRlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG4iLCIucGFnZS1kZXNpZ25lci1rYWx0aXJlIHtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgLm5vLXBhZGRpbmctbGVmdC1sYXJnZSB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAubm8tcGFkZGluZy1yaWdodC1sYXJnZSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJsYWNrIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC53aGl0ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm9yYW5nZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmRhcmtlci1ncmF5IHtcbiAgICAgICAgY29sb3I6ICRkYXJrZXItZ3JheSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5oYXMtc2hhZGRvdyB7XG4gICAgICAgIHRleHQtc2hhZG93OiAwIDAgMTJweCByZ2JhKDAsIDAsIDAsIDAuMykgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZC1ibGFjayB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLXdoaXRlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5iYWNrZ3JvdW5kLW9yYW5nZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZC1kYXJrZXItZ3JheSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZXItZ3JheSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIGg1IGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1maWd1cmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJhbm5lci1zdWJ0aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBmaWdjYXB0aW9uIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbXBvbmVudC1pbWFnZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgICAgIG9iamVjdC1wb3NpdGlvbjogdmFyKC0tZm9jYWwtcG9pbnQteCkgdmFyKC0tZm9jYWwtcG9pbnQteSk7XG4gICAgICAgIC8vIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC52aWRlby1hcnRpY2xlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LXNpemU6IDQwcHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLW1haW4taW1hZ2UsXG4gICAgLmZlYXR1cmVkLWFydGljbGUsXG4gICAgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSB7XG4gICAgICAgIC52aWRlby1hcnRpY2xlIGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDYwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmVhdHVyZS1hcnRpY2xlLWltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmV4cGVyaWVuY2UtbGF5b3V0cy1leHBsb3JldG9waWMsXG4gICAgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3Mge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4MCkgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDQwKSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcGljLWxpbmstdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzVweCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzNXB4KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEudG9waWMtbGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAudG9waWMtbGluay1pbWFnZSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3B1bGFyLXJlYWRzIHtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZXMtaW5maW5pdGUge1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3B1bGFyLXJlYWRzLXRvcCxcbiAgICAucmVsYXRlZC1yZWFkcy10b3Age1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5wb3B1bGFyLXJlYWRzLXRpdGxlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNCk7XG4gICAgICAgIHBhZGRpbmctbGVmdDogOHB4O1xuICAgICAgICBcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAucG9wdWxhci1yZWFkcy1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLmFydGljbGUtY29udGFpbmVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0ZXItZ3JheTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMTVweCAxNXB4IDZweDtcbiAgICB9XG5cbiAgICAuZmVhdHVyZWQtdGFnIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgaGVpZ2h0OiAzOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC5hcnRpY2xlLWxpbmsudGV4dC1saW5rIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgICAgICYuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIiA+XCI7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRleHQtbGluay1jdXN0b206OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1jb250YWluZXIsXG4gICAgLmZlYXR1cmVkLWFydGljbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLmFydGljbGUtbGluay1mdWxsIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWFydGljbGUsXG4gICAgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICAgICAgLmFydGljbGUtaW5mbyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2VyLWdyYXk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDUwcHggMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggNDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5mZWF0dXJlZC10YWcge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmstZ3JheS1mZWF0dXJlO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDRweCA3cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMSk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDMyKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMCAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IC13ZWJraXQtYm94OyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMjtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDM2cHg7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDU1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1saW5rLmJ1dHRvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4IDI0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZXMtbGF5b3V0IHtcbiAgICAgICAgLmZlYXR1cmUtYXJ0aWNsZS1pbWFnZSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygyNTYpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuYXJ0aWNsZS1pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIycHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDI2cHggMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtZGVzY3JpcHRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9waWMtYnJlYWRjcnVtYiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrZXItZ3JheTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcblxuICAgICAgICAuYXJ0aWNsZS1icmVhZGNydW1icyB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMCA1cHg7XG5cbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRvcGljLXRpdGxlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICYtdGV4dCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyNXB4IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1icmVhZGNydW1icyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMjBweDtcblxuICAgICAgICBhLFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmVhZGNydW1iLWxldmVsLTEsXG4gICAgLmJyZWFkY3J1bWItbGV2ZWwtMixcbiAgICAuYnJlYWRjcnVtYi1sZXZlbC0zIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLmJyZWFkY3J1bWItbGV2ZWwtMSxcbiAgICAuYnJlYWRjcnVtYi1sZXZlbC0yIHtcbiAgICAgICAgYSxcbiAgICAgICAgcCB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmVhZGNydW1iLWxldmVsLTMge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvbnRlbnRzLFxuICAgIC5jb250ZW50LW1hcmt1cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDQwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIHVsLFxuICAgICAgICBvbCxcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDEge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1wYWdlLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLW1haW4taW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLXBhZ2UtY29udGVudCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgb2wge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMzBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlLWJhZGdlIHtcbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtbWFya3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5ib3R0b20tYm9yZGVyLTJwLWdyYXkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICB9XG5cbiAgICAudmlkZW8tYXJ0aWNsZS1saW5rIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5hcnRpY2xlLXZpZGVvIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICB9XG5cbiAgICAudGh1bWJzLXVwLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDUwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAudGh1bWJzLXVwLXRpdGxlIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnRodW1icy11cC1zdWJ0aXRsZSBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudGh1bWJzLXVwLXRyaWdnZXJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6ICR0aHVtYnMtZ3JheTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0Mik7XG4gICAgICAgIH1cblxuICAgICAgICBpLmFjdGl2ZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aHVtYnMtdXAtdHJpZ2dlcixcbiAgICAudGh1bWJzLWRvd24tdHJpZ2dlciB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG5cbiAgICAudGh1bWJzLXVwLXRyaWdnZXIge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLnRodW1icy1kb3duLXRyaWdnZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgfVxuXG4gICAgLmFydGljbGUtZXh0ZXJuYWwtc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDc1cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmFydGljbGUtZXh0ZXJuYWwtY29udGVudCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLWV4dGVybmFsLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtZXh0ZXJuYWwtc3VidGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtZmlsdGVycyB7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMTBweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDMwcHggMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMnB4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgYTpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY3RpdmUtbGluayB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJjYXRlZ29yeS1yZWdpb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweCAxMHB4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1jb3VudCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcC5hcnRpY2xlLWNvdW50LW1vYmlsZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYS5yZWZpbmVtZW50LWZpbHRlci10b2dnbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICAgICAgOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MDdcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcGljLWZpbHRlcnMge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFibGUtZ3JpZC1jb21wb25lbnQge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgLmNvbHVtbi1jb250ZW50IHtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICB9XG5cbiAgICAgICAgb2wge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGVjaW1hbDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIHVsLFxuICAgICAgICBvbCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZsZXgtY2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY29udGVudC1vcHRpb25hbC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLXByb2R1Y3RjYXJkcmlnaHQsXG4gICAgLmV4cGVyaWVuY2UtbGF5b3V0cy1wcm9kdWN0Y2FyZGxlZnQsXG4gICAgLmV4cGVyaWVuY2UtbGF5b3V0cy1wcm9kdWN0Y2FyZHNjZW50ZXJlZCB7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMzAgMCk7XG4gICAgfVxuXG4gICAgLnBvd2VycmV2aWV3cy1jb250YWluZXIge1xuICAgICAgICBtaW4taGVpZ2h0OiAzM3B4O1xuICAgIH1cbn1cblxuLnZpZGVvLWFydGljbGUtcG9wdXAge1xuICAgIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgICAgICByaWdodDogMTZweDtcbiAgICAgICAgdG9wOiAtMjhweDtcbiAgICBcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgdG9wOiAtMjhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNkaWFsb2ctY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbiNyZXNvdXJjZS1jZW50cmUge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIC5leHBlcmllbmNlLWFzc2V0cy1oZWFkbGluZWJhbm5lcmZ1bGx3aWR0aCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDM3MXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAudGl0bGUtcm93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDM0NXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7XG5cbiAgICAgICAgICAgICAgICAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA2NXB4O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5iYW5uZXItc3VidGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnN1YnRpdGxlLXJvdyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgICAgICAgICAuc3VidGl0bGUtY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQwOHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMTIwcHggMDtcblxuICAgICAgICAgICAgLnRvcGljLWxpbmstdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudG9waWMtY29sdW1uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMjRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgLnRvcGljLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuXG4gICAgICAgICAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiA1NnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjJweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5leHBlcmllbmNlLWxheW91dHMtcG9wdWxhcnJlYWRzIHtcbiAgICAgICAgICAgIC5wb3B1bGFyLXJlYWRzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEwMHB4IDAgNzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBvcHVsYXItcmVhZHMtdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXJ0aWNsZS1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIuc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygzMCAwIDIwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNik7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoNTAgMCk7XG4gICAgfVxufVxuXG4uc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LW9yZGVyIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAvLyBSZW1vdmUgaW5wdXQncyBhcnJvd3Mvc3Bpbm5lcnMgYm94XG4gICAgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgICAgIGFwcGVhcmFuY2U6IHRleHRmaWVsZDtcbiAgICB9XG5cbiAgICBpbnB1dDo6LXdlYmtpdC1vdXRlci1zcGluLWJ1dHRvbixcbiAgICBpbnB1dDo6LXdlYmtpdC1pbm5lci1zcGluLWJ1dHRvbiB7XG4gICAgICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1IDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYyg1KSBzb2xpZCByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSksIDAuOCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDgwIDAgNDApO1xuICAgIH1cblxuICAgIC5oYXMtdGlwLWN1c3RvbSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDcpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogcmVtLWNhbGMoLTIpO1xuICAgIH1cblxuICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG59XG5cbi5maW5kLW15LWFwcG9pbnRtZW50IHtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG59XG5cbi5zZWFzb24tdGlyZS1wb3B1cCB7XG4gICAgd2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7XG5cbiAgICAuZGlhbG9nLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zZWFzb24tdGlyZS1wb3B1cC10aXRsZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSA2MCAyNSAyNSk7XG4gICAgfVxuXG4gICAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgICAgIC51aS1idXR0b24taWNvbi1wcmltYXJ5IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2Vhc29uLXRpcmUtcG9wdXAtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZmxvdzogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDYwIDI1IDEwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC1mbG93OiByb3c7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSA2MCAyNSAxNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUgMTApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmtlZXAtYXBwb2ludG1lbnQtYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDMpIHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMyAxNSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcGlmYWlsZWQtcG9wdXAtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDEwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUgMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1kaXNhYmxlZDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuaW5wdXQtY3VzdG9tLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxOCk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgJjpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYyg0KSBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMzApO1xuICAgICAgICBtYXgtd2lkdGg6IHJlbS1jYWxjKDEyMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciB7XG4gICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIH1cblxuICAgIC5yYWRpby1mb3JtIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTApO1xuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB2ZXJ5LWxpZ2h0LWdyZXkpO1xuICAgICAgICBoZWlnaHQ6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgd2lkdGg6IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAmOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDQpIHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FuY2VsLWFwcG9pbnRtZW50LXdoeSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE1KTtcbiAgICB9XG5cbiAgICAuY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS1zdWJtaXQge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDUwKTtcbiAgICB9XG5cbiAgICAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRncmV5LWRpc2FibGVkO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLnRvb2x0aXAge1xuICAgIC5zZWFzb24tdGlyZS1wb3B1cC1vcmRlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTAgMjApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDMwIDMwIDYwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCA2MCk7XG4gICAgfVxuXG4gICAgLmZhLWNoZWNrLWNpcmNsZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLmZhLWNoZWNrIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBsZWZ0OiByZW0tY2FsYygzMCk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3gta2VlcCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTAgMjApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDIwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwKTtcbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDAgMTAgMjApO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDMwIDMwIDYwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCA2MCk7XG4gICAgfVxuXG4gICAgLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlLFxuICAgIC5mYS1jaGVjayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgfVxuXG4gICAgLmZhLWNoZWNrIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGFjdC11cyxcbiAgICAudGFsay1tZW1iZXIge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG5cbiAgICAudGFsay1tZW1iZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnBob25lLW51bWJlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIH1cbn1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdWNjZXNzLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyNSAwIDM1KTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAzMCAzMCA2MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzAgNjApO1xuICAgIH1cblxuICAgIC5mYS1jaGVjayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICBtYXJnaW46IHJlbS1jYWxjKDMwIDAgMjApO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDUwIDAgMjApO1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb250ZW50OiBcInxcIjtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg4KTtcbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtb3JkZXItc3VtbWFyeSB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyMCAwKTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1zdGFydHRpbWUge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1zdGFydHRpbWUtZGF5IHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNvbmZpcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDUpO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNvbmZpcm0tcHJvdmluY2Uge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDQwKTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbiB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtbGluZTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1kaXN0YW5jZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nOiByZW0tY2FsYyg1KSAwIHJlbS1jYWxjKDEwKTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1zcGFjZSB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygxMCAwIDIwKTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1yZXNjaGVkdWxlIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtY2FuY2VsIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxMDApO1xuICAgIHZlcnRpY2FsLWFsaWduOiB0ZXh0LXRvcDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1zZWxlY3QtbmV3LWRhdGUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNhbGVuZGFyLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWNhbGVuZGFyLWFkZHJlc3Mge1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xufVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItZHJvcCB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICNkYjVhMDA7XG4gICAgfVxufVxuXG4uc3RvcmUtZGV0YWlscy1ib3gtd3JhcHBlciB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuXG4gICAgLnN0b3JlLWRldGFpbHMtYm94IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcblxuICAgICAgICAubW9yZS1pbmZvLXRpdGxlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1wbGFpbi10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG59XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1idXR0b24td3JhcHBlciB7XG4gICAgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1kaXNhYmxlZDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWtlZXAge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBib3JkZXI6IHJlbS1jYWxjKDMpIHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMSAxNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1hY3RpdmUge1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5hcHBvaW50bWVudC1kYXRlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWRhdGUge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbn1cblxuLnJldmVhbC5hcHBvaW50bWVudC1jYWxlbmRhci1tb2RhbCB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG5cbiAgICAuYXBwb2ludG1lbnQtY2FsZW5kYXIta2VlcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci1ibG9jayB7XG4gICAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuQG1lZGlhIHByaW50IHtcbiAgICAuaW5mb3JtYXRpb24tYm94IHtcbiAgICAgICAgaDMge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBJbiB0aGlzIGZpbGUgd2Ugd2lsbCBoaWRlIHNvbWUgc2VjdGlvbnMgdGhhdCB3aWxsIG5vdCBiZSBkZWxpdmVyZWQgZm9yIHRoZSBtb21lbnQgb3Igd2lsbCBiZSBzb21lIENSJ3MgaW4gdGhlIGZ1dHVyZSBmb3IgdGhvc2Ugc2VjdGlvbnNcblxuLy8gaGlkZSByZWNvbW1lbmRlZCBiYWRnZXMgZnJvbSB0aGUgdG9wIG9mIHRpbGVzIChncmlkIHBhZ2UpXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIGhpZGUgXCJIb3cgd291bGQgeW91IGxpa2UgdG8gYmUgcmVtaW5kZWQgb2YgeW91ciBhcHBvaW50bWVudD9cIiBzZWN0aW9uIGZyb20gQ2hlY2tvdXQgU3RlcCAyXG4uY2hlY2tvdXQtc2hpcHBpbmcgLnNlbGVjdGlvbi1ib3gucmVtaW5kZWQtYXBwb2ludG1lbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLy8gcmVtb3ZlIHNlbGVjdCBhcnJvdyBmb3IgQ291bnRyeSBmaWVsZFxuLy8gbm93IHdlIGhhdmUganVzdCBvbmUgY291bnRyeSBhZGRlZCBhdXRvbWF0aWNhbGx5IGFuZCB0aGUgc2VsZWN0IGZpZWxkIGlzIG5vdCBlZGl0YWJsZVxuLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmNvdW50cnktcm93IC5pbnB1dC1zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICAgI2luc2lkZV9ob2xkZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cbiJdfQ== */
