@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.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.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.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.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.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.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.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 .amount-total-paid {
        border-top: 1px solid #f2f2f3; }
        .order-payment-summary .order-totals-table .amount-total-paid td {
          padding-top: 15px; }
      .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;
    max-width: 108px;
    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; } }
      .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; } }

.order-review-page .line-item-details .product-name,
.confirmation-page .line-item-details .product-name {
  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: 1.25rem;
      line-height: 22px; } }

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

.order-review-page .line-item-quantity .item-quantity,
.confirmation-page .line-item-quantity .item-quantity {
  font-size: 0.875rem; }
  @media screen and (min-width: 48em) {
    .order-review-page .line-item-quantity .item-quantity,
    .confirmation-page .line-item-quantity .item-quantity {
      font-size: 0.9375rem; } }

.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%; }
        @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-right: 20px; } }
    .confirmation-page .login-box.login-create-account form {
      margin-bottom: 15px; }
    .confirmation-page .login-box.login-create-account .login-box-submit-button {
      -ms-flex-preferred-size: 100%;
          flex-basis: 100%; }
    .confirmation-page .login-box.login-create-account .privacy-policy {
      color: #808285;
      font-size: 13px; }
      .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;
    line-height: 1.3;
    margin: 0 0 0.9375rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .create-account-title {
        font-size: 1.125rem;
        margin: 0 0 1.563rem; } }
  .confirmation-page .create-account-description {
    font-family: "Gotham A", "Gotham B", Arial;
    font-weight: 400;
    font-size: 0.875rem;
    margin: 0 0 0.625rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .create-account-description {
        font-size: 0.9375rem; } }
  .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: 1rem;
      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.563rem;
            padding-right: 1.563rem; } }
      @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 .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 #f2f2f2;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding-bottom: 30px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .order-information {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap; } }
    .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: 20px; }
      @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; } }
      @media screen and (max-width: 47.9375em) {
        .confirmation-page .order-information .section-title-box .amount-due-at-store {
          font-family: "Gotham A", "Gotham B", Arial;
          font-weight: 400; } }
    .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: 20px; }
      @media print {
        .confirmation-page .order-information-locale .section-title-box {
          margin-bottom: 5px; } }
      .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 {
            margin-bottom: 0; } }
      .confirmation-page .order-information-locale .section-title-box p {
        margin-bottom: 0; }
  @media screen and (max-width: 47.9375em) {
    .confirmation-page .cart-summary-box {
      padding: 1.5625rem 1.875rem; } }
  @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 50px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message-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;
        margin: 0 auto 50px; } }
    @media screen and (min-width: 48em) {
      .confirmation-page .confirmation-message-wrapper .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; } }
    .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; } }
    .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.3125rem;
      -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; } }
    .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 {
      margin-bottom: 15px; }
    .confirmation-page .appointment-details-wrapper .appointment-data-time p {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      color: #c75300;
      font-size: 20px;
      line-height: 27px;
      margin-bottom: 0; }
    .confirmation-page .appointment-details-wrapper .appointment-time {
      display: none; }
    .confirmation-page .appointment-details-wrapper .location-box {
      margin-bottom: 15px; }
      .confirmation-page .appointment-details-wrapper .location-box p {
        line-height: 22px;
        margin: 0; }
    @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; } }
    .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 .customer-care {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 100%;
            flex: 0 0 100%;
    padding-top: 30px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .customer-care {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 50%;
                flex: 0 0 50%;
        padding-top: 0; } }
    .confirmation-page .customer-care h3 {
      font-size: 14px; }
      @media screen and (min-width: 48em) {
        .confirmation-page .customer-care h3 {
          margin-bottom: 15px; } }
    .confirmation-page .customer-care p {
      font-size: 0.875rem;
      margin-bottom: 20px; }
  .confirmation-page .information-assets {
    border: 2px solid #f2f2f3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 30px 20px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .information-assets {
        -ms-flex-wrap: nowrap;
            flex-wrap: nowrap;
        padding: 30px; } }
    .confirmation-page .information-assets h3 {
      font-family: "Gotham A", "Gotham B", Arial;
      font-weight: 500;
      font-size: 1rem;
      line-height: 18px;
      margin-bottom: 20px; }
    .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;
        margin-bottom: 10px; }
      .confirmation-page .information-assets .appt-info div p {
        font-size: 0.875rem;
        margin: 0;
        padding-left: 20px; }
    .confirmation-page .information-assets .information-box {
      margin-bottom: 25px; }
      .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 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: 30px; }
      @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: 2px solid #f2f2f3; } }
    .confirmation-page .order-confirmation-details .order-payment-summary {
      border: 0;
      margin-bottom: 50px;
      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; } }
    .confirmation-page .order-confirmation-details .order-summary-header {
      padding: 1.5625rem 1.875rem; }
      @media print {
        .confirmation-page .order-confirmation-details .order-summary-header {
          border: 2px solid #f2f2f3;
          page-break-after: always; } }
    .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: 700; }
      @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: 400; } }
    .confirmation-page .order-confirmation-details .productname-column .line-items-title {
      display: none; }
    .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 {
      display: none; }
  .confirmation-page .personal-payment-info {
    margin-left: 0;
    margin-right: 0;
    margin-top: 20px; }
    @media screen and (min-width: 48em) {
      .confirmation-page .personal-payment-info {
        margin-top: 50px; }
        .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; }
      @media print {
        .confirmation-page .personal-payment-info .need-changes {
          display: none; } }
  .confirmation-page .payment-verification p {
    display: inline; }
  .confirmation-page .order-totals-table tr {
    font-size: 0.875rem; }
    @media screen and (min-width: 48em) {
      .confirmation-page .order-totals-table tr {
        font-size: 0.9375rem; } }

.product-detailed-info {
  line-height: 1.5;
  margin-top: 12px;
  text-transform: capitalize; }
  .product-detailed-info .attribute-data {
    font-size: 0.875rem;
    margin: 0; }

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

.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 {
  border-bottom: 1px solid #f2f2f3;
  padding: 1.5625rem 1.875rem; }
  .cart-summary-box .main-section-header .section-header {
    margin: 0; }

.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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O0VBQ2xCLGdCVm5Fc0I7RVVvRXRCLG1CVm5FMEI7RVVvRTFCLGtDVm5FeUMsRUFBQTs7QVV1RTNDOztFQUVFLGtCQUFrQjtFQUNsQixvQkFBb0IsRUFBQTs7QUFJdEI7O0VWdVdFLDBDQUhzQztFQUl0QyxnQkFBZ0I7RVVwV2hCLG9CQUFvQixFQUFBOztBWDRGdEI7RVd2RkUsY1YzRmlCO0VVNEZqQixvQkFBb0IsRUFBQTs7QUFJdEI7Ozs7OztFQU1FLG1FWG5PcUU7RVdvT3JFLG1CVnZMeUI7RVV3THpCLGtCQWxRc0I7RUFtUXRCLGNWN0drQjtFVThHbEIsa0NWM0dzQztFVTRHdEMsYUFBYTtFQUNiLHFCVjlHeUI7RVUrR3pCLGdCVmhIbUIsRUFBQTtFVW1HckI7Ozs7OztJQWdCSSxXVm5OWTtJVW9OWixjQUFjLEVBQUE7O0FYK0NsQjtFV3RDUSxpQlB0TytDLEVBQUE7O0FPcU9qRDtFQUNFLGVQdE8rQyxFQUFBOztBT3FPakQ7RUFDRSxtQlB0TytDLEVBQUE7O0FPcU9qRDtFQUNFLG1CUHRPK0MsRUFBQTs7QU9xT2pEO0VBQ0Usb0JQdE8rQyxFQUFBOztBT3FPakQ7RUFDRSxtQlB0TytDLEVBQUE7O0FFbUVyRDtFTnlNRjtJV3RDUSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0UsbUJQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0Usb0JQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQSxFT3VPaEQ7O0FMcEtMO0VOeU1GO0lXdENRLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxvQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0UsbUJQdE8rQyxFQUFBO0VPcU9qRDtJQUNFLG1CUHRPK0MsRUFBQTtFT3FPakQ7SUFDRSxtQlB0TytDLEVBQUE7RU9xT2pEO0lBQ0Usb0JQdE8rQyxFQUFBLEVPdU9oRDs7QVhWUDtFV2lCRSxjVjFRMkI7RVUyUTNCLHFCVnRIeUI7RVV1SHpCLG9CQUFvQjtFQUNwQixlQUFlLEVBQUE7RUFKakI7SUFRSSxjVjdIMkQsRUFBQTtFVXFIL0Q7SUFlSSxTQUFTLEVBQUE7O0FYNEZiO0VXdEZFLGtCUGxRcUQ7RU9tUXJELFNBQVM7RUFDVCxlQUFlO0VBQ2YsYUFBYTtFQUNiLDZCVjdQYztFVThQZCxjQUFjO0VBQ2Qsb0JWM0l5QjtFVTRJekIsV0FBVyxFQUFBOztBQUliOzs7RUFHRSxnQlZsS3NCO0VVbUt0QixtQlZsSzBCO0VVbUsxQiw0QlZqSnlCLEVBQUE7O0FVcUozQjtFQUNFLGtCQUFrQixFQUFBOztBQUlwQjtFQUNFLHFCVjVKa0I7RVU2SmxCLG9CVjNKc0IsRUFBQTs7QVUrSnhCO0VBQ0Usb0JWaEtzQixFQUFBOztBVW9LeEI7RUFFSSxvQlZySzJCO0VVc0szQixnQkFBZ0IsRUFBQTs7QUFLcEI7RUFDRSxtQlYzS3lCLEVBQUE7RVUwSzNCO0lBSUkscUJWNUs4QjtJVTZLOUIsaUJWdFJtQixFQUFBOztBVTJSdkI7RUFDRSxnQlYxTTBCO0VVMk0xQixzQ1AxVHFEO0VPMlRyRCwyQlZsVGMsRUFBQTtFVStTaEI7SUFNSSxnQlZoTm9CO0lVaU5wQixjVm5UYSxFQUFBOztBVXdUakI7RUFDRSxjQUFjO0VBQ2Qsb0JQdFVxRDtFT3VVckQsY1YzVGUsRUFBQTtFVXdUakI7SUFNSSxzQkFBc0IsRUFBQTs7QUFLMUI7RUFDRSxXVjVUUTtFVTZUUixZQUFZO0VBQ1osOEJWOVRRLEVBQUE7O0FVa1VWO0VBQ0UsNERWMVFtRTtFVTJRbkUsbUJWNVR5QjtFVTZUekIsV1ZyVVE7RVVzVVIseUJWdlZnQjtFVXdWaEIsc0JWbFZjO0VVbVZkLHFDUDVWcUQsRUFBQTs7QU9nV3ZEO0VBQ0UsMkJQNVZTO0VPNlZULFNBQVM7RUFDVCx5QlZoV2dCO0VVaVdoQixXVmhWUTtFVWlWUiw0RFZ4Um1FLEVBQUE7O0FXOUdyRTtFQUNFLGtCWDJMeUI7RVcxTHpCLHFCWDJMNEI7RVcxTDVCLG1CWDBEeUI7RVd6RHpCLGdCWHFMc0I7RVdwTHRCLGNYd0NlLEVBQUE7O0FXcENqQjtFQUNFLGVYNktxQztFVzVLckMsZ0JY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LEVBQUE7RWNnR1Y7SUF4RkEsc0JkbkRtQjtJY29EbkIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0VjZ0dWO0lBeEZBLHlCZGxEa0I7SWNtRGxCLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFY2dHVjtJQXhGQSx5QmRqRHFCO0lja0RyQixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RWNnR1Y7SUF4RkEseUJkaERvQjtJY2lEcEIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0VjZ0dWO0lBeEZBLHNCZC9DbUI7SWNnRG5CLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFY2dHVjtJQXhGQSx5QmQ5QzBCO0ljK0MxQixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RWNnR1Y7SUF4RkEseUJkN0NzQjtJYzhDdEIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0VjZ0dWO0lBeEZBLHlCZDVDd0I7SWM2Q3hCLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFY2dHVjtJQXhGQSxzQmQzQ3FCO0ljNENyQixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RWNnR1Y7SUF4RkEseUJkMUNxQjtJYzJDckIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0VjZ0dWO0lBeEZBLHlCZHpDc0I7SWMwQ3RCLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFY2dHVjtJQXhGQSx5QmR4Q2tCO0ljeUNsQixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RWNnR1Y7SUF4RkEseUJkdkNrQjtJY3dDbEIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7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U1EsbUJ6QktxQjtJeUJKckIsV3pCb0RFLEVBQUE7RXlCOURWO0lBU1EsZ0J6Qk1TO0l5QkxULFd6Qm9ERSxFQUFBO0V5QjlEVjtJQVNRLG1CekJPaUI7SXlCTmpCLFd6Qm9ERSxFQUFBO0V5QjlEVjtJQVNRLG1CekJRWTtJeUJQWixXekJvREUsRUFBQTtFeUI5RFY7SUFTUSxnQnpCU1c7SXlCUlgsV3pCb0RFLEVBQUE7RXlCOURWO0lBU1EsbUJ6QlVVO0l5QlRWLFd6Qm9ERSxFQUFBO0V5QjlEVjtJQVNRLG1CekJXYTtJeUJWYixXekJtREUsRUFBQTtFeUI3RFY7SUFTUSxtQnpCWVk7SXlCWFosV3pCbURFLEVBQUE7RXlCN0RWO0lBU1EsZ0J6QmFXO0l5QlpYLFd6Qm1ERSxFQUFBO0V5QjdEVjtJQVNRLG1CekJja0I7SXlCYmxCLFd6Qm1ERSxFQUFBO0V5QjdEVjtJQVNRLG1CekJlYztJeUJkZCxXekJtREUsRUFBQTtFeUI3RFY7SUFTUSxtQnpCZ0JnQjtJeUJmaEIsV3pCb0RFLEVBQUE7RXlCOURWO0lBU1EsZ0J6QmlCYTtJeUJoQmIsV3pCbURFLEVBQUE7RXlCN0RWO0lBU1EsbUJ6QmtCYTtJeUJqQmIsV3pCbURFLEVBQUE7RXlCN0RWO0lBU1EsbUJ6Qm1CYztJeUJsQmQsV3pCbURFLEVBQUE7RXlCN0RWO0lBU1EsbUJ6Qm9CVTtJeUJuQlYsV3pCb0RFLEVBQUE7RXlCOURWO0lBU1EsbUJ6QnFCVTtJeUJwQlYsV3pCb0RFLEVBQUE7RXlCOURWO0lBU1EsbUJ6QnNCUTtJeUJyQlIsV3pCb0RFLEVBQUE7RXlCOURWO0lBU1EsZ0J6QnVCSztJeUJ0QkwsV3pCb0RFLEVBQUE7RXlCOURWO0lBU1EsbUJ6QndCYztJeUJ2QmQsV3pCbURFLEVBQUE7RXlCN0RWO0lBU1EsbUJ6QnlCUTtJeUJ4QlIsV3pCb0RFLEVBQUE7RXlCOURWO0lBU1EsbUJ6QjBCdUI7SXlCekJ2QixXekJtREUsRUFBQTtFeUI3RFY7SUFTUSxtQnpCMkJtQjtJeUIxQm5CLFd6Qm9ERSxFQUFBO0V5QjlEVjtJQVNRLG1CekI0Qm1CO0l5QjNCbkIsV3pCb0RFLEVBQUE7RXlCOURWO0lBU1EsbUJ6QjZCaUI7SXlCNUJqQixXekJvREUsRUFBQTs7QTBCZlY7RUEzQ0EsZ0JBQWdCO0VBQ2hCLGtCMUI2T3VDLEVBQUE7RUNoSnZDO0lBRUUsWUFBWTtJQUNaLGNBQWMsRUFBQTtFQU9oQjtJQUNFLFdBQVcsRUFBQTtFeUJyR2I7SUFDRSxXQUFPO0lBQ1AsVzFCbURRO0kwQmxEUixvQnZCOEJxRDtJdUI3QnJELGVBQWU7SUFHYix5QkFBeUIsRUFBQTtJQU96QjtNQUNFLFcxQjJCVTtNMEIxQlYsWUFKNkM7TUFLN0MsaUIxQjhOeUI7TTBCN056QixrQkFBa0I7TUFDbEIsUUFBUTtNQUNSLFVBQVUsRUFBQTtFQVNoQjtJQUNFLGMxQjFCZ0IsRUFBQTtJMEI0QmhCO01BQ0UsMEJBQTBCLEVBQUE7RUFNOUI7SUFJSSxXMUJEWTtJMEJFWixtQkFBbUIsRUFBQTs7QUM2Q3ZCO0VBMUdBLG1CM0IwUnVCO0UyQmxSckIsWUFBWSxFQUFBO0UxQm1HZDtJQUVFLFlBQVk7SUFDWixjQUFjLEVBQUE7RUFPaEI7SUFDRSxXQUFXLEVBQUE7RTBCM0diO0lBQ0UsU0FBUztJQUNULGlCM0I4UXFCO0kyQjdRckIsa0IzQjZRcUI7STJCNVFyQixpQjNCbVFlLEVBQUE7STJCN1BmO01BQ0UsZUFBaUMsRUFBQTtFQW9GckM7SUFNTSxpQjNCZ0tRLEVBQUE7RTJCdEtkO0lBTU0sa0IzQmlLVSxFQUFBO0UyQnZLaEI7SUFNTSxrQjNCbUtVLEVBQUE7RTJCektoQjtJQXhFRSxrQjNCeVBxQixFQUFBO0kyQnZQckI7TUFFRSxhQUFhLEVBQUE7SUFZVDtNQUNFLHFCQUFxQjtNQUNyQixzQkFBNEQ7TUFDNUQsaUIzQnNPYSxFQUFBO00yQnBPYjtRQUNFLGtCQUErRSxFQUFBO0lBTm5GO01BQ0UscUJBQXFCO01BQ3JCLDRCQUE0RDtNQUM1RCxpQjNCc09hLEVBQUE7TTJCcE9iO1FBQ0Usa0JBQStFLEVBQUE7SUFObkY7TUFDRSxxQkFBcUI7TUFDckIsc0JBQTREO01BQzVELGlCM0JzT2EsRUFBQTtNMkJwT2I7UUFDRSxrQkFBK0UsRUFBQTtJQU5uRjtNQUNFLHFCQUFxQjtNQUNyQixzQkFBNEQ7TUFDNUQsaUIzQnNPYSxFQUFBO00yQnBPYjtRQUNFLGtCQUErRSxFQUFBO0lBTm5GO01BQ0UscUJBQXFCO01BQ3JCLDRCQUE0RDtNQUM1RCxpQjNCc09hLEVBQUE7TTJCcE9iO1FBQ0Usa0JBQStFLEVBQUE7RUFrRDNGO0liNUJBLHlCZHpEa0I7SWMwRGxCLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFMkJvQ1Y7SWI1QkEseUJkeEQ2QjtJY3lEN0IsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0UyQm9DVjtJYjVCQSx5QmR2RDZCO0ljd0Q3QixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RTJCb0NWO0liNUJBLHNCZHREaUI7SWN1RGpCLFdkVFUsRUFBQTtJY1dWO01BQ0UsdUJBUDZEO01BUTdELFdkYlEsRUFBQTtFMkJvQ1Y7SWI1QkEseUJkckR5QjtJY3NEekIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0UyQm9DVjtJYjVCQSx5QmRwRG9CO0ljcURwQixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RTJCb0NWO0liNUJBLHNCZG5EbUI7SWNvRG5CLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFMkJvQ1Y7SWI1QkEseUJkbERrQjtJY21EbEIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0UyQm9DVjtJYjVCQSx5QmRqRHFCO0lja0RyQixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RTJCb0NWO0liNUJBLHlCZGhEb0I7SWNpRHBCLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFMkJvQ1Y7SWI1QkEsc0JkL0NtQjtJY2dEbkIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0UyQm9DVjtJYjVCQSx5QmQ5QzBCO0ljK0MxQixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RTJCb0NWO0liNUJBLHlCZDdDc0I7SWM4Q3RCLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFMkJvQ1Y7SWI1QkEseUJkNUN3QjtJYzZDeEIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0UyQm9DVjtJYjVCQSxzQmQzQ3FCO0ljNENyQixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RTJCb0NWO0liNUJBLHlCZDFDcUI7SWMyQ3JCLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFMkJvQ1Y7SWI1QkEseUJkekNzQjtJYzBDdEIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0UyQm9DVjtJYjVCQSx5QmR4Q2tCO0ljeUNsQixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RTJCb0NWO0liNUJBLHlCZHZDa0I7SWN3Q2xCLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdELFdkYlEsRUFBQTtFMkJvQ1Y7SWI1QkEseUJkdENnQjtJY3VDaEIsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0UyQm9DVjtJYjVCQSxzQmRyQ2E7SWNzQ2IsV2RUVSxFQUFBO0ljV1Y7TUFDRSx5QkFQNkQ7TUFRN0QsV2RiUSxFQUFBO0UyQm9DVjtJYjVCQSx5QmRwQ3NCO0ljcUN0QixXZFRVLEVBQUE7SWNXVjtNQUNFLHlCQVA2RDtNQVE3RCxXZGJRLEVBQUE7RTJCb0NWO0liNUJBLHlCZG5DZ0I7SWNvQ2hCLFdkVFUsRUFBQTtJY1dWO01BQ0UseUJBUDZEO01BUTdE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QVNRLG1CcENXWTtJb0NWWixXcENrREUsRUFBQTtFb0M1RFY7SUFTUSxnQnBDWVc7SW9DWFgsV3BDa0RFLEVBQUE7RW9DNURWO0lBU1EsbUJwQ2FrQjtJb0NabEIsV3BDa0RFLEVBQUE7RW9DNURWO0lBU1EsbUJwQ2NjO0lvQ2JkLFdwQ2tERSxFQUFBO0VvQzVEVjtJQVNRLG1CcENlZ0I7SW9DZGhCLFdwQ21ERSxFQUFBO0VvQzdEVjtJQVNRLGdCcENnQmE7SW9DZmIsV3BDa0RFLEVBQUE7RW9DNURWO0lBU1EsbUJwQ2lCYTtJb0NoQmIsV3BDa0RFLEVBQUE7RW9DNURWO0lBU1EsbUJwQ2tCYztJb0NqQmQsV3BDa0RFLEVBQUE7RW9DNURWO0lBU1EsbUJwQ21CVTtJb0NsQlYsV3BDbURFLEVBQUE7RW9DN0RWO0lBU1EsbUJwQ29CVTtJb0NuQlYsV3BDbURFLEVBQUE7RW9DN0RWO0lBU1EsbUJwQ3FCUTtJb0NwQlIsV3BDbURFLEVBQUE7RW9DN0RWO0lBU1EsZ0JwQ3NCSztJb0NyQkwsV3BDbURFLEVBQUE7RW9DN0RWO0lBU1EsbUJwQ3VCYztJb0N0QmQsV3BDa0RFLEVBQUE7RW9DNURWO0lBU1EsbUJwQ3dCUTtJb0N2QlIsV3BDbURFLEVBQUE7RW9DN0RWO0lBU1EsbUJwQ3lCdUI7SW9DeEJ2QixXcENrREUsRUFBQTtFb0M1RFY7SUFTUSxtQnBDMEJtQjtJb0N6Qm5CLFdwQ21ERSxFQUFBO0VvQzdEVjtJQVNRLG1CcEMyQm1CO0lvQzFCbkIsV3BDbURFLEVBQUE7RW9DN0RWO0lBU1EsbUJwQzRCaUI7SW9DM0JqQixXcENtREUsRUFBQTs7QXFDNUJWO0VBbkRBLG1CckNvRmtCO0VxQ25GbEIsY0FBd0MsRUFBQTtFQWtEeEM7SUFJSSxlQUFlLEVBQUE7RWhDc0VqQjtJZ0MxRUY7TUFqQkEsVUFBVTtNQUNWLG9CckNrRG1CO01xQzNDakIsY0FBYyxFQUFBO01BR2hCO1FBQ0UsV3JDMldrQyxFQUFBLEVxQzFXbkM7O0FBMEJEO0VBMURFLG1CQUFtQjtFQUNuQixtQkFBbUIsRUFBQTtFQUdyQjtJQUNFLG1C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a0RsQixvQkFsRGtCLEVBQUE7O0E4Q0FoQjtFOUNrQ0YseUJBakNnQjtNQWlDaEIsc0JBakNnQjtVQWlDaEIsbUJBakNnQixFQUFBOztBOENHZDtFOUM4Q0YsMkJBakRnQjtNQWlEaEIsa0JBakRnQixFQUFBOztBOENEZDtFOUNrQ0YsMEJBaENrQjtNQWdDbEIsdUJBaENrQjtVQWdDbEIsb0JBaENrQixFQUFBOztBOENFaEI7RTlDOENGLDRCQWhEa0I7TUFnRGxCLG1CQWhEa0IsRUFBQTs7QVBxTWQ7RU8vSUosNEI4QzdDZ0I7TTlDNkNoQixpQjhDN0NnQjtVOUM2Q2hCLFE4QzdDZ0IsRUFBQTs7QXJENExaO0VPL0lKLDRCOEM3Q2dCO005QzZDaEIsaUI4QzdDZ0I7VTlDNkNoQixROEM3Q2dCLEVBQUE7O0FyRDRMWjtFTy9JSiw0QjhDN0NnQjtNOUM2Q2hCLGlCOEM3Q2dCO1U5QzZDaEIsUThDN0NnQixFQUFBOztBckQ0TFo7RU8vSUosNEI4QzdDZ0I7TTlDNkNoQixpQjhDN0NnQjtVOUM2Q2hCLFE4QzdDZ0IsRUFBQTs7QXJENExaO0VPL0lKLDRCOEM3Q2dCO005QzZDaEIsaUI4QzdDZ0I7VTlDNkNoQixROEM3Q2dCLEVBQUE7O0FyRDRMWjtFTy9JSiw0QjhDN0NnQjtNOUM2Q2hCLGlCOEM3Q2dCO1U5QzZDaEIsUThDN0NnQixFQUFBOztBbEQ4SGQ7RUg4REU7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQSxFQUdYOztBbEQySEg7RUg4REU7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQTtFckQ0TFo7SU8vSUosNEI4QzdDZ0I7UTlDNkNoQixpQjhDN0NnQjtZOUM2Q2hCLFE4QzdDZ0IsRUFBQSxFQUdYOztBQ0hIO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFQ3ZCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpFM0I7RUdvQkEsZ0NBRnlCO01BRXpCLDRCQUZ5QjtVQUV6Qix3QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixvQ0FGeUI7TUFFekIsZ0NBRnlCO1VBRXpCLDRCQUZ5QjtFQ3ZCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpFM0I7RUdvQkEsZ0NBRnlCO01BRXpCLDRCQUZ5QjtVQUV6Qix3QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QjtFQ3ZCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpFM0I7RUdvQkEsZ0NBRnlCO01BRXpCLDRCQUZ5QjtVQUV6Qix3QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtQ0FGeUI7TUFFekIsK0JBRnlCO1VBRXpCLDJCQUZ5QjtFQ3ZCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpFM0I7RUdvQkEsZ0NBRnlCO01BRXpCLDRCQUZ5QjtVQUV6Qix3QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3ZCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpFM0I7RUdvQkEsbUNBRnlCO01BRXpCLCtCQUZ5QjtVQUV6QiwyQkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3ZCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpFM0I7RUdvQkEsbUNBRnlCO01BRXpCLCtCQUZ5QjtVQUV6QiwyQkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3ZCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpFM0I7RUdvQkEsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixnQ0FGeUI7TUFFekIsNEJBRnlCO1VBRXpCLHdCQUZ5QjtFQ3ZCdkIsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBR3pDLG1DQUEyQjtVQUEzQiwyQkFBMkIsRUFBQTs7QUpFM0I7RUdvQkEsb0NBRnlCO01BRXpCLGdDQUZ5QjtVQUV6Qiw0QkFGeUIsRUFBQTs7QUg5QnpCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixVRmhDa0M7RUlBbEMsb0NBQTRCO0VBQTVCLDRCQUE0QixFQUFBOztBTFk1QjtFR29CQSxVRmhDcUMsRUFBQTs7QURBckM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLFVGL0JrQztFSURsQyxvQ0FBNEI7RUFBNUIsNEJBQTRCLEVBQUE7O0FMWTVCO0VHb0JBLFVGL0JxQyxFQUFBOztBRERyQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsc0RHckNtQztVSHFDbkMsOENHckNtQztFSHFDbkMsNkJGNUJtRDtNRTRCbkQseUJGNUJtRDtVRTRCbkQscUJGNUJtRDtFTUdqRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLCtCRjNCcUQ7TUUyQnJELDJCRjNCcUQ7VUUyQnJELHVCRjNCcUQ7RU1FbkQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQTJCLEVBQUE7O0FQSTdCO0VHb0JBLG1ER1Y0QztVSFU1QywyQ0dWNEM7RUNKMUMsVUFBMkIsRUFBQTs7QVBsQjdCO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixxREduQ2lDO1VIbUNqQyw2Q0duQ2lDO0VIbUNqQyxnQ0YxQnNEO01FMEJ0RCw0QkYxQnNEO1VFMEJ0RCx3QkYxQnNEO0VNQ3BELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUEyQixFQUFBOztBUEk3QjtFR29CQSxtREdWNEM7VUhVNUMsMkNHVjRDO0VDSjFDLFVBQTJCLEVBQUE7O0FQbEI3QjtFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIscURHbEMrQjtVSGtDL0IsNkNHbEMrQjtFSGtDL0IsOEJGekJvRDtNRXlCcEQsMEJGekJvRDtVRXlCcEQsc0JGekJvRDtFTUFsRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3JDbUM7VUhxQ25DLDhDR3JDbUM7RUhxQ25DLGdDR0NlO01IRGYsNEJHQ2U7VUhEZix3QkdDZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUhvQ3JDLGdDR0NlO01IRGYsNEJHQ2U7VUhEZix3QkdDZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBMkIsRUFBQTs7QVBJN0I7RUdvQkEsbURHVjRDO1VIVTVDLDJDR1Y0QztFQ0oxQyxVQUEyQixFQUFBOztBUGxCN0I7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsNkJGdEJtRDtNRXNCbkQseUJGdEJtRDtVRXNCbkQscUJGdEJtRDtFTUhqRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBJaEM7RUdvQkEsc0RHckNtQztVSHFDbkMsOENHckNtQztFQ3VCakMsVUFBOEIsRUFBQTs7QVBsQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdSOEM7VUhROUMsMkNHUjhDO0VIUTlDLCtCRnJCcUQ7TUVxQnJELDJCRnJCcUQ7VUVxQnJELHVCRnJCcUQ7RU1KbkQsdURBQXVDO0VBQXZDLCtDQUF1QztFQUF2Qyx1Q0FBdUM7RUFBdkMsMERBQXVDO0VBQ3ZDLFVBQThCLEVBQUE7O0FQSWhDO0VHb0JBLHNER3BDcUM7VUhvQ3JDLDhDR3BDcUM7RUNzQm5DLFVBQThCLEVBQUE7O0FQbEJoQztFQ2xCRixrQ0NrQmM7VURsQmQsMEJDa0JjO0VEakJkLDBDQ2lDZTtVRGpDZixrQ0NpQ2U7RUNnQmIsbURHUjhDO1VIUTlDLDJDR1I4QztFSFE5QyxnQ0ZwQnNEO01Fb0J0RCw0QkZwQnNEO1VFb0J0RCx3QkZwQnNEO0VNTHBELHVEQUF1QztFQUF2QywrQ0FBdUM7RUFBdkMsdUNBQXVDO0VBQXZDLDBEQUF1QztFQUN2QyxVQUE4QixFQUFBOztBUEloQztFR29CQSxxREduQ2lDO1VIbUNqQyw2Q0duQ2lDO0VDcUIvQixVQUE4QixFQUFBOztBUGxCaEM7RUNsQkYsa0NDa0JjO1VEbEJkLDBCQ2tCYztFRGpCZCwwQ0NpQ2U7VURqQ2Ysa0NDaUNlO0VDZ0JiLG1ER1I4QztVSFE5QywyQ0dSOEM7RUhROUMsOEJGbkJvRDtNRW1CcEQsMEJGbkJvRDtVRW1CcEQsc0JGbkJvRDtFTU5sRCx1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBJaEM7RUdvQkEscURHbEMrQjtVSGtDL0IsNkNHbEMrQjtFQ29CN0IsVUFBOEIsRUFBQTs7QVBsQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdSOEM7VUhROUMsMkNHUjhDO0VIUTlDLGdDR0NlO01IRGYsNEJHQ2U7VUhEZix3QkdDZTtFQzFCYix1REFBdUM7RUFBdkMsK0NBQXVDO0VBQXZDLHVDQUF1QztFQUF2QywwREFBdUM7RUFDdkMsVUFBOEIsRUFBQTs7QVBJaEM7RUdvQkEsc0RHckNtQztVSHFDbkMsOENHckNtQztFQ3VCakMsVUFBOEIsRUFBQTs7QVBsQmhDO0VDbEJGLGtDQ2tCYztVRGxCZCwwQkNrQmM7RURqQmQsMENDaUNlO1VEakNmLGtDQ2lDZTtFQ2dCYixtREdSOEM7VUhROUMsMkNHUjhDO0VIUTlDLGdD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RCxpQjdHbEZpRCxFQUFBO0lFbUVyRDtNMkdyRko7UUF1R1ksWUFBWSxFQUFBLEVBRW5COztBQUdMO0VoSHFkSSwwQ0Fic0M7RUFjdEMsZ0JBQWdCO0VnSGxkWixvQjdHOUZpRCxFQUFBOztBNkcwRnpEO0VBUVEsdUI3R2xHaUQsRUFBQTs7QTZHMEZ6RDs7RUFhUSx5QmhIekhvQjtFZ0gwSHBCLGdCN0d4R2lEO0U2R3lHakQsZTdHekdpRCxFQUFBOztBNkcwRnpEO0VBb0JZLGdCaEg3SFc7RWdIOEhYLDZCaEg1SVEsRUFBQTs7QWdIdUhwQjtFQTBCUSx3QjdHcEhpRCxFQUFBOztBNkcwRnpEO0VBOEJRLG9CN0d4SGlEO0U2R3lIakQsMkI3R3pIaUQsRUFBQTs7QTZHMEZ6RDtFQW1DUSxtQmhIdkdlO0VnSHdHZixVQUFVLEVBQUE7O0FBSWxCO0VBRVEsbUJoSGpLWTtFZ0hrS1osV2hIcEplO0VnSHFKZixrQjdHdElpRCxFQUFBOztBNkcwSXpEO0VBQ0kseUJoSGhLbUI7RWdIaUtuQiwwQjdHNUlxRDtFNkc2SXJELDJDN0c3SXFEO0U2RzhJckQsa0JBQWtCLEVBQUE7RTNHM0VsQjtJMkd1RUo7TUFPUSx5QjdHakppRCxFQUFBLEU2R3dLeEQ7RUE5QkQ7SUFXUSxjaEhsTFk7SWdIbUxaLGtCN0d0SmlEO0k2R3VKakQsYzdHdkppRDtJNkd3SmpELGtCQUFrQixFQUFBO0VBZDFCO0lBa0JRLGNoSHpMWTtJZ0gwTFosb0I3RzdKaUQ7STZHOEpqRCxjN0c5SmlEO0k2RytKakQscUI3Ry9KaUQ7STZHZ0tqRCxrQkFBa0IsRUFBQTtJQXRCMUI7TUF5QlkseUJoSGhNUTtNZ0hpTVIsa0JBQWtCO01BQ2xCLGtCN0dySzZDLEVBQUE7O0E2RzBLekQ7RUFDSSx5QmhIaE1tQjtFZ0hpTW5CLDBCN0c1S3FEO0U2RzZLckQseUI3RzdLcUQsRUFBQTtFRW1FckQ7STJHdUdKO01BTVEsaUI3R2hMaUQsRUFBQSxFNkdrTHhEOztBQUVEO0VBQ0kseUJoSDFNbUI7RWdIMk1uQiwwQjdHdExxRDtFNkd1THJELDJDN0d2THFEO0U2R3dMckQsa0JBQWtCLEVBQUE7RTNHckhsQjtJMkdpSEo7TUFPUSx5QjdHM0xpRCxFQUFBLEU2RzZOeEQ7RUF6Q0Q7O0lBWVEsY2hIN05ZO0lnSDhOWixrQjdHak1pRDtJNkdrTWpELGM3R2xNaUQ7STZHbU1qRCxrQkFBa0IsRUFBQTtFQWYxQjtJQW1CUSxvQjdHdk1pRDtJNkd3TWpELHFCN0d4TWlELEVBQUE7STZHb0x6RDtNQXVCWSx5QmhIeE9RO01nSHlPUixrQkFBa0I7TUFDbEIsa0I3RzdNNkMsRUFBQTtFNkdvTHpEOztJQStCUSxpQkFBaUIsRUFBQTtFQS9CekI7SUFtQ1EsU0FBUyxFQUFBO0VBbkNqQjtJQXVDUSxjaEhqUFksRUFBQTs7QWdIcVBwQjtFQUNJLHlCaEhyUG1CO0VnSHNQbkIsNkI3R2pPcUQ7RTZHa09yRCwyQzdHbE9xRDtFNkdtT3JELGtCQUFrQixFQUFBO0UzR2hLbEI7STJHNEpKO01BT1EseUI3R3RPaUQsRUFBQSxFNkdzUHhEO0VBdkJEO0lBV1EsY2hIdlFZO0lnSHdRWixvQjdHM09pRDtJNkc0T2pELGM3RzVPaUQ7STZHNk9qRCxxQjdHN09pRDtJNkc4T2pELGtCQUFrQixFQUFBO0lBZjFCO01Ba0JZLHlCaEg5UVE7TWdIK1FSLGtCQUFrQjtNQUNsQixrQjdHblA2QyxFQUFBOztBNkd3UHpEO0VoSDZTSSwwQ0FIc0M7RUFJdEMsZ0JBQWdCO0VnSDNTaEIsb0I3RzNQcUQ7RTZHNFByRCwwQjdHNVBxRDtFNkc2UHJELHlCQUF5QjtFQUN6QixtQkFBbUIsRUFBQTtFM0czTG5CO0kyR3FMSjtNQVNRLG1CN0dqUWlEO002R2tRakQsMEI3R2xRaUQsRUFBQSxFNkcwUXhEO0VBbEJEO0lBY1EsY2hIblNZO0lnSG9TWixZQUFZO0lBQ1osb0I3R3hRaUQsRUFBQTs7QTZHNFF6RDtFQUNJLGlCN0d4UVMsRUFBQTs7QTZHMlFiO0VBQ0ksY2hIOVNnQjtFZ0grU2hCLHNCN0dsUnFELEVBQUE7O0E2R3FSekQ7RUFDSSx5QkFBeUIsRUFBQTs7QUFHN0I7RUFDSSx3QjdHMVJxRCxFQUFBOztBNkc2UnpEO0VBQ0kscUI3RzlScUQsRUFBQTs7QTZHaVN6RDtFQUNJLG9CN0dsU3FEO0U2R21TckQscUJBQXFCLEVBQUE7O0FBR3pCO0VBQ0ksY2hIN1RnQjtFZ0g4VGhCLGtCN0d4U3FEO0U2R3lTckQsZ0JBQWdCO0VBQ2hCLDZCN0cxU3FELEVBQUE7O0E2RzZTekQ7RUFDSSwwQjdHOVNxRCxFQUFBOztBNkdpVHpEO0VBQ0ksbUI3R2xUcUQsRUFBQTs7QTZHcVR6RDtFQUNJLGNoSG5WZ0I7RWdIb1ZoQixjQUFjO0VBQ2Qsb0JBQW9CO0VBQ3BCLHNCN0d6VHFEO0U2RzBUckQsd0JBQXdCLEVBQUE7RTNHdlB4QjtJMkdrUEo7TUFRUSxxQkFBcUI7TUFDckIsc0I3RzlUaUQsRUFBQSxFNkdnVXhEOztBQUVEO0VBQ0ksbUI3R25VcUQ7RTZHb1VyRCxnQkFBZ0I7RUFDaEIsb0I3R3JVcUQsRUFBQTs7QTZHd1V6RDtFQUNJLGU3R3pVcUQsRUFBQTs7QTZHNFV6RDtFQUNJLG1CN0c3VXFEO0U2RzhVckQsZ0JBQWdCO0VBQ2hCLG9CN0cvVXFELEVBQUE7O0E2R2tWekQ7RUFDSSxjaEhoWGdCO0VnSGlYaEIsY0FBYztFQUNkLG1CN0dyVnFELEVBQUE7RTZHa1Z6RDtJQU1RLGNBQWMsRUFBQTs7QUFJdEI7RUFDSSxrQjdHN1ZxRCxFQUFBO0U2RzRWekQ7SUFJUSxhQUFhLEVBQUE7SUFKckI7TUFPWSxjaEhoWVE7TWdIaVlSLG9CN0dwVzZDLEVBQUE7O0E2R3lXekQ7RUFDSSxzQjdHMVdxRCxFQUFBOztBNkc2V3pEO0VBRVEsbUJoSHpWZTtFZ0gwVmYsVUFBVSxFQUFBOztBQUhsQjtFQU9RLFdBQVcsRUFBQTtFM0dqVGY7STJHMFNKO01BVVksY0FBYyxFQUFBLEVBRXJCOztBQVpMO0VBZVEsZ0JoSDNZZTtFZ0g0WWYsK0JoSDFaWTtFZ0gyWlosV2hIMVdJO0VnSDJXSixjQUFjO0VBQ2QsNEI3R2hZaUQsRUFBQTtFRW1FckQ7STJHMFNKO01Bc0JZLHFCN0duWTZDLEVBQUEsRTZHcVlwRDs7QUFHTDtFQUNJLHlCQUF5QixFQUFBOztBQUc3QjtFQUNJLHlCQUF5QixFQUFBOztBQUc3QjtFQUNJLG1CQUFjO01BQWQsa0JBQWM7VUFBZCxjQUFjO0VBQ2QscUI3R2xacUQ7RTZHbVpyRCxVQUFVO0VBQ1Ysb0JBQW9CLEVBQUE7O0FBR3hCO0VBQ0ksWUFBWTtFQUNaLGdCQUFnQixFQUFBO0VBRnBCO0lBS1EsbUI3RzVaaUQsRUFBQTtJRW1FckQ7TTJHb1ZKO1FBUVksYUFBYSxFQUFBLEVBRXBCOztBQUdMO0VBRVEsU0FBUyxFQUFBOztBQUlqQjtFQUNJO0lBRVEsV0FBVyxFQUFBLEVBQ2Q7O0FDM2ZUO0VBQ0ksd0JBQXdCLEVBQUE7O0FBSTVCO0VBQ0ksd0JBQXdCLEVBQUE7O0FBSzVCO0VBQ0ksc0JBQXNCLEVBQUE7O0FBRzFCO0VBQ0k7SUFDSSxhQUFhLEVBQUEsRUFDaEIiLCJmaWxlIjoiYXBwLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBjaGFyc2V0IFwiVVRGLThcIjtcbi8qKlxuICogRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuICogVmVyc2lvbiA2LjIuM1xuICogZm91bmRhdGlvbi56dXJiLmNvbVxuICogTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG4gKi9cbi8qISBub3JtYWxpemUuY3NzIHYzLjAuMyB8IE1JVCBMaWNlbnNlIHwgZ2l0aHViLmNvbS9uZWNvbGFzL25vcm1hbGl6ZS5jc3MgKi9cbi8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuaHRtbCB7XG4gIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmO1xuICAvKiAxICovXG4gIC1tcy10ZXh0LXNpemUtYWRqdXN0OiAxMDAlO1xuICAvKiAyICovXG4gIC13ZWJraXQtdGV4dC1zaXplLWFkanVzdDogMTAwJTtcbiAgLyogMiAqLyB9XG5cbi8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuYm9keSB7XG4gIG1hcmdpbjogMDsgfVxuXG4vKiBIVE1MNSBkaXNwbGF5IGRlZmluaXRpb25zXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG4vKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuYXJ0aWNsZSxcbmFzaWRlLFxuZGV0YWlscyxcbmZpZ2NhcHRpb24sXG5maWd1cmUsXG5mb290ZXIsXG5oZWFkZXIsXG5oZ3JvdXAsXG5tYWluLFxubWVudSxcbm5hdixcbnNlY3Rpb24sXG5zdW1tYXJ5IHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLyoqXG4gICAqIDEuIENvcnJlY3QgYGlubGluZS1ibG9ja2AgZGlzcGxheSBub3QgZGVmaW5lZCBpbiBJRSA4LzkuXG4gICAqIDIuIE5vcm1hbGl6ZSB2ZXJ0aWNhbCBhbGlnbm1lbnQgb2YgYHByb2dyZXNzYCBpbiBDaHJvbWUsIEZpcmVmb3gsIGFuZCBPcGVyYS5cbiAgICovXG5hdWRpbyxcbmNhbnZhcyxcbnByb2dyZXNzLFxudmlkZW8ge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIC8qIDEgKi9cbiAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuYXVkaW86bm90KFtjb250cm9sc10pIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGBbaGlkZGVuXWAgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAuXG4gICAqIEhpZGUgdGhlIGB0ZW1wbGF0ZWAgZWxlbWVudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIEZpcmVmb3ggPCAyMi5cbiAgICovXG5baGlkZGVuXSxcbnRlbXBsYXRlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4vKiBMaW5rc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cbmEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuXG4vKipcbiAgICogSW1wcm92ZSByZWFkYWJpbGl0eSBvZiBmb2N1c2VkIGVsZW1lbnRzIHdoZW4gdGhleSBhcmUgYWxzbyBpbiBhblxuICAgKiBhY3RpdmUvaG92ZXIgc3RhdGUuXG4gICAqL1xuYTphY3RpdmUsXG5hOmhvdmVyIHtcbiAgb3V0bGluZTogMDsgfVxuXG4vKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkvMTAvMTEsIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5hYmJyW3RpdGxlXSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBkb3R0ZWQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5iLFxuc3Ryb25nIHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5kZm4ge1xuICBmb250LXN0eWxlOiBpdGFsaWM7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cbmgxIHtcbiAgZm9udC1zaXplOiAyZW07XG4gIG1hcmdpbjogMC42N2VtIDA7IH1cblxuLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGluZyBub3QgcHJlc2VudCBpbiBJRSA4LzkuXG4gICAqL1xubWFyayB7XG4gIGJhY2tncm91bmQ6ICNmZjA7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBhbmQgdmFyaWFibGUgZm9udCBzaXplIGluIGFsbCBicm93c2Vycy5cbiAgICovXG5zbWFsbCB7XG4gIGZvbnQtc2l6ZTogODAlOyB9XG5cbi8qKlxuICAgKiBQcmV2ZW50IGBzdWJgIGFuZCBgc3VwYCBhZmZlY3RpbmcgYGxpbmUtaGVpZ2h0YCBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuc3ViLFxuc3VwIHtcbiAgZm9udC1zaXplOiA3NSU7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgfVxuXG5zdXAge1xuICB0b3A6IC0wLjVlbTsgfVxuXG5zdWIge1xuICBib3R0b206IC0wLjI1ZW07IH1cblxuLyogRW1iZWRkZWQgY29udGVudFxuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBib3JkZXIgd2hlbiBpbnNpZGUgYGFgIGVsZW1lbnQgaW4gSUUgOC85LzEwLlxuICAgKi9cbmltZyB7XG4gIGJvcmRlcjogMDsgfVxuXG4vKipcbiAgICogQ29ycmVjdCBvdmVyZmxvdyBub3QgaGlkZGVuIGluIElFIDkvMTAvMTEuXG4gICAqL1xuc3ZnOm5vdCg6cm9vdCkge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbi8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbi8qKlxuICAgKiBBZGRyZXNzIG1hcmdpbiBub3QgcHJlc2VudCBpbiBJRSA4LzkgYW5kIFNhZmFyaS5cbiAgICovXG5maWd1cmUge1xuICBtYXJnaW46IDFlbSA0MHB4OyB9XG5cbi8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuaHIge1xuICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgaGVpZ2h0OiAwOyB9XG5cbi8qKlxuICAgKiBDb250YWluIG92ZXJmbG93IGluIGFsbCBicm93c2Vycy5cbiAgICovXG5wcmUge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cbmNvZGUsXG5rYmQsXG5wcmUsXG5zYW1wIHtcbiAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICBmb250LXNpemU6IDFlbTsgfVxuXG4vKiBGb3Jtc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIEtub3duIGxpbWl0YXRpb246IGJ5IGRlZmF1bHQsIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFggYWxsb3cgdmVyeSBsaW1pdGVkXG4gICAqIHN0eWxpbmcgb2YgYHNlbGVjdGAsIHVubGVzcyBhIGBib3JkZXJgIHByb3BlcnR5IGlzIHNldC5cbiAgICovXG4vKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuYnV0dG9uLFxuaW5wdXQsXG5vcHRncm91cCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgY29sb3I6IGluaGVyaXQ7XG4gIC8qIDEgKi9cbiAgZm9udDogaW5oZXJpdDtcbiAgLyogMiAqL1xuICBtYXJnaW46IDA7XG4gIC8qIDMgKi8gfVxuXG4vKipcbiAgICogQWRkcmVzcyBgb3ZlcmZsb3dgIHNldCB0byBgaGlkZGVuYCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xuYnV0dG9uIHtcbiAgb3ZlcmZsb3c6IHZpc2libGU7IH1cblxuLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGB0ZXh0LXRyYW5zZm9ybWAgaW5oZXJpdGFuY2UgZm9yIGBidXR0b25gIGFuZCBgc2VsZWN0YC5cbiAgICogQWxsIG90aGVyIGZvcm0gY29udHJvbCBlbGVtZW50cyBkbyBub3QgaW5oZXJpdCBgdGV4dC10cmFuc2Zvcm1gIHZhbHVlcy5cbiAgICogQ29ycmVjdCBgYnV0dG9uYCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LCBJRSA4LzkvMTAvMTEsIGFuZCBPcGVyYS5cbiAgICogQ29ycmVjdCBgc2VsZWN0YCBzdHlsZSBpbmhlcml0YW5jZSBpbiBGaXJlZm94LlxuICAgKi9cbmJ1dHRvbixcbnNlbGVjdCB7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi8qKlxuICAgKiAxLiBBdm9pZCB0aGUgV2ViS2l0IGJ1ZyBpbiBBbmRyb2lkIDQuMC4qIHdoZXJlICgyKSBkZXN0cm95cyBuYXRpdmUgYGF1ZGlvYFxuICAgKiAgICBhbmQgYHZpZGVvYCBjb250cm9scy5cbiAgICogMi4gQ29ycmVjdCBpbmFiaWxpdHkgdG8gc3R5bGUgY2xpY2thYmxlIGBpbnB1dGAgdHlwZXMgaW4gaU9TLlxuICAgKiAzLiBJbXByb3ZlIHVzYWJpbGl0eSBhbmQgY29uc2lzdGVuY3kgb2YgY3Vyc29yIHN0eWxlIGJldHdlZW4gaW1hZ2UtdHlwZVxuICAgKiAgICBgaW5wdXRgIGFuZCBvdGhlcnMuXG4gICAqL1xuYnV0dG9uLFxuaHRtbCBpbnB1dFt0eXBlPVwiYnV0dG9uXCJdLFxuaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuaW5wdXRbdHlwZT1cInN1Ym1pdFwiXSB7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogYnV0dG9uO1xuICAvKiAyICovXG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLyogMyAqLyB9XG5cbi8qKlxuICAgKiBSZS1zZXQgZGVmYXVsdCBjdXJzb3IgZm9yIGRpc2FibGVkIGVsZW1lbnRzLlxuICAgKi9cbmJ1dHRvbltkaXNhYmxlZF0sXG5odG1sIGlucHV0W2Rpc2FibGVkXSB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5idXR0b246Oi1tb3otZm9jdXMtaW5uZXIsXG5pbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gIGJvcmRlcjogMDtcbiAgcGFkZGluZzogMDsgfVxuXG4vKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5pbnB1dCB7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7IH1cblxuLyoqXG4gICAqIEl0J3MgcmVjb21tZW5kZWQgdGhhdCB5b3UgZG9uJ3QgYXR0ZW1wdCB0byBzdHlsZSB0aGVzZSBlbGVtZW50cy5cbiAgICogRmlyZWZveCdzIGltcGxlbWVudGF0aW9uIGRvZXNuJ3QgcmVzcGVjdCBib3gtc2l6aW5nLCBwYWRkaW5nLCBvciB3aWR0aC5cbiAgICpcbiAgICogMS4gQWRkcmVzcyBib3ggc2l6aW5nIHNldCB0byBgY29udGVudC1ib3hgIGluIElFIDgvOS8xMC5cbiAgICogMi4gUmVtb3ZlIGV4Y2VzcyBwYWRkaW5nIGluIElFIDgvOS8xMC5cbiAgICovXG5pbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG5pbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAvKiAxICovXG4gIHBhZGRpbmc6IDA7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogRml4IHRoZSBjdXJzb3Igc3R5bGUgZm9yIENocm9tZSdzIGluY3JlbWVudC9kZWNyZW1lbnQgYnV0dG9ucy4gRm9yIGNlcnRhaW5cbiAgICogYGZvbnQtc2l6ZWAgdmFsdWVzIG9mIHRoZSBgaW5wdXRgLCBpdCBjYXVzZXMgdGhlIGN1cnNvciBzdHlsZSBvZiB0aGVcbiAgICogZGVjcmVtZW50IGJ1dHRvbiB0byBjaGFuZ2UgZnJvbSBgZGVmYXVsdGAgdG8gYHRleHRgLlxuICAgKi9cbmlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG5pbnB1dFt0eXBlPVwibnVtYmVyXCJdOjotd2Via2l0LW91dGVyLXNwaW4tYnV0dG9uIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbi8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gIC8qIDEgKi9cbiAgYm94LXNpemluZzogY29udGVudC1ib3g7XG4gIC8qIDIgKi8gfVxuXG4vKipcbiAgICogUmVtb3ZlIGlubmVyIHBhZGRpbmcgYW5kIHNlYXJjaCBjYW5jZWwgYnV0dG9uIGluIFNhZmFyaSBhbmQgQ2hyb21lIG9uIE9TIFguXG4gICAqIFNhZmFyaSAoYnV0IG5vdCBDaHJvbWUpIGNsaXBzIHRoZSBjYW5jZWwgYnV0dG9uIHdoZW4gdGhlIHNlYXJjaCBpbnB1dCBoYXNcbiAgICogcGFkZGluZyAoYW5kIGB0ZXh0ZmllbGRgIGFwcGVhcmFuY2UpLlxuICAgKi9cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl06Oi13ZWJraXQtc2VhcmNoLWNhbmNlbC1idXR0b24sXG5pbnB1dFt0eXBlPVwic2VhcmNoXCJdOjotd2Via2l0LXNlYXJjaC1kZWNvcmF0aW9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lOyB9XG5cbi8qKlxuICAgKiBEZWZpbmUgY29uc2lzdGVudCBib3JkZXIsIG1hcmdpbiwgYW5kIHBhZGRpbmcuXG4gICAqIFtOT1RFXSBXZSBkb24ndCBlbmFibGUgdGhpcyBydWxlc2V0IGluIEZvdW5kYXRpb24sIGJlY2F1c2Ugd2Ugd2FudCB0aGUgPGZpZWxkc2V0PiBlbGVtZW50IHRvIGhhdmUgcGxhaW4gc3R5bGluZy5cbiAgICovXG4vKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuLyoqXG4gICAqIDEuIENvcnJlY3QgYGNvbG9yYCBub3QgYmVpbmcgaW5oZXJpdGVkIGluIElFIDgvOS8xMC8xMS5cbiAgICogMi4gUmVtb3ZlIHBhZGRpbmcgc28gcGVvcGxlIGFyZW4ndCBjYXVnaHQgb3V0IGlmIHRoZXkgemVybyBvdXQgZmllbGRzZXRzLlxuICAgKi9cbmxlZ2VuZCB7XG4gIGJvcmRlcjogMDtcbiAgLyogMSAqL1xuICBwYWRkaW5nOiAwO1xuICAvKiAyICovIH1cblxuLyoqXG4gICAqIFJlbW92ZSBkZWZhdWx0IHZlcnRpY2FsIHNjcm9sbGJhciBpbiBJRSA4LzkvMTAvMTEuXG4gICAqL1xudGV4dGFyZWEge1xuICBvdmVyZmxvdzogYXV0bzsgfVxuXG4vKipcbiAgICogRG9uJ3QgaW5oZXJpdCB0aGUgYGZvbnQtd2VpZ2h0YCAoYXBwbGllZCBieSBhIHJ1bGUgYWJvdmUpLlxuICAgKiBOT1RFOiB0aGUgZGVmYXVsdCBjYW5ub3Qgc2FmZWx5IGJlIGNoYW5nZWQgaW4gQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWC5cbiAgICovXG5vcHRncm91cCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuLyoqXG4gICAqIFJlbW92ZSBtb3N0IHNwYWNpbmcgYmV0d2VlbiB0YWJsZSBjZWxscy5cbiAgICovXG50YWJsZSB7XG4gIGJvcmRlci1jb2xsYXBzZTogY29sbGFwc2U7XG4gIGJvcmRlci1zcGFjaW5nOiAwOyB9XG5cbnRkLFxudGgge1xuICBwYWRkaW5nOiAwOyB9XG5cbi5mb3VuZGF0aW9uLW1xIHtcbiAgZm9udC1mYW1pbHk6IFwic21hbGw9MGVtJm1lZGl1bT00OGVtJmxhcmdlPTY0ZW0meGxhcmdlPTgyLjVlbSZ4eGxhcmdlPTkwZW1cIjsgfVxuXG5odG1sIHtcbiAgZm9udC1zaXplOiAxMDAlO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cbiosXG4qOjpiZWZvcmUsXG4qOjphZnRlciB7XG4gIGJveC1zaXppbmc6IGluaGVyaXQ7IH1cblxuYm9keSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIHBhZGRpbmc6IDA7XG4gIG1hcmdpbjogMDtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgY29sb3I6ICMwMDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlOyB9XG5cbmltZyB7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiBhdXRvO1xuICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxudGV4dGFyZWEge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IDUwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuc2VsZWN0IHtcbiAgd2lkdGg6IDEwMCU7XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cblxuI21hcF9jYW52YXMgaW1nLFxuI21hcF9jYW52YXMgZW1iZWQsXG4jbWFwX2NhbnZhcyBvYmplY3QsXG4ubWFwX2NhbnZhcyBpbWcsXG4ubWFwX2NhbnZhcyBlbWJlZCxcbi5tYXBfY2FudmFzIG9iamVjdCxcbi5tcWEtZGlzcGxheSBpbWcsXG4ubXFhLWRpc3BsYXkgZW1iZWQsXG4ubXFhLWRpc3BsYXkgb2JqZWN0IHtcbiAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7IH1cblxuYnV0dG9uIHtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBwYWRkaW5nOiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBidXR0b24ge1xuICAgIG91dGxpbmU6IDA7IH1cblxuLmlzLXZpc2libGUge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG5cbi5pcy1oaWRkZW4ge1xuICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuLnJvdyB7XG4gIG1heC13aWR0aDogODIuNXJlbTtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1hcmdpbi1yaWdodDogYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1mbG93OiByb3cgd3JhcDsgfVxuICAucm93IC5yb3cge1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogLTAuOTM3NXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IC0wLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucm93IC5yb3cge1xuICAgICAgICBtYXJnaW4tbGVmdDogLTAuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC0wLjYyNXJlbTsgfSB9XG4gIC5yb3cuZXhwYW5kZWQge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICAucm93LmNvbGxhcHNlID4gLmNvbHVtbiwgLnJvdy5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuXG4uY29sdW1uLCAuY29sdW1ucyB7XG4gIGZsZXg6IDEgMSAwcHg7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07XG4gIG1pbi13aWR0aDogaW5pdGlhbDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbHVtbiwgLmNvbHVtbnMge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLmNvbHVtbi5yb3cucm93LCAucm93LnJvdy5jb2x1bW5zIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5yb3cgLmNvbHVtbi5yb3cucm93LCAucm93IC5yb3cucm93LmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuXG4uc21hbGwtMSB7XG4gIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA4LjMzMzMzJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTAge1xuICBtYXJnaW4tbGVmdDogMCU7IH1cblxuLnNtYWxsLTIge1xuICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICBtYXgtd2lkdGg6IDE2LjY2NjY3JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTEge1xuICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cblxuLnNtYWxsLTMge1xuICBmbGV4OiAwIDAgMjUlO1xuICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTIge1xuICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC00IHtcbiAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC0zIHtcbiAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuXG4uc21hbGwtNSB7XG4gIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gIG1heC13aWR0aDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNCB7XG4gIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cblxuLnNtYWxsLTYge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTUge1xuICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG5cbi5zbWFsbC03IHtcbiAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgbWF4LXdpZHRoOiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLW9mZnNldC02IHtcbiAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuXG4uc21hbGwtOCB7XG4gIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC1vZmZzZXQtNyB7XG4gIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cblxuLnNtYWxsLTkge1xuICBmbGV4OiAwIDAgNzUlO1xuICBtYXgtd2lkdGg6IDc1JTsgfVxuXG4uc21hbGwtb2Zmc2V0LTgge1xuICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG5cbi5zbWFsbC0xMCB7XG4gIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gIG1heC13aWR0aDogODMuMzMzMzMlOyB9XG5cbi5zbWFsbC1vZmZzZXQtOSB7XG4gIG1hcmdpbi1sZWZ0OiA3NSU7IH1cblxuLnNtYWxsLTExIHtcbiAgZmxleDogMCAwIDkxLjY2NjY3JTtcbiAgbWF4LXdpZHRoOiA5MS42NjY2NyU7IH1cblxuLnNtYWxsLW9mZnNldC0xMCB7XG4gIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cblxuLnNtYWxsLTEyIHtcbiAgZmxleDogMCAwIDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtb2Zmc2V0LTExIHtcbiAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuXG4uc21hbGwtb3JkZXItMSB7XG4gIG9yZGVyOiAxOyB9XG5cbi5zbWFsbC1vcmRlci0yIHtcbiAgb3JkZXI6IDI7IH1cblxuLnNtYWxsLW9yZGVyLTMge1xuICBvcmRlcjogMzsgfVxuXG4uc21hbGwtb3JkZXItNCB7XG4gIG9yZGVyOiA0OyB9XG5cbi5zbWFsbC1vcmRlci01IHtcbiAgb3JkZXI6IDU7IH1cblxuLnNtYWxsLW9yZGVyLTYge1xuICBvcmRlcjogNjsgfVxuXG4uc21hbGwtdXAtMSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMSA+IC5jb2x1bW4sIC5zbWFsbC11cC0xID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuXG4uc21hbGwtdXAtMiB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtMiA+IC5jb2x1bW4sIC5zbWFsbC11cC0yID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cblxuLnNtYWxsLXVwLTMge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTMgPiAuY29sdW1uLCAuc21hbGwtdXAtMyA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG5cbi5zbWFsbC11cC00IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC00ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTQgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuXG4uc21hbGwtdXAtNSB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtNSA+IC5jb2x1bW4sIC5zbWFsbC11cC01ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAyMCU7XG4gICAgbWF4LXdpZHRoOiAyMCU7IH1cblxuLnNtYWxsLXVwLTYge1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLnNtYWxsLXVwLTYgPiAuY29sdW1uLCAuc21hbGwtdXAtNiA+IC5jb2x1bW5zIHtcbiAgICBmbGV4OiAwIDAgMTYuNjY2NjclO1xuICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG5cbi5zbWFsbC11cC03IHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIC5zbWFsbC11cC03ID4gLmNvbHVtbiwgLnNtYWxsLXVwLTcgPiAuY29sdW1ucyB7XG4gICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICBtYXgtd2lkdGg6IDE0LjI4NTcxJTsgfVxuXG4uc21hbGwtdXAtOCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICAuc21hbGwtdXAtOCA+IC5jb2x1bW4sIC5zbWFsbC11cC04ID4gLmNvbHVtbnMge1xuICAgIGZsZXg6IDAgMCAxMi41JTtcbiAgICBtYXgtd2lkdGg6IDEyLjUlOyB9XG5cbi5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW4sIC5zbWFsbC1jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgcGFkZGluZy1sZWZ0OiAwO1xuICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG5cbi5zbWFsbC11bmNvbGxhcHNlID4gLmNvbHVtbiwgLnNtYWxsLXVuY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICBwYWRkaW5nLXJpZ2h0OiAwLjkzNzVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLTEge1xuICAgIGZsZXg6IDAgMCA4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTAge1xuICAgIG1hcmdpbi1sZWZ0OiAwJTsgfVxuICAubWVkaXVtLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDguMzMzMzMlOyB9XG4gIC5tZWRpdW0tMyB7XG4gICAgZmxleDogMCAwIDI1JTtcbiAgICBtYXgtd2lkdGg6IDI1JTsgfVxuICAubWVkaXVtLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tNCB7XG4gICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC0zIHtcbiAgICBtYXJnaW4tbGVmdDogMjUlOyB9XG4gIC5tZWRpdW0tNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC00IHtcbiAgICBtYXJnaW4tbGVmdDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tNiB7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBtYXgtd2lkdGg6IDUwJTsgfVxuICAubWVkaXVtLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5tZWRpdW0tNyB7XG4gICAgZmxleDogMCAwIDU4LjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDU4LjMzMzMzJTsgfVxuICAubWVkaXVtLW9mZnNldC02IHtcbiAgICBtYXJnaW4tbGVmdDogNTAlOyB9XG4gIC5tZWRpdW0tOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubWVkaXVtLW9mZnNldC03IHtcbiAgICBtYXJnaW4tbGVmdDogNTguMzMzMzMlOyB9XG4gIC5tZWRpdW0tOSB7XG4gICAgZmxleDogMCAwIDc1JTtcbiAgICBtYXgtd2lkdGg6IDc1JTsgfVxuICAubWVkaXVtLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5tZWRpdW0tMTAge1xuICAgIGZsZXg6IDAgMCA4My4zMzMzMyU7XG4gICAgbWF4LXdpZHRoOiA4My4zMzMzMyU7IH1cbiAgLm1lZGl1bS1vZmZzZXQtOSB7XG4gICAgbWFyZ2luLWxlZnQ6IDc1JTsgfVxuICAubWVkaXVtLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5tZWRpdW0tb2Zmc2V0LTEwIHtcbiAgICBtYXJnaW4tbGVmdDogODMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tMTIge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTsgfVxuICAubWVkaXVtLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubWVkaXVtLXVwLTEge1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW4sIC5tZWRpdW0tdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5tZWRpdW0tdXAtMiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0yID4gLmNvbHVtbiwgLm1lZGl1bS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5tZWRpdW0tdXAtMyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC0zID4gLmNvbHVtbiwgLm1lZGl1bS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5tZWRpdW0tdXAtNCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC00ID4gLmNvbHVtbiwgLm1lZGl1bS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5tZWRpdW0tdXAtNSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC01ID4gLmNvbHVtbiwgLm1lZGl1bS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5tZWRpdW0tdXAtNiB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC02ID4gLmNvbHVtbiwgLm1lZGl1bS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5tZWRpdW0tdXAtNyB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC03ID4gLmNvbHVtbiwgLm1lZGl1bS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5tZWRpdW0tdXAtOCB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLm1lZGl1bS11cC04ID4gLmNvbHVtbiwgLm1lZGl1bS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tZXhwYW5kIHtcbiAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW4sIC5yb3cubWVkaXVtLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucm93Lm1lZGl1bS11bnN0YWNrID4gLmNvbHVtbiwgLnJvdy5tZWRpdW0tdW5zdGFjayA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5tZWRpdW0tY29sbGFwc2UgPiAuY29sdW1uLCAubWVkaXVtLWNvbGxhcHNlID4gLmNvbHVtbnMge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9XG4gIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW4sIC5tZWRpdW0tdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtMSB7XG4gICAgZmxleDogMCAwIDguMzMzMzMlO1xuICAgIG1heC13aWR0aDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLW9mZnNldC0wIHtcbiAgICBtYXJnaW4tbGVmdDogMCU7IH1cbiAgLmxhcmdlLTIge1xuICAgIGZsZXg6IDAgMCAxNi42NjY2NyU7XG4gICAgbWF4LXdpZHRoOiAxNi42NjY2NyU7IH1cbiAgLmxhcmdlLW9mZnNldC0xIHtcbiAgICBtYXJnaW4tbGVmdDogOC4zMzMzMyU7IH1cbiAgLmxhcmdlLTMsIC5icmFuZC1wYWdlLXByb2R1Y3RzIC5ncmlkLXRpbGUge1xuICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgbWF4LXdpZHRoOiAyNSU7IH1cbiAgLmxhcmdlLW9mZnNldC0yIHtcbiAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS00IHtcbiAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtMyB7XG4gICAgbWFyZ2luLWxlZnQ6IDI1JTsgfVxuICAubGFyZ2UtNSB7XG4gICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDQxLjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTQge1xuICAgIG1hcmdpbi1sZWZ0OiAzMy4zMzMzMyU7IH1cbiAgLmxhcmdlLTYge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgLmxhcmdlLW9mZnNldC01IHtcbiAgICBtYXJnaW4tbGVmdDogNDEuNjY2NjclOyB9XG4gIC5sYXJnZS03IHtcbiAgICBmbGV4OiAwIDAgNTguMzMzMzMlO1xuICAgIG1heC13aWR0aDogNTguMzMzMzMlOyB9XG4gIC5sYXJnZS1vZmZzZXQtNiB7XG4gICAgbWFyZ2luLWxlZnQ6IDUwJTsgfVxuICAubGFyZ2UtOCB7XG4gICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICBtYXgtd2lkdGg6IDY2LjY2NjY3JTsgfVxuICAubGFyZ2Utb2Zmc2V0LTcge1xuICAgIG1hcmdpbi1sZWZ0OiA1OC4zMzMzMyU7IH1cbiAgLmxhcmdlLTkge1xuICAgIGZsZXg6IDAgMCA3NSU7XG4gICAgbWF4LXdpZHRoOiA3NSU7IH1cbiAgLmxhcmdlLW9mZnNldC04IHtcbiAgICBtYXJnaW4tbGVmdDogNjYuNjY2NjclOyB9XG4gIC5sYXJnZS0xMCB7XG4gICAgZmxleDogMCAwIDgzLjMzMzMzJTtcbiAgICBtYXgtd2lkdGg6IDgzLjMzMzMzJTsgfVxuICAubGFyZ2Utb2Zmc2V0LTkge1xuICAgIG1hcmdpbi1sZWZ0OiA3NSU7IH1cbiAgLmxhcmdlLTExIHtcbiAgICBmbGV4OiAwIDAgOTEuNjY2NjclO1xuICAgIG1heC13aWR0aDogOTEuNjY2NjclOyB9XG4gIC5sYXJnZS1vZmZzZXQtMTAge1xuICAgIG1hcmdpbi1sZWZ0OiA4My4zMzMzMyU7IH1cbiAgLmxhcmdlLTEyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLmxhcmdlLW9mZnNldC0xMSB7XG4gICAgbWFyZ2luLWxlZnQ6IDkxLjY2NjY3JTsgfVxuICAubGFyZ2Utb3JkZXItMSB7XG4gICAgb3JkZXI6IDE7IH1cbiAgLmxhcmdlLW9yZGVyLTIge1xuICAgIG9yZGVyOiAyOyB9XG4gIC5sYXJnZS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubGFyZ2Utb3JkZXItNCB7XG4gICAgb3JkZXI6IDQ7IH1cbiAgLmxhcmdlLW9yZGVyLTUge1xuICAgIG9yZGVyOiA1OyB9XG4gIC5sYXJnZS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfVxuICAubGFyZ2UtdXAtMSB7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmxhcmdlLXVwLTEgPiAuY29sdW1uLCAubGFyZ2UtdXAtMSA+IC5jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIC5sYXJnZS11cC0yIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMiA+IC5jb2x1bW4sIC5sYXJnZS11cC0yID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgIG1heC13aWR0aDogNTAlOyB9XG4gIC5sYXJnZS11cC0zIHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtMyA+IC5jb2x1bW4sIC5sYXJnZS11cC0zID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlOyB9XG4gIC5sYXJnZS11cC00IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNCA+IC5jb2x1bW4sIC5sYXJnZS11cC00ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gIC5sYXJnZS11cC01IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNSA+IC5jb2x1bW4sIC5sYXJnZS11cC01ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDIwJTtcbiAgICAgIG1heC13aWR0aDogMjAlOyB9XG4gIC5sYXJnZS11cC02IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNiA+IC5jb2x1bW4sIC5sYXJnZS11cC02ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogMTYuNjY2NjclOyB9XG4gIC5sYXJnZS11cC03IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtNyA+IC5jb2x1bW4sIC5sYXJnZS11cC03ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDE0LjI4NTcxJTtcbiAgICAgIG1heC13aWR0aDogMTQuMjg1NzElOyB9XG4gIC5sYXJnZS11cC04IHtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAubGFyZ2UtdXAtOCA+IC5jb2x1bW4sIC5sYXJnZS11cC04ID4gLmNvbHVtbnMge1xuICAgICAgZmxleDogMCAwIDEyLjUlO1xuICAgICAgbWF4LXdpZHRoOiAxMi41JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5sYXJnZS1leHBhbmQge1xuICAgIGZsZXg6IDEgMSAwcHg7IH0gfVxuXG4ucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gIGZsZXg6IDAgMCAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1uLCAucm93LmxhcmdlLXVuc3RhY2sgPiAuY29sdW1ucyB7XG4gICAgICBmbGV4OiAxIDEgMHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtY29sbGFwc2UgPiAuY29sdW1ucyB7XG4gICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgLmxhcmdlLXVuY29sbGFwc2UgPiAuY29sdW1uLCAubGFyZ2UtdW5jb2xsYXBzZSA+IC5jb2x1bW5zIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLnNocmluayB7XG4gIGZsZXg6IDAgMCBhdXRvO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmNvbHVtbi5hbGlnbi10b3AsIC5hbGlnbi10b3AuY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtc3RhcnQ7IH1cblxuLmNvbHVtbi5hbGlnbi1ib3R0b20sIC5hbGlnbi1ib3R0b20uY29sdW1ucyB7XG4gIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9XG5cbi5jb2x1bW4uYWxpZ24tbWlkZGxlLCAuYWxpZ24tbWlkZGxlLmNvbHVtbnMge1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7IH1cblxuLmNvbHVtbi5hbGlnbi1zdHJldGNoLCAuYWxpZ24tc3RyZXRjaC5jb2x1bW5zIHtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDsgfVxuXG5kaXYsXG5kbCxcbmR0LFxuZGQsXG51bCxcbm9sLFxubGksXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYsXG5wcmUsXG5mb3JtLFxucCxcbmJsb2NrcXVvdGUsXG50aCxcbnRkIHtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbnAge1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cblxuZW0sXG5pIHtcbiAgZm9udC1zdHlsZTogaXRhbGljO1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDsgfVxuXG5zdHJvbmcsXG5iIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuc21hbGwge1xuICBmb250LXNpemU6IDgwJTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7IH1cblxuaDEsXG5oMixcbmgzLFxuaDQsXG5oNSxcbmg2IHtcbiAgZm9udC1mYW1pbHk6IFwiSGVsdmV0aWNhIE5ldWVcIiwgSGVsdmV0aWNhLCBSb2JvdG8sIEFyaWFsLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGNvbG9yOiBpbmhlcml0O1xuICB0ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuICBtYXJnaW4tdG9wOiAwO1xuICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgaDEgc21hbGwsXG4gIGgyIHNtYWxsLFxuICBoMyBzbWFsbCxcbiAgaDQgc21hbGwsXG4gIGg1IHNtYWxsLFxuICBoNiBzbWFsbCB7XG4gICAgY29sb3I6ICNjY2M7XG4gICAgbGluZS1oZWlnaHQ6IDA7IH1cblxuaDEge1xuICBmb250LXNpemU6IDIuNXJlbTsgfVxuXG5oMiB7XG4gIGZvbnQtc2l6ZTogMnJlbTsgfVxuXG5oMyB7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07IH1cblxuaDQge1xuICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG5cbmg1IHtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cblxuaDYge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgaDEge1xuICAgIGZvbnQtc2l6ZTogMi41NjI1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMTI1cmVtOyB9XG4gIGgzIHtcbiAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9XG4gIGg0IHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgaDYge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIGgxIHtcbiAgICBmb250LXNpemU6IDIuNjI1cmVtOyB9XG4gIGgyIHtcbiAgICBmb250LXNpemU6IDIuMTg3NXJlbTsgfVxuICBoMyB7XG4gICAgZm9udC1zaXplOiAxLjYyNXJlbTsgfVxuICBoNCB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfVxuICBoNSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfVxuICBoNiB7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG5hIHtcbiAgY29sb3I6ICNjNzUzMDA7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIGN1cnNvcjogcG9pbnRlcjsgfVxuICBhOmhvdmVyLCBhOmZvY3VzIHtcbiAgICBjb2xvcjogI2FiNDcwMDsgfVxuICBhIGltZyB7XG4gICAgYm9yZGVyOiAwOyB9XG5cbmhyIHtcbiAgbWF4LXdpZHRoOiA4Mi41cmVtO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgYm9yZGVyLXRvcDogMDtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1sZWZ0OiAwO1xuICBtYXJnaW46IDEuMjVyZW0gYXV0bztcbiAgY2xlYXI6IGJvdGg7IH1cblxudWwsXG5vbCxcbmRsIHtcbiAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTsgfVxuXG5saSB7XG4gIGZvbnQtc2l6ZTogaW5oZXJpdDsgfVxuXG51bCB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogZGlzYztcbiAgbWFyZ2luLWxlZnQ6IDEuMjVyZW07IH1cblxub2wge1xuICBtYXJnaW4tbGVmdDogMS4yNXJlbTsgfVxuXG51bCB1bCwgb2wgdWwsIHVsIG9sLCBvbCBvbCB7XG4gIG1hcmdpbi1sZWZ0OiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbmRsIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICBkbCBkdCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMC4zcmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbmJsb2NrcXVvdGUge1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBwYWRkaW5nOiAwLjU2MjVyZW0gMS4yNXJlbSAwIDEuMTg3NXJlbTtcbiAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjOyB9XG4gIGJsb2NrcXVvdGUsIGJsb2NrcXVvdGUgcCB7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBjb2xvcjogIzhhOGE4YTsgfVxuXG5jaXRlIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzhhOGE4YTsgfVxuICBjaXRlOmJlZm9yZSB7XG4gICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnOyB9XG5cbmFiYnIge1xuICBjb2xvcjogIzAwMDtcbiAgY3Vyc29yOiBoZWxwO1xuICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkICMwMDA7IH1cblxuY29kZSB7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlO1xuICBmb250LXdlaWdodDogbm9ybWFsO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMC4xMjVyZW0gMC4zMTI1cmVtIDAuMDYyNXJlbTsgfVxuXG5rYmQge1xuICBwYWRkaW5nOiAwLjEyNXJlbSAwLjI1cmVtIDA7XG4gIG1hcmdpbjogMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtZmFtaWx5OiBDb25zb2xhcywgXCJMaWJlcmF0aW9uIE1vbm9cIiwgQ291cmllciwgbW9ub3NwYWNlOyB9XG5cbi5zdWJoZWFkZXIge1xuICBtYXJnaW4tdG9wOiAwLjJyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcbiAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgY29sb3I6ICM4YThhOGE7IH1cblxuLmxlYWQge1xuICBmb250LXNpemU6IDEyNSU7XG4gIGxpbmUtaGVpZ2h0OiAxLjY7IH1cblxuLnN0YXQge1xuICBmb250LXNpemU6IDIuNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgcCArIC5zdGF0IHtcbiAgICBtYXJnaW4tdG9wOiAtMXJlbTsgfVxuXG4ubm8tYnVsbGV0IHtcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLnRleHQtbGVmdCB7XG4gIHRleHQtYWxpZ246IGxlZnQ7IH1cblxuLnRleHQtcmlnaHQge1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4udGV4dC1jZW50ZXIge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnRleHQtanVzdGlmeSB7XG4gIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubWVkaXVtLXRleHQtcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gIC5tZWRpdW0tdGV4dC1jZW50ZXIge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubWVkaXVtLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLXRleHQtbGVmdCB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAubGFyZ2UtdGV4dC1yaWdodCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgLmxhcmdlLXRleHQtY2VudGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmxhcmdlLXRleHQtanVzdGlmeSB7XG4gICAgdGV4dC1hbGlnbjoganVzdGlmeTsgfSB9XG5cbi5zaG93LWZvci1wcmludCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICAqIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50OyB9XG4gIC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuaGlkZS1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICB0YWJsZS5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICB0aGVhZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgdGJvZHkuc2hvdy1mb3ItcHJpbnQge1xuICAgIGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gIHRyLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICB0ZC5zaG93LWZvci1wcmludCB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gIHRoLnNob3ctZm9yLXByaW50IHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cbiAgYSxcbiAgYTp2aXNpdGVkIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICBhW2hyZWZdOmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiAoXCIgYXR0cihocmVmKSBcIilcIjsgfVxuICAuaXIgYTphZnRlcixcbiAgYVtocmVmXj0namF2YXNjcmlwdDonXTphZnRlcixcbiAgYVtocmVmXj0nIyddOmFmdGVyIHtcbiAgICBjb250ZW50OiAnJzsgfVxuICBhYmJyW3RpdGxlXTphZnRlciB7XG4gICAgY29udGVudDogXCIgKFwiIGF0dHIodGl0bGUpIFwiKVwiOyB9XG4gIHByZSxcbiAgYmxvY2txdW90ZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgdGhlYWQge1xuICAgIGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuICB0cixcbiAgaW1nIHtcbiAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7IH1cbiAgaW1nIHtcbiAgICBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuICBAcGFnZSB7XG4gICAgbWFyZ2luOiAwLjVjbTsgfVxuICBwLFxuICBoMixcbiAgaDMge1xuICAgIG9ycGhhbnM6IDM7XG4gICAgd2lkb3dzOiAzOyB9XG4gIGgyLFxuICBoMyB7XG4gICAgcGFnZS1icmVhay1hZnRlcjogYXZvaWQ7IH0gfVxuXG4uYnV0dG9uIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjI1cyBlYXNlLW91dCwgY29sb3IgMC4yNXMgZWFzZS1vdXQ7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBwYWRkaW5nOiAwLjg1ZW0gMWVtO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7XG4gIGZvbnQtc2l6ZTogMC45cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICBjb2xvcjogIzAwMDsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLmJ1dHRvbiB7XG4gICAgb3V0bGluZTogMDsgfVxuICAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udGlueSB7XG4gICAgZm9udC1zaXplOiAwLjZyZW07IH1cbiAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24ubGFyZ2Uge1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTsgfVxuICAuYnV0dG9uLmV4cGFuZGVkIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLnByaW1hcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjNTQwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5wcmltYXJ5LWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24ucHJpbWFyeS1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZjQyMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5NDAwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ucHJpbWFyeS1kYXJrLWhvdmVyOmhvdmVyLCAuYnV0dG9uLnByaW1hcnktZGFyay1ob3Zlcjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjN2EzMzAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5zZWNvbmRhcnkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5zZWNvbmRhcnk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogYmxhY2s7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLnN0YW5kYXJkLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQxZDFkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zdGFuZGFyZC1ibGFjazpob3ZlciwgLmJ1dHRvbi5zdGFuZGFyZC1ibGFjazpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTcxNzE3O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5kYXJrZ3JleTEge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmRhcmtncmV5MTpob3ZlciwgLmJ1dHRvbi5kYXJrZ3JleTE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzFhMWExYTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ubWVkaXVtLWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLm1lZGl1bS1ncmF5OmhvdmVyLCAuYnV0dG9uLm1lZGl1bS1ncmF5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyOTI5Mjk7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLm1pZGdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgyODU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLm1pZGdyZXk6aG92ZXIsIC5idXR0b24ubWlkZ3JleTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2ODZhO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5saWdodC1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5saWdodC1ncmF5OmhvdmVyLCAuYnV0dG9uLmxpZ2h0LWdyYXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2MyYzJjMjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udGhpbi1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi50aGluLWdyYXk6aG92ZXIsIC5idXR0b24udGhpbi1ncmF5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNmM2YzY7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmJvcmRlci1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ib3JkZXItZ3JleTpob3ZlciwgLmJ1dHRvbi5ib3JkZXItZ3JleTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYTNhM2EzO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi52ZXJ5LWxpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWM5Yzk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnZlcnktbGlnaHQtZ3JleTpob3ZlciwgLmJ1dHRvbi52ZXJ5LWxpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ExYTFhMTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uYnJpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmJyaWdodC1ncmV5OmhvdmVyLCAuYnV0dG9uLmJyaWdodC1ncmV5OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiOGI4YmM7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmRpc2FibGVkLWdyZXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgwODA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkLWdyZXk6aG92ZXIsIC5idXR0b24uZGlzYWJsZWQtZ3JleTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNjY2NjY2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi53aGl0ZS1kZWZhdWx0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi53aGl0ZS1kZWZhdWx0OmhvdmVyLCAuYnV0dG9uLndoaXRlLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjY2NjYztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ud2hpdGUtZ2hvc3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLndoaXRlLWdob3N0OmhvdmVyLCAuYnV0dG9uLndoaXRlLWdob3N0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMGMwYzQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLndoaXRlLXNtb2tlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi53aGl0ZS1zbW9rZTpob3ZlciwgLmJ1dHRvbi53aGl0ZS1zbW9rZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjliOWI5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5zdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5zdWNjZXNzOmhvdmVyLCAuYnV0dG9uLnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzIyYmI1YjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24ud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ud2FybmluZzpob3ZlciwgLmJ1dHRvbi53YXJuaW5nOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzhiMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmFsZXJ0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5hbGVydDpob3ZlciwgLmJ1dHRvbi5hbGVydDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGEzMTE2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uZXJyb3I6aG92ZXIsIC5idXR0b24uZXJyb3I6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2NjMDAwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udW5hdmFpbGFibGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLnVuYXZhaWxhYmxlOmhvdmVyLCAuYnV0dG9uLnVuYXZhaWxhYmxlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmI4NjU7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLm5vYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5Nzk3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi5ub2JlbDpob3ZlciwgLmJ1dHRvbi5ub2JlbDpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjNzk3OTc5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5saWdodC1ncmF5LW15LWdhcmFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ubGlnaHQtZ3JheS1teS1nYXJhZ2U6aG92ZXIsIC5idXR0b24ubGlnaHQtZ3JheS1teS1nYXJhZ2U6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzg1OTE5ZDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24udW5hdmFpbGFibGUtdGV4dCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlMWMyMjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24udW5hdmFpbGFibGUtdGV4dDpob3ZlciwgLmJ1dHRvbi51bmF2YWlsYWJsZS10ZXh0OmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNiMjE2MWI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmdyZWVuLWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTdmMTA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLmdyZWVuLWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24uZ3JlZW4tYWNjZXNzaWJsZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMTE2NjBkO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi5yZWQtYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M2MTc1MjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24ucmVkLWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24ucmVkLWFjY2Vzc2libGU6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzllMTI0MjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uaG9sbG93IHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3csIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBib3JkZXItY29sb3I6ICM4MDM1MDA7XG4gICAgICBjb2xvcjogIzgwMzUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5wcmltYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjODAzNTAwO1xuICAgICAgICBjb2xvcjogIzgwMzUwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktYWNjZXNzaWJsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzc1MzAwO1xuICAgICAgY29sb3I6ICNjNzUzMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktYWNjZXNzaWJsZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjQyYTAwO1xuICAgICAgICBjb2xvcjogIzY0MmEwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktZGFyay1ob3ZlciB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTk0MDAwO1xuICAgICAgY29sb3I6ICM5OTQwMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnByaW1hcnktZGFyay1ob3Zlcjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cucHJpbWFyeS1kYXJrLWhvdmVyOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGQyMDAwO1xuICAgICAgICBjb2xvcjogIzRkMjAwMDsgfVxuICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjMDAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnNlY29uZGFyeTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc2Vjb25kYXJ5OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiBibGFjaztcbiAgICAgICAgY29sb3I6IGJsYWNrOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3RhbmRhcmQtYmxhY2sge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzFkMWQxZDtcbiAgICAgIGNvbG9yOiAjMWQxZDFkOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5zdGFuZGFyZC1ibGFjazpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuc3RhbmRhcmQtYmxhY2s6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMwZjBmMGY7XG4gICAgICAgIGNvbG9yOiAjMGYwZjBmOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGFya2dyZXkxIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICMyMDIwMjA7XG4gICAgICBjb2xvcjogIzIwMjAyMDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cuZGFya2dyZXkxOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5kYXJrZ3JleTE6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxMDEwMTA7XG4gICAgICAgIGNvbG9yOiAjMTAxMDEwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cubWVkaXVtLWdyYXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzMzMztcbiAgICAgIGNvbG9yOiAjMzMzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5tZWRpdW0tZ3JheTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cubWVkaXVtLWdyYXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxYTFhMWE7XG4gICAgICAgIGNvbG9yOiAjMWExYTFhOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cubWlkZ3JleSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4Mjg1O1xuICAgICAgY29sb3I6ICM4MDgyODU7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lm1pZGdyZXk6aG92ZXIsIC5idXR0b24uaG9sbG93Lm1pZGdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MDQxNDM7XG4gICAgICAgIGNvbG9yOiAjNDA0MTQzOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cubGlnaHQtZ3JheSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgY29sb3I6ICNmMmYyZjI7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXk6aG92ZXIsIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3OTc5Nzk7XG4gICAgICAgIGNvbG9yOiAjNzk3OTc5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cudGhpbi1ncmF5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmOGY4Zjg7XG4gICAgICBjb2xvcjogI2Y4ZjhmODsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cudGhpbi1ncmF5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy50aGluLWdyYXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3YzdjN2M7XG4gICAgICAgIGNvbG9yOiAjN2M3YzdjOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYm9yZGVyLWdyZXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICAgIGNvbG9yOiAjY2NjOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5ib3JkZXItZ3JleTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYm9yZGVyLWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NjY2NjY7XG4gICAgICAgIGNvbG9yOiAjNjY2NjY2OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cudmVyeS1saWdodC1ncmV5IHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOWM5Yzk7XG4gICAgICBjb2xvcjogI2M5YzljOTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cudmVyeS1saWdodC1ncmV5OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy52ZXJ5LWxpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM2NTY1NjU7XG4gICAgICAgIGNvbG9yOiAjNjU2NTY1OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYnJpZ2h0LWdyZXkge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U4ZThlOTtcbiAgICAgIGNvbG9yOiAjZThlOGU5OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5icmlnaHQtZ3JleTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYnJpZ2h0LWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3MjcyNzc7XG4gICAgICAgIGNvbG9yOiAjNzI3Mjc3OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZGlzYWJsZWQtZ3JleSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjODA4MDgwO1xuICAgICAgY29sb3I6ICM4MDgwODA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LmRpc2FibGVkLWdyZXk6aG92ZXIsIC5idXR0b24uaG9sbG93LmRpc2FibGVkLWdyZXk6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM0MDQwNDA7XG4gICAgICAgIGNvbG9yOiAjNDA0MDQwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZGVmYXVsdCB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZmO1xuICAgICAgY29sb3I6ICNmZmY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LndoaXRlLWRlZmF1bHQ6aG92ZXIsIC5idXR0b24uaG9sbG93LndoaXRlLWRlZmF1bHQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IGdyYXk7XG4gICAgICAgIGNvbG9yOiBncmF5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZ2hvc3Qge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMztcbiAgICAgIGNvbG9yOiAjZjJmMmYzOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53aGl0ZS1naG9zdDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2hpdGUtZ2hvc3Q6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3NDc0N2U7XG4gICAgICAgIGNvbG9yOiAjNzQ3NDdlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2hpdGUtc21va2Uge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICAgIGNvbG9yOiAjZTdlN2U3OyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy53aGl0ZS1zbW9rZTpob3ZlciwgLmJ1dHRvbi5ob2xsb3cud2hpdGUtc21va2U6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM3NDc0NzQ7XG4gICAgICAgIGNvbG9yOiAjNzQ3NDc0OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuc3VjY2VzcyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjM2FkYjc2O1xuICAgICAgY29sb3I6ICMzYWRiNzY7IH1cbiAgICAgIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6aG92ZXIsIC5idXR0b24uaG9sbG93LnN1Y2Nlc3M6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICMxNTc1Mzk7XG4gICAgICAgIGNvbG9yOiAjMTU3NTM5OyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cud2FybmluZyB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZmZhZTAwO1xuICAgICAgY29sb3I6ICNmZmFlMDA7IH1cbiAgICAgIC5idXR0b24uaG9sbG93Lndhcm5pbmc6aG92ZXIsIC5idXR0b24uaG9sbG93Lndhcm5pbmc6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4MDU3MDA7XG4gICAgICAgIGNvbG9yOiAjODA1NzAwOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuYWxlcnQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2VjNTg0MDtcbiAgICAgIGNvbG9yOiAjZWM1ODQwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5hbGVydDpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuYWxlcnQ6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6ICM4ODFmMGU7XG4gICAgICAgIGNvbG9yOiAjODgxZjBlOyB9XG4gICAgLmJ1dHRvbi5ob2xsb3cuZXJyb3Ige1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2YwMDtcbiAgICAgIGNvbG9yOiAjZjAwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5lcnJvcjpob3ZlciwgLmJ1dHRvbi5ob2xsb3cuZXJyb3I6Zm9jdXMge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcm9vbjtcbiAgICAgICAgY29sb3I6IG1hcm9vbjsgfVxuICAgIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmZmUxYmU7XG4gICAgICBjb2xvcjogI2ZmZTFiZTsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cudW5hdmFpbGFibGU6aG92ZXIsIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjZGY3ODAwO1xuICAgICAgICBjb2xvcjogI2RmNzgwMDsgfVxuICAgIC5idXR0b24uaG9sbG93Lm5vYmVsIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICBjb2xvcjogIzk3OTc5NzsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cubm9iZWw6aG92ZXIsIC5idXR0b24uaG9sbG93Lm5vYmVsOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNGM0YzRjO1xuICAgICAgICBjb2xvcjogIzRjNGM0YzsgfVxuICAgIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXktbXktZ2FyYWdlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNhZGI1YmQ7XG4gICAgICBjb2xvcjogI2FkYjViZDsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cubGlnaHQtZ3JheS1teS1nYXJhZ2U6aG92ZXIsIC5idXR0b24uaG9sbG93LmxpZ2h0LWdyYXktbXktZ2FyYWdlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNTE1YjY0O1xuICAgICAgICBjb2xvcjogIzUxNWI2NDsgfVxuICAgIC5idXR0b24uaG9sbG93LnVuYXZhaWxhYmxlLXRleHQge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RlMWMyMjtcbiAgICAgIGNvbG9yOiAjZGUxYzIyOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy51bmF2YWlsYWJsZS10ZXh0OmhvdmVyLCAuYnV0dG9uLmhvbGxvdy51bmF2YWlsYWJsZS10ZXh0OmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNmYwZTExO1xuICAgICAgICBjb2xvcjogIzZmMGUxMTsgfVxuICAgIC5idXR0b24uaG9sbG93LmdyZWVuLWFjY2Vzc2libGUge1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgIzE1N2YxMDtcbiAgICAgIGNvbG9yOiAjMTU3ZjEwOyB9XG4gICAgICAuYnV0dG9uLmhvbGxvdy5ncmVlbi1hY2Nlc3NpYmxlOmhvdmVyLCAuYnV0dG9uLmhvbGxvdy5ncmVlbi1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjMGI0MDA4O1xuICAgICAgICBjb2xvcjogIzBiNDAwODsgfVxuICAgIC5idXR0b24uaG9sbG93LnJlZC1hY2Nlc3NpYmxlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNjNjE3NTI7XG4gICAgICBjb2xvcjogI2M2MTc1MjsgfVxuICAgICAgLmJ1dHRvbi5ob2xsb3cucmVkLWFjY2Vzc2libGU6aG92ZXIsIC5idXR0b24uaG9sbG93LnJlZC1hY2Nlc3NpYmxlOmZvY3VzIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjNjMwYzI5O1xuICAgICAgICBjb2xvcjogIzYzMGMyOTsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgb3BhY2l0eTogMC4yNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG4gICAgLmJ1dHRvbi5kaXNhYmxlZDpob3ZlciwgLmJ1dHRvbi5kaXNhYmxlZDpmb2N1cywgLmJ1dHRvbltkaXNhYmxlZF06aG92ZXIsIC5idXR0b25bZGlzYWJsZWRdOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLmRyb3Bkb3duOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC40ZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMC40ZW07XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIG1hcmdpbi1sZWZ0OiAxZW07XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC5idXR0b24uYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIGZsb2F0OiBub25lO1xuICAgIHRvcDogLTAuMWVtOyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDIuMjVyZW07XG4gIHBhZGRpbmc6IDAuNXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm94LXNoYWRvdzogMDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgdHJhbnNpdGlvbjogaW5pdGlhbDtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7IH1cbiAgW3R5cGU9J3RleHQnXTpmb2N1cywgW3R5cGU9J3Bhc3N3b3JkJ106Zm9jdXMsIFt0eXBlPSdkYXRlJ106Zm9jdXMsIFt0eXBlPSdkYXRldGltZSddOmZvY3VzLCBbdHlwZT0nZGF0ZXRpbWUtbG9jYWwnXTpmb2N1cywgW3R5cGU9J21vbnRoJ106Zm9jdXMsIFt0eXBlPSd3ZWVrJ106Zm9jdXMsIFt0eXBlPSdlbWFpbCddOmZvY3VzLCBbdHlwZT0nbnVtYmVyJ106Zm9jdXMsIFt0eXBlPSdzZWFyY2gnXTpmb2N1cywgW3R5cGU9J3RlbCddOmZvY3VzLCBbdHlwZT0ndGltZSddOmZvY3VzLCBbdHlwZT0ndXJsJ106Zm9jdXMsIFt0eXBlPSdjb2xvciddOmZvY3VzLFxuICB0ZXh0YXJlYTpmb2N1cyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzhhOGE4YTtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMDtcbiAgICB0cmFuc2l0aW9uOiBpbml0aWFsOyB9XG5cbnRleHRhcmVhIHtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG4gIHRleHRhcmVhW3Jvd3NdIHtcbiAgICBoZWlnaHQ6IGF1dG87IH1cblxuaW5wdXQ6OnBsYWNlaG9sZGVyLFxudGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgY29sb3I6ICNjY2M7IH1cblxuaW5wdXQ6ZGlzYWJsZWQsIGlucHV0W3JlYWRvbmx5XSxcbnRleHRhcmVhOmRpc2FibGVkLFxudGV4dGFyZWFbcmVhZG9ubHldIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBkZWZhdWx0OyB9XG5cblt0eXBlPSdzdWJtaXQnXSxcblt0eXBlPSdidXR0b24nXSB7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgLW1vei1hcHBlYXJhbmNlOiBub25lOyB9XG5cbmlucHV0W3R5cGU9XCJzZWFyY2hcIl0ge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94OyB9XG5cblt0eXBlPSdmaWxlJ10sXG5bdHlwZT0nY2hlY2tib3gnXSxcblt0eXBlPSdyYWRpbyddIHtcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuXG5bdHlwZT0nY2hlY2tib3gnXSArIGxhYmVsLFxuW3R5cGU9J3JhZGlvJ10gKyBsYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luLWxlZnQ6IDAuNXJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7IH1cbiAgW3R5cGU9J2NoZWNrYm94J10gKyBsYWJlbFtmb3JdLFxuICBbdHlwZT0ncmFkaW8nXSArIGxhYmVsW2Zvcl0ge1xuICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuXG5sYWJlbCA+IFt0eXBlPSdjaGVja2JveCddLFxubGFiZWwgPiBbdHlwZT0ncmFkaW8nXSB7XG4gIG1hcmdpbi1yaWdodDogMC41cmVtOyB9XG5cblt0eXBlPSdmaWxlJ10ge1xuICB3aWR0aDogMTAwJTsgfVxuXG5sYWJlbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxLjg7XG4gIGNvbG9yOiAjMDAwOyB9XG4gIGxhYmVsLm1pZGRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICBwYWRkaW5nOiAwLjU2MjVyZW0gMDsgfVxuXG4uaGVscC10ZXh0IHtcbiAgbWFyZ2luLXRvcDogLTAuNXJlbTtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgY29sb3I6ICMwMDA7IH1cblxuLmlucHV0LWdyb3VwIHtcbiAgZGlzcGxheTogdGFibGU7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5pbnB1dC1ncm91cCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDsgfVxuICAuaW5wdXQtZ3JvdXAgPiA6bGFzdC1jaGlsZCA+ICoge1xuICAgIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsLCAuaW5wdXQtZ3JvdXAtZmllbGQsIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBtYXJnaW46IDA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLmlucHV0LWdyb3VwLWxhYmVsIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBwYWRkaW5nOiAwIDFyZW07XG4gIGJhY2tncm91bmQ6ICNlNmU2ZTY7XG4gIGNvbG9yOiAjMDAwO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICB3aWR0aDogMSU7XG4gIGhlaWdodDogMTAwJTsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6Zmlyc3QtY2hpbGQge1xuICAgIGJvcmRlci1yaWdodDogMDsgfVxuICAuaW5wdXQtZ3JvdXAtbGFiZWw6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLmlucHV0LWdyb3VwLWZpZWxkIHtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgaGVpZ2h0OiAyLjMxMjVyZW07IH1cblxuLmlucHV0LWdyb3VwLWJ1dHRvbiB7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxJTsgfVxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIGEsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gaW5wdXQsXG4gIC5pbnB1dC1ncm91cC1idXR0b24gYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG5cbmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7IH1cblxubGVnZW5kIHtcbiAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cblxuLmZpZWxkc2V0IHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgbWFyZ2luOiAxLjEyNXJlbSAwOyB9XG4gIC5maWVsZHNldCBsZWdlbmQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMCAwLjE4NzVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAtMC4xODc1cmVtOyB9XG5cbnNlbGVjdCB7XG4gIGhlaWdodDogMi4yNXJlbTtcbiAgcGFkZGluZzogMC41cmVtO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDAgMCAxcmVtO1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIGNvbG9yOiAjMDAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBib3JkZXItcmFkaXVzOiAwO1xuICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiZGF0YTppbWFnZS9zdmcreG1sO3V0ZjgsPHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZlcnNpb249JzEuMScgd2lkdGg9JzMyJyBoZWlnaHQ9JzI0JyB2aWV3Qm94PScwIDAgMzIgMjQnPjxwb2x5Z29uIHBvaW50cz0nMCwwIDMyLDAgMTYsMjQnIHN0eWxlPSdmaWxsOiByZ2IlMjgxMzgsIDEzOCwgMTM4JTI5Jz48L3BvbHlnb24+PC9zdmc+XCIpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDlweCA2cHg7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IC0xcmVtIGNlbnRlcjtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCJkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQUlwSlJFRlVlTnJFa2NrTmdEQU1CQmZSa0V0ME9iUkJCZHNHWFVEZ21RZks0WGhIMm04Y3pRQUF5MjdSM3RzdzRRZmUyeDh1T082b1lMYjZHbE9vcjNHRitzd1VSQU9tVUorUnd0RUpzOVd2VEdFWXhCWHFJMU1RQVpoQ2ZVUUtSekRNVmorVHdyQUlWNmp2U1VFa1lBcjFMU2tjeVRCYi9WK0tZZlg3eEFldXNxM3NMRHRHSDNrRUdBQ1BXSWZsTlpmaFJRQUFBQUJKUlU1RXJrSmdnZz09XCIpOyB9IH1cbiAgc2VsZWN0OmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2O1xuICAgIGN1cnNvcjogZGVmYXVsdDsgfVxuICBzZWxlY3Q6Oi1tcy1leHBhbmQge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgc2VsZWN0W211bHRpcGxlXSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuLmlzLWludmFsaWQtaW5wdXQ6bm90KDpmb2N1cykge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDIzNiwgODgsIDY0LCAwLjEpO1xuICBib3JkZXItY29sb3I6ICNlYzU4NDA7IH1cblxuLmlzLWludmFsaWQtbGFiZWwge1xuICBjb2xvcjogI2VjNTg0MDsgfVxuXG4uZm9ybS1lcnJvciB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAjZWM1ODQwOyB9XG4gIC5mb3JtLWVycm9yLmlzLXZpc2libGUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5hY2NvcmRpb24ge1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG5cbi5hY2NvcmRpb24taXRlbTpmaXJzdC1jaGlsZCA+IDpmaXJzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi1pdGVtOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gIGJvcmRlci1yYWRpdXM6IDAgMCAwIDA7IH1cblxuLmFjY29yZGlvbi10aXRsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwYWRkaW5nOiAxLjI1cmVtIDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7IH1cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gLmFjY29yZGlvbi10aXRsZSB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwIDAgMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAuYWNjb3JkaW9uLXRpdGxlOmhvdmVyLCAuYWNjb3JkaW9uLXRpdGxlOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTZlNmU2OyB9XG4gIC5hY2NvcmRpb24tdGl0bGU6OmJlZm9yZSB7XG4gICAgY29udGVudDogJysnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtMC41cmVtOyB9XG4gIC5pcy1hY3RpdmUgPiAuYWNjb3JkaW9uLXRpdGxlOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICfigJMnOyB9XG5cbi5hY2NvcmRpb24tY29udGVudCB7XG4gIHBhZGRpbmc6IDFyZW07XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNlNmU2ZTY7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjZmY2OTAwOyB9XG4gIDpsYXN0LWNoaWxkID4gLmFjY29yZGlvbi1jb250ZW50Omxhc3QtY2hpbGQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZTZlNmU2OyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNHB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICB0cmFuc2Zvcm0tb3JpZ2luOiA1MCUgNTAlO1xuICB0cmFuc2Zvcm06IHNjYWxlWSgtMSk7IH1cblxuLmJhZGdlIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAwLjNlbTtcbiAgbWluLXdpZHRoOiAyLjFlbTtcbiAgZm9udC1zaXplOiAwLjZyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5wcmltYXJ5LWRhcmstaG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5OTQwMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2Uuc3RhbmRhcmQtYmxhY2sge1xuICAgIGJhY2tncm91bmQ6ICMxZDFkMWQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmRhcmtncmV5MSB7XG4gICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UubWVkaXVtLWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLm1pZGdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM4MDgyODU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmxpZ2h0LWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLnRoaW4tZ3JheSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2UuYm9yZGVyLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLnZlcnktbGlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2M5YzljOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2UuYnJpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLmRpc2FibGVkLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM4MDgwODA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLndoaXRlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmJhZGdlLndoaXRlLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS53aGl0ZS1zbW9rZSB7XG4gICAgYmFja2dyb3VuZDogI2U3ZTdlNztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2Uuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2Uud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYmFkZ2UuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS51bmF2YWlsYWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZTFiZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAuYmFkZ2Uubm9iZWwge1xuICAgIGJhY2tncm91bmQ6ICM5Nzk3OTc7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmJhZGdlLmxpZ2h0LWdyYXktbXktZ2FyYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWRiNWJkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5iYWRnZS51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGUxYzIyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5ncmVlbi1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTU3ZjEwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5iYWRnZS5yZWQtYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2M2MTc1MjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4uYnJlYWRjcnVtYnMge1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDAgMCAxcmVtIDA7IH1cbiAgLmJyZWFkY3J1bWJzOjpiZWZvcmUsIC5icmVhZGNydW1iczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYnJlYWRjcnVtYnM6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnJlYWRjcnVtYnMgbGkge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgLmJyZWFkY3J1bWJzIGxpOm5vdCg6bGFzdC1jaGlsZCk6OmFmdGVyIHtcbiAgICAgIGNvbG9yOiAjY2NjO1xuICAgICAgY29udGVudDogXCIvXCI7XG4gICAgICBtYXJnaW46IDAgMC43NXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMXB4O1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAuYnJlYWRjcnVtYnMgYSB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuYnJlYWRjcnVtYnMgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuYnJlYWRjcnVtYnMgLmRpc2FibGVkIHtcbiAgICBjb2xvcjogI2NjYztcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkOyB9XG5cbi5idXR0b24tZ3JvdXAge1xuICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICBmb250LXNpemU6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cDo6YmVmb3JlLCAuYnV0dG9uLWdyb3VwOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5idXR0b24tZ3JvdXA6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcHg7XG4gICAgZm9udC1zaXplOiAwLjlyZW07IH1cbiAgICAuYnV0dG9uLWdyb3VwIC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLmJ1dHRvbi1ncm91cC50aW55IC5idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC42cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuc21hbGwgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAubGFyZ2UgLmJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtOyB9XG4gIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQge1xuICAgIG1hcmdpbi1yaWdodDogLTFweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQ6OmJlZm9yZSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZDo6YWZ0ZXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDIpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYyg1MCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgyKTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMik6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMikgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgzKSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMzMuMzMzMzMlIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoMyk6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDMpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNCkgfiAuYnV0dG9uIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIHdpZHRoOiBjYWxjKDI1JSAtIDFweCk7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDFweDsgfVxuICAgICAgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDQpOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg0KSB+IC5idXR0b246bGFzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogLTZweDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KSwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDUpIH4gLmJ1dHRvbiB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB3aWR0aDogY2FsYygyMCUgLSAxcHgpO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxcHg7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg1KTpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSk6Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNSkgfiAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IC02cHg7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNiksIC5idXR0b24tZ3JvdXAuZXhwYW5kZWQgLmJ1dHRvbjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KTpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCg2KSB+IC5idXR0b24ge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgd2lkdGg6IGNhbGMoMTYuNjY2NjclIC0gMXB4KTtcbiAgICAgIG1hcmdpbi1yaWdodDogMXB4OyB9XG4gICAgICAuYnV0dG9uLWdyb3VwLmV4cGFuZGVkIC5idXR0b246Zmlyc3QtY2hpbGQ6bnRoLWxhc3QtY2hpbGQoNik6bGFzdC1jaGlsZCwgLmJ1dHRvbi1ncm91cC5leHBhbmRlZCAuYnV0dG9uOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKDYpIH4gLmJ1dHRvbjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAtNnB4OyB9XG4gIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzU0MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnByaW1hcnktYWNjZXNzaWJsZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWFjY2Vzc2libGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWFjY2Vzc2libGUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOWY0MjAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5wcmltYXJ5LWRhcmstaG92ZXIgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk5NDAwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucHJpbWFyeS1kYXJrLWhvdmVyIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAucHJpbWFyeS1kYXJrLWhvdmVyIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzdhMzMwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc2Vjb25kYXJ5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnNlY29uZGFyeSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IGJsYWNrO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5zdGFuZGFyZC1ibGFjayAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMWQxZDFkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFuZGFyZC1ibGFjayAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnN0YW5kYXJkLWJsYWNrIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzE3MTcxNztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuZGFya2dyZXkxIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMyMDIwMjA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmRhcmtncmV5MSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmRhcmtncmV5MSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMxYTFhMWE7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLm1lZGl1bS1ncmF5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMzMzM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm1lZGl1bS1ncmF5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubWVkaXVtLWdyYXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjkyOTI5O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5taWRncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgyODU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLm1pZGdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5taWRncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2Njg2YTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjMmMyYzI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnRoaW4tZ3JheSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjhmOGY4O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC50aGluLWdyYXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC50aGluLWdyYXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzZjNmM2O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ib3JkZXItZ3JleSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ib3JkZXItZ3JleSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmJvcmRlci1ncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2EzYTNhMztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAudmVyeS1saWdodC1ncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjOWM5Yzk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnZlcnktbGlnaHQtZ3JleSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnZlcnktbGlnaHQtZ3JleSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNhMWExYTE7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLmJyaWdodC1ncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlOGU4ZTk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmJyaWdodC1ncmV5IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuYnJpZ2h0LWdyZXkgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjhiOGJjO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5kaXNhYmxlZC1ncmV5IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4MDgwODA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmRpc2FibGVkLWdyZXkgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5kaXNhYmxlZC1ncmV5IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzY2NjY2NjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAud2hpdGUtZGVmYXVsdCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53aGl0ZS1kZWZhdWx0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2hpdGUtZGVmYXVsdCAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2NjY2M7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndoaXRlLWdob3N0IC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjM7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLndoaXRlLWdob3N0IC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAud2hpdGUtZ2hvc3QgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzBjMGM0O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC53aGl0ZS1zbW9rZSAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC53aGl0ZS1zbW9rZSAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndoaXRlLXNtb2tlIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2I5YjliOTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjM2FkYjc2O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5zdWNjZXNzIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAuc3VjY2VzcyAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICMyMmJiNWI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmYWUwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAud2FybmluZyAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLndhcm5pbmcgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2M4YjAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWM1ODQwO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5hbGVydCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLmFsZXJ0IC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2RhMzExNjtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAuZXJyb3IgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAuZXJyb3IgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5lcnJvciAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjYzAwMDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnVuYXZhaWxhYmxlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLnVuYXZhaWxhYmxlIC5idXR0b246aG92ZXIsIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZiODY1O1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ub2JlbCAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjOTc5Nzk3O1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLmJ1dHRvbi1ncm91cC5ub2JlbCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLm5vYmVsIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzc5Nzk3OTtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheS1teS1nYXJhZ2UgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAubGlnaHQtZ3JheS1teS1nYXJhZ2UgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5saWdodC1ncmF5LW15LWdhcmFnZSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM4NTkxOWQ7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnVuYXZhaWxhYmxlLXRleHQgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlMWMyMjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAudW5hdmFpbGFibGUtdGV4dCAuYnV0dG9uOmhvdmVyLCAuYnV0dG9uLWdyb3VwLnVuYXZhaWxhYmxlLXRleHQgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYjIxNjFiO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmJ1dHRvbi1ncm91cC5ncmVlbi1hY2Nlc3NpYmxlIC5idXR0b24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTdmMTA7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuYnV0dG9uLWdyb3VwLmdyZWVuLWFjY2Vzc2libGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5ncmVlbi1hY2Nlc3NpYmxlIC5idXR0b246Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzExNjYwZDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24tZ3JvdXAucmVkLWFjY2Vzc2libGUgLmJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M2MTc1MjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24tZ3JvdXAucmVkLWFjY2Vzc2libGUgLmJ1dHRvbjpob3ZlciwgLmJ1dHRvbi1ncm91cC5yZWQtYWNjZXNzaWJsZSAuYnV0dG9uOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICM5ZTEyNDI7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQgLmJ1dHRvbiwgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZCAuYnV0dG9uOmxhc3QtY2hpbGQsIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwgLmJ1dHRvbjpsYXN0LWNoaWxkLCAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJ1dHRvbi1ncm91cC5zdGFja2VkLWZvci1zbWFsbCAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYnV0dG9uLWdyb3VwLnN0YWNrZWQtZm9yLW1lZGl1bSAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5idXR0b24tZ3JvdXAuc3RhY2tlZC1mb3Itc21hbGwuZXhwYW5kZWQgLmJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuXG4uY2FsbG91dCB7XG4gIG1hcmdpbjogMCAwIDFyZW0gMDtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgwLCAwLCAwLCAwLjI1KTtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogIzAwMDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7IH1cbiAgLmNhbGxvdXQgPiA6Zmlyc3QtY2hpbGQge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgLmNhbGxvdXQgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlOWQ5OyB9XG4gIC5jYWxsb3V0LnByaW1hcnktYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZTRkMDsgfVxuICAuY2FsbG91dC5wcmltYXJ5LWRhcmstaG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUwYzk7IH1cbiAgLmNhbGxvdXQuc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDlkOWQ5OyB9XG4gIC5jYWxsb3V0LnN0YW5kYXJkLWJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZGRkZGRkOyB9XG4gIC5jYWxsb3V0LmRhcmtncmV5MSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlZGVkZTsgfVxuICAuY2FsbG91dC5tZWRpdW0tZ3JheSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2UwZTBlMDsgfVxuICAuY2FsbG91dC5taWRncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VkOyB9XG4gIC5jYWxsb3V0LmxpZ2h0LWdyYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZGZkZmQ7IH1cbiAgLmNhbGxvdXQudGhpbi1ncmF5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmVmZWZlOyB9XG4gIC5jYWxsb3V0LmJvcmRlci1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3OyB9XG4gIC5jYWxsb3V0LnZlcnktbGlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2Y3ZjdmNzsgfVxuICAuY2FsbG91dC5icmlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZmNmYzsgfVxuICAuY2FsbG91dC5kaXNhYmxlZC1ncmV5IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWNlY2VjOyB9XG4gIC5jYWxsb3V0LndoaXRlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHdoaXRlOyB9XG4gIC5jYWxsb3V0LndoaXRlLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmRmZGZkOyB9XG4gIC5jYWxsb3V0LndoaXRlLXNtb2tlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJmYmZiOyB9XG4gIC5jYWxsb3V0LnN1Y2Nlc3Mge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNlMWZhZWE7IH1cbiAgLmNhbGxvdXQud2FybmluZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjNkOTsgfVxuICAuY2FsbG91dC5hbGVydCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZjZTZlMjsgfVxuICAuY2FsbG91dC5lcnJvciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZDlkOTsgfVxuICAuY2FsbG91dC51bmF2YWlsYWJsZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZmJmNTsgfVxuICAuY2FsbG91dC5ub2JlbCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VmZWZlZjsgfVxuICAuY2FsbG91dC5saWdodC1ncmF5LW15LWdhcmFnZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YzZjRmNTsgfVxuICAuY2FsbG91dC51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmJkY2RkOyB9XG4gIC5jYWxsb3V0LmdyZWVuLWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkMGY5Y2U7IH1cbiAgLmNhbGxvdXQucmVkLWFjY2Vzc2libGUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmYWQ4ZTQ7IH1cbiAgLmNhbGxvdXQuc21hbGwge1xuICAgIHBhZGRpbmctdG9wOiAwLjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMC41cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjVyZW07IH1cbiAgLmNhbGxvdXQubGFyZ2Uge1xuICAgIHBhZGRpbmctdG9wOiAzcmVtO1xuICAgIHBhZGRpbmctcmlnaHQ6IDNyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDNyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAzcmVtOyB9XG5cbi5jbG9zZS1idXR0b24ge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAjOGE4YThhO1xuICByaWdodDogMXJlbTtcbiAgdG9wOiAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgY3Vyc29yOiBwb2ludGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAuY2xvc2UtYnV0dG9uIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5jbG9zZS1idXR0b246aG92ZXIsIC5jbG9zZS1idXR0b246Zm9jdXMge1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5tZW51IHtcbiAgbWFyZ2luOiAwO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7IH1cbiAgLm1lbnUgPiBsaSB7XG4gICAgZGlzcGxheTogdGFibGUtY2VsbDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlOyB9XG4gICAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5tZW51ID4gbGkge1xuICAgICAgb3V0bGluZTogMDsgfVxuICAubWVudSA+IGxpID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC43cmVtIDAgMCAzOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gIC5tZW51IGlucHV0LFxuICAubWVudSBhLFxuICAubWVudSBidXR0b24ge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLm1lbnUgPiBsaSA+IGEgaW1nLFxuICAubWVudSA+IGxpID4gYSBpLFxuICAubWVudSA+IGxpID4gYSBzdmcge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAubWVudSA+IGxpID4gYSBpbWcgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIGkgKyBzcGFuLFxuICAgIC5tZW51ID4gbGkgPiBhIHN2ZyArIHNwYW4ge1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTsgfVxuICAubWVudSA+IGxpID4gYSBpbWcsXG4gIC5tZW51ID4gbGkgPiBhIGksXG4gIC5tZW51ID4gbGkgPiBhIHN2ZyB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjI1cmVtO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAubWVudSA+IGxpIHtcbiAgICBkaXNwbGF5OiB0YWJsZS1jZWxsOyB9XG4gIC5tZW51LnZlcnRpY2FsID4gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubWVudS5tZWRpdW0taG9yaXpvbnRhbCA+IGxpIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7IH1cbiAgICAubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkge1xuICAgICAgZGlzcGxheTogdGFibGUtY2VsbDsgfVxuICAgIC5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAubWVudS5zaW1wbGUgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLm1lbnUuc2ltcGxlIGEge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQ6OmJlZm9yZSwgLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm1lbnUuYWxpZ24tcmlnaHQ6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAubWVudS5hbGlnbi1yaWdodCA+IGxpIHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cbiAgLm1lbnUuZXhwYW5kZWQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGRpc3BsYXk6IHRhYmxlO1xuICAgIHRhYmxlLWxheW91dDogZml4ZWQ7IH1cbiAgICAubWVudS5leHBhbmRlZCA+IGxpOmZpcnN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgLm1lbnUuaWNvbi10b3AgPiBsaSA+IGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIGltZyxcbiAgICAubWVudS5pY29uLXRvcCA+IGxpID4gYSBpLFxuICAgIC5tZW51Lmljb24tdG9wID4gbGkgPiBhIHN2ZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIG1hcmdpbjogMCBhdXRvIDAuMjVyZW07IH1cbiAgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW4tbGVmdDogMXJlbTsgfVxuICAubWVudSAuYWN0aXZlID4gYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuXG4ubWVudS10ZXh0IHtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZy10b3A6IDA7XG4gIHBhZGRpbmctYm90dG9tOiAwO1xuICBwYWRkaW5nOiAwLjdyZW0gMCAwIDM4cHg7IH1cblxuLm1lbnUtY2VudGVyZWQge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLm1lbnUtY2VudGVyZWQgPiAubWVudSB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbi5uby1qcyBbZGF0YS1yZXNwb25zaXZlLW1lbnVdIHVsIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubWVudS1pY29uIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDsgfVxuICAubWVudS1pY29uOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGJhY2tncm91bmQ6ICMwMDA7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgYm94LXNoYWRvdzogMCA3cHggMCAjMDAwLCAwIDE0cHggMCAjMDAwOyB9XG4gIC5tZW51LWljb246aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjY2NjO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgI2NjYywgMCAxNHB4IDAgI2NjYzsgfVxuXG4ubWVudS1pY29uLmRhcmsge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB3aWR0aDogMjBweDtcbiAgaGVpZ2h0OiAxNnB4OyB9XG4gIC5tZW51LWljb24uZGFyazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDJweDtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzAwMCwgMCAxNHB4IDAgIzAwMDsgfVxuICAubWVudS1pY29uLmRhcms6aG92ZXI6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjOGE4YThhO1xuICAgIGJveC1zaGFkb3c6IDAgN3B4IDAgIzhhOGE4YSwgMCAxNHB4IDAgIzhhOGE4YTsgfVxuXG4uaXMtZHJpbGxkb3duIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5pcy1kcmlsbGRvd24gbGkge1xuICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cblxuLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIGxlZnQ6IDEwMCU7XG4gIHotaW5kZXg6IC0xO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHdpZHRoOiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS5pcy1hY3RpdmUge1xuICAgIHotaW5kZXg6IDE7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0xMDAlKTsgfVxuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUuaXMtY2xvc2luZyB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpOyB9XG5cbi5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcmlsbGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNnB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmNjkwMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICBtYXJnaW4tdG9wOiAtNnB4O1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbi5qcy1kcmlsbGRvd24tYmFjayA+IGE6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA2cHg7XG4gIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmNjkwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMC43NXJlbTsgfVxuXG4uZHJvcGRvd24tcGFuZSB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDFyZW07XG4gIHBhZGRpbmc6IDFyZW07XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogMzAwcHg7XG4gIHotaW5kZXg6IDEwOyB9XG4gIC5kcm9wZG93bi1wYW5lLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLmRyb3Bkb3duLXBhbmUudGlueSB7XG4gIHdpZHRoOiAxMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5zbWFsbCB7XG4gIHdpZHRoOiAyMDBweDsgfVxuXG4uZHJvcGRvd24tcGFuZS5sYXJnZSB7XG4gIHdpZHRoOiA0MDBweDsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwO1xuICB0b3A6IDEwMCU7IH1cblxuLmRyb3Bkb3duLm1lbnUgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgcmlnaHQ6IGF1dG87XG4gIGxlZnQ6IDA7XG4gIHRvcDogMTAwJTsgfVxuXG4uZHJvcGRvd24ubWVudSA+IGxpLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5kcm9wZG93bi5tZW51ID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGNvbnRlbnQ6ICcnO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDA7XG4gIGhlaWdodDogMDtcbiAgYm9yZGVyOiBpbnNldCA1cHg7XG4gIGJvcmRlci1jb2xvcjogI2M3NTMwMCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIHJpZ2h0OiA1cHg7XG4gIG1hcmdpbi10b3A6IC0ycHg7IH1cblxuW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5kcm9wZG93bi5tZW51IGEge1xuICBvdXRsaW5lOiAwOyB9XG5cbi5uby1qcyAuZHJvcGRvd24ubWVudSB1bCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmRyb3Bkb3duLm1lbnUudmVydGljYWwgPiBsaSAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHRvcDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIHJpZ2h0OiBhdXRvO1xuICBsZWZ0OiAxMDAlOyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gIHJpZ2h0OiAxNHB4O1xuICBtYXJnaW4tdG9wOiAtM3B4OyB9XG5cbi5kcm9wZG93bi5tZW51LnZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgY29udGVudDogJyc7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMDtcbiAgaGVpZ2h0OiAwO1xuICBib3JkZXI6IGluc2V0IDVweDtcbiAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjYzc1MzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuXG4uZHJvcGRvd24ubWVudS52ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgNXB4O1xuICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNjNzUzMDA7XG4gIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS1ob3Jpem9udGFsID4gbGkub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMDtcbiAgICB0b3A6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEuNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzc1MzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICB0b3A6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51Lm1lZGl1bS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubWVkaXVtLXZlcnRpY2FsID4gbGkgPiBhOjphZnRlciB7XG4gICAgcmlnaHQ6IDE0cHg7XG4gICAgbWFyZ2luLXRvcDogLTNweDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNjNzUzMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5tZWRpdW0tdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYzc1MzAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1sZWZ0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAxMDAlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5vcGVucy1yaWdodCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICByaWdodDogYXV0bztcbiAgICBsZWZ0OiAwO1xuICAgIHRvcDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS1ob3Jpem9udGFsID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxLjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLWhvcml6b250YWwgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiAjYzc1MzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gICAgcmlnaHQ6IDVweDtcbiAgICBtYXJnaW4tdG9wOiAtMnB4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkgLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHRvcDogMDsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuZHJvcGRvd24ubWVudS5sYXJnZS12ZXJ0aWNhbCA+IGxpLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgIHJpZ2h0OiBhdXRvO1xuICAgIGxlZnQ6IDEwMCU7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaSA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5kcm9wZG93bi5tZW51LmxhcmdlLXZlcnRpY2FsID4gbGkub3BlbnMtbGVmdCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjYzc1MzAwIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7IH1cbiAgLmRyb3Bkb3duLm1lbnUubGFyZ2UtdmVydGljYWwgPiBsaS5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCA1cHg7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjYzc1MzAwO1xuICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItcmlnaHQtd2lkdGg6IDA7IH0gfVxuXG4uZHJvcGRvd24ubWVudS5hbGlnbi1yaWdodCAuaXMtZHJvcGRvd24tc3VibWVudS5maXJzdC1zdWIge1xuICB0b3A6IDEwMCU7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsIHtcbiAgd2lkdGg6IDEwMHB4OyB9XG4gIC5pcy1kcm9wZG93bi1tZW51LnZlcnRpY2FsLmFsaWduLXJpZ2h0IHtcbiAgICBmbG9hdDogcmlnaHQ7IH1cblxuLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCBhOjphZnRlciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiA1cHg7XG4gICAgbWFyZ2luLXRvcDogLTJweDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtaW5uZXIgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgdG9wOiAxMDAlO1xuICAgIGxlZnQ6IGF1dG87IH1cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50Lm9wZW5zLWxlZnQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgbGVmdDogYXV0bztcbiAgICByaWdodDogMTAwJTsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgbGVmdDogMTAwJTsgfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAxMDAlO1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICB6LWluZGV4OiAxO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICByaWdodDogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudC5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgICBib3JkZXI6IGluc2V0IDVweDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICNjNzUzMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDsgfVxuICAuaXMtZHJvcGRvd24tc3VibWVudSAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQub3BlbnMtcmlnaHQgPiBhOjphZnRlciB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgNXB4O1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2M3NTMwMDtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLXJpZ2h0LXdpZHRoOiAwOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBtYXJnaW4tdG9wOiAtMXB4OyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51ID4gbGkge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5pcy1kcm9wZG93bi1zdWJtZW51LmpzLWRyb3Bkb3duLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLmZsZXgtdmlkZW8ge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAuZmxleC12aWRlbyBpZnJhbWUsXG4gIC5mbGV4LXZpZGVvIG9iamVjdCxcbiAgLmZsZXgtdmlkZW8gZW1iZWQsXG4gIC5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlOyB9XG4gIC5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IH1cbiAgLmZsZXgtdmlkZW8udmltZW8ge1xuICAgIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogMC4zMzMzM3JlbSAwLjVyZW07XG4gIGZvbnQtc2l6ZTogMC44cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAwO1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwucHJpbWFyeS1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5wcmltYXJ5LWRhcmstaG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICM5OTQwMDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLnNlY29uZGFyeSB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuc3RhbmRhcmQtYmxhY2sge1xuICAgIGJhY2tncm91bmQ6ICMxZDFkMWQ7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmRhcmtncmV5MSB7XG4gICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwubWVkaXVtLWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICMzMzM7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLm1pZGdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM4MDgyODU7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmxpZ2h0LWdyYXkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLnRoaW4tZ3JheSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuYm9yZGVyLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNjY2M7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLnZlcnktbGlnaHQtZ3JleSB7XG4gICAgYmFja2dyb3VuZDogI2M5YzljOTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuYnJpZ2h0LWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLmRpc2FibGVkLWdyZXkge1xuICAgIGJhY2tncm91bmQ6ICM4MDgwODA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLndoaXRlLWRlZmF1bHQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmxhYmVsLndoaXRlLWdob3N0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYzO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC53aGl0ZS1zbW9rZSB7XG4gICAgYmFja2dyb3VuZDogI2U3ZTdlNztcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwuc3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogIzNhZGI3NjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwud2FybmluZyB7XG4gICAgYmFja2dyb3VuZDogI2ZmYWUwMDtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAubGFiZWwuYWxlcnQge1xuICAgIGJhY2tncm91bmQ6ICNlYzU4NDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC51bmF2YWlsYWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZTFiZTtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubGFiZWwubm9iZWwge1xuICAgIGJhY2tncm91bmQ6ICM5Nzk3OTc7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmxhYmVsLmxpZ2h0LWdyYXktbXktZ2FyYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYWRiNWJkO1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5sYWJlbC51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZGUxYzIyO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5ncmVlbi1hY2Nlc3NpYmxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTU3ZjEwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gIC5sYWJlbC5yZWQtYWNjZXNzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogI2M2MTc1MjtcbiAgICBjb2xvcjogI2ZmZjsgfVxuXG4ubWVkaWEtb2JqZWN0IHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgLm1lZGlhLW9iamVjdCBpbWcge1xuICAgIG1heC13aWR0aDogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAubWVkaWEtb2JqZWN0LnN0YWNrLWZvci1zbWFsbCAubWVkaWEtb2JqZWN0LXNlY3Rpb24ge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAxcmVtO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5tZWRpYS1vYmplY3Quc3RhY2stZm9yLXNtYWxsIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiBpbWcge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG5cbi5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uOmZpcnN0LWNoaWxkIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbjpsYXN0LWNoaWxkOm5vdCg6bnRoLWNoaWxkKDIpKSB7XG4gICAgcGFkZGluZy1sZWZ0OiAxcmVtOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbi5taWRkbGUge1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLm1lZGlhLW9iamVjdC1zZWN0aW9uLmJvdHRvbSB7XG4gICAgdmVydGljYWwtYWxpZ246IGJvdHRvbTsgfVxuXG5odG1sLFxuYm9keSB7XG4gIGhlaWdodDogMTAwJTsgfVxuXG4ub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIC13ZWJraXQtb3ZlcmZsb3ctc2Nyb2xsaW5nOiBhdXRvOyB9XG5cbi5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlOyB9XG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXI6OmJlZm9yZSwgLm9mZi1jYW52YXMtd3JhcHBlci1pbm5lcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAub2ZmLWNhbnZhcy13cmFwcGVyLWlubmVyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLm9mZi1jYW52YXMtY29udGVudCxcbi5vZmYtY2FudmFzLWNvbnRlbnQge1xuICBtaW4taGVpZ2h0OiAxMDAlO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC41cyBlYXNlO1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIHotaW5kZXg6IDE7XG4gIHBhZGRpbmctYm90dG9tOiAwLjFweDtcbiAgYm94LXNoYWRvdzogMCAwIDEwcHggcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5qcy1vZmYtY2FudmFzLWV4aXQge1xuICBkaXNwbGF5OiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuNXMgZWFzZTsgfVxuXG4ub2ZmLWNhbnZhcyB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgei1pbmRleDogLTE7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93LXk6IGF1dG87XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9mZi1jYW52YXMge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tbGVmdCB7XG4gICAgbGVmdDogLTI1MHB4O1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMjUwcHg7IH1cbiAgICAuaXMtb3Blbi1sZWZ0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyNTBweCk7IH1cbiAgLm9mZi1jYW52YXMucG9zaXRpb24tcmlnaHQge1xuICAgIHJpZ2h0OiAtMjUwcHg7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAyNTBweDsgfVxuICAgIC5pcy1vcGVuLXJpZ2h0IHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMjUwcHgpOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBvc2l0aW9uLWxlZnQucmV2ZWFsLWZvci1tZWRpdW0ge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLW1lZGl1bSB+IC5vZmYtY2FudmFzLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDI1MHB4OyB9XG4gIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLW1lZGl1bSB7XG4gICAgcmlnaHQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tcmlnaHQucmV2ZWFsLWZvci1tZWRpdW0gfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wb3NpdGlvbi1sZWZ0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIGxlZnQ6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cbiAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLWxhcmdlIH4gLm9mZi1jYW52YXMtY29udGVudCB7XG4gICAgICBtYXJnaW4tbGVmdDogMjUwcHg7IH1cbiAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2Uge1xuICAgIHJpZ2h0OiAwO1xuICAgIHotaW5kZXg6IGF1dG87XG4gICAgcG9zaXRpb246IGZpeGVkOyB9XG4gICAgLnBvc2l0aW9uLXJpZ2h0LnJldmVhbC1mb3ItbGFyZ2UgfiAub2ZmLWNhbnZhcy1jb250ZW50IHtcbiAgICAgIG1hcmdpbi1yaWdodDogMjUwcHg7IH0gfVxuXG4ub3JiaXQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLm9yYml0LWNvbnRhaW5lciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWFyZ2luOiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBsaXN0LXN0eWxlOiBub25lOyB9XG5cbi5vcmJpdC1zbGlkZSB7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtaGVpZ2h0OiAxMDAlOyB9XG4gIC5vcmJpdC1zbGlkZS5uby1tb3Rpb251aS5pcy1hY3RpdmUge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwOyB9XG5cbi5vcmJpdC1maWd1cmUge1xuICBtYXJnaW46IDA7IH1cblxuLm9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlOyB9XG5cbi5vcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAxcmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi5vcmJpdC1wcmV2aW91cywgLm9yYml0LW5leHQge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIHotaW5kZXg6IDEwO1xuICBwYWRkaW5nOiAxcmVtO1xuICBjb2xvcjogI2ZmZjsgfVxuICBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LXByZXZpb3VzLCBbZGF0YS13aGF0aW5wdXQ9J21vdXNlJ10gLm9yYml0LW5leHQge1xuICAgIG91dGxpbmU6IDA7IH1cbiAgLm9yYml0LXByZXZpb3VzOmhvdmVyLCAub3JiaXQtbmV4dDpob3ZlciwgLm9yYml0LXByZXZpb3VzOmFjdGl2ZSwgLm9yYml0LW5leHQ6YWN0aXZlLCAub3JiaXQtcHJldmlvdXM6Zm9jdXMsIC5vcmJpdC1uZXh0OmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7IH1cblxuLm9yYml0LXByZXZpb3VzIHtcbiAgbGVmdDogMDsgfVxuXG4ub3JiaXQtbmV4dCB7XG4gIGxlZnQ6IGF1dG87XG4gIHJpZ2h0OiAwOyB9XG5cbi5vcmJpdC1idWxsZXRzIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtYXJnaW4tdG9wOiAwLjhyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAub3JiaXQtYnVsbGV0cyB7XG4gICAgb3V0bGluZTogMDsgfVxuICAub3JiaXQtYnVsbGV0cyBidXR0b24ge1xuICAgIHdpZHRoOiAxLjJyZW07XG4gICAgaGVpZ2h0OiAxLjJyZW07XG4gICAgbWFyZ2luOiAwLjFyZW07XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYztcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7IH1cbiAgICAub3JiaXQtYnVsbGV0cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuICAgIC5vcmJpdC1idWxsZXRzIGJ1dHRvbi5pcy1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogIzhhOGE4YTsgfVxuXG4ucGFnaW5hdGlvbiB7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9XG4gIC5wYWdpbmF0aW9uOjpiZWZvcmUsIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5wYWdpbmF0aW9uOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjA2MjVyZW07XG4gICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhZ2luYXRpb24gbGk6bGFzdC1jaGlsZCwgLnBhZ2luYXRpb24gbGk6Zmlyc3QtY2hpbGQge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBhZ2luYXRpb24gbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAucGFnaW5hdGlvbiBhLFxuICAucGFnaW5hdGlvbiBidXR0b24ge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6IDAuMTg3NXJlbSAwLjYyNXJlbTtcbiAgICBib3JkZXItcmFkaXVzOiAwOyB9XG4gICAgLnBhZ2luYXRpb24gYTpob3ZlcixcbiAgICAucGFnaW5hdGlvbiBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIC5wYWdpbmF0aW9uIC5kaXNhYmxlZCB7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjY2NjO1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgICAucGFnaW5hdGlvbiAuZGlzYWJsZWQ6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLnBhZ2luYXRpb24gLmVsbGlwc2lzOjphZnRlciB7XG4gICAgY29udGVudDogJ1xcMjAyNic7XG4gICAgcGFkZGluZzogMC4xODc1cmVtIDAuNjI1cmVtO1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5wYWdpbmF0aW9uLXByZXZpb3VzIGE6OmJlZm9yZSxcbi5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICBjb250ZW50OiAnXFwwMGFiJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4ucGFnaW5hdGlvbi1uZXh0IGE6OmFmdGVyLFxuLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICBjb250ZW50OiAnXFwwMGJiJztcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW4tbGVmdDogMC41cmVtOyB9XG5cbi5wcm9ncmVzcyB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIGhlaWdodDogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgYm9yZGVyLXJhZGl1czogMDsgfVxuICAucHJvZ3Jlc3MucHJpbWFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7IH1cbiAgLnByb2dyZXNzLnByaW1hcnktYWNjZXNzaWJsZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7IH1cbiAgLnByb2dyZXNzLnByaW1hcnktZGFyay1ob3ZlciAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM5OTQwMDA7IH1cbiAgLnByb2dyZXNzLnNlY29uZGFyeSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwMDA7IH1cbiAgLnByb2dyZXNzLnN0YW5kYXJkLWJsYWNrIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzFkMWQxZDsgfVxuICAucHJvZ3Jlc3MuZGFya2dyZXkxIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzIwMjAyMDsgfVxuICAucHJvZ3Jlc3MubWVkaXVtLWdyYXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMzMzOyB9XG4gIC5wcm9ncmVzcy5taWRncmV5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwODI4NTsgfVxuICAucHJvZ3Jlc3MubGlnaHQtZ3JheSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cbiAgLnByb2dyZXNzLnRoaW4tZ3JheSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmOGY4Zjg7IH1cbiAgLnByb2dyZXNzLmJvcmRlci1ncmV5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2NjYzsgfVxuICAucHJvZ3Jlc3MudmVyeS1saWdodC1ncmV5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M5YzljOTsgfVxuICAucHJvZ3Jlc3MuYnJpZ2h0LWdyZXkgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZThlOGU5OyB9XG4gIC5wcm9ncmVzcy5kaXNhYmxlZC1ncmV5IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzgwODA4MDsgfVxuICAucHJvZ3Jlc3Mud2hpdGUtZGVmYXVsdCAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgLnByb2dyZXNzLndoaXRlLWdob3N0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMzsgfVxuICAucHJvZ3Jlc3Mud2hpdGUtc21va2UgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTdlN2U3OyB9XG4gIC5wcm9ncmVzcy5zdWNjZXNzIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzNhZGI3NjsgfVxuICAucHJvZ3Jlc3Mud2FybmluZyAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmFlMDA7IH1cbiAgLnByb2dyZXNzLmFsZXJ0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VjNTg0MDsgfVxuICAucHJvZ3Jlc3MuZXJyb3IgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjAwOyB9XG4gIC5wcm9ncmVzcy51bmF2YWlsYWJsZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7IH1cbiAgLnByb2dyZXNzLm5vYmVsIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzk3OTc5NzsgfVxuICAucHJvZ3Jlc3MubGlnaHQtZ3JheS1teS1nYXJhZ2UgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYWRiNWJkOyB9XG4gIC5wcm9ncmVzcy51bmF2YWlsYWJsZS10ZXh0IC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RlMWMyMjsgfVxuICAucHJvZ3Jlc3MuZ3JlZW4tYWNjZXNzaWJsZSAucHJvZ3Jlc3MtbWV0ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMxNTdmMTA7IH1cbiAgLnByb2dyZXNzLnJlZC1hY2Nlc3NpYmxlIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M2MTc1MjsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDsgfVxuXG4ucHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogI2ZmZjtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfVxuXG4uc2xpZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6IDAuNXJlbTtcbiAgbWFyZ2luLXRvcDogMS4yNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi4yNXJlbTtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U2ZTZlNjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgdG91Y2gtYWN0aW9uOiBub25lOyB9XG5cbi5zbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAwLjVyZW07XG4gIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2UtaW4tb3V0OyB9XG4gIC5zbGlkZXItZmlsbC5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjsgfVxuXG4uc2xpZGVyLWhhbmRsZSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxLjRyZW07XG4gIGhlaWdodDogMS40cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgW2RhdGEtd2hhdGlucHV0PSdtb3VzZSddIC5zbGlkZXItaGFuZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIC5zbGlkZXItaGFuZGxlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDk1OTAwOyB9XG4gIC5zbGlkZXItaGFuZGxlLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyOyB9XG5cbi5zbGlkZXIuZGlzYWJsZWQsXG4uc2xpZGVyW2Rpc2FibGVkXSB7XG4gIG9wYWNpdHk6IDAuMjU7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cblxuLnNsaWRlci52ZXJ0aWNhbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgd2lkdGg6IDAuNXJlbTtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWZpbGwge1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMC41cmVtO1xuICAgIG1heC1oZWlnaHQ6IDEwMCU7IH1cbiAgLnNsaWRlci52ZXJ0aWNhbCAuc2xpZGVyLWhhbmRsZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiA1MCU7XG4gICAgd2lkdGg6IDEuNHJlbTtcbiAgICBoZWlnaHQ6IDEuNHJlbTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH1cblxuLnN0aWNreS1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnN0aWNreSB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgei1pbmRleDogMDtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc3RpY2t5LmlzLXN0dWNrIHtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiA1OyB9XG4gIC5zdGlja3kuaXMtc3R1Y2suaXMtYXQtdG9wIHtcbiAgICB0b3A6IDA7IH1cbiAgLnN0aWNreS5pcy1zdHVjay5pcy1hdC1ib3R0b20ge1xuICAgIGJvdHRvbTogMDsgfVxuXG4uc3RpY2t5LmlzLWFuY2hvcmVkIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogYXV0bzsgfVxuICAuc3RpY2t5LmlzLWFuY2hvcmVkLmlzLWF0LWJvdHRvbSB7XG4gICAgYm90dG9tOiAwOyB9XG5cbmJvZHkuaXMtcmV2ZWFsLW9wZW4ge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG5cbmh0bWwuaXMtcmV2ZWFsLW9wZW4sXG5odG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICBoZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMDA1O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuXG4ucmV2ZWFsIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgei1pbmRleDogMTAwNjtcbiAgcGFkZGluZzogMXJlbTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDEwMHB4O1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICBvdmVyZmxvdy15OiBhdXRvOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIG1pbi1oZWlnaHQ6IDA7IH0gfVxuICAucmV2ZWFsIC5jb2x1bW4sIC5yZXZlYWwgLmNvbHVtbnMsXG4gIC5yZXZlYWwgLmNvbHVtbnMge1xuICAgIG1pbi13aWR0aDogMDsgfVxuICAucmV2ZWFsID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwge1xuICAgICAgd2lkdGg6IDYwMHB4O1xuICAgICAgbWF4LXdpZHRoOiA4Mi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwgLnJldmVhbCB7XG4gICAgICBsZWZ0OiBhdXRvO1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDAgYXV0bzsgfSB9XG4gIC5yZXZlYWwuY29sbGFwc2Uge1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwudGlueSB7XG4gICAgICB3aWR0aDogMzAlO1xuICAgICAgbWF4LXdpZHRoOiA4Mi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5yZXZlYWwuc21hbGwge1xuICAgICAgd2lkdGg6IDUwJTtcbiAgICAgIG1heC13aWR0aDogODIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsLmxhcmdlIHtcbiAgICAgIHdpZHRoOiA5MCU7XG4gICAgICBtYXgtd2lkdGg6IDgyLjVyZW07IH0gfVxuICAucmV2ZWFsLmZ1bGwge1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMHZoO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICAgIG1heC13aWR0aDogbm9uZTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucmV2ZWFsIHtcbiAgICAgIHRvcDogMDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICBtaW4taGVpZ2h0OiAxMDB2aDtcbiAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogMDsgfSB9XG4gIC5yZXZlYWwud2l0aG91dC1vdmVybGF5IHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7IH1cblxuLnN3aXRjaCB7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIG91dGxpbmU6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuXG4uc3dpdGNoLWlucHV0IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlOyB9XG5cbi5zd2l0Y2gtcGFkZGxlIHtcbiAgYmFja2dyb3VuZDogI2NjYztcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAycmVtO1xuICB0cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGNvbG9yOiBpbmhlcml0O1xuICBmb250LXdlaWdodDogaW5oZXJpdDsgfVxuICBpbnB1dCArIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICBsZWZ0OiAwLjI1cmVtO1xuICAgIHRvcDogMC4yNXJlbTtcbiAgICB3aWR0aDogMS41cmVtO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjI1cyBlYXNlLW91dDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG4gICAgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gICAgICBsZWZ0OiAyLjI1cmVtOyB9XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSBpbnB1dDpmb2N1cyB+IC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBvdXRsaW5lOiAwOyB9XG5cbi5zd2l0Y2gtYWN0aXZlLCAuc3dpdGNoLWluYWN0aXZlIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9XG5cbi5zd2l0Y2gtYWN0aXZlIHtcbiAgbGVmdDogOCU7XG4gIGRpc3BsYXk6IG5vbmU7IH1cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gLnN3aXRjaC1hY3RpdmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zd2l0Y2gtaW5hY3RpdmUge1xuICByaWdodDogMTUlOyB9XG4gIGlucHV0OmNoZWNrZWQgKyBsYWJlbCA+IC5zd2l0Y2gtaW5hY3RpdmUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLnN3aXRjaC50aW55IC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDNyZW07XG4gIGhlaWdodDogMS41cmVtO1xuICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG5cbi5zd2l0Y2gudGlueSAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMXJlbTtcbiAgaGVpZ2h0OiAxcmVtOyB9XG5cbi5zd2l0Y2gudGlueSBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgbGVmdDogMS43NXJlbTsgfVxuXG4uc3dpdGNoLnNtYWxsIC5zd2l0Y2gtcGFkZGxlIHtcbiAgd2lkdGg6IDMuNXJlbTtcbiAgaGVpZ2h0OiAxLjc1cmVtO1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnN3aXRjaC5zbWFsbCAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICB3aWR0aDogMS4yNXJlbTtcbiAgaGVpZ2h0OiAxLjI1cmVtOyB9XG5cbi5zd2l0Y2guc21hbGwgaW5wdXQ6Y2hlY2tlZCB+IC5zd2l0Y2gtcGFkZGxlOjphZnRlciB7XG4gIGxlZnQ6IDJyZW07IH1cblxuLnN3aXRjaC5sYXJnZSAuc3dpdGNoLXBhZGRsZSB7XG4gIHdpZHRoOiA1cmVtO1xuICBoZWlnaHQ6IDIuNXJlbTtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5zd2l0Y2gubGFyZ2UgLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgd2lkdGg6IDJyZW07XG4gIGhlaWdodDogMnJlbTsgfVxuXG4uc3dpdGNoLmxhcmdlIGlucHV0OmNoZWNrZWQgfiAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICBsZWZ0OiAyLjc1cmVtOyB9XG5cbnRhYmxlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbi1ib3R0b206IDFyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7IH1cbiAgdGhlYWQsXG4gIHRib2R5LFxuICB0Zm9vdCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIGNhcHRpb24ge1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTsgfVxuICB0aGVhZCxcbiAgdGZvb3Qge1xuICAgIGJhY2tncm91bmQ6ICNmOWY5Zjk7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICB0aGVhZCB0cixcbiAgICB0Zm9vdCB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIHRoZWFkIHRoLFxuICAgIHRoZWFkIHRkLFxuICAgIHRmb290IHRoLFxuICAgIHRmb290IHRkIHtcbiAgICAgIHBhZGRpbmc6IDAuNXJlbSAwLjYyNXJlbSAwLjYyNXJlbTtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7IH1cbiAgdGJvZHkgdGgsXG4gIHRib2R5IHRkIHtcbiAgICBwYWRkaW5nOiAwLjVyZW0gMC42MjVyZW0gMC42MjVyZW07IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIHRhYmxlLnN0YWNrIHRoZWFkIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIHRhYmxlLnN0YWNrIHRyLFxuICB0YWJsZS5zdGFjayB0aCxcbiAgdGFibGUuc3RhY2sgdGQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIHRhYmxlLnN0YWNrIHRkIHtcbiAgICBib3JkZXItdG9wOiAwOyB9IH1cblxudGFibGUuc2Nyb2xsIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy14OiBhdXRvOyB9XG5cbnRhYmxlLmhvdmVyIHRyOmhvdmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZhZmFmYTsgfVxuXG50YWJsZS5ob3ZlciB0cjpudGgtb2YtdHlwZShldmVuKTpob3ZlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNlZGVkZWQ7IH1cblxuLnRhYmxlLXNjcm9sbCB7XG4gIG92ZXJmbG93LXg6IGF1dG87IH1cbiAgLnRhYmxlLXNjcm9sbCB0YWJsZSB7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLnRhYnMge1xuICBtYXJnaW46IDA7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjsgfVxuICAudGFiczo6YmVmb3JlLCAudGFiczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGFiczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi50YWJzLnZlcnRpY2FsID4gbGkge1xuICB3aWR0aDogYXV0bztcbiAgZmxvYXQ6IG5vbmU7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi50YWJzLnNpbXBsZSA+IGxpID4gYSB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRhYnMuc2ltcGxlID4gbGkgPiBhOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuXG4udGFicy5wcmltYXJ5IHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuICAudGFicy5wcmltYXJ5ID4gbGkgPiBhIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6aG92ZXIsIC50YWJzLnByaW1hcnkgPiBsaSA+IGE6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2YyNjQwMDsgfVxuXG4udGFicy10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIC50YWJzLXRpdGxlID4gYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxLjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgLnRhYnMtdGl0bGUgPiBhOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7IH1cbiAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuXG4udGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLXRvcDogMDsgfVxuXG4udGFicy1jb250ZW50LnZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U2ZTZlNjtcbiAgYm9yZGVyLWxlZnQ6IDA7IH1cblxuLnRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAxcmVtOyB9XG4gIC50YWJzLXBhbmVsLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRodW1ibmFpbCB7XG4gIGJvcmRlcjogc29saWQgNHB4ICNmZmY7XG4gIGJveC1zaGFkb3c6IDAgMCAwIDFweCByZ2JhKDAsIDAsIDAsIDAuMik7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbiAgYm9yZGVyLXJhZGl1czogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAudGh1bWJuYWlsOmhvdmVyLCAudGh1bWJuYWlsOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAwIDAgNnB4IDFweCByZ2JhKDI1NSwgMTA1LCAwLCAwLjUpOyB9XG5cbi50aXRsZS1iYXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBjb2xvcjogIzAwMDtcbiAgcGFkZGluZzogMC41cmVtOyB9XG4gIC50aXRsZS1iYXI6OmJlZm9yZSwgLnRpdGxlLWJhcjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGl0bGUtYmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRpdGxlLWJhciAubWVudS1pY29uIHtcbiAgICBtYXJnaW4tbGVmdDogMC4yNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMjVyZW07IH1cblxuLnRpdGxlLWJhci1sZWZ0IHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnRpdGxlLWJhci1yaWdodCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnRpdGxlLWJhci10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLm1lbnUtaWNvbi5kYXJrIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMTZweDsgfVxuICAubWVudS1pY29uLmRhcms6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogMDtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICMwMDAsIDAgMTRweCAwICMwMDA7IH1cbiAgLm1lbnUtaWNvbi5kYXJrOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogIzhhOGE4YTtcbiAgICBib3gtc2hhZG93OiAwIDdweCAwICM4YThhOGEsIDAgMTRweCAwICM4YThhOGE7IH1cblxuLmhhcy10aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgYm9yZGVyLWJvdHRvbTogZG90dGVkIDFweCAjOGE4YThhO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgY3Vyc29yOiBoZWxwOyB9XG5cbi50b29sdGlwIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDAuNjQ5NXJlbSk7XG4gIHotaW5kZXg6IDEyMDA7XG4gIG1heC13aWR0aDogMTByZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07XG4gIGJvcmRlci1yYWRpdXM6IDA7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogODAlO1xuICBjb2xvcjogI2ZmZjsgfVxuICAudG9vbHRpcDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMDtcbiAgICBoZWlnaHQ6IDA7XG4gICAgYm9yZGVyOiBpbnNldCAwLjc1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgIzAwMDtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDEwMCU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAudG9vbHRpcC50b3A6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICMwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvOyB9XG4gIC50b29sdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICMwMDA7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgLnRvb2x0aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlcjogaW5zZXQgMC43NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50ICMwMDAgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXJpZ2h0LXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItbGVmdC13aWR0aDogMDtcbiAgICB0b3A6IDUwJTtcbiAgICByaWdodDogMTAwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogYXV0bztcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cblxuLnRvcC1iYXIge1xuICBwYWRkaW5nOiAwOyB9XG4gIC50b3AtYmFyOjpiZWZvcmUsIC50b3AtYmFyOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC50b3AtYmFyOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRvcC1iYXIsXG4gIC50b3AtYmFyIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC50b3AtYmFyIGlucHV0IHtcbiAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgIG1hcmdpbi1yaWdodDogMXJlbTsgfVxuICAudG9wLWJhciAuaW5wdXQtZ3JvdXAtZmllbGQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAudG9wLWJhciBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gIC50b3AtYmFyIC50b3AtYmFyLWxlZnQsXG4gIC50b3AtYmFyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRvcC1iYXIgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhciAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLW1lZGl1bSAudG9wLWJhci1yaWdodCB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgyLjQzNzVlbSkge1xuICAgIC50b3AtYmFyLnN0YWNrZWQtZm9yLWxhcmdlIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXIuc3RhY2tlZC1mb3ItbGFyZ2UgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4udG9wLWJhci10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBtYXJnaW4tcmlnaHQ6IDFyZW07IH1cblxuLnRvcC1iYXItbGVmdCB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi50b3AtYmFyLXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG5cbi5oaWRlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5pbnZpc2libGUge1xuICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oaWRlLWZvci1zbWFsbC1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAwZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNob3ctZm9yLXNtYWxsLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1tZWRpdW0ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLmhpZGUtZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnNob3ctZm9yLW1lZGl1bS1vbmx5IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5oaWRlLWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5zaG93LWZvci1sYXJnZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDgyLjQzNzVlbSkge1xuICAuaGlkZS1mb3ItbGFyZ2Utb25seSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSwgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Mi41ZW0pIHtcbiAgLnNob3ctZm9yLWxhcmdlLW9ubHkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG5cbi5zaG93LWZvci1zcixcbi5zaG93LW9uLWZvY3VzIHtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiAxcHg7XG4gIGhlaWdodDogMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBjbGlwOiByZWN0KDAsIDAsIDAsIDApOyB9XG5cbi5zaG93LW9uLWZvY3VzOmFjdGl2ZSwgLnNob3ctb24tZm9jdXM6Zm9jdXMge1xuICBwb3NpdGlvbjogc3RhdGljICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogYXV0bztcbiAgd2lkdGg6IGF1dG87XG4gIG92ZXJmbG93OiB2aXNpYmxlO1xuICBjbGlwOiBhdXRvOyB9XG5cbi5zaG93LWZvci1sYW5kc2NhcGUsXG4uaGlkZS1mb3ItcG9ydHJhaXQge1xuICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLnNob3ctZm9yLWxhbmRzY2FwZSxcbiAgICAuaGlkZS1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogcG9ydHJhaXQpIHtcbiAgICAuc2hvdy1mb3ItbGFuZHNjYXBlLFxuICAgIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuXG4uaGlkZS1mb3ItbGFuZHNjYXBlLFxuLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChvcmllbnRhdGlvbjogbGFuZHNjYXBlKSB7XG4gICAgLmhpZGUtZm9yLWxhbmRzY2FwZSxcbiAgICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG9yaWVudGF0aW9uOiBwb3J0cmFpdCkge1xuICAgIC5oaWRlLWZvci1sYW5kc2NhcGUsXG4gICAgLnNob3ctZm9yLXBvcnRyYWl0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uZmxvYXQtbGVmdCB7XG4gIGZsb2F0OiBsZWZ0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LXJpZ2h0IHtcbiAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7IH1cblxuLmZsb2F0LWNlbnRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5jbGVhcmZpeDo6YmVmb3JlLCAuY2xlYXJmaXg6OmFmdGVyIHtcbiAgY29udGVudDogJyAnO1xuICBkaXNwbGF5OiB0YWJsZTsgfVxuXG4uY2xlYXJmaXg6OmFmdGVyIHtcbiAgY2xlYXI6IGJvdGg7IH1cblxuLmFsaWduLXJpZ2h0IHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYWxpZ24tY2VudGVyIHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLmFsaWduLWp1c3RpZnkge1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cblxuLmFsaWduLXNwYWNlZCB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kOyB9XG5cbi5hbGlnbi10b3Age1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuXG4uYWxpZ24tc2VsZi10b3Age1xuICBhbGlnbi1zZWxmOiBmbGV4LXN0YXJ0OyB9XG5cbi5hbGlnbi1ib3R0b20ge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cblxuLmFsaWduLXNlbGYtYm90dG9tIHtcbiAgYWxpZ24tc2VsZjogZmxleC1lbmQ7IH1cblxuLmFsaWduLW1pZGRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cblxuLmFsaWduLXNlbGYtbWlkZGxlIHtcbiAgYWxpZ24tc2VsZjogY2VudGVyOyB9XG5cbi5hbGlnbi1zdHJldGNoIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7IH1cblxuLmFsaWduLXNlbGYtc3RyZXRjaCB7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7IH1cblxuLnNtYWxsLW9yZGVyLTEge1xuICBvcmRlcjogMTsgfVxuXG4uc21hbGwtb3JkZXItMiB7XG4gIG9yZGVyOiAyOyB9XG5cbi5zbWFsbC1vcmRlci0zIHtcbiAgb3JkZXI6IDM7IH1cblxuLnNtYWxsLW9yZGVyLTQge1xuICBvcmRlcjogNDsgfVxuXG4uc21hbGwtb3JkZXItNSB7XG4gIG9yZGVyOiA1OyB9XG5cbi5zbWFsbC1vcmRlci02IHtcbiAgb3JkZXI6IDY7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVkaXVtLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5tZWRpdW0tb3JkZXItMiB7XG4gICAgb3JkZXI6IDI7IH1cbiAgLm1lZGl1bS1vcmRlci0zIHtcbiAgICBvcmRlcjogMzsgfVxuICAubWVkaXVtLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5tZWRpdW0tb3JkZXItNSB7XG4gICAgb3JkZXI6IDU7IH1cbiAgLm1lZGl1bS1vcmRlci02IHtcbiAgICBvcmRlcjogNjsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmxhcmdlLW9yZGVyLTEge1xuICAgIG9yZGVyOiAxOyB9XG4gIC5sYXJnZS1vcmRlci0yIHtcbiAgICBvcmRlcjogMjsgfVxuICAubGFyZ2Utb3JkZXItMyB7XG4gICAgb3JkZXI6IDM7IH1cbiAgLmxhcmdlLW9yZGVyLTQge1xuICAgIG9yZGVyOiA0OyB9XG4gIC5sYXJnZS1vcmRlci01IHtcbiAgICBvcmRlcjogNTsgfVxuICAubGFyZ2Utb3JkZXItNiB7XG4gICAgb3JkZXI6IDY7IH0gfVxuXG4uc2xpZGUtaW4tZG93bi5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xMDAlKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLWluLWRvd24ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1sZWZ0Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApOyB9XG5cbi5zbGlkZS1pbi11cC5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtaW4tdXAubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7IH1cblxuLnNsaWRlLWluLXJpZ2h0Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1pbi1yaWdodC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTsgfVxuXG4uc2xpZGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1kb3duLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47IH1cblxuLnNsaWRlLW91dC1yaWdodC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgxMDAlKTsgfVxuXG4uc2xpZGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGlkZS1vdXQtdXAubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEwMCUpOyB9XG5cbi5zbGlkZS1vdXQtbGVmdC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpZGUtb3V0LWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTEwMCUpOyB9XG5cbi5mYWRlLWluLm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICBvcGFjaXR5OiAwO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiBvcGFjaXR5OyB9XG5cbi5mYWRlLWluLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgb3BhY2l0eTogMTsgfVxuXG4uZmFkZS1vdXQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIG9wYWNpdHk6IDE7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7IH1cblxuLmZhZGUtb3V0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS10b3AubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVYKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHRvcDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLXRvcC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLWluLWZyb20tcmlnaHQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWJvdHRvbS5tdWktZW50ZXIge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1ib3R0b20ubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKDkwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdDtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLWxlZnQubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS14Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2UtaW4tZnJvbS1taWRkbGUteC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLWluLWZyb20tbWlkZGxlLXkubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGVZKC05MGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IGNlbnRlcjtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1pbi1mcm9tLW1pZGRsZS15Lm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiB0b3A7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tdG9wLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tcmlnaHQubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcGVyc3BlY3RpdmUoMjAwMHB4KSByb3RhdGUoMGRlZyk7XG4gIHRyYW5zZm9ybS1vcmlnaW46IHJpZ2h0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLXJpZ2h0Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b207XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tYm90dG9tLm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVgoOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1sZWZ0Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0O1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLWxlZnQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWSg5MGRlZyk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlKDBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uaGluZ2Utb3V0LWZyb20tbWlkZGxlLXgubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHBlcnNwZWN0aXZlKDIwMDBweCkgcm90YXRlWCgtOTBkZWcpO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5oaW5nZS1vdXQtZnJvbS1taWRkbGUteS5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZSgwZGVnKTtcbiAgdHJhbnNmb3JtLW9yaWdpbjogY2VudGVyO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15Lm11aS1sZWF2ZS5tdWktbGVhdmUtYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBwZXJzcGVjdGl2ZSgyMDAwcHgpIHJvdGF0ZVkoLTkwZGVnKTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtaW4tdXAubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMC41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi11cC5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLWluLWRvd24ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zY2FsZS1pbi1kb3duLm11aS1lbnRlci5tdWktZW50ZXItYWN0aXZlIHtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LXVwLm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnNjYWxlLW91dC11cC5tdWktbGVhdmUubXVpLWxlYXZlLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogc2NhbGUoMS41KTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc2NhbGUtb3V0LWRvd24ubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHNjYWxlKDAuNSk7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4ubXVpLWVudGVyIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNTAwbXM7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXI7XG4gIHRyYW5zZm9ybTogcm90YXRlKC0wLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi5tdWktZW50ZXIubXVpLWVudGVyLWFjdGl2ZSB7XG4gIHRyYW5zZm9ybTogcm90YXRlKDApO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC5tdWktbGVhdmUge1xuICB0cmFuc2l0aW9uLWR1cmF0aW9uOiA1MDBtcztcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhcjtcbiAgdHJhbnNmb3JtOiByb3RhdGUoMCk7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIG9wYWNpdHk6IDA7IH1cblxuLnNwaW4taW4tY2N3Lm11aS1lbnRlciB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwLjc1dHVybik7XG4gIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgb3BhY2l0eTogMDsgfVxuXG4uc3Bpbi1pbi1jY3cubXVpLWVudGVyLm11aS1lbnRlci1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgb3BhY2l0eTogMTsgfVxuXG4uc3Bpbi1vdXQtY2N3Lm11aS1sZWF2ZSB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDUwMG1zO1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogbGluZWFyO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTtcbiAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zcGluLW91dC1jY3cubXVpLWxlYXZlLm11aS1sZWF2ZS1hY3RpdmUge1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtMC43NXR1cm4pO1xuICBvcGFjaXR5OiAwOyB9XG5cbi5zbG93IHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogNzUwbXMgIWltcG9ydGFudDsgfVxuXG4uZmFzdCB7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBsaW5lYXIgIWltcG9ydGFudDsgfVxuXG4uZWFzZSB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLW91dCAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluLW91dCB7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBlYXNlLWluLW91dCAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4ge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICB0cmFuc2l0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC41MTUsIDAuODQ1KSAhaW1wb3J0YW50OyB9XG5cbi5ib3VuY2UtaW4tb3V0IHtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSAhaW1wb3J0YW50OyB9XG5cbi5zaG9ydC1kZWxheSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICB0cmFuc2l0aW9uLWRlbGF5OiA3MDBtcyAhaW1wb3J0YW50OyB9XG5cbi5zaGFrZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiBzaGFrZS03OyB9XG5cbkBrZXlmcmFtZXMgc2hha2UtNyB7XG4gIDAlLCAxMCUsIDIwJSwgMzAlLCA0MCUsIDUwJSwgNjAlLCA3MCUsIDgwJSwgOTAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoNyUpOyB9XG4gIDUlLCAxNSUsIDI1JSwgMzUlLCA0NSUsIDU1JSwgNjUlLCA3NSUsIDg1JSwgOTUlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTclKTsgfSB9XG5cbi5zcGluLWN3IHtcbiAgYW5pbWF0aW9uLW5hbWU6IHNwaW4tY3ctMXR1cm47IH1cblxuQGtleWZyYW1lcyBzcGluLWN3LTF0dXJuIHtcbiAgMCUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKC0xdHVybik7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH0gfVxuXG4uc3Bpbi1jY3cge1xuICBhbmltYXRpb24tbmFtZTogc3Bpbi1jdy0xdHVybjsgfVxuXG5Aa2V5ZnJhbWVzIHNwaW4tY3ctMXR1cm4ge1xuICAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMCk7IH1cbiAgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMXR1cm4pOyB9IH1cblxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1uYW1lOiB3aWdnbGUtN2RlZzsgfVxuXG5Aa2V5ZnJhbWVzIHdpZ2dsZS03ZGVnIHtcbiAgNDAlLCA1MCUsIDYwJSB7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoN2RlZyk7IH1cbiAgMzUlLCA0NSUsIDU1JSwgNjUlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtN2RlZyk7IH1cbiAgMCUsIDMwJSwgNzAlLCAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwKTsgfSB9XG5cbi5zaGFrZSxcbi5zcGluLWN3LFxuLnNwaW4tY2N3LFxuLndpZ2dsZSB7XG4gIGFuaW1hdGlvbi1kdXJhdGlvbjogNTAwbXM7IH1cblxuLmluZmluaXRlIHtcbiAgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuLnNsb3cge1xuICBhbmltYXRpb24tZHVyYXRpb246IDc1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmZhc3Qge1xuICBhbmltYXRpb24tZHVyYXRpb246IDI1MG1zICFpbXBvcnRhbnQ7IH1cblxuLmxpbmVhciB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGxpbmVhciAhaW1wb3J0YW50OyB9XG5cbi5lYXNlIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZSAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbiAhaW1wb3J0YW50OyB9XG5cbi5lYXNlLW91dCB7XG4gIGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246IGVhc2Utb3V0ICFpbXBvcnRhbnQ7IH1cblxuLmVhc2UtaW4tb3V0IHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogZWFzZS1pbi1vdXQgIWltcG9ydGFudDsgfVxuXG4uYm91bmNlLWluIHtcbiAgYW5pbWF0aW9uLXRpbWluZy1mdW5jdGlvbjogY3ViaWMtYmV6aWVyKDAuNDg1LCAwLjE1NSwgMC4yNCwgMS4yNDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjUxNSwgMC44NDUpICFpbXBvcnRhbnQ7IH1cblxuLmJvdW5jZS1pbi1vdXQge1xuICBhbmltYXRpb24tdGltaW5nLWZ1bmN0aW9uOiBjdWJpYy1iZXppZXIoMC43NiwgLTAuMjQ1LCAwLjI0LCAxLjI0NSkgIWltcG9ydGFudDsgfVxuXG4uc2hvcnQtZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDMwMG1zICFpbXBvcnRhbnQ7IH1cblxuLmxvbmctZGVsYXkge1xuICBhbmltYXRpb24tZGVsYXk6IDcwMG1zICFpbXBvcnRhbnQ7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQsXG4uZmxleC12aWRlbyB7XG4gIGhlaWdodDogMDtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbi5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4uZmxleC12aWRlbyBpZnJhbWUsXG4uZmxleC12aWRlbyBvYmplY3QsXG4uZmxleC12aWRlbyBlbWJlZCxcbi5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnJlc3BvbnNpdmUtZW1iZWQgaWZyYW1lIHtcbiAgYm9yZGVyOiAwOyB9XG5cbi5yZXNwb25zaXZlLWVtYmVkLndpZGVzY3JlZW4sXG4uZmxleC12aWRlby53aWRlc2NyZWVuIHtcbiAgcGFkZGluZy1ib3R0b206IDU2LjI1JTsgfVxuXG4vKiBDaHJvbWUgaGFjazogU1ZHIGlzIHJlbmRlcmVkIG1vcmUgc21vb3RoIGluIFdpbmRvenplLiAxMDAlIG1hZ2ljLCB1bmNvbW1lbnQgaWYgeW91IG5lZWQgaXQuICovXG4vKiBOb3RlLCB0aGF0IHdpbGwgYnJlYWsgaGludGluZyEgSW4gb3RoZXIgT1MtZXMgZm9udCB3aWxsIGJlIG5vdCBhcyBzaGFycCBhcyBpdCBjb3VsZCBiZSAqL1xuLypcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/NjI3NTE1MDMjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICB9XG59XG4qL1xuW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG5bY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gIC8qIHlvdSBjYW4gYmUgbW9yZSBjb21mb3J0YWJsZSB3aXRoIGluY3JlYXNlZCBpY29ucyBzaXplICovXG4gIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cbiAgLyogRm9udCBzbW9vdGhpbmcuIFRoYXQgd2FzIHRha2VuIGZyb20gVFdCUyAqL1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAvKiBvcGFjaXR5OiAuODsgKi9cbiAgLyogRm9yIHNhZmV0eSAtIHJlc2V0IHBhcmVudCBzdHlsZXMsIHRoYXQgY2FuIGJyZWFrIGdseXBoIGNvZGVzKi9cbiAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gIC8qIHJlbW92ZSBpZiBub3QgbmVlZGVkICovXG4gIG1hcmdpbi1sZWZ0OiAwLjJlbTtcbiAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgc3BlYWs6IG5ldmVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gIHdpZHRoOiAxZW07XG4gIC8qIFVuY29tbWVudCBmb3IgM0QgZWZmZWN0ICovXG4gIC8qIHRleHQtc2hhZG93OiAxcHggMXB4IDFweCByZ2JhKDEyNywgMTI3LCAxMjcsIDAuMyk7ICovIH1cblxuLmljb24tYWxlcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAwXCI7IH1cblxuLyogJ+6ggCcgKi9cbi5pY29uLWNhcnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAxXCI7IH1cblxuLyogJ+6ggScgKi9cbi5pY29uLWN1c3RvbWVyY2FyZXBsYW46OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODAyXCI7IH1cblxuLyogJ+6ggicgKi9cbi5pY29uLWxpdmVjaGF0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwM1wiOyB9XG5cbi8qICfuoIMnICovXG4uaWNvbi1sb2NhdGlvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDRcIjsgfVxuXG4vKiAn7qCEJyAqL1xuLmljb24tc2VhcmNoOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwNVwiOyB9XG5cbi8qICfuoIUnICovXG4uaWNvbi1zZXZlcmV3ZWF0aGVyZGVzaWduYXRpb246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODA2XCI7IH1cblxuLyogJ+6ghicgKi9cbi5pY29uLWNhbmNlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDdcIjsgfVxuXG4vKiAn7qCHJyAqL1xuLmljb24td2hlZWx3YXJyYW50eTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MDhcIjsgfVxuXG4vKiAn7qCIJyAqL1xuLmljb24tbXlhY2NvdW50OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwOVwiOyB9XG5cbi8qICfuoIknICovXG4uaWNvbi1jb250YWN0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwYVwiOyB9XG5cbi8qICfuoIonICovXG4uaWNvbi1wbHVzOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwYlwiOyB9XG5cbi8qICfuoIsnICovXG4uaWNvbi1taW51czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGNcIjsgfVxuXG4vKiAn7qCMJyAqL1xuLmljb24tc3Rhcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGRcIjsgfVxuXG4vKiAn7qCNJyAqL1xuLmljb24tdXAtb3Blbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MGVcIjsgfVxuXG4vKiAn7qCOJyAqL1xuLmljb24tZG93bi1vcGVuOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwZlwiOyB9XG5cbi8qICfuoI8nICovXG4uaWNvbi1hY2Nlc3NpYmlsaXR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxMFwiOyB9XG5cbi8qICfuoJAnICovXG4uaWNvbi1jaXJjbGUtY2hlY2tlZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTFcIjsgfVxuXG4vKiAn7qCRJyAqL1xuLmljb24tcHJpbnQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODEyXCI7IH1cblxuLyogJ+6gkicgKi9cbi5pY29uLWxlZnQtb3Blbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTNcIjsgfVxuXG4vKiAn7qCTJyAqL1xuLmljb24tcmlnaHQtb3Blbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTRcIjsgfVxuXG4vKiAn7qCUJyAqL1xuLmljb24tdGh1bWJzLWRvd246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE1XCI7IH1cblxuLyogJ+6glScgKi9cbi5pY29uLXRpcmU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE2XCI7IH1cblxuLyogJ+6glicgKi9cbi5pY29uLWNhbGVuZGFyOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxN1wiOyB9XG5cbi8qICfuoJcnICovXG4uaWNvbi1waG9uZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MThcIjsgfVxuXG4vKiAn7qCYJyAqL1xuLmljb24tbG9jazo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MTlcIjsgfVxuXG4vKiAn7qCZJyAqL1xuLmljb24tdGVzdGVkLWJ5LWthbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjBcIjsgfVxuXG4vKiAn7qCgJyAqL1xuLmljb24tdGh1bWJzLXVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyMVwiOyB9XG5cbi8qICfuoKEnICovXG4uaWNvbi1zdGFyLWVtcHR5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyMlwiOyB9XG5cbi8qICfuoKInICovXG4uaWNvbi1wbGF5OjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyM1wiOyB9XG5cbi8qICfuoKMnICovXG4uaWNvbi13aGVlbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjRcIjsgfVxuXG4vKiAn7qCkJyAqL1xuLmljb24tbWFpbnRlbmFuY2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODI1XCI7IH1cblxuLyogJ+6gpScgKi9cbi5pY29uLXNlYXNvbmFsLWFsbDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjZcIjsgfVxuXG4vKiAn7qCmJyAqL1xuLmljb24tZ2VhcnM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODI3XCI7IH1cblxuLyogJ+6gpycgKi9cbi5pY29uLWJvb2s6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODI4XCI7IH1cblxuLyogJ+6gqCcgKi9cbi5pY29uLWZpbHRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MjlcIjsgfVxuXG4vKiAn7qCpJyAqL1xuLmljb24tY2FsZW5kYXItaWNvbjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MmNcIjsgfVxuXG4vKiAn7qCsJyAqL1xuLmljb24tc25vd2ZsYWtlOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgyZFwiOyB9XG5cbi8qICfuoK0nICovXG4uaWNvbi1idXlub3dwYXlsYXRlcjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MmVcIjsgfVxuXG4vKiAn7qCuJyAqL1xuLmljb24tYW5nbGUtbGVmdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYxMDRcIjsgfVxuXG4vKiAn74SEJyAqL1xuLmljb24tYW5nbGUtcmlnaHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTA1XCI7IH1cblxuLyogJ++EhScgKi9cbi5pY29uLWFuZ2xlLXVwOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwNlwiOyB9XG5cbi8qICfvhIYnICovXG4uaWNvbi1hbmdsZS1kb3duOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjEwN1wiOyB9XG5cbi8qICfvhIcnICovXG4uaWNvbi1jaXJjbGU6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTExXCI7IH1cblxuLyogJ++EkScgKi9cbi5pY29uLWNpcmNsZS10aGluOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZjFkYlwiOyB9XG5cbi8qIFwi74ebXCIgKi9cbi5pY29uLXN0YXItaGFsZi1hbHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMTIzXCI7IH1cblxuLyogJ++EoycgKi9cbi5pY29uLXdpZmk6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxmMWViXCI7IH1cblxuLyogJ++HqycgKi9cbi5pY29uLWJ1czo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGYyMDdcIjsgfVxuXG4vKiAn74iHJyAqL1xuLmljb24tZXhjaGFuZ2U6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODJmXCI7IH1cblxuLyogJ+6grycgKi9cbi5pY29uLXByaWNlLW1hdGNoLWd1YXJhbnRlZS1saW5lOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTg2MFwiOyB9XG5cbi8qICfuoaAnICovXG4uaWNvbi10aWNrOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgzMVwiOyB9XG5cbi8qICfuoLInICovXG4uaWNvbi1jdXN0b21lci1jYXJlLXBsYW4tbGluZTo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MzJcIjsgfVxuXG4vKiAn7qCzJyAqL1xuLmljb24tYnJha2VzLXF1YWxpdHktcGFydHM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODMzXCI7IH1cblxuLyogJ+6gtCcgKi9cbi5pY29uLWJyYWtlcy1uby1zdXJwcmlzZXM6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODM0XCI7IH1cblxuLyogJ+6gtScgKi9cbi5pY29uLW1haWw6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODFhXCI7IH1cblxuLyogJ+6gmicgKi9cbi5pY29uLXJlc2VuZDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MWJcIjsgfVxuXG4vKiAn7qCbJyAqL1xuLmljb24tY2hhdDo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MWNcIjsgfVxuXG4vKiAn7qCcJyAqL1xuLmljb24tbmV3LXRhYjo6YmVmb3JlIHtcbiAgY29udGVudDogXCJcXGU4MzZcIjsgfVxuXG4vKiAn7qC5JyAqL1xuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4vKiBBcnJvd3MgKi9cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsaW5lLWhlaWdodDogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgd2lkdGg6IDIwcHg7IH1cblxuLnNsaWNrLXByZXY6aG92ZXIsXG4uc2xpY2stcHJldjpmb2N1cyxcbi5zbGljay1uZXh0OmhvdmVyLFxuLnNsaWNrLW5leHQ6Zm9jdXMge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6IHRyYW5zcGFyZW50O1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5zbGljay1wcmV2OmhvdmVyOjpiZWZvcmUsXG4uc2xpY2stcHJldjpmb2N1czo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6aG92ZXI6OmJlZm9yZSxcbi5zbGljay1uZXh0OmZvY3VzOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUsXG4uc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDo6YmVmb3JlIHtcbiAgb3BhY2l0eTogMC4yNTsgfVxuXG4uc2xpY2stcHJldjo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBmb250LXNpemU6IDIwcHg7XG4gIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgb3BhY2l0eTogMC43NTsgfVxuXG4uc2xpY2stcHJldiB7XG4gIGxlZnQ6IC0yNXB4OyB9XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICBsZWZ0OiBhdXRvO1xuICByaWdodDogLTI1cHg7IH1cblxuLnNsaWNrLXByZXY6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oaQXCI7IH1cblxuW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgY29udGVudDogXCLihpJcIjsgfVxuXG4uc2xpY2stbmV4dCB7XG4gIHJpZ2h0OiAtMjVweDsgfVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1uZXh0IHtcbiAgbGVmdDogLTI1cHg7XG4gIHJpZ2h0OiBhdXRvOyB9XG5cbi5zbGljay1uZXh0OjpiZWZvcmUge1xuICBjb250ZW50OiBcIuKGklwiOyB9XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwi4oaQXCI7IH1cblxuLyogRG90cyAqL1xuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG5cbi5zbGljay1kb3RzIHtcbiAgYm90dG9tOiAtMjVweDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zbGljay1kb3RzIGxpIHtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGhlaWdodDogMjBweDtcbiAgbWFyZ2luOiAwIDVweDtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMjBweDsgfVxuXG4uc2xpY2stZG90cyBsaSBidXR0b24ge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsaW5lLWhlaWdodDogMDtcbiAgb3V0bGluZTogbm9uZTtcbiAgcGFkZGluZzogNXB4O1xuICB3aWR0aDogMjBweDsgfVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOjpiZWZvcmUge1xuICBvcGFjaXR5OiAxOyB9XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgY29sb3I6ICMwMDA7XG4gIGNvbnRlbnQ6IFwi4oCiXCI7XG4gIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gIGZvbnQtc2l6ZTogNnB4O1xuICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsZWZ0OiAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgb3BhY2l0eTogMC4yNTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDIwcHg7IH1cblxuLnNsaWNrLWRvdHMgbGkuc2xpY2stYWN0aXZlIGJ1dHRvbjo6YmVmb3JlIHtcbiAgY29sb3I6ICMwMDA7XG4gIG9wYWNpdHk6IDAuNzU7IH1cblxuLyogSWNvbnMgKi9cbkBmb250LWZhY2Uge1xuICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICBmb250LXN0eWxlOiBub3JtYWw7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3RcIik7XG4gIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3Q/I2llZml4XCIpIGZvcm1hdChcImVtYmVkZGVkLW9wZW50eXBlXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLndvZmZcIikgZm9ybWF0KFwid29mZlwiKSwgdXJsKFwiLi9mb250cy9zbGljay50dGZcIikgZm9ybWF0KFwidHJ1ZXR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2suc3ZnI3NsaWNrXCIpIGZvcm1hdChcInN2Z1wiKTsgfVxuXG4vKiBBcnJvd3MgKi9cbi5zbGljay1wcmV2LFxuLnNsaWNrLW5leHQge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMDtcbiAgaGVpZ2h0OiAyMHB4O1xuICBsaW5lLWhlaWdodDogMHB4O1xuICBvdXRsaW5lOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlKDAsIC01MCUpO1xuICB3aWR0aDogMjBweDsgfVxuICAuc2xpY2stcHJldjpob3ZlcixcbiAgLnNsaWNrLXByZXY6Zm9jdXMsXG4gIC5zbGljay1uZXh0OmhvdmVyLFxuICAuc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuc2xpY2stcHJldjpob3Zlcjo6YmVmb3JlLFxuICAgIC5zbGljay1wcmV2OmZvY3VzOjpiZWZvcmUsXG4gICAgLnNsaWNrLW5leHQ6aG92ZXI6OmJlZm9yZSxcbiAgICAuc2xpY2stbmV4dDpmb2N1czo6YmVmb3JlIHtcbiAgICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSxcbiAgLnNsaWNrLW5leHQuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgb3BhY2l0eTogMC4yNTsgfVxuICAuc2xpY2stcHJldjo6YmVmb3JlLFxuICAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG9wYWNpdHk6IDAuNzU7IH1cblxuLnNsaWNrLXByZXYge1xuICBsZWZ0OiAtMjVweDsgfVxuICBbZGlyPVwicnRsXCJdIC5zbGljay1wcmV2IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAtMjVweDsgfVxuICAuc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiOyB9XG4gICAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwi4oaSXCI7IH1cblxuLnNsaWNrLW5leHQge1xuICByaWdodDogLTI1cHg7IH1cbiAgW2Rpcj1cInJ0bFwiXSAuc2xpY2stbmV4dCB7XG4gICAgbGVmdDogLTI1cHg7XG4gICAgcmlnaHQ6IGF1dG87IH1cbiAgLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCLihpJcIjsgfVxuICAgIFtkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIuKGkFwiOyB9XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG4uc2xpY2stZG90cyB7XG4gIGJvdHRvbTogLTI1cHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc2xpY2stZG90cyBsaSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMjBweDsgfVxuICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwO1xuICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDBweDtcbiAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICBwYWRkaW5nOiA1cHg7XG4gICAgICB3aWR0aDogMjBweDsgfVxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmhvdmVyLFxuICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzIHtcbiAgICAgICAgb3V0bGluZTogbm9uZTsgfVxuICAgICAgICAuc2xpY2stZG90cyBsaSBidXR0b246aG92ZXI6OmJlZm9yZSxcbiAgICAgICAgLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOjpiZWZvcmUge1xuICAgICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAgIC5zbGljay1kb3RzIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbnRlbnQ6IFwi4oCiXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcInNsaWNrXCI7XG4gICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgb3BhY2l0eTogMC4yNTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IDIwcHg7IH1cbiAgICAuc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBvcGFjaXR5OiAwLjc1OyB9XG5cbmJvZHksXG5odG1sIHtcbiAgaGVpZ2h0OiBhdXRvOyB9XG5cbmJvZHkge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtYXJnaW46IDA7IH1cblxub2wsXG51bCB7XG4gIGxpc3Qtc3R5bGU6IG5vbmU7IH1cblxuLmZ1bGxibGVlZCwgLmZvb3Rlci13cmFwcGVyIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTgwMHB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZnVsbGJsZWVkLW1vYmlsZSB7XG4gIHBhZGRpbmc6IDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZ1bGxibGVlZC1tb2JpbGUge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZ1bGxibGVlZC1tb2JpbGUge1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBwYWRkaW5nOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucm93LmF0cm9vdCB7XG4gIHBhZGRpbmc6IDAgMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJvdy5hdHJvb3Qge1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5yb3cuYXRyb290IHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5yb3cuYXRyb290LnNlbC1pbmZvLXdyYXBwZXIge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLnJvdy5hdHJvb3Quc2VsLWluZm8td3JhcHBlciAubm9wYWRkaW5nc21hbGwge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLm5vLWpzIC50b3AtYmFyIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5uby1qcyAudGl0bGUtYmFyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ubm8tanMgI21haW5OYXZXcmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udmlzdWFsbHktaGlkZGVuIHtcbiAgYm9yZGVyOiAwO1xuICBjbGlwOiByZWN0KDAgMCAwIDApO1xuICBoZWlnaHQ6IDFweDtcbiAgbWFyZ2luOiAtMXB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxcHg7IH1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi52aXNpYmlsaXR5LWhpZGRlbiB7XG4gIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG5oMSxcbmgyLFxuaDMsXG5oNCxcbmg1LFxuaDYge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBsaW5lLWhlaWdodDogMWVtOyB9XG5cbmEge1xuICBjb2xvcjogI2M3NTMwMDsgfVxuXG4ubGFyZ2UtaGVhZGxpbmUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDQwcHg7XG4gIGxpbmUtaGVpZ2h0OiA0MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGFyZ2UtaGVhZGxpbmUge1xuICAgICAgZm9udC1zaXplOiA0NnB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxhcmdlLWhlYWRsaW5lIHtcbiAgICAgIGZvbnQtc2l6ZTogNjZweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiA2NnB4OyB9IH1cblxuLmludHJvLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaW50cm8tY29weSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmludHJvLWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH0gfVxuXG4uc21hbGwtaW50cm8tY29weSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zbWFsbC1pbnRyby1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc21hbGwtaW50cm8tY29weSB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDsgfSB9XG5cbi5saWdodC1pbnRyby1jb3B5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBsaW5lLWhlaWdodDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmxpZ2h0LWludHJvLWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH0gfVxuXG4uZm9vdGVyLWxpbmtzIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZvb3Rlci1saW5rcyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyLWxpbmtzIHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDsgfSB9XG5cbi5pbmxpbmUtbGluay1hbHRlcm5hdGUge1xuICBjb2xvcjogI2M3NTMwMDtcbiAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmlubGluZS1saW5rLWFsdGVybmF0ZTpob3ZlciB7XG4gICAgY29sb3I6ICM5OTQwMDA7IH1cblxuLmFycm93LWxpbmsge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmFycm93LWxpbms6aG92ZXIge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5hcnJvdy1saW5rOjphZnRlciB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCIgPlwiOyB9XG5cbnAsXG4ucGFyYWdyYXBoLWNvcHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICBwLFxuICAgIC5wYXJhZ3JhcGgtY29weSB7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDsgfSB9XG5cbi5zbWFsbC1jb3B5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNtYWxsLWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnNtYWxsLWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7IH0gfVxuXG4udGlueS1jb3B5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxMHB4O1xuICBsaW5lLWhlaWdodDogMTRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRpbnktY29weSB7XG4gICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICBsaW5lLWhlaWdodDogMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAudGlueS1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDsgfSB9XG5cbi50aW55LWhlYWRpbmdzIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxMXB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGFnZS10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgbWFyZ2luOiAyMHB4IDA7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbjogMzBweCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDUwcHggMCA0MHB4OyB9IH1cblxuLnBkcC1tYWluIC5wYWdlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiA1MHB4IDAgMTBweDsgfSB9XG5cbi50aXAtc3ltYm9sIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnRpcC1zeW1ib2wge1xuICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuMjVyZW0pOyB9IH1cbiAgLnRpcC1zeW1ib2w6OmJlZm9yZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY2OTAwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuMDYyNXJlbTtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBjb250ZW50OiBcIj9cIjtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBoZWlnaHQ6IDEuMDYyNXJlbTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogMC42ODc1cmVtO1xuICAgIG1hcmdpbi1yaWdodDogOHB4O1xuICAgIHdpZHRoOiAxLjA2MjVyZW07IH1cblxuLmJ1dHRvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEzcHg7XG4gIHBhZGRpbmc6IDE1cHggMThweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuYnV0dG9uLmJ1dHRvbi1kYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG4gIC5idXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmNmE1ODM7IH1cbiAgLmJ1dHRvbi5idXR0b24tZGFyazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogIzY2NjsgfVxuICAuYnV0dG9uLmhvbGxvdyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uaG9sbG93OmhvdmVyLCAuYnV0dG9uLmhvbGxvdzpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZjZhNTgzO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5idXR0b24uYnV0dG9uLWRhcmsuaG9sbG93IHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmNsb3NlLWhvbGxvdy1idG4gLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuYnV0dG9uLmNsb3NlLWhvbGxvdy1idG4uaXMtYWN0aXZlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICAgIGJvcmRlci1jb2xvcjogI2M3NTMwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYnV0dG9uLmNsb3NlLWhvbGxvdy1idG4uaXMtYWN0aXZlOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE1cHg7IH1cbiAgICAuYnV0dG9uLmNsb3NlLWhvbGxvdy1idG4uaXMtYWN0aXZlIC5hY3RpdmUtYnRuLXRleHQge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuYnV0dG9uLmNsb3NlLWhvbGxvdy1idG4uaXMtYWN0aXZlIC5idG4tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5idXR0b24uc2Vjb25kYXJ5IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9XG4gICAgLmJ1dHRvbi5zZWNvbmRhcnkuaG9sbG93IHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgICAuYnV0dG9uLnNlY29uZGFyeS5ob2xsb3c6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5idXR0b24uc2Vjb25kYXJ5OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICMzMTMxMzE7IH1cbiAgLmJ1dHRvbi5idXR0b24tZGFyay5zZWNvbmRhcnkuaG9sbG93IHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuYnV0dG9uLmRpc2FibGVkLCAuYnV0dG9uOmRpc2FibGVkLCAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZDogIzgwODI4NTtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgICAuYnV0dG9uLmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uOmRpc2FibGVkOmhvdmVyLCAuYnV0dG9uW2Rpc2FibGVkXTpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjODA4Mjg1O1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIC5idXR0b24uc21hbGwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBwYWRkaW5nOiAxM3B4IDE1cHg7IH1cbiAgLmJ1dHRvbi5tZWRpdW0ge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBwYWRkaW5nOiAxNXB4IDE4cHg7IH1cbiAgLmJ1dHRvbi5sYXJnZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDsgfVxuICAuYnV0dG9uLmZ1bGwtd2lkdGgge1xuICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmJ1dHRvbi5oZWxsb2JhciB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmJ1dHRvbi5oZWxsb2JhciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gIC5idXR0b24uYWx0ZXJuYXRlIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAgIC5idXR0b24uYWx0ZXJuYXRlOmhvdmVyIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbi52LXZpZXctb24tdmVoaWNsZS5kaXNhYmxlZCAuYnV0dG9uIHtcbiAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgb3BhY2l0eTogMC41OyB9XG5cbi52LXZpZXctb24tdmVoaWNsZSAubGluay1hYm92ZS1wcm9kdWN0IHtcbiAgYmFja2dyb3VuZDogIzgwODI4NTsgfVxuXG4udGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAudGVzdGVkLWJ5a2FsLWJhZGdlIHAudGVzdGVkLWJ5a2FsLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50ZXN0ZWQtYnlrYWwtYmFkZ2UgLmljb24tdGVzdGVkLWJ5LWthbCB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAyMHB4OyB9XG5cbi50ZXN0ZWQtYnlrYWwtY29udGFpbmVyIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gIC50ZXN0ZWQtYnlrYWwtY29udGFpbmVyIHAge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC50ZXN0ZWQtYnlrYWwtY29udGFpbmVyIHAgLmljb24tdGVzdGVkLWJ5LWthbCB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgICAgIC50ZXN0ZWQtYnlrYWwtY29udGFpbmVyIHAgLmljb24tdGVzdGVkLWJ5LWthbDo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG4gICAgLnRlc3RlZC1ieWthbC1jb250YWluZXIgcC50ZXN0ZWQtYnlrYWwtdGV4dCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucHJvZHVjdC1iYWRnZSB7XG4gIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgLnByb2R1Y3QtYmFkZ2Ugc3BhbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luOiA3cHggMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gICAgLnByb2R1Y3QtYmFkZ2Ugc3Bhbi5wcm9kdWN0LWltYWdlLWJhZGdlIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGxpbmUtaGVpZ2h0OiBpbml0aWFsO1xuICAgICAgcGFkZGluZzogNXB4IDVweCA0cHg7IH1cbiAgICAgIC5wcm9kdWN0LWJhZGdlIHNwYW4ucHJvZHVjdC1pbWFnZS1iYWRnZSBpbWcge1xuICAgICAgICBoZWlnaHQ6IDIzcHg7XG4gICAgICAgIHdpZHRoOiAyM3B4OyB9XG5cbi5wdF9wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3Qtd2ludGVyLXVzZSxcbi5wdF9wcm9kdWN0LWNvbXBhcmUgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgcmlnaHQ6IGluaXRpYWw7IH1cblxuLnB0X3Byb2R1Y3QtY29tcGFyZSAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHRvcDogNXB4OyB9XG5cbi5wcm9kdWN0LXdpbnRlci11c2Uge1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiA4cHg7XG4gIHRvcDogM3B4O1xuICB6LWluZGV4OiAwOyB9XG4gIC5wcm9kdWN0LXdpbnRlci11c2UgaSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAyM3B4OyB9XG5cbi5vdmVydmlldyBpLmljb24tc25vd2ZsYWtlIHtcbiAgbWFyZ2luLWxlZnQ6IC0zcHg7IH1cblxuLmxvYWRlciB7XG4gIGFuaW1hdGlvbjogcm90YXRlIDAuOHMgaW5maW5pdGUgbGluZWFyO1xuICBhbmltYXRpb246IHJvdGF0ZSAwLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgYm9yZGVyOiA4cHggc29saWQgI2M3NTMwMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBib3JkZXItcmlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3R0b206IDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogM2VtO1xuICBsZWZ0OiAwO1xuICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICBtYXJnaW46IGF1dG87XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDNlbTsgfVxuICAubG9hZGVyLnN0b3JlLWRldGFpbHMtbG9hZGVyIHtcbiAgICBib3R0b206IC01MHB4O1xuICAgIHRvcDogYXV0bzsgfVxuXG4uZXJyb3ItdGV4dC1ib3gge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMWJlO1xuICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4O1xuICBwYWRkaW5nOiAxMHB4IDEwcHggOXB4OyB9XG4gIC5lcnJvci10ZXh0LWJveCBwLnRleHQge1xuICAgIGNvbG9yOiAjZGUxYzIyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yIC5sb2FkZXIge1xuICB6LWluZGV4OiAtMTsgfVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnNlbGVjdG9yIC5sb2FkZXIge1xuICB6LWluZGV4OiA5OTsgfVxuXG4jcHNtb2RhbCAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yIC5sb2FkZXIge1xuICB6LWluZGV4OiA5OTsgfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gIDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTsgfVxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7IH0gfVxuXG4udmlkZW9XcmFwcGVyIHtcbiAgaGVpZ2h0OiAwO1xuICBwYWRkaW5nLWJvdHRvbTogNTYuMjUlO1xuICBwYWRkaW5nLXRvcDogMjVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC52aWRlb1dyYXBwZXIgaWZyYW1lIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdGVnb3J5IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBsaW5lLWhlaWdodDogMTtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0ZWdvcnk6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luOiAwIDEwcHggMCAwOyB9XG4gIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdGVnb3J5OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMTBweDtcbiAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICB3aWR0aDogMTBweDsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtMy1zZWFzb246OmJlZm9yZSxcbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1hbGwtc2Vhc29uOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZmJiMTE2OyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1wZXJmb3JtYW5jZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzYzNTNhMzsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtYWxsLXdlYXRoZXI6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICNiZjFhOGQ7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LXdpbnRlcjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzIwYzNmMzsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtdG91cmluZzo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzAwYTY1MTsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtc3BvcnQtdHJ1Y2s6OmJlZm9yZSB7XG4gIGJhY2tncm91bmQ6ICM3Yzg2YzI7IH1cblxuLnByb2R1Y3QtYXR0cmlidXRlcyAuY2F0LWFsbC10ZXJyYWluOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjN2E1MjI2OyB9XG5cbi5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdC1tdWQtdGVycmFpbjo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogIzQyMjgwMDsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtY29tbWVyY2lhbDo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2E3YTlhYzsgfVxuXG4ucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXQtdWx0cmEtaGlnaC1wZXJmb3JtYW5jZTo6YmVmb3JlIHtcbiAgYmFja2dyb3VuZDogI2E0OTljYTsgfVxuXG4ucGx1cy1taW51cy1hY2NvcmRpb24gLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhOyB9XG4gIC5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50OmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZDlkYTsgfVxuICAucGx1cy1taW51cy1hY2NvcmRpb24gLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgcGFkZGluZzogMjVweCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucGx1cy1taW51cy1hY2NvcmRpb24gLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgICAgY29udGVudDogXCJcXGU4MGJcIjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDA7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHdpZHRoOiBhdXRvOyB9XG5cbi5wbHVzLW1pbnVzLWFjY29yZGlvbiAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTo6YWZ0ZXIge1xuICBjb250ZW50OiBcIlxcZTgwY1wiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbi5wbHVzLW1pbnVzLWFjY29yZGlvbiAuc3VibWVudSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cblxuYS5pbmFjdGl2ZSB7XG4gIGN1cnNvcjogZGVmYXVsdDsgfVxuXG4ubGluZS1zZWN0aW9ucy1zZXBhcmF0b3Ige1xuICBtYXJnaW46IDUwcHggMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGluZS1zZWN0aW9ucy1zZXBhcmF0b3Ige1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmxpbmUtc2VjdGlvbnMtc2VwYXJhdG9yOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI4LCAxMzAsIDEzMywgMC4zKTtcbiAgICBib3R0b206IDA7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDFweDtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogYXV0byAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5saW5lLXNlY3Rpb25zLXNlcGFyYXRvcjo6YmVmb3JlIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4OyB9IH1cblxuLmdsb2JhbE1vZGFsSGVhZGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2M3NTMwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiA3MnB4O1xuICBtaW4taGVpZ2h0OiA3MnB4O1xuICBwYWRkaW5nOiAwIDYwcHggMCAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmdsb2JhbE1vZGFsSGVhZGVyIC5jbG9zZS1idXR0b24ge1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW46IGF1dG87XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyNXB4O1xuICAgIHRvcDogMDsgfVxuICAuZ2xvYmFsTW9kYWxIZWFkZXIgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuZ2xvYmFsTW9kYWxIZWFkZXIgaDIgc3Bhbi5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZiAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgd2lkdGg6IDMycHg7IH1cblxuLmZpbmFuY2luZ01vZGFsIC5nbG9iYWxNb2RhbEhlYWRlciBoMiB7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgLmZpbmFuY2luZ01vZGFsIC5nbG9iYWxNb2RhbEhlYWRlciBoMiBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGhlaWdodDogMjZweDtcbiAgICBtaW4td2lkdGg6IDI2cHg7XG4gICAgd2lkdGg6IDI2cHg7IH1cblxuLmdsb2JhbE1vZGFsQ29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHg7IH1cbiAgLmdsb2JhbE1vZGFsQ29udGVudCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiByZW0tY2FsKDE2KTsgfVxuICAgIC5nbG9iYWxNb2RhbENvbnRlbnQgcCBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmZpbmFuY2luZ01vZGFsIC5nbG9iYWxNb2RhbENvbnRlbnQge1xuICBwYWRkaW5nOiAzMHB4IDYycHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZpbmFuY2luZ01vZGFsIC5nbG9iYWxNb2RhbENvbnRlbnQge1xuICAgICAgcGFkZGluZzogMzBweDsgfSB9XG5cbi5maW5hbmNpbmdNb2RhbEJ1dHRvbiB7XG4gIGZsb2F0OiByaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweCAhaW1wb3J0YW50O1xuICBwYWRkaW5nLXJpZ2h0OiAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5maW5hbmNpbmdNb2RhbEJ1dHRvbiB7XG4gICAgICBmbG9hdDogbm9uZTtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAuZmluYW5jaW5nTW9kYWxCdXR0b24gYSB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIG1pbi13aWR0aDogMTcwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5maW5hbmNpbmdNb2RhbEJ1dHRvbiBhIHtcbiAgICAgICAgbWluLXdpZHRoOiAxNDBweDsgfSB9XG4gIC5maW5hbmNpbmdNb2RhbEJ1dHRvbiAuY2ItY3RhIHtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuZmluYW5jaW5nTW9kYWxCdXR0b24gLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrIHtcbiAgICBwYWRkaW5nOiA3cHggMCA4cHg7IH1cbiAgLmZpbmFuY2luZ01vZGFsQnV0dG9uIC5idXR0b24ge1xuICAgIHBhZGRpbmc6IDEycHggMThweDtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdW5zZXQ7IH1cblxuLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplLFxuLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aWR0aDogNTAlOyB9XG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3Qtc2l6ZS50cmFpbGVyLXRpbGUtaW5mbyxcbiAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nLnRyYWlsZXItdGlsZS1pbmZvIHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiBhdXRvOyB9XG4gICAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplLnRyYWlsZXItdGlsZS1pbmZvIC5hdHRyaWJ1dGUsXG4gICAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nLnRyYWlsZXItdGlsZS1pbmZvIC5hdHRyaWJ1dGUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUudHJhaWxlci1wcmljaW5nLFxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcudHJhaWxlci1wcmljaW5nIHtcbiAgICBtYXJnaW4tdG9wOiAzNXB4OyB9XG4gICAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplLnRyYWlsZXItcHJpY2luZyAucHJpY2UtbGFiZWwsXG4gICAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nLnRyYWlsZXItcHJpY2luZyAucHJpY2UtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuXG4ucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUgLmF0dHJpYnV0ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDA7IH1cblxuLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplIC5hdHRyLWNvbHVtbiAuYXR0cmlidXRlIHtcbiAgbWFyZ2luOiAwIDAgNXB4OyB9XG5cbi5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMi4xODc1cmVtOyB9XG4gIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07IH1cbiAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zYWxlcyB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbWFyZ2luOiAycHggMCAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgICAgIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnJlYmF0ZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfVxuXG4ucHJvZHVjdC10aWxlIC5zaXplLWxhYmVsLFxuLnByb2R1Y3QtdGlsZSAucHJpY2UtbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzdhN2M4MDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbnN1YixcbnN1cCB7XG4gIGZvbnQtc2l6ZTogNjUlOyB9XG5cbi5tYWluTmF2TGl2ZUNoYXRDVEEub3BlbkxpdmVDaGF0QnV0dG9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYWxpZ24tY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICBib3R0b206IGNhbGMoMzAlIC0gMTdweCk7XG4gIGNvbG9yOiAjZmZmO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGhlaWdodDogMi4xMjVyZW07XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBsaW5lLWhlaWdodDogMC44NzVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0cmFuc2Zvcm06IHJvdGF0ZSgtOTBkZWcpO1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gIHotaW5kZXg6IDk5OTsgfVxuICAubWFpbk5hdkxpdmVDaGF0Q1RBLm9wZW5MaXZlQ2hhdEJ1dHRvbi5kaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7IH1cbiAgLm1haW5OYXZMaXZlQ2hhdENUQS5vcGVuTGl2ZUNoYXRCdXR0b24gc3BhbiB7XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tOyB9XG5cbi5oZWFkZXItbmF2Lm1vYmlsZS1jaGF0LWJ0biB7XG4gIGhlaWdodDogMDsgfVxuICAuaGVhZGVyLW5hdi5tb2JpbGUtY2hhdC1idG4gLmhlYWRlckNhcnRXcmFwcGVyLFxuICAuaGVhZGVyLW5hdi5tb2JpbGUtY2hhdC1idG4gLmhlYWRlclNlYXJjaFdyYXBwZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9wZW5MaXZlQ2hhdEJ1dHRvbi5kaXNhYmxlZCB7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIG9wYWNpdHk6IDAuNTsgfVxuXG4uY3NjLWFnZW50bWVzc2FnZSB7XG4gIGNvbG9yOiAjZjAwO1xuICBmb250LXNpemU6IDIwcHg7XG4gIG1hcmdpbjogMTVweCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmFjY29yZGlvbiB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhO1xuICBtYXJnaW4tdG9wOiAxLjMxMjVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgICBwYWRkaW5nOiAxLjQzNzVyZW0gMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIC5pdGVtLWNvbnRlbnQge1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9XG4gICAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gc3VtbWFyeSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBzdW1tYXJ5OjpiZWZvcmUge1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7IH1cbiAgICAuYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IC5pdGVtLWNvbnRlbnQge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiK1wiOyB9XG4gICAgLmFjY29yZGlvbiAudG9nZ2xlLWl0ZW0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIH4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiLVwiOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI21haW4sXG4ucHRfcHJvZHVjdC1zZWFyY2gtbm9yZXN1bHQgI21haW4sXG4ucHRfcHJvZHVjdC1jb21wYXJlICNtYWluLFxuLnB0X3Byb2R1Y3QtZGV0YWlscyAjbWFpbixcbi5wdF9jYXJ0ICNtYWluLFxuLnB0X2NoZWNrb3V0ICNtYWluLFxuLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAjbWFpbiB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0ICNtYWluIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXJlc291cmNlLWNlbnRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH0gfVxuXG4ucHRfYWNjb3VudCAucmVzZXQtcGFzc3dvcmQtcGFnZSB7XG4gIG1hcmdpbi1ib3R0b206IDEwMHB4OyB9XG5cblt0eXBlPSd0ZXh0J10sIFt0eXBlPSdwYXNzd29yZCddLCBbdHlwZT0nZGF0ZSddLCBbdHlwZT0nZGF0ZXRpbWUnXSwgW3R5cGU9J2RhdGV0aW1lLWxvY2FsJ10sIFt0eXBlPSdtb250aCddLCBbdHlwZT0nd2VlayddLCBbdHlwZT0nZW1haWwnXSwgW3R5cGU9J251bWJlciddLCBbdHlwZT0nc2VhcmNoJ10sIFt0eXBlPSd0ZWwnXSwgW3R5cGU9J3RpbWUnXSwgW3R5cGU9J3VybCddLCBbdHlwZT0nY29sb3InXSxcbnRleHRhcmVhIHtcbiAgaGVpZ2h0OiA0MHB4O1xuICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAxNXB4OyB9XG5cbmlucHV0OjotbXMtY2xlYXIge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbnNlbGVjdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWxlY3QtaWNvbi5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgaGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMFxcMCkge1xuICAgIHNlbGVjdCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvc2VsZWN0LWljb24ucG5nXCIpOyB9IH1cblxuLnNvcnQtc2VsZWN0IHtcbiAgYmFja2dyb3VuZC1vcmlnaW46IGJvcmRlci1ib3g7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IDFyZW0gY2VudGVyO1xuICBwYWRkaW5nOiAwIDM1cHggMCAxMHB4OyB9XG5cbmxhYmVsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDAuNXJlbTsgfVxuXG50ZXh0YXJlYSB7XG4gIHJlc2l6ZTogbm9uZTsgfVxuXG4uZGlhbG9nLXJlcXVpcmVkIHtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cblxuLnJlcXVpcmVkLWluZGljYXRvciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbmlucHV0LmVycm9yLFxuc2VsZWN0LmVycm9yLFxudGV4dGFyZWEuZXJyb3Ige1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjAwOyB9XG5cbnNwYW4uZXJyb3IsXG4uZXJyb3ItbWVzc2FnZSxcbi5jb3Vwb25FcnJvcixcbi5uYW1lLWxlbmd0aC1lcnJvciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6IG5vbmU7XG4gIGNsZWFyOiBib3RoO1xuICBjb2xvcjogI2YwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBwYWRkaW5nOiA3cHggMCAwO1xuICB3aWR0aDogMTAwJTsgfVxuXG4uZXJyb3ItZm9ybSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZjAwO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMTBweCAwOyB9XG5cbi5mb3JtLXJvdyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLmZvcm0tcm93OjpiZWZvcmUsIC5mb3JtLXJvdzo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuZm9ybS1yb3c6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuXG4uZm9ybS1jYXB0aW9uLmVycm9yLW1lc3NhZ2UgYSB7XG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jaGVja2JveC1mb3JtLFxuLnJhZGlvLWZvcm0ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5jaGVja2JveC1mb3JtIC5maWVsZC13cmFwcGVyLFxuICAucmFkaW8tZm9ybSAuZmllbGQtd3JhcHBlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jaGVja2JveC1mb3JtIC5maWVsZC13cmFwcGVyICsgbGFiZWwsXG4gICAgLnJhZGlvLWZvcm0gLmZpZWxkLXdyYXBwZXIgKyBsYWJlbCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY2hlY2tib3gtZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIC5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXSxcbiAgLnJhZGlvLWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdLFxuICAucmFkaW8tZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIG1hcmdpbjogMnB4IDAuMzEyNXJlbSAwIDA7XG4gICAgb3BhY2l0eTogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMjsgfVxuICAgIC5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpmb2N1cyxcbiAgICAuY2hlY2tib3gtZm9ybSBpbnB1dFt0eXBlPVwicmFkaW9cIl06Zm9jdXMsXG4gICAgLnJhZGlvLWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmZvY3VzLFxuICAgIC5yYWRpby1mb3JtIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpmb2N1cyB7XG4gICAgICBvdXRsaW5lOiBub25lOyB9XG4gIC5jaGVja2JveC1mb3JtIC5pbnB1dC1jdXN0b20sXG4gIC5yYWRpby1mb3JtIC5pbnB1dC1jdXN0b20ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAycHg7XG4gICAgei1pbmRleDogMTsgfVxuXG4uY2hlY2tib3gtZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICBib3JkZXItY29sb3I6ICMwMDA7IH1cbiAgLmNoZWNrYm94LWZvcm0gaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGYwMGNcIjsgfVxuXG4uY2hlY2tib3gtZm9ybSBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZDpkaXNhYmxlZCArIC5pbnB1dC1jdXN0b20ge1xuICBjb2xvcjogIzAwMDsgfVxuXG4uY2hlY2tib3gtZm9ybSAuaW5wdXQtY3VzdG9tIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDlkOTtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGxpbmUtaGVpZ2h0OiAxN3B4OyB9XG4gIC5jaGVja2JveC1mb3JtIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLmNoZWNrYm94LWZvcm0gLmlucHV0LWN1c3RvbSxcbi5jaGVja2JveC1mb3JtIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGhlaWdodDogMTdweDtcbiAgd2lkdGg6IDE3cHg7IH1cblxuLnJhZGlvLWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9XG5cbi5yYWRpby1mb3JtIC5pbnB1dC1jdXN0b20ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZDlkOWQ5O1xuICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICBsaW5lLWhlaWdodDogMTRweDsgfVxuXG4ucmFkaW8tZm9ybSAuaW5wdXQtY3VzdG9tLFxuLnJhZGlvLWZvcm0gaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgaGVpZ2h0OiAxNHB4O1xuICB3aWR0aDogMTRweDsgfVxuXG4uY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIC5pbnB1dC1jdXN0b20sXG4uY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gIGJvcmRlci1jb2xvcjogIzAwMDtcbiAgYm9yZGVyLXJhZGl1czogNTAlOyB9XG5cbi5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9XG4gIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tOjphZnRlciB7XG4gICAgY29sb3I6ICNmZmY7IH1cblxuLnNsaWNrLXNsaWRlciB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIHRvdWNoLWFjdGlvbjogcGFuLXk7XG4gIHVzZXItc2VsZWN0OiBub25lOyB9XG5cbi5zbGljay1zbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5zbGljay1saXN0IHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zbGljay1saXN0IC5kcmFnZ2luZyB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGN1cnNvcjogaGFuZDsgfVxuXG4uc2xpY2stbGlzdDpmb2N1cyxcbi5zbGljay1hcnJvdzpmb2N1cyB7XG4gIG91dGxpbmU6IG5vbmU7IH1cblxuLnNsaWNrLXNsaWRlciAuc2xpY2stdHJhY2ssXG4uc2xpY2stc2xpZGVyIC5zbGljay1saXN0IHtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGUzZCgwLCAwLCAwKTsgfVxuXG4uc2xpY2stdHJhY2sge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0b3A6IDA7IH1cbiAgLnNsaWNrLXRyYWNrOjpiZWZvcmUsIC5zbGljay10cmFjazo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLnNsaWNrLXRyYWNrOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXRyYWNrIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay1zbGlkZSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZsb2F0OiBsZWZ0O1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1pbi1oZWlnaHQ6IDFweDsgfVxuICAuc2xpY2stc2xpZGUgaW1nLnNsaWNrLWxvYWRpbmcge1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuXG4uc2xpY2stc2xpZGUuc2xpY2stbG9hZGluZyBpbWcge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5zbGljay1zbGlkZS5kcmFnZ2luZyBpbWcge1xuICBwb2ludGVyLWV2ZW50czogbm9uZTsgfVxuXG4uc2xpY2staW5pdGlhbGl6ZWQgLnNsaWNrLXNsaWRlIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnNsaWNrLWxvYWRpbmcgLnNsaWNrLXNsaWRlIHtcbiAgdmlzaWJpbGl0eTogaGlkZGVuOyB9XG5cbi5zbGljay12ZXJ0aWNhbCAuc2xpY2stc2xpZGUge1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGhlaWdodDogYXV0bzsgfVxuXG4uc2xpY2stYXJyb3cuc2xpY2staGlkZGVuIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucmV2ZWFsIHtcbiAgb3V0bGluZTogbm9uZTsgfVxuXG4ucGFjLWNvbnRhaW5lciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhYy1jb250YWluZXIge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0yMnB4OyB9IH1cbiAgLnBhYy1jb250YWluZXIgLnBhYy1pdGVtIHtcbiAgICBib3JkZXI6IDA7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICAgLnBhYy1jb250YWluZXIgLnBhYy1pdGVtIC5wYWMtaWNvbiB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnBhYy1jb250YWluZXIgLnBhYy1pdGVtOmhvdmVyIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAucGFjLWNvbnRhaW5lcjo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLmJvdHRvbS1zcGFjZWQtY29sdW1zID4gZGl2LmNvbHVtbnMge1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5ibG9nLWNhcmQge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uLXg6IDUwJTtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMzIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IGF1dG87IH1cbiAgLmJsb2ctY2FyZCAuYmxvZy1jYXJkLWluZm8td3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIC5ibG9nLWNhcmQtaW5mbyB7XG4gICAgICBwYWRkaW5nOiAyMXB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmJsb2ctY2FyZCAuYmxvZy1jYXJkLWluZm8td3JhcHBlciAuYmxvZy1jYXJkLWluZm8gaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuYmxvZy1jYXJkIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIC5ibG9nLWNhcmQtaW5mbyBoNCB7XG4gICAgICAgICAgaGVpZ2h0OiA0LjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47IH0gfVxuICAgICAgLmJsb2ctY2FyZCAuYmxvZy1jYXJkLWluZm8td3JhcHBlciAuYmxvZy1jYXJkLWluZm8gLnRpbnktaGVhZGluZ3Mge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAgIC5ibG9nLWNhcmQgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1pbmZvIC50aW55LWhlYWRpbmdzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgIC5ibG9nLWNhcmQgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIgLmJsb2ctY2FyZC1jdGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBsaW5lLWhlaWdodDogNDVweDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAgMjFweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5ibG9nLWNhcmQtd3JhcHBlciAuYmxvZy1jYXJkLWluZm8td3JhcHBlciB7XG4gICAgYm90dG9tOiAwOyB9XG4gICAgLmJsb2ctY2FyZC13cmFwcGVyIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIC5ibG9nLWNhcmQtY3RhIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5ibG9nLWNhcmQtd3JhcHBlciAuYmxvZy1jYXJkLWluZm8td3JhcHBlciB7XG4gICAgYm90dG9tOiAtNDVweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlOyB9XG4gIC5ibG9nLWNhcmQtd3JhcHBlcjpob3ZlciAuYmxvZy1jYXJkLWluZm8td3JhcHBlciB7XG4gICAgYm90dG9tOiAwOyB9IH1cblxuLmhlbGxvLWJhciB7XG4gIGJhY2tncm91bmQ6ICMyNjI2MjY7XG4gIGNvbG9yOiAjZmZmO1xuICBtaW4taGVpZ2h0OiAzMHB4O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICBwYWRkaW5nOiAxMHB4IDQ1cHggMTBweCAxNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmhlbGxvLWJhciB7XG4gICAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuICAuaGVsbG8tYmFyIHAge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgZGlzcGxheTogaW5saW5lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5oZWxsby1iYXIgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuaGVsbG8tYmFyIGE6aG92ZXIge1xuICAgICAgb3BhY2l0eTogMC41OyB9XG4gIC5oZWxsby1iYXIgLmZhLXRpbWVzIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbi10b3A6IC04cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHRvcDogMjNweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5oZWxsby1iYXIgLmZhLXRpbWVzIHtcbiAgICAgICAgdG9wOiA1MCU7IH0gfVxuXG4uY3VzdG9tLW1lbnUtb3ZlcmxheSB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGhlaWdodDogMTAwJTtcbiAgb3BhY2l0eTogMC42O1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5oZWFkZXItYmFubmVyLFxuLmhlYWRlci1uYXYge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDQ7IH1cblxuLmhlYWRlci1uYXYge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBmb250LXNpemU6IDEycHg7XG4gIGhlaWdodDogMi41cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHotaW5kZXg6IDQ7IH1cbiAgLmhlYWRlci1uYXYgYSB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICAuaGVhZGVyLW5hdiBhOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5oZWFkZXItbmF2IC5tYWluTmF2QWN0aW9uc1dyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiA0MHB4OyB9XG4gIC5oZWFkZXItbmF2ICNoZWFkZXJOYXZMb2NhdGlvbkNUQSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgICAuaGVhZGVyLW5hdiAjaGVhZGVyTmF2TG9jYXRpb25DVEEgc3BhbiB7XG4gICAgICBib3R0b206IDNweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogLTIwcHg7IH1cbiAgICAuaGVhZGVyLW5hdiAjaGVhZGVyTmF2TG9jYXRpb25DVEE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5oZWFkZXItbmF2ICNoZWFkZXJOYXZMb2NhdGlvbkNUQTpob3ZlciBzcGFuIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG5cbnVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MsXG51bCNoZWFkZXJOYXZBY3Rpb25zIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luOiAwOyB9XG4gIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGksXG4gIHVsI2hlYWRlck5hdkFjdGlvbnMgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tbGVmdDogMjVweDsgfVxuICAgIHVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MgbGk6Zmlyc3QtY2hpbGQsXG4gICAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1pbi13aWR0aDogNjhweDsgfVxuICB1bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlcixcbiAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgdWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIsXG4gICAgICB1bCNoZWFkZXJOYXZBY3Rpb25zIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMjVweDsgfSB9XG4gICAgdWwuaGVhZGVyTmF2RXh0ZXJuYWxMaW5rcyBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIgaS5pY29uLWxvY2F0aW9uLFxuICAgIHVsI2hlYWRlck5hdkFjdGlvbnMgbGkuaGVhZGVyTmF2TG9jYXRpb25XcmFwcGVyIGkuaWNvbi1sb2NhdGlvbiB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICB1bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlci5hY3RpdmUsXG4gICAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIuYWN0aXZlIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGZlMGUwOyB9XG4gICAgICB1bC5oZWFkZXJOYXZFeHRlcm5hbExpbmtzIGxpLmhlYWRlck5hdkxvY2F0aW9uV3JhcHBlci5hY3RpdmUgaS5pY29uLWxvY2F0aW9uLFxuICAgICAgdWwjaGVhZGVyTmF2QWN0aW9ucyBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIuYWN0aXZlIGkuaWNvbi1sb2NhdGlvbiB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjbWFpbk5hdldyYXBwZXIge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhci1sZWZ0LFxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXItcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBoZWlnaHQ6IDQwcHg7IH0gfVxuXG4jbWFpbk5hdldyYXBwZXIgI21haW5OYXYge1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjbWFpbk5hdldyYXBwZXIgI21haW5OYXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgICAjbWFpbk5hdldyYXBwZXIgI21haW5OYXYgPiBsaSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiA+IGxpLmlzLWFjdGl2ZSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICBjb2xvcjogI2M3NTMwMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAjbWFpbk5hdldyYXBwZXIgI21haW5OYXYgPiBsaVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgICAgI21haW5OYXZXcmFwcGVyICNtYWluTmF2ID4gbGkgYS5sMU1lbnVJdGVtIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG4gICNtYWluTmF2V3JhcHBlciAjbWFpbk5hdiAuZHJvcGRvd24tcGFuZSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICBib3JkZXItbGVmdDogMDtcbiAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7IH1cblxuI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGksXG4jbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaTo6YWZ0ZXIsXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGk6aG92ZXIsXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYTpob3ZlciB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgdWwsXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpIGxpLFxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSBsaSBhLFxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSA+IGEgdWwsXG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSBsaSxcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIGxpIGEge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbiNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSxcbiNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpIC5tb2JpbGUtbWVudS1pdGVtLWxpbmsge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSBzcGFuLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpIC5tb2JpbGUtbWVudS1pdGVtLWxpbmsgc3BhbiB7XG4gICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgICBwYWRkaW5nOiAwIDE5cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIHNwYW4sXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2ID4gbGkgLm1vYmlsZS1tZW51LWl0ZW0tbGluayBzcGFuIHtcbiAgICAgIHBhZGRpbmc6IDAgMjBweDsgfSB9XG4gICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiA+IGxpID4gYSBzcGFuLFxuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgPiBsaSAubW9iaWxlLW1lbnUtaXRlbS1saW5rIHNwYW4ge1xuICAgIGNvbG9yOiAjMDAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkge1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODA4Mjg1OyB9XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpLmlzLXN1Ym1lbnUtaXRlbSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgYSB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiA2N3B4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDMwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIGEubW9iaWxlLXN1Ym1lbnUtdHJpZ2dlciB7XG4gICAgcGFkZGluZy1yaWdodDogMXJlbTsgfSB9XG5cbiNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaS5qcy1kcmlsbGRvd24tYmFjayA+IGEge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDY3cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW4tdG9wOiAtNXB4OyB9XG5cbiNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciB7XG4gIHBhZGRpbmc6IDEwcHggMCAyNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciB1bCxcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgbGkge1xuICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDEsXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGgyLFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBoMyxcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDQsXG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGg1LFxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBoNiB7XG4gICAgICBwYWRkaW5nOiAyM3B4IDQ1cHggMDsgfVxuICAgICNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaSAubW9iaWxlLW1lbnUtd3JhcHBlciBsaSxcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXIgI21haW5OYXYgbGkgLm1vYmlsZS1tZW51LXdyYXBwZXIgbGkgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyICNtYWluTmF2IGxpIC5tb2JpbGUtbWVudS13cmFwcGVyIGxpIHtcbiAgICAgIHBhZGRpbmc6IDAgNDVweDsgfSB9XG5cbiNtYWluTmF2V3JhcHBlciAudG9wLWJhciAjbWFpbk5hdiBsaTpmaXJzdC1jaGlsZCBhIHNwYW4ge1xuICBib3JkZXI6IDA7IH1cblxuI21haW5OYXZXcmFwcGVyIC5tb2JpbGUtc3VibWVudS10cmlnZ2VyIHtcbiAgaGVpZ2h0OiA2N3B4O1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbiNtYWluTmF2V3JhcHBlciB1bCNtYWluTmF2IC5tb2JpbGUtbWVudS13cmFwcGVyIGg1IHtcbiAgY29sb3I6ICNmZjY5MDA7IH1cbiAgI21haW5OYXZXcmFwcGVyIHVsI21haW5OYXYgLm1vYmlsZS1tZW51LXdyYXBwZXIgaDUgYSB7XG4gICAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBwYWRkaW5nOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgI21haW5OYXZXcmFwcGVyIC50b3AtYmFyLXJpZ2h0IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG4jbWFpbk5hdldyYXBwZXIgLnRvcC1iYXItcmlnaHQgdWwjbWFpbk5hdiB7XG4gIGZsb2F0OiBsZWZ0O1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjbWFpbk5hdldyYXBwZXIgLnRvcC1iYXItcmlnaHQgdWwjbWFpbk5hdiB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgI21haW5NZW51V3JhcHBlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH0gfVxuXG51bC5tYWluTmF2QWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbjogMDtcbiAgbWluLXdpZHRoOiAyMTNweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIHVsLm1haW5OYXZBY3Rpb25zIHtcbiAgICAgIG1pbi13aWR0aDogYXV0bzsgfSB9XG4gIHVsLm1haW5OYXZBY3Rpb25zID4gbGkge1xuICAgIHBhZGRpbmc6IDAgOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkgYW5kIChtYXgtd2lkdGg6IDgyLjQzNzVlbSkge1xuICAgICAgdWwubWFpbk5hdkFjdGlvbnMgPiBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAgM3B4OyB9IH1cbiAgICB1bC5tYWluTmF2QWN0aW9ucyA+IGxpOmxhc3QtY2hpbGQge1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICB1bC5tYWluTmF2QWN0aW9ucyBsaSB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICB1bC5tYWluTmF2QWN0aW9ucyBhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4OyB9XG4gICAgdWwubWFpbk5hdkFjdGlvbnMgYSBpIHtcbiAgICAgIGZvbnQtc2l6ZTogMjBweDsgfVxuICAgIHVsLm1haW5OYXZBY3Rpb25zIGEgaTpob3ZlciB7XG4gICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICB1bC5tYWluTmF2QWN0aW9ucyBoNSBhIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIHVsLm1haW5OYXZBY3Rpb25zIC5oZWFkZXItY3RhLWJ1dHRvbiAuYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAyOHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIGFuZCAobWF4LXdpZHRoOiA4Mi40Mzc1ZW0pIHtcbiAgICAgIHVsLm1haW5OYXZBY3Rpb25zIC5oZWFkZXItY3RhLWJ1dHRvbiAuYnV0dG9uIHtcbiAgICAgICAgd2hpdGUtc3BhY2U6IG5vd3JhcDsgfSB9XG5cbi5tb2JpbGUtaGVhZGVyLWN0YSB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubW9iaWxlLWhlYWRlci1jdGEgLmJ1dHRvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDEwcHggYXV0bztcbiAgICB3aWR0aDogODAlOyB9XG5cbi5oZWFkZXItbWFpbi1uYXYge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICBtaW4taGVpZ2h0OiA0MHB4O1xuICBwYWRkaW5nOiAyOHB4IDA7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogOTk7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmhlYWRlci1tYWluLW5hdiB7XG4gICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLmhlYWRlci1tYWluLW5hdjo6YWZ0ZXIge1xuICAgICAgICBoZWlnaHQ6IDFweDsgfSB9XG4gIC5oZWFkZXItbWFpbi1uYXY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMnB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5oZWFkZXItbWFpbi1uYXYgLnJvdy5hdHJvb3Qge1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmhlYWRlci1tYWluLW5hdi5uby1qcyB7XG4gICAgaGVpZ2h0OiA2MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaGVhZGVyLW1haW4tbmF2LXN0aWNrZWQgLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogOTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuaGVhZGVyLW1haW4tbmF2LXN0aWNrZWQgLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTEwcHg7IH0gfVxuXG4uaGVhZGVyLWxvZ28taW1hZ2Uge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1heC13aWR0aDogOTBweDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICBwYWRkaW5nOiAyMHB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhlYWRlci1sb2dvLWltYWdlIHtcbiAgICAgIG1heC13aWR0aDogMTI1cHg7IH0gfVxuXG4jbG9jYXRpb25DaGFuZ2Uge1xuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI2xvY2F0aW9uQ2hhbmdlVHJpZ2dlcldyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsOyB9XG5cbiNsb2NhdGlvbkNoYW5nZUZvcm1XcmFwcGVyIHtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgd2lkdGg6IDA7IH1cblxuI2xvY2F0aW9uQ2hhbmdlSW5wdXQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyOiAwO1xuICBib3gtc2hhZG93OiBub25lO1xuICBmb250LXNpemU6IDEycHg7XG4gIGhlaWdodDogMjhweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiAyMDBweDtcbiAgcGFkZGluZzogMCAyNXB4IDAgMDsgfVxuICAjbG9jYXRpb25DaGFuZ2VJbnB1dDo6LW1zLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNsb2NhdGlvbkNoYW5nZUZvcm1DbG9zZSB7XG4gIGNvbG9yOiAjZGZlMGUwO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDsgfVxuXG4udGl0bGUtYmFyIHtcbiAgcGFkZGluZzogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbiNtb2JpbGVNZW51TG9nb1dyYXBwZXIge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMThweCAwIDAgMzBweDsgfVxuXG4jbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciB1bCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciB1bCBsaSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDIxcHg7IH1cbiAgICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgdWwgbGkgYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB3aWR0aDogMzZweDsgfVxuICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIGxpIGEuYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIC5tZW51LWljb24ge1xuICAgIGZpbGw6ICMwMDA7XG4gICAgaGVpZ2h0OiA2MHB4O1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG4gICAgd2lkdGg6IDYwcHg7XG4gICAgei1pbmRleDogMjsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbiAubW9iaWxlTmF2LXN2ZyB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDYwcHg7IH1cbiAgICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIC5tZW51LWljb24gLm1vYmlsZU5hdi1yZWN0IHtcbiAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7IH1cbiAgICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIC5tZW51LWljb24uaXMtYWN0aXZlIC5tb2JpbGVOYXYtcmVjdDpmaXJzdC1jaGlsZCB7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0M2RlZykgdHJhbnNsYXRlKDExcHgsIC0yMXB4KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDNkZWcpIHRyYW5zbGF0ZSgxMXB4LCAtMjFweCk7IH1cbiAgICAjbW9iaWxlTWVudVRyaWdnZXJXcmFwcGVyIC5tZW51LWljb24uaXMtYWN0aXZlIC5tb2JpbGVOYXYtcmVjdDpudGgtY2hpbGQoMikge1xuICAgICAgb3BhY2l0eTogMDsgfVxuICAgICNtb2JpbGVNZW51VHJpZ2dlcldyYXBwZXIgLm1lbnUtaWNvbi5pcy1hY3RpdmUgLm1vYmlsZU5hdi1yZWN0Omxhc3QtY2hpbGQge1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpIHRyYW5zbGF0ZSgtMzBweCwgMXB4KTtcbiAgICAgIHRyYW5zZm9ybTogcm90YXRlKC00NWRlZykgdHJhbnNsYXRlKC0zMHB4LCAxcHgpOyB9XG4gICAgI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciAubWVudS1pY29uOjphZnRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG5cbiNtb2JpbGVOYXZBY3Rpb25zIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICM4MDgyODU7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODA4Mjg1O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZmxvYXQ6IGxlZnQ7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA1cHggMzBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgI21vYmlsZU5hdkFjdGlvbnMgbGkgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAjbW9iaWxlTmF2QWN0aW9ucyBsaSBhIHNwYW4ge1xuICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgICAjbW9iaWxlTmF2QWN0aW9ucyBsaSBhLmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjbW9iaWxlTmF2QWN0aW9ucyBsaSBhI21vYmlsZUxvY2F0aW9uQ2hhbmdlRm9ybUNsb3NlIHtcbiAgICBjb2xvcjogI2RmZTBlMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDQ1cHg7IH1cbiAgI21vYmlsZU5hdkFjdGlvbnMgLm1vYmlsZU5hdkV4dGVybmFsTGlua3Mge1xuICAgIGJhY2tncm91bmQ6IGluaGVyaXQ7XG4gICAgYm9yZGVyLXRvcDogI2JlYmViZSAxcHggc29saWQ7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBwYWRkaW5nLXRvcDogOHB4OyB9XG5cbiNtb2JpbGVMb2NhdGlvbkNoYW5nZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4jbW9iaWxlTG9jYXRpb25DaGFuZ2VJbnB1dCB7XG4gIG1hcmdpbjogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAwIDQ1cHggMCAxNXB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4jbW9iaWxlTG9jYXRpb25DaGFuZ2VGb3JtV3JhcHBlciB7XG4gIGhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsOyB9XG5cbi5taW5pLWNhcnQtbGluayB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAubWluaS1jYXJ0LWxpbmsgLm1pbmljYXJ0LXF1YW50aXR5IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIGhlaWdodDogMjRweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC0xMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IC05cHg7XG4gICAgd2lkdGg6IDI0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5taW5pLWNhcnQtbGluayAubWluaWNhcnQtcXVhbnRpdHkge1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgcmlnaHQ6IC00cHg7XG4gICAgICAgIHRvcDogNXB4OyB9IH1cbiAgICAubWluaS1jYXJ0LWxpbmsgLm1pbmljYXJ0LXF1YW50aXR5IC5taW5pY2FydC1xdWFudGl0eS1pbm5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogMThweDtcbiAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgd2lkdGg6IDE4cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAubWVnYS1tZW51IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogOTk5OyB9XG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMSxcbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgyLFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDMsXG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNCxcbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg1LFxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDYge1xuICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICBwYWRkaW5nLXRvcDogMTBweDsgfVxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMSBhLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMiBhLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMyBhLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNCBhLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNSBhLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNiBhIHtcbiAgICAgICAgY29sb3I6ICNjNzUzMDA7IH1cbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDEgYTpob3ZlciwgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoMTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDIgYTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDI6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgzIGE6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGgzOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNCBhOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBoNDpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDUgYTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgaDU6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg2IGE6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGg2OmhvdmVyIHtcbiAgICAgICAgY29sb3I6ICM5OTQwMDA7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSB1bCB7XG4gICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm1lZ2EtbWVudSAubGlua3MtdHlwZSBsaSxcbiAgICAubWVnYS1tZW51IC5saW5rcy10eXBlIGxpIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTVweDsgfVxuICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgbGkge1xuICAgICAgcGFkZGluZzogNXB4IDA7IH1cbiAgICAgIC5tZWdhLW1lbnUgLmxpbmtzLXR5cGUgbGkgYTpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDEsXG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDIsXG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDMsXG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDQsXG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDUsXG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDYge1xuICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAxMHB4IDAgNXB4OyB9XG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoMTpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmVkaXRvcmlhbC10eXBlIGgyOmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDM6aG92ZXIsXG4gICAgICAubWVnYS1tZW51IC5lZGl0b3JpYWwtdHlwZSBoNDpob3ZlcixcbiAgICAgIC5tZWdhLW1lbnUgLmVkaXRvcmlhbC10eXBlIGg1OmhvdmVyLFxuICAgICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaDY6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzk5NDAwMDsgfVxuICAgIC5tZWdhLW1lbnUgLmVkaXRvcmlhbC10eXBlIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgLmNvbnRlbnQtY3VzdG9tLWJ0biB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgLmNvbnRlbnQtY3VzdG9tLWJ0bjpob3ZlciB7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gICAgLm1lZ2EtbWVudSAuZWRpdG9yaWFsLXR5cGUgaW1nIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAubWVnYS1tZW51IC5tZWdhIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMTNweCAyMHB4IC0xM3B4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gICAgICBsZWZ0OiAwJSAhaW1wb3J0YW50O1xuICAgICAgbWFyZ2luOiAwIGF1dG8gIWltcG9ydGFudDtcbiAgICAgIG1heC13aWR0aDogMTgwMHB4O1xuICAgICAgcGFkZGluZzogNjBweCAwO1xuICAgICAgcmlnaHQ6IDAlICFpbXBvcnRhbnQ7XG4gICAgICB3aWR0aDogYXV0byAhaW1wb3J0YW50OyB9XG4gICAgICAubWVnYS1tZW51IC5tZWdhIC5yb3cge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA4Mi41cmVtOyB9XG4gICAgICAubWVnYS1tZW51IC5tZWdhIC5jb2x1bW5zIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZTVlNWU1O1xuICAgICAgICBwYWRkaW5nOiAwIDM1cHg7IH1cbiAgICAgICAgLm1lZ2EtbWVudSAubWVnYSAuY29sdW1uczpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgYm9yZGVyOiAwOyB9XG4gICAgICAubWVnYS1tZW51IC5tZWdhIC5pbWFnZS10eXBlIGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgLm1lZ2EtbWVudSAubWVnYSAuaW1hZ2UtdHlwZSBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBwb3NpdGlvbjogc3RhdGljOyB9XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQuaXMtYWN0aXZlIGEubDFNZW51SXRlbTo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgICAgY29udGVudDogXCIgXCI7XG4gICAgICAgIGhlaWdodDogNnB4O1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNjBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgdG9wOiAyNHB4O1xuICAgIHdpZHRoOiAxZW07IH0gfVxuXG4uaGVhZGVyLW1haW4tbmF2IC5pcy1kcmlsbGRvd24gLm1lZ2EtbWVudSB7XG4gIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5oZWFkZXItbWFpbi1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5oZWFkZXItbWFpbi1uYXYgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICBwb3NpdGlvbjogaW5pdGlhbDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGVhZGVyLW1haW4tbmF2IC5pcy1kcmlsbGRvd24tc3VibWVudSAuanMtZHJpbGxkb3duLWJhY2sgPiBhOjpiZWZvcmUge1xuICAgIGJvcmRlcjogMDtcbiAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxmMTA2XCI7XG4gICAgdHJhbnNmb3JtOiBpbml0aWFsO1xuICAgIHRyYW5zZm9ybS1vcmlnaW46IGluaXRpYWw7IH0gfVxuXG4jbW9iaWxlU2VhcmNoV3JhcHBlciB7XG4gIGZsb2F0OiBsZWZ0O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRvcDogMXB4O1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogOTsgfVxuICAjbW9iaWxlU2VhcmNoV3JhcHBlciAuaGVhZGVyLXNlYXJjaCB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjbW9iaWxlU2VhcmNoV3JhcHBlci5hY3RpdmUgLmhlYWRlci1zZWFyY2gge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmhlYWRlci1zZWFyY2gge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICB3aWR0aDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHRvcDogLTFweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5oZWFkZXItc2VhcmNoIGZpZWxkc2V0IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5oZWFkZXItc2VhcmNoIC5zZWFjaEZvcm1JbnB1dCB7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgICAuaGVhZGVyLXNlYXJjaCAuc2VhY2hGb3JtSW5wdXQge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGZlMGUwO1xuICAgICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMCAyNXB4IDAgMTVweDsgfVxuICAgIC5oZWFkZXItc2VhcmNoIC5zZWFyY2hGb3JtQ2xvc2Uge1xuICAgICAgY29sb3I6ICNkZmUwZTA7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxMHB4O1xuICAgICAgdG9wOiAwOyB9IH1cblxuLmhlYWRlclNlYXJjaFdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyLmFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RmZTBlMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogLThweDtcbiAgICB6LWluZGV4OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRvcDogMDsgfSB9XG4gICAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIC5zZWFyY2hGb3JtVHJpZ2dlciB7XG4gICAgICBjb2xvcjogI2ZmNjkwMCAhaW1wb3J0YW50O1xuICAgICAgZGlzcGxheTogaW5saW5lOyB9XG4gICAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUgLnNlYXJjaEZvcm1UcmlnZ2VyIGkuaWNvbi1zZWFyY2g6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwOyB9XG4gICAgLmhlYWRlclNlYXJjaFdyYXBwZXIuYWN0aXZlIC5zZWFyY2hGb3JtQ2xvc2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaGVhZGVyU2VhcmNoV3JhcHBlci5hY3RpdmUgLmhlYWRlci1zZWFyY2gge1xuICAgICAgICB3aWR0aDogMjIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5oZWFkZXJTZWFyY2hXcmFwcGVyLmFjdGl2ZSAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgIHRyYW5zaXRpb24tZHVyYXRpb246IDAuM3M7IH0gfVxuICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuaGVhZGVyLXNlYXJjaCAuc2VhcmNoRm9ybVRyaWdnZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgLmhlYWRlclNlYXJjaFdyYXBwZXIgLnNlYXJjaEZvcm1UcmlnZ2VyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjsgfVxuICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuaGVhZGVyLXNlYXJjaCBmaWVsZHNldCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5zZWFjaEZvcm1CdXR0b24ge1xuICAgIGJvdHRvbTogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDVweDsgfVxuICAgIC5oZWFkZXJTZWFyY2hXcmFwcGVyIC5zZWFjaEZvcm1CdXR0b246aG92ZXIge1xuICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgLmhlYWRlclNlYXJjaFdyYXBwZXIgLnNlYWNoRm9ybUlucHV0IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAwIDI1cHggMCAxMHB4OyB9XG4gICAgLmhlYWRlclNlYXJjaFdyYXBwZXIgLnNlYWNoRm9ybUlucHV0OjotbXMtY2xlYXIge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuaGVhZGVyU2VhcmNoV3JhcHBlciAuc2VhcmNoRm9ybUNsb3NlIHtcbiAgICBjb2xvcjogI2RmZTBlMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfVxuXG4uc2VhcmNoLXN1Z2dlc3Rpb25zIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA4cHggMTVweCAtMnB4IHJnYmEoMCwgMCwgMCwgMC4xNSk7XG4gIHBhZGRpbmc6IDIwcHggMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICByaWdodDogMDtcbiAgd2lkdGg6IDU4NXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIHtcbiAgICAgIHRvcDogNjRweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIHtcbiAgICAgIHRvcDogNjdweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMge1xuICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgIHRvcDogNzBweDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLm1vYmlsZS1zZWFyY2ggLnNlYXJjaC1zdWdnZXN0aW9ucyB7XG4gICAgb3ZlcmZsb3cteTogc2Nyb2xsOyB9XG4gIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLmhpdGdyb3VwIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLmdlbmVyYXRlZC1oaXRncm91cCB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyBoNSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIGg1LnBvcHVsYXItc2VhcmNoZXMge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLmRpcmVjdC1wYWdlLWxpbmsge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAuc2VhcmNoLXByb2R1Y3Qtd3JhcHBlciB7XG4gICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGZlMGUwO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAzMHB4IDAgNDBweDtcbiAgICB3aWR0aDogMzQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnNlYXJjaC1wcm9kdWN0LXdyYXBwZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnNlYXJjaC1zdWdnZXN0aW9uLXdyYXBwZXIge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMCAzMHB4IDAgNDBweDtcbiAgICB3aWR0aDogMjQ1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnNlYXJjaC1zdWdnZXN0aW9uLXdyYXBwZXIge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDRkNGQ0O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5zZWFyY2gtc3VnZ2VzdGlvbi13cmFwcGVyIGEuaGl0IHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAuc2VhcmNoLXN1Z2dlc3Rpb25zIC5wcm9kdWN0LXN1Z2dlc3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgLnNlYXJjaC1zdWdnZXN0aW9ucyAucHJvZHVjdC1zdWdnZXN0aW9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0OyB9XG4gIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnByb2R1Y3QtbGluayB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgICB3aWR0aDogNjBweDsgfVxuICAgIC5zZWFyY2gtc3VnZ2VzdGlvbnMgLnByb2R1Y3QtbGluayAucHJvZHVjdC1kZXRhaWxzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgICAgLnNlYXJjaC1zdWdnZXN0aW9ucyAucHJvZHVjdC1saW5rIC5wcm9kdWN0LWRldGFpbHMgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG5cbi5mb290ZXItc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICBmb250LXNpemU6IDI4cHg7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgbWFyZ2luOiAwO1xuICBtYXJnaW4tdG9wOiAxNXB4O1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5mb290ZXItc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAuZm9vdGVyLXNvY2lhbC1tZWRpYS13cmFwcGVyIGxpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7IH1cbiAgICAgICAgLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLmZvb3Rlci1zb2NpYWwtbWVkaWEtd3JhcHBlciBsaSBhIHtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5mb290ZXItY29weS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgbWluLWhlaWdodDogOTZweDsgfVxuICAuZm9vdGVyLWNvcHktd3JhcHBlciAucm93IHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi1oZWlnaHQ6IDk2cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZm9vdGVyLWNvcHktd3JhcHBlciAucm93IHtcbiAgICAgICAgaGVpZ2h0OiA5NnB4OyB9IH1cblxuI2Zvb3RlckxvZ29Db250YWluZXIge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG8gOHB4O1xuICBtYXgtd2lkdGg6IDEwOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNmb290ZXJMb2dvQ29udGFpbmVyIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICBtYXgtd2lkdGg6IDEwOHB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gICNmb290ZXJMb2dvQ29udGFpbmVyIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIHdpZHRoOiAxMDAlOyB9XG5cbiNmb290ZXJDb3B5Q29udGFpbmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDEwcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2Zvb3RlckNvcHlDb250YWluZXIge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2Zvb3RlckNvcHlDb250YWluZXIgc3BhbiB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI2Zvb3RlckNvcHlDb250YWluZXIgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuI2Zvb3RlckxpdmVDaGF0Q1RBIHtcbiAgY29sb3I6ICNmZjY5MDA7IH1cblxuLmZvb3Rlci13cmFwcGVyIHtcbiAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMjtcbiAgcGFkZGluZzogNTVweCAwIDI1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmZvb3Rlci13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDQ1cHggMCAzNXB4OyB9IH1cbiAgLmZvb3Rlci13cmFwcGVyIC5mb290ZXItbG9nbyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG51bC5mb290ZXItbGlua3Mge1xuICBjb2xvcjogIzgwODI4NTtcbiAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIHVsLmZvb3Rlci1saW5rcyBzcGFuIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICB1bC5mb290ZXItbGlua3MgYSB7XG4gICAgY29sb3I6ICM4MDgyODU7IH1cbiAgICB1bC5mb290ZXItbGlua3MgYTpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICB1bC5mb290ZXItbGlua3MgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgdWwuZm9vdGVyLWxpbmtzIGxpIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9XG4gICAgICAgIHVsLmZvb3Rlci1saW5rcyBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICAgICAgICAgIHVsLmZvb3Rlci1saW5rcyBsaTpmaXJzdC1jaGlsZCBhIHtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgdWwuZm9vdGVyLWxpbmtzIGxpIGEge1xuICAgICAgICBjb2xvcjogIzAwMDsgfSB9XG5cbi5zaG93LXNlbGYtc2VydmljZSAuc2hvdy1lbnRyeS1wb2ludCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zaG93LWVudHJ5LXBvaW50IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uZm9vdGVyLWVtYWlsLXdyYXBwZXIge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBwYWRkaW5nOiAzNXB4IDA7IH1cbiAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIGZvcm0gZmllbGRzZXQge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciBmb3JtIGZpZWxkc2V0IHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH0gfVxuICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcGFkZGluZzogMCAwIDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgNzBweCAwIDA7IH0gfVxuICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyLFxuICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1sYWJlbC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtaW5wdXQtd3JhcHBlcixcbiAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1sYWJlbC13cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtbGFiZWwtd3JhcHBlciBsYWJlbCB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIGlucHV0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtaW5wdXQtd3JhcHBlciBidXR0b24ge1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtaW5wdXQtd3JhcHBlciBidXR0b24ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgd2lkdGg6IDQwcHg7IH1cbiAgICAgICAgICAuZm9vdGVyLWVtYWlsLXdyYXBwZXIgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyIGJ1dHRvbiBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gICAgLmZvb3Rlci1lbWFpbC13cmFwcGVyIC5mb290ZXItZW1haWwtaW5wdXQtd3JhcHBlciBzcGFuLmVycm9yIHtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgdG9wOiAtMThweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5mb290ZXItZW1haWwtd3JhcHBlciAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIgc3Bhbi5lcnJvciB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuLm5ld3NsZXR0ZXItbWVzc2FnZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7IH1cbiAgLm5ld3NsZXR0ZXItbWVzc2FnZSBpIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDEuMzc1cmVtOyB9XG4gIC5uZXdzbGV0dGVyLW1lc3NhZ2Ugc3BhbiB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbiNzdWJzY3JpYmUtZW1haWwge1xuICBtYXgtd2lkdGg6IDMwNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjc3Vic2NyaWJlLWVtYWlsIHtcbiAgICAgIHdpZHRoOiAzMTVweDsgfSB9XG5cbiNob21lcGFnZUFsZXJ0QmFyIHtcbiAgYmFja2dyb3VuZDogIzAwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDAgNTBweCAwIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjaG9tZXBhZ2VBbGVydEJhciBpLmljb24tYWxlcnQge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICBtaW4td2lkdGg6IDQycHg7IH1cbiAgI2hvbWVwYWdlQWxlcnRCYXIgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW46IDI1cHggYXV0bzsgfVxuICAjaG9tZXBhZ2VBbGVydEJhciA+IGRpdiB7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgbWluLWhlaWdodDogODBweDsgfVxuICAjaG9tZXBhZ2VBbGVydEJhciBzdHJvbmcge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAjaG9tZXBhZ2VBbGVydEJhciAjaG9tZXBhZ2VBbGVydEJhckNsb3NlIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjBweDtcbiAgICB0b3A6IDM4JTsgfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tbGVmdCB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tbGVmdCB7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5tYWluLWxlZnQge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5tYWluLWxlZnQge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tcmlnaHQge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5tYWluLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLm1haW4tcmlnaHQge1xuICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5tYWluLXJpZ2h0IHtcbiAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50OyB9IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4td3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgaGVpZ2h0OiAxMDAlOyB9IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIHBhZGRpbmc6IDM2cHggMzJweCAwO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiB7XG4gICAgICBwYWRkaW5nOiA1NXB4IDMycHggMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBwYWRkaW5nOiA5MHB4IDYwcHggMDsgfSB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gaDIge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMnJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4gaDIge1xuICAgICAgICBmb250LXNpemU6IDIuNjI1cmVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiBwIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1heC13aWR0aDogNTQwcHg7IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiB1bCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIHVsIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfSB9XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbiB1bCBwIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIGxpOjpiZWZvcmUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbnRlbnQ6IFwiXFwyMDIyXCI7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxNnB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMjVlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwLjFlbTsgfVxuICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLmxlZnQtY29sdW1uIGEuYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiA3NXB4OyB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAubGVmdC1jb2x1bW4taW1hZ2Utd3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIHBhZGRpbmc6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbi1pbWFnZS13cmFwcGVyIHtcbiAgICAgIGFsaWduLXNlbGY6IGZsZXgtZW5kOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbi1pbWFnZS13cmFwcGVyIGltZyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5sZWZ0LWNvbHVtbi1pbWFnZS13cmFwcGVyIGEuYnV0dG9uIHtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7IH1cblxuI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3Qge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBib3R0b20gbGVmdDtcbiAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgcGFkZGluZzogODVweCAzMnB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3Qge1xuICAgICAgcGFkZGluZzogMTAwcHggMzJweCA5MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLWZpcnN0IHtcbiAgICAgIHBhZGRpbmc6IDg1cHggODBweDsgfSB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLWZpcnN0IGltZy5yaWdodC1jb2x1bW4tZmlyc3QtaWNvbnMge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgbWF4LXdpZHRoOiAyMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLWZpcnN0IGltZy5yaWdodC1jb2x1bW4tZmlyc3QtaWNvbnMge1xuICAgICAgICBtYXgtd2lkdGg6IDIyNXB4OyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgaDIge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgaDIge1xuICAgICAgICBmb250LXNpemU6IDIuNjI1cmVtOyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgcCB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLWZpcnN0IHAge1xuICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4OyB9IH1cbiAgI2hvbWVwYWdlVGhyZWVBc3NldEdyb3VwIC5yaWdodC1jb2x1bW4tZmlyc3QgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZCB7XG4gIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfSB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1hIHtcbiAgcGFkZGluZzogNDBweCAzMnB4IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1hIHtcbiAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgZmxleDogMTtcbiAgICAgIHBhZGRpbmc6IDYwcHggMTBweCA0MHB4IDcwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1hIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxOTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1hIGltZyB7XG4gICAgICAgIG1heC13aWR0aDogODAlOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1zZWNvbmQtYSBpbWcge1xuICAgICAgICBtYXgtd2lkdGg6IDkwJTsgfSB9XG5cbiNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1iIHtcbiAgcGFkZGluZzogMCAzMnB4IDQ1cHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1zZWNvbmQtYiB7XG4gICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgIGZsZXg6IDE7XG4gICAgICBwYWRkaW5nOiA3NXB4IDQ1cHggNDVweCAwO1xuICAgICAgd2lkdGg6IDUwJTsgfSB9XG4gICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1iIGgyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNob21lcGFnZVRocmVlQXNzZXRHcm91cCAucmlnaHQtY29sdW1uLXNlY29uZC1iIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAzNHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAgLnJpZ2h0LWNvbHVtbi1zZWNvbmQtYiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDsgfSB9XG5cbi5yb3cuY29sbGFwc2Utcm93IHtcbiAgbWFyZ2luLWxlZnQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7IH1cblxuLnZlcnRpY2FsLWFsaWduIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50OyB9XG5cbi5ob3Jpem9udGFsLWFsaWduIHtcbiAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuXG4uaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCB7XG4gICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmluZm8tdGlsZS13cmFwcGVyLXNwYWNlYXJvdW5kIHtcbiAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgcGFkZGluZy10b3A6IDYwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQge1xuICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1ib3R0b206IDQ1cHg7XG4gICAgICBwYWRkaW5nLXRvcDogNjBweDsgfSB9XG5cbi5pbmZvLXRpbGUtd3JhcHBlciB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5pbmZvLXRpbGUtd3JhcHBlci5ob3ZlcmVkIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmluZm8tdGlsZS13cmFwcGVyID4gZGl2IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG4uaG9tcGFnZS1pbmZvLXRpbGUge1xuICBib3JkZXI6IDEwcHggc29saWQgI2YyZjJmMjtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAxNXB4IDM4cHggMTVweCAxNHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmhvbXBhZ2UtaW5mby10aWxlIHtcbiAgICAgIHBhZGRpbmc6IDhweCAyMHB4IDE1cHg7IH1cbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBhIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmhvbXBhZ2UtaW5mby10aWxlIHtcbiAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7IH0gfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgcCB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSBwIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmhvbXBhZ2UtaW5mby10aWxlIGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaG9tcGFnZS1pbmZvLXRpbGUgYSB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgaSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiA2MHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuaG9tcGFnZS1pbmZvLXRpbGUgaSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7IH0gfVxuICAgIC5ob21wYWdlLWluZm8tdGlsZSBpOjpiZWZvcmUge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgaDQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW4tbGVmdDogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuaG9tcGFnZS1pbmZvLXRpbGUgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuaG9tcGFnZS1pbmZvLXRpbGUgaDQge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH0gfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUuc2hvd2J1dHRvbiAuYnV0dG9uIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuaG9tcGFnZS1pbmZvLXRpbGUgLmJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5ob21wYWdlLWluZm8tdGlsZSAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmhvbXBhZ2UtaW5mby10aWxlIC5idXR0b24ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmhvbXBhZ2UtaW5mby10aWxlIC5tb2JpbGUtaW5mby10aWxlLUNUQSB7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDsgfVxuXG4jaGVhZGxpbmVzV3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMyNjI2MjY7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiAxNzhweCBhdXRvO1xuICBwYWRkaW5nOiA0LjI1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICNoZWFkbGluZXNXcmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogMjQxcHggYXV0bzsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjaGVhZGxpbmVzV3JhcHBlciB7XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IDMxNnB4IGF1dG87XG4gICAgICBwYWRkaW5nOiAxMDBweCAwOyB9IH1cbiAgI2hlYWRsaW5lc1dyYXBwZXIgLnRpdGxlLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjaGVhZGxpbmVzV3JhcHBlciAudGl0bGUtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAjaGVhZGxpbmVzV3JhcHBlciAuY3RhLXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IDMwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjaGVhZGxpbmVzV3JhcHBlciAuY3RhLXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgICAjaGVhZGxpbmVzV3JhcHBlciAuY3RhLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgI2hlYWRsaW5lc1dyYXBwZXIgaDIuc2VjdGlvbi10aXRsZSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAyNnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hlYWRsaW5lc1dyYXBwZXIgaDIuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzZweDsgfSB9XG4gICNoZWFkbGluZXNXcmFwcGVyIHAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2hlYWRsaW5lc1dyYXBwZXIgcC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4OyB9IH1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gIG92ZXJmbG93OiBhdXRvOyB9XG5cbi5yZXZlYWwucmV2ZWFsbmluZSB7XG4gIGJvcmRlcjogMDtcbiAgbWF4LXdpZHRoOiA5MDBweDtcbiAgcGFkZGluZzogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLmJvcmRlcmVkLXRvcCB7XG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYyOyB9XG5cbi5yZXZlYWwtb3ZlcmxheSB7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjsgfVxuICAucmV2ZWFsLW92ZXJsYXkuc2Nyb2xsLW92ZXJsYXkge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yZXZlYWwtb3ZlcmxheS5zY3JvbGwtb3ZlcmxheSB7XG4gICAgICAgIG92ZXJmbG93LXk6IGhpZGRlbjsgfSB9XG5cbi5lcnJvci1wYWdlLWNvbnRhaW5lciB7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5lcnJvci1wYWdlLWNvbnRhaW5lciAuZnVsbGJsZWVkLCAuZXJyb3ItcGFnZS1jb250YWluZXIgLmZvb3Rlci13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyOyB9XG4gIC5lcnJvci1wYWdlLWNvbnRhaW5lciAucm93IHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMy43NXJlbTtcbiAgICBwYWRkaW5nLXRvcDogNC4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5lcnJvci1wYWdlLWNvbnRhaW5lciAucm93IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEyLjVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMi44NzVyZW07IH0gfVxuICAuZXJyb3ItcGFnZS1jb250YWluZXIgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMDQzNWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNDM3NXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0LjA2MjVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuODEyNXJlbTsgfSB9XG4gIC5lcnJvci1wYWdlLWNvbnRhaW5lciBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuM2VtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmVycm9yLXBhZ2UtY29udGFpbmVyIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAuZXJyb3ItcGFnZS1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgIHBhZGRpbmc6IDEwcHggMjhweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5lcnJvci1wYWdlLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAwIDA7IH0gfVxuICAgIC5lcnJvci1wYWdlLWNvbnRhaW5lciAuYnV0dG9uOmhvdmVyIHtcbiAgICAgIGNvbG9yOiBpbmhlcml0OyB9XG5cbi5icm93c2VyLWVycm9yIHtcbiAgY29sb3I6ICNlYzU4NDA7XG4gIG1hcmdpbi1ib3R0b206IC0xLjI1cmVtO1xuICBwYWRkaW5nLXRvcDogMnJlbTsgfVxuXG4ucHJpdmFjeXBvbGljeS13cmFwcGVyIHtcbiAgcGFkZGluZzogNTBweCAwIDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHJpdmFjeXBvbGljeS13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjVyZW07IH0gfVxuICAucHJpdmFjeXBvbGljeS13cmFwcGVyIC5wcml2YWN5cG9saWN5LXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDM1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgLnByaXZhY3lwb2xpY3ktdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7IH0gfVxuICAucHJpdmFjeXBvbGljeS13cmFwcGVyIGg0IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAucHJpdmFjeXBvbGljeS13cmFwcGVyIHVsIHtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgdWwgbGkge1xuICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgICAgIC5wcml2YWN5cG9saWN5LXdyYXBwZXIgdWwgbGkgc3BhbiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5tb2RhbCBwLFxuLm1vZGFsIC5idXR0b24ge1xuICBtYXJnaW46IDA7IH1cblxuLm1vZGFsIHAge1xuICBmb250LWZhbWlseTogXCJnb3RoYW1cIiwgQXJpYWw7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAyNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubW9kYWwgcCB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI5cHg7IH0gfVxuXG4ubW9kYWwgLnRpdGxlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGZsZXgtZ3JvdzogMTtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAyMHB4IDAgMjBweCAyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubW9kYWwgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgICAgcGFkZGluZzogMjJweCAwIDIycHggMzBweDsgfSB9XG5cbi5tb2RhbCAubW9kYWwtaGVhZGVyIHtcbiAgZGlzcGxheTogZmxleDsgfVxuXG4ubW9kYWwucmV2ZWFsIHtcbiAgYm9yZGVyOiAwO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmctcmlnaHQ6IDE4cHg7XG4gIHBvc2l0aW9uOiB1bnNldDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgICAgcGFkZGluZy1yaWdodDogMjdweDsgfSB9XG5cbi5nZHByLWluZm8tYmFyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBib3R0b206IDA7XG4gIGNvbG9yOiAjZmZmO1xuICBsZWZ0OiAwO1xuICBtaW4taGVpZ2h0OiA1MHB4O1xuICBwYWRkaW5nOiAxMHB4IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgcmlnaHQ6IDA7XG4gIHotaW5kZXg6IDEwOyB9XG4gIC5nZHByLWluZm8tYmFyIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZ2Rwci1pbmZvLWJhciBwIHtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDsgfSB9XG4gIC5nZHByLWluZm8tYmFyIC5idXR0b24ge1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5nZHByLWluZm8tYmFyIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuZ2Rwci1pbmZvLWJhciAuZ2Rwci1pbmZvLWZsZXgge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICBAbWVkaWEgcHJpbnQge1xuICAgIC5nZHByLWluZm8tYmFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4ub3JkZXItc3VtbWFyeS1wcm9kdWN0cy10aXRsZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmljb24tY2FsZW5kYXItaWNvbixcbi5pY29uLXByaW50IHtcbiAgbWFyZ2luLXJpZ2h0OiAwLjVlbTsgfVxuXG4jcHJvdmluY2UtbW9kYWwtbWVzc2FnZSB7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICBtYXgtaGVpZ2h0OiA2NXZoO1xuICBwYWRkaW5nOiAzMHB4O1xuICB3aWR0aDogNzUwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2Uge1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIG1hcmdpbjogNSU7XG4gICAgICBtaW4taGVpZ2h0OiA3NXZoO1xuICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgd2lkdGg6IDkwJTsgfSB9XG4gICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlICoge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgLnByb3ZpbmNlLW1vZGFsLWNvbnRlbnQge1xuICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgLm1lc3NhZ2UtY2xvc2UtYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDMycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxcmVtO1xuICAgIHRvcDogMC41cmVtOyB9XG4gICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIC50aXRsZS1zZWN0aW9uIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgLnRpdGxlLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgLmNvbnRlbnQtc2VjdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSAuY29udGVudC1zZWN0aW9uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICNwcm92aW5jZS1tb2RhbC1tZXNzYWdlIGg0IHtcbiAgICBsaW5lLWhlaWdodDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgaDQge1xuICAgICAgICBmb250LXNpemU6IDE3cHg7IH0gfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSBpbWcge1xuICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2UgaW1nIHtcbiAgICAgICAgbWFyZ2luOiAzMHB4IDA7IH0gfVxuICAjcHJvdmluY2UtbW9kYWwtbWVzc2FnZSBwIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cblxuI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCB7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBtYXgtaGVpZ2h0OiA4MHZoO1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBtaW4taGVpZ2h0OiBhdXRvO1xuICBwYWRkaW5nOiAxcmVtO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNSUpO1xuICB3aWR0aDogOTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIHtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IG5vbmU7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvOyB9IH1cbiAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAuaGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxcmVtOyB9XG4gICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbjogNXB4IDA7XG4gICAgcGFkZGluZzogMTZweCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAucHJvdmluY2Utb3B0aW9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgIGdhcDogMXJlbTtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiAxZnIgMWZyOyB9IH1cbiAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y4ZjhmODtcbiAgICAgIG1hcmdpbjogNXB4IGF1dG87XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24ge1xuICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICB3aWR0aDogMzIwcHg7IH0gfVxuICAgICAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAucHJvdmluY2Utb3B0aW9ucyAucHJvdmluY2Utb3B0aW9uIC5wcm92aW5jZS1sYWJlbCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDFyZW07IH1cbiAgICAgICAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAucHJvdmluY2Utb3B0aW9ucyAucHJvdmluY2Utb3B0aW9uIC5wcm92aW5jZS1sYWJlbCAucHJvdmluY2UtbmFtZSB7XG4gICAgICAgICAgd2lkdGg6IDgwJTsgfVxuICAgICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24gLnByb3ZpbmNlLWxhYmVsIHNwYW4ge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24gLnByb3ZpbmNlLWxhYmVsIGlucHV0IHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiAucHJvdmluY2UtbGFiZWwgLmN1c3RvbS1yYWRpby1pY29uIHtcbiAgICAgICAgICBib3JkZXI6ICMyMDIwMjAgMXB4IHNvbGlkO1xuICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICB3aWR0aDogMjBweDsgfVxuICAgICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24gLnByb3ZpbmNlLWxhYmVsIC5jdXN0b20tcmFkaW8taWNvbiBpIHtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24gLnByb3ZpbmNlLWxhYmVsIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmN1c3RvbS1yYWRpby1pY29uIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgICAgICAgIGJvcmRlcjogI2ZmNjkwMCAxcHggc29saWQ7IH1cbiAgICAgICAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAucHJvdmluY2Utb3B0aW9ucyAucHJvdmluY2Utb3B0aW9uIC5wcm92aW5jZS1sYWJlbCBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5jdXN0b20tcmFkaW8taWNvbiBpIHtcbiAgICAgICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLnByb3ZpbmNlLW9wdGlvbnMgLnByb3ZpbmNlLW9wdGlvbiAucHJvdmluY2UtbGFiZWwuYWN0aXZlIHtcbiAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogNnB4OyB9XG4gICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24gbGFiZWwsXG4gICAgICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1vcHRpb25zIC5wcm92aW5jZS1vcHRpb24gaW5wdXQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAubW9kYWwtZm9vdGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAubW9kYWwtZm9vdGVyIC5sYW5ndWFnZS1zZWxlY3RvciB7XG4gICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICNwcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwgLm1vZGFsLWZvb3RlciAubGFuZ3VhZ2Utc2VsZWN0b3IgYSB7XG4gICAgICAgIGNvbG9yOiAjMzMzO1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBmb250LXdlaWdodDogMzI1O1xuICAgICAgICBwYWRkaW5nOiAycHg7IH1cbiAgICAgICAgI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCAubW9kYWwtZm9vdGVyIC5sYW5ndWFnZS1zZWxlY3RvciBhLmFjdGl2ZSB7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAjcHJvdmluY2Utc2VsZWN0aW9uLW1vZGFsIC5wcm92aW5jZS1zZWxlY3Rpb24tbW9kYWwtZXJyb3Ige1xuICAgIGNvbG9yOiAjZjAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucHRfcHNyZXN1bHRzIC5oZWFkZXItbWFpbi1uYXY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjY2NjOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucHRfcHNyZXN1bHRzIC5zZWwtaW5mby13cmFwcGVyIC5zbWFsbC0xMi5jb2x1bW5zLnBzcmVzdWx0cy10aXRsZS1ib3JkZXIge1xuICAgIHBhZGRpbmc6IDA7IH0gfVxuXG5zcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDAgIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiAyMnB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIHdpZHRoOiAyMnB4OyB9XG4gIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlLnF1ZXN0aW9ubWFyay13aGl0ZSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuI0dTUE5vUmVzdWx0cyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuI3BzbW9kYWwsXG4jd2hlZWwtdHlwZS1tb2RhbCB7XG4gIG1heC13aWR0aDogNzAwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNwc21vZGFsIC5jbG9zZS1idXR0b24sXG4gICN3aGVlbC10eXBlLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIHRvcDogMTVweDtcbiAgICB6LWluZGV4OiA5OTsgfVxuICAjcHNtb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICNwc21vZGFsIC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLFxuICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICN3aGVlbC10eXBlLW1vZGFsIC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gICNwc21vZGFsIC5wcm9kdWN0U2VsZWN0b3IgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLFxuICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwc21vZGFsIC5wcm9kdWN0U2VsZWN0b3IgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLnRyYWlsZXItdGlyZS1oaW50LFxuICAgICN3aGVlbC10eXBlLW1vZGFsIC5wcm9kdWN0U2VsZWN0b3IgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNwc21vZGFsIC5wcm9kdWN0U2VsZWN0b3IgLnN0ZXAuY3VycmVudCAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUsXG4gICN3aGVlbC10eXBlLW1vZGFsIC5wcm9kdWN0U2VsZWN0b3IgLnN0ZXAuY3VycmVudCAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgI3BzbW9kYWwgLnByb2R1Y3RTZWxlY3RvciAuc3RlcC5jdXJyZW50IC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZS50cmFpbGVyLXRpcmUtaGludCxcbiAgICAjd2hlZWwtdHlwZS1tb2RhbCAucHJvZHVjdFNlbGVjdG9yIC5zdGVwLmN1cnJlbnQgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICNwc21vZGFsIC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3ZlaGljbGVcIl0sICNwc21vZGFsIC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF92ZWhpY2xlXCJdLFxuICAgICN3aGVlbC10eXBlLW1vZGFsIC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3ZlaGljbGVcIl0sXG4gICAgI3doZWVsLXR5cGUtbW9kYWwgLnByb2R1Y3RTZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3ZlaGljbGVcIl0ge1xuICAgICAgbWFyZ2luLXRvcDogMzBweDsgfSB9XG4gICNwc21vZGFsIC5zZWxlY3RvcixcbiAgI3doZWVsLXR5cGUtbW9kYWwgLnNlbGVjdG9yIHtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcHNtb2RhbCAuc2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgICAgICNwc21vZGFsIC5zZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICAgICAjd2hlZWwtdHlwZS1tb2RhbCAuc2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgICAgICN3aGVlbC10eXBlLW1vZGFsIC5zZWxlY3RvcltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cblxuLm1vZGFsLWNvbnRlbnQgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIHtcbiAgcGFkZGluZzogMDsgfVxuICAubW9kYWwtY29udGVudCAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLm1vZGFsLWNvbnRlbnQgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICBtYXgtd2lkdGg6IDEwMCU7IH1cbiAgLm1vZGFsLWNvbnRlbnQgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yIHtcbiAgICBwYWRkaW5nOiAzMHB4OyB9XG4gIC5tb2RhbC1jb250ZW50ICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4uZmluZFRpcmVTaXplTW9kYWxIZWFkZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBoZWlnaHQ6IDcycHg7XG4gIG1pbi1oZWlnaHQ6IDcycHg7XG4gIHBhZGRpbmc6IDAgNjBweCAwIDI1cHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuZmluZFRpcmVTaXplTW9kYWxIZWFkZXIgLmNsb3NlLWJ1dHRvbiB7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDI1cHg7XG4gICAgdG9wOiAwOyB9XG4gIC5maW5kVGlyZVNpemVNb2RhbEhlYWRlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIC5maW5kVGlyZVNpemVNb2RhbEhlYWRlciBoMiBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG4gICAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgICB3aWR0aDogMzJweDsgfVxuXG4uZmluZFRpcmVTaXplTW9kYWxDb250ZW50IHtcbiAgcGFkZGluZzogMzBweDsgfVxuICAuZmluZFRpcmVTaXplTW9kYWxDb250ZW50IHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAuZmluZFRpcmVTaXplTW9kYWxDb250ZW50IHAgc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAucHRfc3RvcmVmcm9udCAuaGVhZGVyLW1haW4tbmF2LFxuICAucHRfc3RvcmVmcm9udCAuaW5mby10aWxlLXdyYXBwZXIsXG4gIC5wdF9zdG9yZWZyb250IC5pbmZvLXRpbGUtd3JhcHBlci1zcGFjZWFyb3VuZCxcbiAgLnB0X3N0b3JlZnJvbnQgLmZvb3Rlci13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmOyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLFxuI25ld1NlYXJjaE1vZGFsIHtcbiAgcGFkZGluZzogMzVweCAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAjUFNPdmVybGF5LFxuICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAjUFNPdmVybGF5IHtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzLFxuICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFiczo6YmVmb3JlLCAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFiczo6YWZ0ZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFiczo6YmVmb3JlLFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnM6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnM6OmFmdGVyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnM6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzIC5tYWluLXNlbGVjdG9yLXRhYixcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5leHBhbmRlZCAubWFpbi1zZWxlY3Rvci10YWJzIC5tYWluLXNlbGVjdG9yLXRhYiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgcGFkZGluZzogMCA0MHB4OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLmV4cGFuZGVkIC5wcy1yaWdodCxcbiAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLnBzLXJpZ2h0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnBzLXJpZ2h0ICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LFxuICAgICAgI25ld1NlYXJjaE1vZGFsLmV4cGFuZGVkIC5wcy1yaWdodCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgIG1heC13aWR0aDogNjAwcHg7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnNlbGVjdG9yLmFjdGl2ZSxcbiAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLnNlbGVjdG9yLmFjdGl2ZSB7XG4gICAgICBtaW4taGVpZ2h0OiAzMTZweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIsXG4gICAgI25ld1NlYXJjaE1vZGFsIHtcbiAgICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgICBwYWRkaW5nOiAxODBweCAwOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnBzLWxlZnQsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLnBzLWxlZnQge1xuICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICBtYXJnaW4tbGVmdDogLTEwMCU7XG4gICAgICAgIG9wYWNpdHk6IDA7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5leHBhbmRlZCAucHMtcmlnaHQsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLnBzLXJpZ2h0IHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnBzLXJpZ2h0ICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LFxuICAgICAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLnBzLXJpZ2h0ICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDc1MHB4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5wcm9kdWN0LXdyYXBwZXItYmFja2dyb3VuZCxcbiAgI25ld1NlYXJjaE1vZGFsIC5wcm9kdWN0LXdyYXBwZXItYmFja2dyb3VuZCB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB0b3A6IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnByb2R1Y3Qtd3JhcHBlci1iYWNrZ3JvdW5kLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5wcm9kdWN0LXdyYXBwZXItYmFja2dyb3VuZCB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnByb2R1Y3Qtd3JhcHBlci1iYWNrZ3JvdW5kLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5wcm9kdWN0LXdyYXBwZXItYmFja2dyb3VuZCB7XG4gICAgICAgIGhlaWdodDogMTAwdmg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICAgICAgd2lkdGg6IDEwMHZ3O1xuICAgICAgICB6LWluZGV4OiAtMTsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuaW5zaWRlU2VsZWN0b3IgPiBhOjphZnRlcixcbiAgI25ld1NlYXJjaE1vZGFsIC5pbnNpZGVTZWxlY3RvciA+IGE6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIlxcZjAwZFwiO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLm1haW4tc2VsZWN0b3ItdGFiLFxuICAjbmV3U2VhcmNoTW9kYWwgLm1haW4tc2VsZWN0b3ItdGFiIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLm1haW4tc2VsZWN0b3ItdGFiLmFjdGl2ZSxcbiAgICAjbmV3U2VhcmNoTW9kYWwgLm1haW4tc2VsZWN0b3ItdGFiLmFjdGl2ZSB7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAubWFpbi1zZWxlY3Rvci10YWIuYWN0aXZlIGEsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLm1haW4tc2VsZWN0b3ItdGFiLmFjdGl2ZSBhIHtcbiAgICAgICAgY3Vyc29yOiBkZWZhdWx0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyxcbiAgICAjbmV3U2VhcmNoTW9kYWwuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicyxcbiAgI25ld1NlYXJjaE1vZGFsLm5vLXRhYnMge1xuICAgIHBhZGRpbmc6IDYwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5uby10YWJzLFxuICAgICAgI25ld1NlYXJjaE1vZGFsLm5vLXRhYnMge1xuICAgICAgICBwYWRkaW5nOiA3MHB4IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5uby10YWJzLFxuICAgICAgI25ld1NlYXJjaE1vZGFsLm5vLXRhYnMge1xuICAgICAgICBwYWRkaW5nOiA5MHB4IDA7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlci5uby10YWJzIC5tYWluLXNlbGVjdG9yLXRhYnMsXG4gICAgI25ld1NlYXJjaE1vZGFsLm5vLXRhYnMgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicyAubWFpbi1zZWxlY3Rvci10YWJzLFxuICAgICAgICAjbmV3U2VhcmNoTW9kYWwubm8tdGFicyAubWFpbi1zZWxlY3Rvci10YWJzIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIubm8tdGFicyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSxcbiAgICAjbmV3U2VhcmNoTW9kYWwubm8tdGFicyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyLm5vLXRhYnMuZXhwYW5kZWQgLm1haW4tc2VsZWN0b3ItdGFicyxcbiAgICAgICNuZXdTZWFyY2hNb2RhbC5uby10YWJzLmV4cGFuZGVkIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5hZGQtcmVhci1zaXplLFxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5sb29raW5nLWZvci1vdGhlcixcbiAgI25ld1NlYXJjaE1vZGFsIC5hZGQtcmVhci1zaXplLFxuICAjbmV3U2VhcmNoTW9kYWwgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgI25ld1NlYXJjaE1vZGFsIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuYWRkLXJlYXItc2l6ZSxcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5sb29raW5nLWZvci1vdGhlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5sb29raW5nLWZvci1vdGhlcixcbiAgI25ld1NlYXJjaE1vZGFsIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuYWRkLXJlYXItc2l6ZSxcbiAgI25ld1NlYXJjaE1vZGFsIC5hZGQtcmVhci1zaXplIHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAwOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5hZGQtcmVhci1zaXplIGEsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5hZGQtcmVhci1zaXplIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLmFkZC1yZWFyLXNpemUgYTo6YWZ0ZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLmFkZC1yZWFyLXNpemUgYTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5yb290bGV2ZWxwcyxcbiAgICAjbmV3U2VhcmNoTW9kYWwgLnJvb3RsZXZlbHBzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLm9yYml0LWNvbnRhaW5lcixcbiAgI25ld1NlYXJjaE1vZGFsIC5vcmJpdC1jb250YWluZXIge1xuICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlIHtcbiAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlLFxuICAgICAgICAjbmV3U2VhcmNoTW9kYWwgLm9yYml0LWNvbnRhaW5lciAub3JiaXQtc2xpZGUge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5vcmJpdC1jb250YWluZXIgLm9yYml0LXNsaWRlLmlzLWFjdGl2ZSxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAub3JiaXQtY29udGFpbmVyIC5vcmJpdC1zbGlkZS5pcy1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnBhZ2VkaXJlY3QsXG4gICAgI25ld1NlYXJjaE1vZGFsIC5wYWdlZGlyZWN0IHtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnBhZ2VkaXJlY3QgaS5pY29uLWFuZ2xlLWxlZnQ6OmJlZm9yZSxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAucGFnZWRpcmVjdCBpLmljb24tYW5nbGUtbGVmdDo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMsXG4gICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9uczo6YmVmb3JlLCAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnM6OmFmdGVyLFxuICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9uczo6YmVmb3JlLFxuICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9uczo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnM6OmFmdGVyLFxuICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9uczo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMge1xuICAgICAgICBtYXJnaW4tdG9wOiAxNXB4OyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLFxuICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0czo6YmVmb3JlLCAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzOjphZnRlcixcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHM6OmJlZm9yZSxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHM6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogJyAnO1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0czo6YWZ0ZXIsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzOjphZnRlciB7XG4gICAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMsXG4gICAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy0xIC5yZXN1bHRzQ29sLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTEgLnJlc3VsdHNDb2wge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTIgLnJlc3VsdHNDb2wsXG4gICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtMiAucmVzdWx0c0NvbCB7XG4gICAgICAgIHdpZHRoOiA1MCU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy0zIC5yZXN1bHRzQ29sLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTMgLnJlc3VsdHNDb2wge1xuICAgICAgICB3aWR0aDogMzMuMyU7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy00IC5yZXN1bHRzQ29sLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cy5jb2x1bW5zLTQgLnJlc3VsdHNDb2wge1xuICAgICAgICB3aWR0aDogMjUlOyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzLmNvbHVtbnMtNSAucmVzdWx0c0NvbCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMuY29sdW1ucy01IC5yZXN1bHRzQ29sIHtcbiAgICAgICAgd2lkdGg6IDIwJTsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyAucmVzdWx0c0NvbCxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2wge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgNnB4OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JTbG90V3JhcHBlciAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2w6bGFzdC1jaGlsZCxcbiAgICAgICAgI25ld1NlYXJjaE1vZGFsIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyAucmVzdWx0c0NvbDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyAucmVzdWx0c0NvbCBhLFxuICAgICAgICAjbmV3U2VhcmNoTW9kYWwgLnNlbGVjdG9yX29wdGlvbnMgLnBhZ2luYXRlZF9yZXN1bHRzIC5yZXN1bHRzQ29sIGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAycHggNnB4OyB9XG4gICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIC5zZWxlY3Rvcl9vcHRpb25zIC5wYWdpbmF0ZWRfcmVzdWx0cyAucmVzdWx0c0NvbCBhOmhvdmVyLFxuICAgICAgICAgICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3Jfb3B0aW9ucyAucGFnaW5hdGVkX3Jlc3VsdHMgLnJlc3VsdHNDb2wgYTpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgICAgICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyID4gLnJvdyxcbiAgI25ld1NlYXJjaE1vZGFsID4gLnJvdyB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDI7IH1cblxuLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgaDMge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxLjA2MjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjA2MjVyZW07XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICBwYWRkaW5nOiA1cHggMCAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG5cbi53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDI1cHggMjBweCAyMHB4IDA7XG4gICAgbWluLWhlaWdodDogMTgycHg7XG4gICAgcGFkZGluZzogOHB4IDEwcHggOHB4IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIHtcbiAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7IH1cbiAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb246aG92ZXIge1xuICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2ZmNjkwMDsgfVxuICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiBpbWcge1xuICAgICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLndoZWVsdHlwZS1zZWxlY3Rvci1jb250YWluZXIgLndoZWVsdHlwZS1vcHRpb25zIC53aGVlbHR5cGUtb3B0aW9uIGltZyB7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgIG1pbi13aWR0aDogNTAlO1xuICAgICAgICAgIHBhZGRpbmc6IDAgMzBweCAwIDEwcHg7IH0gfVxuICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjA2MjVyZW07XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24gaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIC53aGVlbHR5cGUtb3B0aW9ucyAud2hlZWx0eXBlLW9wdGlvbiBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDZweCA2cHggMTVweCAwO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAud2hlZWx0eXBlLXNlbGVjdG9yLWNvbnRhaW5lciAud2hlZWx0eXBlLW9wdGlvbnMgLndoZWVsdHlwZS1vcHRpb24gcCB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgICBtYXJnaW46IDNweCAwIDA7IH0gfVxuXG4ud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBtYXJnaW4tdG9wOiAyMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIge1xuICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH0gfVxuXG4jUFNPdmVybGF5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMDtcbiAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAxOyB9XG4gICNQU092ZXJsYXkudmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpOyB9XG5cbi50cmFpbGVyLWJhbm5lci1zZWxlY3RvciAjUFNPdmVybGF5IHtcbiAgei1pbmRleDogMDsgfVxuXG5oMi5tb2JpbGUtbW9kYWwtdGl0bGUge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogIzAwMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZm9udC1zaXplOiAyMnB4O1xuICBoZWlnaHQ6IDY0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMCAyMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbiNwc01vYmlsZU1vZGFsLFxuI3BzTW9iaWxlIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgbWFyZ2luOiAwOyB9XG4gICNwc01vYmlsZU1vZGFsID4gbGkgPiBhLFxuICAjcHNNb2JpbGUgPiBsaSA+IGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwc01vYmlsZU1vZGFsID4gbGkgPiBhLFxuICAgICAgI3BzTW9iaWxlID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNwc01vYmlsZU1vZGFsID4gbGksXG4gICNwc01vYmlsZSA+IGxpIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwc01vYmlsZU1vZGFsID4gbGksXG4gICAgICAjcHNNb2JpbGUgPiBsaSB7XG4gICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgI3BzTW9iaWxlTW9kYWwgPiBsaTpmaXJzdC1jaGlsZCxcbiAgICAjcHNNb2JpbGUgPiBsaTpmaXJzdC1jaGlsZCB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAjcHNNb2JpbGVNb2RhbCA+IGxpIGEsXG4gICAgI3BzTW9iaWxlID4gbGkgYSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgICAgI3BzTW9iaWxlTW9kYWwgPiBsaSBhLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIsXG4gICAgICAjcHNNb2JpbGUgPiBsaSBhLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgI3BzTW9iaWxlTW9kYWwgLm1lbnUubmVzdGVkLFxuICAjcHNNb2JpbGUgLm1lbnUubmVzdGVkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLWxlZnQge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxlZnQ6IDA7XG4gICAgbWFyZ2luOiAwIGF1dG8gMzVweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNDVweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLWxlZnQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogNTAlOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtbGVmdCBoMiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMi44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDQuMTg3NXJlbTsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLWxlZnQgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICBtYXJnaW46IDEwcHggMCAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JXcmFwcGVyIC5wcy1sZWZ0IHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yV3JhcHBlciAucHMtcmlnaHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIgLnBzLXJpZ2h0IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgd2lkdGg6IDUwJTsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG1heC13aWR0aDogMTAwJTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IDYxMHB4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuaW5wYWdlIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LmlucGFnZSAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LmlucGFnZSAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUudHJhaWxlci10aXJlLWhpbnQge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5pbnBhZ2UgLnZlaGljbGVTZWxlY3RvckZpbmRUaXJlLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3RvciB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3RvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci5hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci10YWIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLXRhYiBkaXY6bm90KC5zZWxlY3Rvci1kZXNjcmlwdGlvbiksXG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLXRhYiBidXR0b24ge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItdGFiOmZpcnN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItdGFiOmhvdmVyOjpiZWZvcmUge1xuICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGJvdHRvbTogMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWltYWdlIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICBtYXgtd2lkdGg6IDExMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTIwcHg7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1pbWFnZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgIHdpZHRoOiA1NiU7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiBoMyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiBoMyB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5tYWluLXNlbGVjdG9yLXRhYiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGZvbnQtc2l6ZTogMS4xODc1cmVtO1xuICAgIGhlaWdodDogNDRweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgIHBhZGRpbmc6IDAgMjBweDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5tYWluLXNlbGVjdG9yLXRhYjpmaXJzdC1jaGlsZCB7XG4gICAgICBib3R0b206IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWIuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBoZWlnaHQ6IDQ4cHg7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5tYWluLXNlbGVjdG9yLXRhYi5hY3RpdmUgYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAubWFpbi1zZWxlY3Rvci10YWIgYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3ItdGFicyB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmxvb2tpbmctZm9yLW90aGVyLXRpcmVzIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMzBweDsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5sb29raW5nLWZvci1vdGhlci10aXJlcy50cmFpbGVyLXBhZ2UtcmVkaXJlY3Qge1xuICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgcmlnaHQ6IDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmxvb2tpbmctZm9yLW90aGVyLXRpcmVzLnRyYWlsZXItcGFnZS1yZWRpcmVjdCB7XG4gICAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5sb29raW5nLWZvci1vdGhlci10aXJlcy50cmFpbGVyLXBhZ2UtcmVkaXJlY3QgLmxvb2tpbmctZm9yLW90aGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvciB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3Iuc3RhZ2dlcmVkLWFjdGl2ZVtkYXRhLWZyb250cmVhcj1cImZyb250XCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3Rvci5zdGFnZ2VyZWQtYWN0aXZlW2RhdGEtZnJvbnRyZWFyPVwicmVhclwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yIHtcbiAgICAgICAgbWluLWhlaWdodDogMjIwcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvcltkYXRhLWNhdGVnb3J5aWQ9XCJ0aXJlc1wiXSB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH1cbiAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtY2F0ZWdvcnlpZD1cInRpcmVzXCJdIC5hZGQtcmVhci1zaXplLFxuICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1jYXRlZ29yeWlkPVwidGlyZXNcIl0gLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlciB7XG4gICAgICAgICAgICBib3R0b206IC0xNXB4OyB9IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3IgLmZyb250LXJlYXItbW9iaWxlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3Iuc3RhZ2dlcmVkLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnByb2R1Y3RTZWxlY3Rvci5zdGFnZ2VyZWQtYWN0aXZlIC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3JfY2xvc2Uge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX2Nsb3NlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhcjo6YmVmb3JlLCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhcjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhcjo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAxMnB4OyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyIGEge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIgPiBkaXYge1xuICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXIgPiBkaXYgYSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuZnJvbnQtcmVhciA+IGRpdjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7IH1cbiAgICAgICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyID4gZGl2OmZpcnN0LWNoaWxkIGEge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyLnN0YWdnZXJlZC1hY3RpdmUge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyLmFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyID4gZGl2LmFjdGl2ZSBhIHtcbiAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLmZyb250LXJlYXItbW9iaWxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5mcm9udC1yZWFyLW1vYmlsZSAucmVhciB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5wcm9kdWN0U2VsZWN0b3JbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhLCAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAucHJvZHVjdFNlbGVjdG9yW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5hZGQtcmVhci1zaXplLWN0YS5tb2JpbGUtb25seSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuYWRkLXJlYXItc2l6ZS1jdGEubW9iaWxlLW9ubHkgLmFkZC1yZWFyLXNpemUge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5hZGQtcmVhci1zaXplLWN0YS5tb2JpbGUtb25seSAuYWRkLXJlYXItc2l6ZSBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuYWRkLXJlYXItc2l6ZS1jdGEubW9iaWxlLW9ubHkgLmFkZC1yZWFyLXNpemUgYTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDE1cHggMTVweCAxMHB4OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIC5maW5kVGlyZVNpemVNb2RhbFRyaWdnZXIge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICAgIGNvbG9yOiAjMDAwICFpbXBvcnRhbnQ7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICBsaW5lLWhlaWdodDogcmVtLWNhbCgxOCk7XG4gICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSBhLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6ICNmZjY5MDAgIWltcG9ydGFudDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgcGFkZGluZzogMTVweCAwIDZweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUgYS53aGVlbHNGb3JXaW50ZXJDb25kaXRpb25zTW9kYWxUcmlnZ2VyIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICB3aWR0aDogMzBweDsgfVxuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIGEucGFnZWRpcmVjdCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUgLnJlc3VsdHNDb2wge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHM6OmJlZm9yZSwgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMge1xuICAgICAgcGFkZGluZy1yaWdodDogMzBweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcCB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXAge1xuICAgICAgICB3aWR0aDogYXV0bzsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXA6OmJlZm9yZSB7XG4gICAgICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgIHRvcDogLTJweDsgfVxuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXA6Zmlyc3QtY2hpbGQ6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwW2RhdGEtY3VycmVudC1rZXk9VkVISUNMRV9OQU1FXSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwLmNob3NlbiBhIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjsgfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcCA+IGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXAgPiBhIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH0gfVxuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcCAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5zdGVwOmZpcnN0LWNoaWxkIC5zdGVwbGluayB7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXA6Zmlyc3QtY2hpbGQgLnN0ZXBsaW5rIHtcbiAgICAgICAgICBib3JkZXI6IDA7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLmN1cnJlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIHtcbiAgICBkaXNwbGF5OiBmbGV4ICFpbXBvcnRhbnQ7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLmN1cnJlbnQgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQgLnNlbGVjdG9yX3N0ZXBzIC5jdXJyZW50IGEge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuY2hvc2VuIGEge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuY2hvc2VuIC5zZWxlY3Rvcl9vcHRpb25zX21vYmlsZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50IC5zZWxlY3Rvcl9zdGVwcyAuc3RlcGxpbmsge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCAuc2VsZWN0b3Jfc3RlcHMgLnN0ZXBsaW5rIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbWluLWhlaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDsgfSB9XG5cbi5pbmxpbmUtcXVlc3Rpb24tbWFyayB7XG4gIGRpc3BsYXk6IGlubGluZS1ib3g7XG4gIG1hcmdpbjogMCAwIDAgMTBweDsgfVxuICAuaW5saW5lLXF1ZXN0aW9uLW1hcmsgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IC0ycHg7XG4gICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5uZXdzZWFyY2gtdGlyZXNlbGVjdGlvbiB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBhZGRpbmc6IDAgMjVweCAwIDIwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgLnBkcC1tYWluIC5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gICAgcGFkZGluZzogNTBweCAwIDEwcHg7IH0gfVxuXG4ucHNyZXN1bHRzLXdyYXBwZXIge1xuICBwYWRkaW5nOiA1MHB4IDAgMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyLnNtYWxsLXRvcCB7XG4gICAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW07IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlci5zbWFsbC10b3AgLnBzcmVzdWx0cy10aXRsZS1ib3JkZXIge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYzsgfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyLnNtYWxsLXRvcCBoMi5wc3Jlc3VsdHMtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMDsgfSB9XG4gIC5wc3Jlc3VsdHMtd3JhcHBlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDI2cHg7IH0gfVxuICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbGVjdGlvbi1pbmZvcm1hdGlvbiB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbGVjdGlvbi1pbmZvcm1hdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLXdyYXAge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgcGFkZGluZzogMTBweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLXdyYXAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICB3aWR0aDogMjFweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZS1jb2wge1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICB0b3A6IDIwcHg7XG4gICAgICB6LWluZGV4OiAxOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlLWNvbCB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3gtc2l6aW5nOiBpbml0aWFsO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuY2FyLWltYWdlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDUwcHgpOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtaW4td2lkdGg6IDBcXDApIHtcbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSB7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2Uge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2UgLmxvYWRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfSB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2UgcCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLmNhci1pbWFnZSAucHMtcmVzdWx0cy1pbWFnZS10aXAge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IC0xOHB4O1xuICAgICAgdG9wOiAtOHB4O1xuICAgICAgd2lkdGg6IDIycHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2UgLnBzLXJlc3VsdHMtaW1hZ2UtdGlwIHtcbiAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICB0b3A6IDA7IH0gfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5jYXItaW1hZ2UgLnBzLXJlc3VsdHMtaW1hZ2UtdGlwIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgaGVpZ2h0OiAxNnB4O1xuICAgICAgICB3aWR0aDogMTZweDsgfVxuICAucHNyZXN1bHRzLXdyYXBwZXIgLm1pbmltaXplZC12ZWhpY2xlLXZpenVhbGl6ZXIgLnNlbC10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5taW5pbWl6ZWQtdmVoaWNsZS12aXp1YWxpemVyIC5zZWwtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLm1pbmltaXplZC12ZWhpY2xlLXZpenVhbGl6ZXIgLnNlbC10aXRsZSBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5taW5pbWl6ZWQtdmVoaWNsZS12aXp1YWxpemVyIC5zZWwtdGl0bGUgYSB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAubWluaW1pemVkLXZlaGljbGUtdml6dWFsaXplciAuc2VsLXRpdGxlIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTsgfSB9XG4gIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93LmxlZnQtYXJyb3c6OmJlZm9yZSB7XG4gICAgICBib3JkZXItYm90dG9tOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxMnB4IHNvbGlkICNmZmY7XG4gICAgICBib3JkZXItdG9wOiAxMnB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBoZWlnaHQ6IDA7XG4gICAgICBsZWZ0OiAtMTJweDtcbiAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHRvcDogMDtcbiAgICAgIHdpZHRoOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93LmxlZnQtYXJyb3c6OmJlZm9yZSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5pbml0LXNlbGVjdG9yIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmluaXQtc2VsZWN0b3Ige1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI5cHg7IH0gfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5pbmZvLW1vZGFsIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmluZm8tbW9kYWwgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlciB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgcGFkZGluZzogMCAwIDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyB7XG4gICAgICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8ge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDsgfSB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIC5zZWwtdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIC5zZWwtdGl0bGUge1xuICAgICAgICAgICAgbWluLWhlaWdodDogNTZweDsgfSB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIC5zZWwtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLmxlZnQtaW5mbyAuc2VsLXRpdGxlLm5vbWluaGVpZ2h0IHtcbiAgICAgICAgICBtaW4taGVpZ2h0OiBpbml0aWFsOyB9XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5sZWZ0LWluZm8gLnNlbC10aXRsZSBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAubGVmdC1pbmZvIC5zZWwtdGl0bGUgYTpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5zZWwtc3VidGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtYXJnaW46IDVweCAwIDA7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiA1MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuNzE4NzVyZW07XG4gICAgICAgICAgbGluZS1oZWlnaHQ6IDE2LjVweDsgfSB9XG4gICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAuc2VsLXN1YnRpdGxlIHN0cm9uZyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH1cbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5zZWwtc3VidGl0bGUgc3BhbiB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBkb3R0ZWQgI2ZmNjkwMDsgfVxuICAgICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnNlbC1zdWJ0aXRsZSAuc2VwYXJhdG9yIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wc3Jlc3VsdHMtd3JhcHBlciAuc2VsLWluZm8ucm93IC5yaWdodC1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIC5zZWwtaW5mby5yb3cgLnJpZ2h0LWluZm8gPiBkaXYge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAucHNyZXN1bHRzLXdyYXBwZXIgLnNlbC1pbmZvLnJvdyAucmlnaHQtaW5mbyA+IGRpdiB7XG4gICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgICAgIGhlaWdodDogMTAwJTsgfSB9XG5cbi50aXJlLXR5cGUtY29udGVudCAjcHJvZHVjdEdyaWRVcmwge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAubGVmdC1pY29uLXdyYXBwZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEycHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbjogMDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLmxlZnQtaWNvbi13cmFwcGVyIFtjbGFzc149XCJpY29uLVwiXSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgZm9udC1zaXplOiAyM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMTJweDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLnZjZW50ZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcyB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDYwcHg7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzLnBhY2thZ2VzIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aCB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGggPiBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAxLjNyZW07IH0gfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCAjZTZlNmU2O1xuICAgIHBhZGRpbmc6IDQwcHggMjBweCAzMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAxMDBtczsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAgLmltYWdlIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9IH1cbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwIC5pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCAuZ3VpZGVkLXNlY3Rpb24taGVhZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwIC5ndWlkZWQtc2VjdGlvbi1oZWFkIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcCAuYXJyb3cge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjtcbiAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luLWxlZnQ6IC0zMHB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdHJhbnNmb3JtOiByb3RhdGUoNDVkZWcpO1xuICAgICAgd2lkdGg6IDQwcHg7IH1cbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwLmFjdGl2ZSB7XG4gICAgICBvcGFjaXR5OiAxOyB9XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoLmNhdGVnb3J5LXNlbGVjdC1maXJzdC1zdGVwLmFjdGl2ZSArIC50aXJlLXR5cGVzIHtcbiAgICAgICAgb3BhY2l0eTogMTsgfVxuICAgIC50aXJlLXR5cGUtY29udGVudCAudGlyZXMtZ3VpZGVkLXBhdGguY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXA6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogI2U2ZTZlNjsgfVxuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aC5jYXRlZ29yeS1zZWxlY3QtZmlyc3Qtc3RlcDpob3ZlciAuYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y2YTU4MzsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmVzLWd1aWRlZC1wYXRoIGltZyB7XG4gICAgaGVpZ2h0OiA1MHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlcy1ndWlkZWQtcGF0aCAuYnV0dG9uIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAubWlkLWxpbmUtY29weSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDE2cHg7XG4gIG1hcmdpbjogMjVweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudGlyZS10eXBlLWNvbnRlbnQgLm1pZC1saW5lLWNvcHkge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgbWFyZ2luOiA1MHB4IDA7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC5taWQtbGluZS1jb3B5IHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbi50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQge1xuICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQ6OmJlZm9yZSwgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnRpcmUtdHlwZXMtc2VjdGlvbi1oZWFkOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZCBoMyB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC50aXJlLXR5cGUtY29udGVudCAudGlyZS10eXBlcy1zZWN0aW9uLWhlYWQgcCB7XG4gICAgZm9udC1zaXplOiAxNnB4OyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAuY2F0ZWdvcnktY29sdW1uLXdyYXBwZXIge1xuICBwYWRkaW5nLWJvdHRvbTogMTVweDsgfVxuXG4udGlyZS10eXBlLWNvbnRlbnQgLmNhdC10eXBlcy1jdGEge1xuICBtYXJnaW4tdG9wOiAzNXB4OyB9XG5cbi50aXJlLXR5cGUtY29udGVudCAucmVzdWx0X2J0biB7XG4gIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aXJlLXR5cGUtY29udGVudCAucmVzdWx0X2J0biB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5yZXN1bHRfYnRuIGJ1dHRvbiB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbjogMDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAucmVzdWx0X2J0biAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgYmFja2dyb3VuZDogIzgwODI4NTtcbiAgICBib3JkZXI6IDA7IH1cblxuLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCB7XG4gIGJvcmRlcjogNXB4IHNvbGlkICNmMmYyZjI7XG4gIGJvcmRlci1sZWZ0LXdpZHRoOiA4cHg7XG4gIG1hcmdpbjogMCAwIDE1cHg7XG4gIHBhZGRpbmc6IDE1cHggNzBweCAxNXB4IDMwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3g6aG92ZXIge1xuICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDEzcHg7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3g6aG92ZXIgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgIGxlZnQ6IC0xM3B4O1xuICAgICAgICB3aWR0aDogMTNweDsgfSB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggbGFiZWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgbGVmdDogLTIwMHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IGgzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDsgfSB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBoMyBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBmb250LXNpemU6IDIzcHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IC0zcHg7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCBwLFxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC5oYXMtdGlwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggcCxcbiAgICAgIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggLmhhcy10aXAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IHAge1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IHAge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMTJweDsgfSB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggLmhhcy10aXAge1xuICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCAuaGFzLXRpcDpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgIzAwMDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94IC5mYSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3R0b206IDA7XG4gICAgY29sb3I6ICNmMmYyZjI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdG9wOiAwOyB9XG4gICAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveCAuZmE6OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZjJmMmYyO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgcGFkZGluZzogNXB4OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3ggLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSArIDEwcHgpO1xuICAgIGxlZnQ6IC04cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLTVweDtcbiAgICB3aWR0aDogOHB4OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItYWxsLXdlYXRoZXIgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogI2JmMWE4ZDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLXdpbnRlciAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjMjBjM2YzOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItMy1zZWFzb24gLnRpcmV0eXBlLWluZGljYXRvciwgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci1hbGwtc2Vhc29uIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICNmYmIxMTY7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci1wZXJmb3JtYW5jZSAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjNjM1M2EzOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItdG91cmluZyAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDBhNjUxOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItbXVkLXRlcnJhaW4gLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgYmFja2dyb3VuZDogIzQyMjgwMDsgfVxuICAudGlyZS10eXBlLWNvbnRlbnQgLnNlbGVjdG9yX2NoZWNrYm94LmNhdGNvbG9yLXNwb3J0LXRydWNrIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgIGJhY2tncm91bmQ6ICM5ZWNmN2M7IH1cbiAgLnRpcmUtdHlwZS1jb250ZW50IC5zZWxlY3Rvcl9jaGVja2JveC5jYXRjb2xvci1hbGwtdGVycmFpbiAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjN2E1MjI2OyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItY29tbWVyY2lhbCAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjYTdhOWFjOyB9XG4gIC50aXJlLXR5cGUtY29udGVudCAuc2VsZWN0b3JfY2hlY2tib3guY2F0Y29sb3ItdWx0cmEtaGlnaC1wZXJmb3JtYW5jZSAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjYTQ5OWNhOyB9XG5cbi5zZWxlY3Rvcl9jaGVja2JveC5zZWxlY3RlZCAuZmEge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuc2VsZWN0b3JfY2hlY2tib3guc2VsZWN0ZWQgLmZhOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMDsgfVxuXG4udG9vbHRpcC5vZW0tdGlwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWF4LXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRvb2x0aXAub2VtLXRpcDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAjZmY2OTAwOyB9XG4gIC50b29sdGlwLm9lbS10aXAgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gIC50b29sdGlwLm9lbS10aXAgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAudG9vbHRpcC5vZW0tdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLm9lbS10aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZjY5MDAgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IH1cbiAgLnRvb2x0aXAub2VtLXRpcC5yaWdodDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7IH1cbiAgLnRvb2x0aXAub2VtLXRpcC5sZWZ0OjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkOyB9XG5cbi50b29sdGlwLmNhdHR5cGUtdGlwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWF4LXdpZHRoOiAzODBweCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDA7IH1cbiAgLnRvb2x0aXAuY2F0dHlwZS10aXA6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmNjkwMDsgfVxuICAudG9vbHRpcC5jYXR0eXBlLXRpcCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJvcmRlci1ib3R0b206IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDE1cHg7IH1cbiAgICAudG9vbHRpcC5jYXR0eXBlLXRpcCBwIGltZyB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1heC13aWR0aDogMTMwcHg7IH1cbiAgLnRvb2x0aXAuY2F0dHlwZS10aXAudG9wOjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IH1cbiAgLnRvb2x0aXAuY2F0dHlwZS10aXAuYm90dG9tOjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZjY5MDAgdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7IH1cbiAgLnRvb2x0aXAuY2F0dHlwZS10aXAucmlnaHQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgI2ZmZiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkOyB9XG4gIC50b29sdGlwLmNhdHR5cGUtdGlwLmxlZnQ6OmJlZm9yZSB7XG4gICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgI2ZmZjtcbiAgICBib3JkZXItbGVmdC1zdHlsZTogc29saWQ7IH1cblxuLnRvb2x0aXAuZGlzYWJsZWQtZW1haWwtdGlwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCAwIDU1cHggLTE2cHggcmdiYSgwLCAwLCAwLCAwLjc1KTtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWF4LXdpZHRoOiAyNDZweCAhaW1wb3J0YW50O1xuICBtaW4td2lkdGg6IDI0NnB4ICFpbXBvcnRhbnQ7XG4gIHBhZGRpbmc6IDE1cHg7IH1cbiAgLnRvb2x0aXAuZGlzYWJsZWQtZW1haWwtdGlwOjpiZWZvcmUge1xuICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICNmZmY7IH1cbiAgLnRvb2x0aXAuZGlzYWJsZWQtZW1haWwtdGlwIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAwIDJweDsgfVxuICAudG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXAgLm9yYW5nZS1waG9uZSxcbiAgLnRvb2x0aXAuZGlzYWJsZWQtZW1haWwtdGlwIC5wYWxlLWdyZXktdGV4dCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAudG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXAgLm9yYW5nZS1waG9uZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtOyB9XG4gIC50b29sdGlwLmRpc2FibGVkLWVtYWlsLXRpcCAucGFsZS1ncmV5LXRleHQge1xuICAgIGNvbG9yOiAjODA4Mjg1OyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIge1xuICBkaXNwbGF5OiBub25lOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcEFuc3dlci5zZWxlY3RlZCB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2ZmNjkwMDsgfVxuXG4ucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIge1xuICBwYWRkaW5nOiA2MHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiA5MHB4IDA7IH0gfVxuICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgaDIge1xuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTdweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIGgzIHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7IH0gfVxuICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wcy1sYW5kaW5nLWNvbnRlbnQtd3JhcHBlciBwIHtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cbiAgLnBzLWxhbmRpbmctY29udGVudC13cmFwcGVyIC5yb3cgPiBkaXYge1xuICAgIG1hcmdpbi1ib3R0b206IDQ1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIgLnJvdyA+IGRpdiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4jb2VtYXJraW5nTW9kYWwge1xuICBib3JkZXI6IDA7XG4gIG1heC13aWR0aDogMzgwcHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgI29lbWFya2luZ01vZGFsIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI29lbWFya2luZ01vZGFsIHAge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDE1cHg7IH1cbiAgI29lbWFya2luZ01vZGFsIC5vZW1hcmtpbmdNb2RhbEN0YSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbiNmaXRtZW50TW9kYWwge1xuICBib3JkZXI6IDA7XG4gIG1heC13aWR0aDogMzgwcHg7XG4gIHBhZGRpbmc6IDA7IH1cbiAgI2ZpdG1lbnRNb2RhbCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNmaXRtZW50TW9kYWwgcCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmc6IDAgMTVweDsgfVxuICAjZml0bWVudE1vZGFsIC5maXRtZW50TW9kYWxDdGEge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4ucmV2ZWFsLnZjZW50ZXIge1xuICBsZWZ0OiA1MCUgIWltcG9ydGFudDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJSAhaW1wb3J0YW50O1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IHtcbiAgbWF4LXdpZHRoOiA3NzRweDsgfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZS13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlLXdyYXBwZXIge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaG9pY2Uge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4OiAwIDAgMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi10b3A6IDE1cHg7XG4gIG1pbi1oZWlnaHQ6IDE4MnB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlIHtcbiAgICAgIGZsZXg6IDEgMSA1MCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAycHg7XG4gICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgbWFyZ2luLXRvcDogMzBweDtcbiAgICAgIHdpZHRoOiAzNDdweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxMDBweDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNob2ljZTpob3ZlciAuY2hlY2staWNvbiB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZmZmOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlW2RhdGEtdmFsdWU9XCJZZXNcIl0ge1xuICAgIG9yZGVyOiAxOyB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hvaWNlW2RhdGEtdmFsdWU9XCJOb1wiXSB7XG4gICAgb3JkZXI6IDI7IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5jaGVjay1pY29uIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2RlZGVkZTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICBoZWlnaHQ6IDE5cHg7XG4gIG1hcmdpbjogMTBweCAxMHB4IDA7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDA7XG4gIHRvcDogMDtcbiAgd2lkdGg6IDE5cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hlY2staWNvbiB7XG4gICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICBtYXJnaW46IDE1cHggMTVweCAwO1xuICAgICAgd2lkdGg6IDI3cHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNoZWNrLWljb24uc2VsZWN0ZWQge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7IH1cbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLmNoZWNrLWljb24uc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHdpZHRoOiAxNnB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuY2hlY2staWNvbi5zZWxlY3RlZDo6YmVmb3JlIHtcbiAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgd2lkdGg6IDI1cHg7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnByb2R1Y3RTZWxlY3RvciBoMyB7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5wcm9kdWN0U2VsZWN0b3IgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICAgIHRleHQtYWxpZ246IGxlZnQ7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLXRhYiB7XG4gIHBhZGRpbmc6IDIwcHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci10YWIge1xuICAgICAgcGFkZGluZzogMjhweCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLWltYWdlIHtcbiAgICBtYXJnaW4tbGVmdDogMzBweDtcbiAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIG1pbi13aWR0aDogMjUwcHg7IH0gfVxuXG4jcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIHtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIHtcbiAgICAgIG1heC13aWR0aDogMTg3cHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIGgzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiBoMyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnNlbGVjdG9yLWRlc2NyaXB0aW9uIC5idXR0b24ge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gICAgbWF4LXdpZHRoOiAxMzdweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuc2VsZWN0b3ItZGVzY3JpcHRpb24gLmJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5zZWxlY3Rvci1kZXNjcmlwdGlvbiAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgcGFkZGluZzogMTJweCAxMHB4OyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC50aXJlX21vdW50IHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBjb2xvcjogIzkxOTE5MTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC50aXJlX21vdW50IHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC50aXJlX21vdW50IC5jaG9pY2U6Zmlyc3QtY2hpbGQge1xuICBvcmRlcjogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC50aXJlX21vdW50IC5jaG9pY2U6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC50aXJlX21vdW50IC5jaG9pY2U6bGFzdC1jaGlsZCB7XG4gIG9yZGVyOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLnRpcmVfbW91bnQgLmNob2ljZTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMTRweDsgfSB9XG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuVkVISUNMRV9UWVBFXzEgLmNob2ljZSB7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5WRUhJQ0xFX1RZUEVfMSAuY2hvaWNlIGltZyB7XG4gICAgbWF4LXdpZHRoOiAxODBweDsgfVxuICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudC5zZXJ2aWNlLXNlbGVjdG9yLWNvbnRlbnQgLlZFSElDTEVfVFlQRV8xIC5jaG9pY2UgcCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IC5WRUhJQ0xFX1RZUEVfMSAuY2hvaWNlOmZpcnN0LWNoaWxkIHtcbiAgICBvcmRlcjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuVkVISUNMRV9UWVBFXzEgLmNob2ljZTpmaXJzdC1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTRweDsgfSB9XG4gICNwcm9kdWN0U2VsZWN0b3JDb250ZW50LnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCAuVkVISUNMRV9UWVBFXzEgLmNob2ljZTpsYXN0LWNoaWxkIHtcbiAgICBvcmRlcjogMTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNjaG9pY2VNb2RhbC5yZXZlYWwge1xuICAgIG1heC13aWR0aDogNDY3cHg7IH0gfVxuXG4jY2hvaWNlTW9kYWwgc3Ryb25nIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjY2hvaWNlTW9kYWwgc3Ryb25nIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyNXB4OyB9IH1cblxuI2Nob2ljZU1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgcGFkZGluZzogMzBweCAyMHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNjaG9pY2VNb2RhbCAubW9kYWwtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiA0MHB4IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNjaG9pY2VNb2RhbCAuYnV0dG9uIHtcbiAgICBtYXgtd2lkdGg6IDEzMHB4OyB9IH1cblxuLnBhZ2luYXRpb24ge1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG4gIC5wYWdpbmF0aW9uIHVsIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnBhZ2luYXRpb24gbGkge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDEycHggMCAwO1xuICAgIHBhZGRpbmc6IDlweDsgfVxuICAgIC5wYWdpbmF0aW9uIGxpIGEge1xuICAgICAgcGFkZGluZzogMDsgfVxuICAucGFnaW5hdGlvbiAuY3VycmVudC1wYWdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbi5zdG9yZXMtcGFnaW5hdGlvbiAucGFnaW5hdGlvbiAuY3VycmVudCB7XG4gIHBhZGRpbmc6IDlweDsgfVxuICAuc3RvcmVzLXBhZ2luYXRpb24gLnBhZ2luYXRpb24gLmN1cnJlbnQgYSB7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgY3Vyc29yOiBpbmhlcml0OyB9XG4gICAgLnN0b3Jlcy1wYWdpbmF0aW9uIC5wYWdpbmF0aW9uIC5jdXJyZW50IGE6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuZ3JpZC10aWxlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZ3JpZC10aWxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAuZ3JpZC10aWxlLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmdyaWQtdGlsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA0NXB4OyB9IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAuZ3JpZC10aWxlLm5ldy1yb3c6Zmlyc3Qtb2YtdHlwZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZ3JpZC10aWxlLm5ldy1yb3c6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgZmxleDogMTsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtY29udGVudCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAwIGF1dG87XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWNvbnRlbnQ6OmJlZm9yZSwgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWNvbnRlbnQ6OmFmdGVyLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUtY29udGVudDo6YmVmb3JlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUtY29udGVudDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtY29udGVudDo6YWZ0ZXIsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZS1jb250ZW50OjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBib3JkZXI6IDNweCBzb2xpZCAjZjJmMmYyO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBoZWlnaHQ6IDEwMCU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbGluay1hYm92ZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWxpbmstYWJvdmUge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMjsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLmxpbmstYWJvdmUtcHJvZHVjdCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5saW5rLWFib3ZlLXByb2R1Y3Qge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmZjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgei1pbmRleDogMzsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAubGluay1hYm92ZS1wcm9kdWN0OmhvdmVyLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAubGluay1hYm92ZS1wcm9kdWN0OmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmNmE1ODM7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlOmhvdmVyOm5vdCgucHJvZHVjdC10aWxlLWFjdGl2ZSk6bm90KC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyKSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlOmhvdmVyOm5vdCgucHJvZHVjdC10aWxlLWFjdGl2ZSk6bm90KC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyKSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzU3NTc1OyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlOmhvdmVyOm5vdCgucHJvZHVjdC10aWxlLWFjdGl2ZSk6bm90KC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyKSAucmVjb21tZW5kZWQtYmFnZGUsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlOmhvdmVyOm5vdCgucHJvZHVjdC10aWxlLWFjdGl2ZSk6bm90KC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyKSAucmVjb21tZW5kZWQtYmFnZGUge1xuICAgICAgYmFja2dyb3VuZDogI2Q5ZDlkYTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZTpob3Zlcjpub3QoLnByb2R1Y3QtdGlsZS1hY3RpdmUpOm5vdCgucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlcikgLnByb2R1Y3QtY29tcGFyZSBsYWJlbCxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGU6aG92ZXI6bm90KC5wcm9kdWN0LXRpbGUtYWN0aXZlKTpub3QoLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIpIC5wcm9kdWN0LWNvbXBhcmUgbGFiZWwge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGU6bm90KC5pc01hc3RlclByb2R1Y3QpIC5wcm9kdWN0LXByaWNpbmcsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlOm5vdCguaXNNYXN0ZXJQcm9kdWN0KSAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtOyB9IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5yZWNvbW1lbmRlZC1iYWdkZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgcGFkZGluZzogM3B4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvbW8tYmFkZ2UsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvbW8tYmFkZ2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIG1hcmdpbjogMCA3cHg7XG4gICAgcGFkZGluZzogNXB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDdweDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYmFkZ2UsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1iYWRnZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgNnB4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAxOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICB3b3JkLXdyYXA6IGJyZWFrLXdvcmQ7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSAuYnJhbmQtbmFtZSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSAuYnJhbmQtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIGEsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnYtdmlldy1vbi12ZWhpY2xlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnYtdmlldy1vbi12ZWhpY2xlIHtcbiAgICBtaW4taGVpZ2h0OiA2NXB4OyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC52LXZpZXctb24tdmVoaWNsZSAuYnV0dG9uLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAudi12aWV3LW9uLXZlaGljbGUgLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2Uge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlOjpiZWZvcmUsIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YWZ0ZXIsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlOjpiZWZvcmUsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZTo6YWZ0ZXIsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZSAucmViYXRlIH4gLnByaWNlLXNhbGVzLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljZSAucmViYXRlIH4gLnByaWNlLXNhbGVzIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucHJpY2Utc2FsZXMsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZSAucHJpY2Utc2FsZXMge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIG1hcmdpbjogMCA1cHggMCAwOyB9XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZSAucmViYXRlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXRpbGUgLnJlYmF0ZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLmFkZC1hbGwtdG8tY2FydCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlIC5hZGQtYWxsLXRvLWNhcnQge1xuICAgIGhlaWdodDogNjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgYm9yZGVyOiAzcHggc29saWQgI2NjYztcbiAgZGlzcGxheTogZmxleDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAzMHB4IDEwcHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLXRpdGxlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbixcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiB7XG4gICAgcGFkZGluZzogMTVweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIGg0LFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaDQge1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBwLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gcCB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBpLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAyLjVyZW07IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaTo6YmVmb3JlLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBpOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1pbWFnZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtaW1hZ2Uge1xuICBtYXJnaW46IDE1cHggMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWltYWdlIC50aHVtYi1saW5rLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWltYWdlIC50aHVtYi1saW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtaGVpZ2h0OiAyMTVweDtcbiAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtaW1hZ2UgLnRodW1iLWxpbmssXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWltYWdlIC50aHVtYi1saW5rIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTk1cHg7XG4gICAgICAgIG1heC13aWR0aDogMTk1cHg7IH0gfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC50ZXN0ZWQtYnlrYWwtYmFkZ2UsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICBtaW4taGVpZ2h0OiAyMHB4OyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtbmFtZSAuYnJhbmQtbmFtZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtbmFtZSAuYnJhbmQtbmFtZSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtYXR0cmlidXRlcyAubmFtZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtYXR0cmlidXRlcyAubmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUge1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdGVnb3J5LFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1hdHRyaWJ1dGVzIC5jYXRlZ29yeSB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5jYXRlZ29yaWVzLWJveCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNhdGVnb3JpZXMtYm94IHtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMTBweCAwIDE1cHg7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAubm90LWF2YWlsYWJsZS1tc2csXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5ub3QtYXZhaWxhYmxlLW1zZyB7XG4gIGNvbG9yOiAjZjAwO1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5hdmFpbGFiaWxpdHktbXNnLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXZhaWxhYmlsaXR5LW1zZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAuYXZhaWxhYmlsaXR5LW1zZyxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hdmFpbGFiaWxpdHktbXNnIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAuYXZhaWxhYmlsaXR5LW1zZyAuYXZhaWxhYmlsaXR5LWxhYmVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hdmFpbGFiaWxpdHktbXNnIC5hdmFpbGFiaWxpdHktbGFiZWwge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXNpemUsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXNpemUge1xuICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3Qtc2l6ZSxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXNpemUge1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXNpemUgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXNpemUgLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1wcmljaW5nLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC1wcmljaW5nIHtcbiAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtcHJpY2luZyxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmlzTWFzdGVyUHJvZHVjdCAucHJvZHVjdC1wcmljaW5nLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuaXNNYXN0ZXJQcm9kdWN0IC5wcm9kdWN0LXByaWNpbmcge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLmlzTWFzdGVyUHJvZHVjdCAubWFzdGVyLXByb2R1Y3QtcHJpY2UsXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5pc01hc3RlclByb2R1Y3QgLnJlYmF0ZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmlzTWFzdGVyUHJvZHVjdCAubWFzdGVyLXByb2R1Y3QtcHJpY2UsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5pc01hc3RlclByb2R1Y3QgLnJlYmF0ZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5pc01hc3RlclByb2R1Y3QgLnJlYmF0ZSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmlzTWFzdGVyUHJvZHVjdCAucmViYXRlIHtcbiAgZmxvYXQ6IG5vbmU7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAudmlldy1vbi12ZWhpY2xlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudmlldy1vbi12ZWhpY2xlIHtcbiAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAuc2l6ZS1wcmljZS1xdHktYm94LFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuc2l6ZS1wcmljZS1xdHktYm94IHtcbiAgbWFyZ2luOiBhdXRvIDAgMDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5zaXplLXByaWNlLXF0eS1ib3ggLnByb2R1Y3Qtc2l6ZSAuYm94LXNwYWNpbmc6Zmlyc3Qtb2YtdHlwZSxcbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAuc2l6ZS1wcmljZS1xdHktYm94IC5wcm9kdWN0LXByaWNpbmcgLmJveC1zcGFjaW5nOmZpcnN0LW9mLXR5cGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnNpemUtcHJpY2UtcXR5LWJveCAucHJvZHVjdC1zaXplIC5ib3gtc3BhY2luZzpmaXJzdC1vZi10eXBlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5zaXplLXByaWNlLXF0eS1ib3ggLnByb2R1Y3QtcHJpY2luZyAuYm94LXNwYWNpbmc6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luOiAwIDAgMzVweDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5zaXplLXByaWNlLXF0eS1ib3ggLnByb2R1Y3QtcHJpY2luZyxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuc2l6ZS1wcmljZS1xdHktYm94IC5wcm9kdWN0LXByaWNpbmcge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZV9fYWN0aW9ucyxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZV9fYWN0aW9ucyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgei1pbmRleDogMjsgfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGVfX2FkZC10by1jYXJ0LFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucHJvZHVjdC10aWxlX19hZGQtdG8tY2FydCB7XG4gIGZsZXg6IDEgMSAxMDAlO1xuICBoZWlnaHQ6IDYwcHg7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlX19hZGQtdG8tY2FydCAuYWRkLXRvLWNhcnQsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnByb2R1Y3QtdGlsZV9fYWRkLXRvLWNhcnQgLmFkZC10by1jYXJ0IHtcbiAgICBoZWlnaHQ6IDYwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY29tcGFyZS1pdGVtcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgYm90dG9tOiAwO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAzOyB9XG5cbi5jb21wYXJlLWl0ZW1zIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTI0MHB4OyB9XG4gIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLWl0ZW0ge1xuICAgIGhlaWdodDogMTYwcHg7XG4gICAgbWFyZ2luOiAzMHB4IDUwcHggMzBweCAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTUwcHg7IH1cbiAgICAuY29tcGFyZS1pdGVtcyAuY29tcGFyZS1pdGVtIGltZyB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGhlaWdodDogMTQ1cHg7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xuICAgICAgd2lkdGg6IDEyMHB4OyB9XG4gICAgLmNvbXBhcmUtaXRlbXMgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLW5hbWUge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmNvbXBhcmUtaXRlbXMgLmNvbXBhcmUtaXRlbSAuY29tcGFyZS1pdGVtLW51bWJlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgaGVpZ2h0OiAxMTBweDtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICB3aWR0aDogMTEwcHg7IH1cbiAgLmNvbXBhcmUtaXRlbXMgLmNvbXBhcmUtaXRlbS1yZW1vdmUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7IH1cbiAgLmNvbXBhcmUtaXRlbXMgLmNvbXBhcmUtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jb21wYXJlLWl0ZW1zIC5jb21wYXJlLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb21wYXJlLWl0ZW1zIC5idXR0b24ge1xuICAgIG1hcmdpbjogMCAwIDAgMjVweDtcbiAgICBwYWRkaW5nOiAxNXB4IDI4cHg7IH1cbiAgLmNvbXBhcmUtaXRlbXMgLmNvbXBhcmUtYWN0aW9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZy10b3A6IDg0cHg7IH1cblxuLml0YWxpYy10ZXh0IHtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5maW5hbmNlLWluZm8ge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZmY2OTAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBtYXJnaW46IDI1cHggMDtcbiAgcGFkZGluZzogMC41ZW07IH1cbiAgLmZpbmFuY2UtaW5mbyBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMTVweDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUge1xuICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCAjZjJmMmYyO1xuICAgIGZsZXg6IDEgMSAxMDAlO1xuICAgIGxpbmUtaGVpZ2h0OiA1NXB4O1xuICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIC5jb21wYXJlLWxhYmVsLFxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSAuZmllbGQtd3JhcHBlciB7XG4gICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgaW5wdXQge1xuICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0b3A6IDRweDtcbiAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgei1pbmRleDogMjsgfVxuICAgICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC1jb21wYXJlIGlucHV0OmNoZWNrZWQge1xuICAgICAgICBkaXNwbGF5OiBpbmhlcml0OyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgaW5wdXQ6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxlODExXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSBpbnB1dDpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgLmlucHV0LWN1c3RvbSB7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiAycHg7XG4gICAgICB6LWluZGV4OiAxOyB9XG4gICAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LWNvbXBhcmUgLmlucHV0LWN1c3RvbTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMWRiXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSAuaW5wdXQtY3VzdG9tLFxuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtY29tcGFyZSBpbnB1dCB7XG4gICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICB3aWR0aDogMTdweDsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtYWN0aXZlIHtcbiAgICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtYWN0aXZlIC5wcm9kdWN0LWNvbXBhcmUge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7IH1cbiAgICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQgLnByb2R1Y3QtdGlsZS1hY3RpdmUgLnByb2R1Y3QtY29tcGFyZSAuY29tcGFyZS1sYWJlbCB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUtYWN0aXZlIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlciAucmVjb21tZW5kZWQtYmFnZGUge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLWFjdGl2ZSAuY29tcGFyZS1sYWJlbCxcbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlciAuY29tcGFyZS1sYWJlbCB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlciB7XG4gICAgYm9yZGVyLWNvbG9yOiAjNzU3NTc1OyB9XG4gICAgLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlLS1jYXJ0LWJ1dHRvbi1ob3ZlciAuY29tcGFyZS1sYWJlbCB7XG4gICAgICBjb2xvcjogIzAwMDsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnBhZ2UtdGl0bGUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnN0YXJ0LW5ldy1zZWFyY2gtd3JhcHBlciB7XG4gIHRleHQtYWxpZ246IGVuZDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zdGFydC1uZXctc2VhcmNoLXdyYXBwZXIgLmxvYWRlciB7XG4gICAgei1pbmRleDogMTA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc3RhcnQtbmV3LXNlYXJjaCB7XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDEwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zdGFydC1uZXctc2VhcmNoIHtcbiAgICAgIG1hcmdpbi10b3A6IDIwcHggMDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnN0YXJ0LW5ldy1zZWFyY2gge1xuICAgICAgbWFyZ2luLXRvcDogMzVweDsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgbWFyZ2luLXRvcDogMTBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubWF0Y2hlZC1wcm9kdWN0cyB7XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubWF0Y2hlZC1wcm9kdWN0cyBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbjogMDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5tYXRjaGVkLXByb2R1Y3RzIHNwYW4ge1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1pbmZvIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBtYXJnaW46IDAgMCAyNXB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIHtcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmMmYyZjI7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMge1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMgLnRhYnMtdGl0bGUge1xuICAgIG1hcmdpbjogMCAwIC02cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlIHtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyAudGFicy10aXRsZSB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMgLnRhYnMtdGl0bGUgPiBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy10YWJzIC50YWJzLXRpdGxlID4gYSB7XG4gICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLXRhYnMgLnRhYnMtdGl0bGUgYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtdGFicyAudGFicy10aXRsZS5pcy1hY3RpdmUge1xuICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmZjY5MDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAudGFicy1wYW5lbCB7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnRhYnMtcGFuZWwgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC50YWJzLXBhbmVsIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC50YWJzLXBhbmVsIC5zb3J0LWJ5IGxhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuYXJ0aWNsZS1yZXN1bHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuYXJ0aWNsZS1yZXN1bHQgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuYXJ0aWNsZS1yZXN1bHQgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuYXJ0aWNsZS1yZXN1bHQgYSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNvcnQtYnkgc2VsZWN0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNvcnQtYnktd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAjcmVmaW5lbWVudHMtY29udGVudC13cmFwIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0ICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgei1pbmRleDogMzsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcC5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgI3JlZmluZW1lbnRzLWNvbnRlbnQtd3JhcC5leHBhbmRlZCB7XG4gICAgICAgIGJveC1zaGFkb3c6IDJweCA0cHggNXB4ICM4MDgwODA7IH0gfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0ICNyZWZpbmVtZW50cy1jb250ZW50LXRyaWdnZXIge1xuICBtYXJnaW46IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzLXdyYXBwZXIge1xuICBtYXJnaW46IDAgMCAyNXB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICBtYXJnaW46IDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmljb24tY2lyY2xlLXRoaW4sXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaWNvbi1jaXJjbGUge1xuICBjb2xvcjogI2M3NTMwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAucmVmaW5lbWVudHMtY29udGVudCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7XG4gIGJvcmRlci1ib3R0b206IDA7XG4gIHBhZGRpbmctdG9wOiA0NHB4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5yZWZpbmVtZW50cy1jb250ZW50IHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmNsZWFyLWZpbHRlcnMge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMTVweCAwIDE1cHggMTVweDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMjsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIHBhZGRpbmc6IDE1cHggMCAxNXB4IDM3cHg7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgbWFyZ2luOiAtNXB4IDAgMTBweCAxNXB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgwY1wiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmJlZm9yZSB7XG4gIGNvbG9yOiAjYzc1MzAwO1xuICBjb250ZW50OiBcIlxcZTgwYlwiO1xuICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICBsZWZ0OiAxNXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgbGkgYSB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1zdWJtZW51LWl0ZW0gYSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIHBhZGRpbmc6IDVweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtc3VibWVudS1pdGVtIGkge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZzogMCA1cHggMXB4IDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUgbGkuc2VsZWN0ZWQgYSB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IHtcbiAgbWFyZ2luOiA1MHB4IDAgNDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaW5mby1ib3gge1xuICAgICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgcGFkZGluZzogMjBweCAxNHB4OyB9XG4gICAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pbmZvLWJveCAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA4Mi41ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5pbmZvLWJveCB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaW5mby1ib3ggLmJ1dHRvbiBzcGFuIHtcbiAgICBmb250LXNpemU6IDExcHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuaW5mby1ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmluZm8tYm94IHAge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3gge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBib3JkZXI6IDJweCBzb2xpZCAjY2NjO1xuICBtYXJnaW46IDUwcHggMCA0MHB4O1xuICBtYXgtaGVpZ2h0OiAzNzVweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcGFkZGluZzogMjBweCAxNHB4IDA7XG4gIHdpZHRoOiAyMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IHtcbiAgICAgIG1hcmdpbjogNTBweCAyMHB4IDQwcHg7XG4gICAgICBtYXgtaGVpZ2h0OiA0MDVweDtcbiAgICAgIHdpZHRoOiAzMTVweDsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5saXZlLWNoYXQtYm94IC5idXR0b24td3JhcHBlciB7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggLmJ1dHRvbi13cmFwcGVyIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZzogMTVweCAxMHB4O1xuICAgICAgd2lkdGg6IDE4MHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCAuYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDI4MHB4OyB9IH1cbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmxpdmUtY2hhdC1ib3ggLmJ1dHRvbi13cmFwcGVyIC5idXR0b24gc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCAuaW1hZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICBwYWRkaW5nLXRvcDogMzJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LWJveCAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXgtd2lkdGg6IGZpdC1jb250ZW50OyB9IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubGl2ZS1jaGF0LW1vYmlsZSB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLm5lZWQtaGVscC1ib3ggLmJ1dHRvbiB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5uZWVkLWhlbHAtYm94IC5idXR0b24gc3BhbiB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIHBhZGRpbmc6IDAgMCAwIDI1cHg7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAubmVlZC1oZWxwLWJveCAuaWNvbi1saXZlY2hhdCB7XG4gIGJvdHRvbTogMDtcbiAgZm9udC1zaXplOiAxOHB4O1xuICBoZWlnaHQ6IDE4cHg7XG4gIG1hcmdpbjogYXV0bztcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy1jb250ZW50IHtcbiAgICBwYWRkaW5nOiAwIDEwcHggMCAwOyB9IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtY29udGVudCAuZm9sZGVyLWNvbnRlbnQtbGlzdCB7XG4gIG1hcmdpbjogMDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy1jb250ZW50IC5mb2xkZXItY29udGVudC1saXN0IGxpIHtcbiAgICBtYXJnaW46IDAgMCA1MHB4OyB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuc2VhcmNoLXJlc3VsdHMtY29udGVudCAuZm9sZGVyLWNvbnRlbnQtbGlzdCBsaTpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5zZWFyY2gtcmVzdWx0cy1jb250ZW50IC5jb250ZW50LXRpdGxlIHtcbiAgZm9udC1zaXplOiBjYWxjLXJlbSgxOCk7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQgLnJlYWRtb3JlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZXNvdXJjZS1jZW50ZXIgaDMge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZXNvdXJjZS1jZW50ZXIgaDMge1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTsgfSB9XG5cbi5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlc291cmNlLWNlbnRlciBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogMTAwJTsgfVxuXG4ucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZXNvdXJjZS1jZW50ZXIgLmJ1dHRvbiB7XG4gIG1hcmdpbjogMzBweCAwIDA7IH1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAuY2hhbmdlLWxvY2F0aW9uLWJveCB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgYm90dG9tOiAwO1xuICBjb2xvcjogI2ZmZjtcbiAgbGVmdDogMDtcbiAgbWluLWhlaWdodDogNTBweDtcbiAgcGFkZGluZzogMTBweCAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHJpZ2h0OiAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHotaW5kZXg6IDEwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmNoYW5nZS1sb2NhdGlvbi1ib3gge1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmNoYW5nZS1sb2NhdGlvbi1ib3ggcCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMzVweDtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmNoYW5nZS1sb2NhdGlvbi1ib3ggcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH0gfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5jaGFuZ2UtbG9jYXRpb24tYm94IC5idXR0b24ge1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICBwYWRkaW5nOiAxMHB4IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLmNoYW5nZS1sb2NhdGlvbi1ib3ggLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucGFnaW5hdGlvbiB1bCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnBhZ2luYXRpb24gbGkge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiA2cHg7IH0gfVxuXG4jbmV3U2VhcmNoTW9kYWwge1xuICBwYWRkaW5nOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAjbmV3U2VhcmNoTW9kYWwge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gICNuZXdTZWFyY2hNb2RhbCAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI25ld1NlYXJjaE1vZGFsIC5hZGQtcmVhci1zaXplLFxuICAjbmV3U2VhcmNoTW9kYWwgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgI25ld1NlYXJjaE1vZGFsIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuYWRkLXJlYXItc2l6ZSxcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyLFxuICAgICAgI25ld1NlYXJjaE1vZGFsIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9IH1cbiAgI25ld1NlYXJjaE1vZGFsIC5sb29raW5nLWZvci1vdGhlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIHBvc2l0aW9uOiBpbml0aWFsOyB9XG4gICNuZXdTZWFyY2hNb2RhbCAuY2xvc2VfYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNuZXdTZWFyY2hNb2RhbCAuY2xvc2VfYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5tYXRjaGVkLXByb2R1Y3RzIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5tYXRjaGVkLXByb2R1Y3RzIHAge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzLXdyYXBwZXIge1xuICAgIG1hcmdpbjogMCAwIDQ1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNvcnQtYnktd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZDogIzAwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnNvcnQtYnkgbGFiZWwge1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0ICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5yZWZpbmVtZW50cy1jb250ZW50LFxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50LFxuICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50cyAuY2xlYXItZmlsdGVycyB7XG4gICAgYm9yZGVyOiAwOyB9XG4gIC5wdF9wcm9kdWN0LXNlYXJjaC1yZXN1bHQgLnJlZmluZW1lbnRzIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwYWRkaW5nOiAxMnB4IDAgMTJweCAyMHB4OyB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAwOyB9XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudHMgLmNsZWFyLWZpbHRlcnMge1xuICAgIHBhZGRpbmc6IDVweCAwIDEwcHg7IH1cbiAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCAucmVmaW5lbWVudC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IC5yZWZpbmVtZW50LXRpdGxlLnNpemVzLXRpdGxlIHtcbiAgICAgIG1hcmdpbi10b3A6IDE1cHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnBkcC1tYWluIC5wcm9kdWN0LWJhZGdlIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gIC5wZHAtbWFpbiAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICBtYXJnaW46IDAgMCAzMHB4OyB9IH1cblxuLnBkcC1tYWluIC5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gIHBhZGRpbmctdG9wOiAwOyB9XG5cbi5wZHAtbWFpbiAuYnJhbmQtbmFtZSB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1uYW1lIHtcbiAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgbWFyZ2luOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnBkcC1tYWluIC5wZHAtdG9wLW5hbWUge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgICAucGRwLW1haW4gLnBkcC10b3AtbmFtZSAucHJvZHVjdC1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3Q6OmJlZm9yZSwgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0OjphZnRlciB7XG4gIGNvbnRlbnQ6ICcgJztcbiAgZGlzcGxheTogdGFibGU7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0OjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtaXRlbSB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5wcm9kdWN0LXNldC1pdGVtOjpiZWZvcmUsIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtaXRlbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWl0ZW06OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWl0ZW0gLnF1YW50aXR5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgIG1pbi13aWR0aDogNzVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtaXRlbSAucXVhbnRpdHkge1xuICAgICAgICBmbG9hdDogbGVmdDsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zZXQtbGlzdCAucHJvZHVjdC1zZXQtZGV0YWlscyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNzAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWRldGFpbHMge1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLnByb2R1Y3Qtc2V0LWRldGFpbHMgLnByb2R1Y3QtcHJpY2Uge1xuICAgIHdpZHRoOiBtYXgtY29udGVudDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2V0LWxpc3QgLmFkZC1zdWItcHJvZHVjdCB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogMzAlICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5hZGQtc3ViLXByb2R1Y3Qge1xuICAgICAgbWFyZ2luOiA4cHggMCAwICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5hZGQtc3ViLXByb2R1Y3Qge1xuICAgICAgbWFyZ2luOiA4cHggMCAwICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXNldC1saXN0IC5hZGQtc3ViLXByb2R1Y3Qge1xuICAgICAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbi5wZHAtbWFpbiAuYWRkLWFsbC10by1jYXJ0IHtcbiAgbWFyZ2luLXRvcDogMDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMge1xuICBtaW4td2lkdGg6IDIwMHB4O1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlczo6YmVmb3JlLCAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1mcm9udCB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgcGFkZGluZzogOXB4IDEycHg7IH1cbiAgICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtZnJvbnQ6OmJlZm9yZSwgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLWZyb250OjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgIC5wZHAtbWFpbiAuc2V0LWF0dHItdGl0bGVzIC52YWx1ZS1mcm9udDo6YWZ0ZXIge1xuICAgICAgY2xlYXI6IGJvdGg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtZnJvbnQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAucGRwLW1haW4gLnNldC1hdHRyLXRpdGxlcyAudmFsdWUtcmVhciB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWluLXdpZHRoOiA4MHB4O1xuICAgIHBhZGRpbmc6IDlweCAxMnB4OyB9XG4gICAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLXJlYXI6OmJlZm9yZSwgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLXJlYXI6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6ICcgJztcbiAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLXJlYXI6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBkcC1tYWluIC5zZXQtYXR0ci10aXRsZXMgLnZhbHVlLXJlYXIge1xuICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7IH0gfVxuXG4ucGRwLW1haW4gLm1hbnVmYWN0dXJlci1udW1iZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIG1hcmdpbjogNXB4IDAgMDsgfVxuXG4ucGRwLW1haW4gLm11bHRpcGxlLW1hbnVmYWN0dXJlci1udW1iZXJzIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wZHAtbWFpbiAudGl0bGUtbWFpbi1zZWN0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAyNXB4O1xuICBwYWRkaW5nOiAwIDAgMCAxOHB4O1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGRwLW1haW4gLnRpdGxlLW1haW4tc2VjdGlvbiB7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTsgfSB9XG4gIC5wZHAtbWFpbiAudGl0bGUtbWFpbi1zZWN0aW9uLnJldmlldy10aXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMjBweDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtYXR0cmlidXRlcyAuYXR0cmlidXRlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtYXR0cmlidXRlcyAubmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyxcbi5wZHAtbWFpbiAucHJvZHVjdC1kZXNjcmlwdGlvbixcbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzLFxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzLFxuLnBkcC1tYWluIC5yYXRpbmctYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMTAwcHg7IH1cblxuLnBkcC1tYWluICNwcm9kdWN0RGVzY3JpcHRpb24sXG4ucGRwLW1haW4gI3Rlc3RSZXN1bHRzLFxuLnBkcC1tYWluICNyYWl0aW5nUmV2aWV3cyxcbi5wZHAtbWFpbiAjcHJvZHVjdFNpemVzIHtcbiAgc2Nyb2xsLW1hcmdpbi10b3A6IDEyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtaW1hZ2UtY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAzMHB4IDA7IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyB7XG4gIG1hcmdpbjogMTBweCAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDU2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMge1xuICAgICAgd2lkdGg6IDY2cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMudG9wLXBhZGRpbmcge1xuICAgICAgdG9wOiAxNXB4OyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stc2xpZGVyLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnRodW1iIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAudGh1bWIgaW1nIHtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNmMmYyZjI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnRodW1iIGltZyB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogNXB4OyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQsXG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2IHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgd2lkdGg6IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dCxcbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2IHtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDsgfSB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLW5leHQ6OmJlZm9yZSxcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjsgfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0LnNsaWNrLWRpc2FibGVkLFxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkIHtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDo6YmVmb3JlLFxuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXYuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjYmZjMGMyOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dCB7XG4gICAgICAgIGJvdHRvbTogLTIzcHg7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IGF1dG87IH0gfVxuICAgIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGU4MTRcIjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZlwiOyB9IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IC0xNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXYge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IC0xMHB4OyB9IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3QtdGh1bWJuYWlscyAuc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODEzXCI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnBkcC1tYWluIC5wcm9kdWN0LXRodW1ibmFpbHMgLnNsaWNrLXByZXY6OmJlZm9yZSB7XG4gICAgICAgICAgY29udGVudDogXCJcXGU4MGVcIjsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC10aHVtYm5haWxzIC5zbGljay1zbGlkZS5zbGljay1jdXJyZW50IC5wcm9kdWN0dGh1bWJuYWlsIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmY2OTAwOyB9XG5cbi5wZHAtbWFpbiAubWFpbi1jYXJvdXNlbCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAubWFpbi1jYXJvdXNlbCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBtaW4taGVpZ2h0OiAyNzJweDtcbiAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgbWluLWhlaWdodDogMzE3cHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlIC0gODVweCk7IH0gfVxuICAucGRwLW1haW4gLm1haW4tY2Fyb3VzZWwgLnNsaWNrLXNsaWRlciB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHZpc2liaWxpdHk6IGhpZGRlbjsgfVxuICAgIC5wZHAtbWFpbiAubWFpbi1jYXJvdXNlbCAuc2xpY2stc2xpZGVyLnNsaWNrLWluaXRpYWxpemVkIHtcbiAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cbiAgLnBkcC1tYWluIC5tYWluLWNhcm91c2VsIC52aWRlb1dyYXBwZXIge1xuICAgIGhlaWdodDogMzE1cHg7XG4gICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgcGFkZGluZy10b3A6IDA7IH1cbiAgLnBkcC1tYWluIC5tYWluLWNhcm91c2VsIC5zbGljay1zbGlkZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2YyZjJmMjsgfVxuXG4ucGRwLW1haW4gLm92ZXJ2aWV3IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogNXB4IDA7IH1cbiAgLnBkcC1tYWluIC5vdmVydmlldyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGUudHJhaWxlci10aXJlLWF0dHJpYnV0ZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyAucHJvZHVjdC1hdHRyaWJ1dGVzLmNhdGVnb3J5LWF0dHJpYnV0ZXMgLm5hbWUge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gIG1pbi1oZWlnaHQ6IDE4cHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuXG4ucGRwLW1haW4gLm92ZXJ2aWV3IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmNhdGVnb3J5IHtcbiAgY29sb3I6ICM4MDgyODU7IH1cblxuLnBkcC1tYWluIC5vdmVydmlldyAucHJvZHVjdC1yZXZpZXcge1xuICBtYXJnaW46IDI1cHggMDsgfVxuXG4ucGRwLW1haW4gLm92ZXJ2aWV3IC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wZHAtbWFpbiAub3ZlcnZpZXcgLmFkaXRpb25hbC1kZXRhaWxzIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9IH1cblxuLnBkcC1tYWluIC5wcmljZS1yaWdodC1ib3gge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBkcC1tYWluIC5wcmljZS1yaWdodC1ib3gge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHdpZHRoOiA1MCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQge1xuICAgIG1hcmdpbjogNDBweCAwIDA7IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcm9kdWN0LXByaWNlLXdyYXAge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByb2R1Y3QtcHJpY2Utd3JhcCB7XG4gICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5wcm9kdWN0LXByaWNlLXdyYXAgLnByaWNlLWxhYmVsIHtcbiAgICBtYXJnaW46IDAgMCA5cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByaWNlLXJpZ2h0LWJveCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByaWNlLXJpZ2h0LWJveCAuaW52ZW50b3J5IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAuaW52ZW50b3J5IHtcbiAgZmxvYXQ6IHJpZ2h0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5pbnZlbnRvcnkge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICB3aWR0aDogMTAwJTsgfSB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLmludmVudG9yeSBpbnB1dCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLmludmVudG9yeSAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgICB3aWR0aDogNTAlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgI3RvdGFsUHJpY2VTZWN0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0ICN0b3RhbFByaWNlU2VjdGlvbiAucXVhbnRpdHkge1xuICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0ICN0b3RhbFByaWNlU2VjdGlvbiAucHJvZHVjdC1wcmljZSB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgZm9udC1zaXplOiAxLjU2MjVyZW07IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAjdG90YWxQcmljZVNlY3Rpb24gLnByb2R1Y3QtcHJpY2UgLmN1cnJlbmN5LWluZGljZXMge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgI3RvdGFsUHJpY2VTZWN0aW9uIC5wcmljZS1zdGFuZGFyZCB7XG4gIGNvbG9yOiAjYzc1MzAwOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICBmbG9hdDogbGVmdDtcbiAgbWFyZ2luOiAyNXB4IDAgMDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJvZHVjdC1hZGQtdG8tY2FydCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlLWFkZHRvY2FydCAucHJpY2UtbGFiZWwsXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5xdWFudGl0eSAucXVhbnRpdHktdG90YWwsXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UtYWRkdG9jYXJ0IC5xdWFudGl0eSBsYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBkaXNwbGF5OiBpbmhlcml0O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDlweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtcHJpY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UgLnByaWNlLXNhbGVzIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW46IDAgMTBweCAwIDA7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgY29sb3I6ICNjNzUzMDA7IH1cbiAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG4gICAgICAucGRwLW1haW4gLnByb2R1Y3QtcHJpY2UgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXByaWNlIC5yZWJhdGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAucHJvZHVjdC1wcmljZSAucmViYXRlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfSB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1kZXNjcmlwdGlvbiAubG9uZy1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMCAwIDgwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1kZXNjcmlwdGlvbiAubG9uZy1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwIDM1cHggMCAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1kZXNjcmlwdGlvbiAubG9uZy1kZXNjcmlwdGlvbiB7XG4gICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4ucGRwLW1haW4gLnByb2R1Y3QtZGVzY3JpcHRpb24gLmNhcmUtcGxhbiAudGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLmRyaXZlci1ub3Rlcy13cmFwIHtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuZHJpdmVyLW5vdGVzIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5kcml2ZXItbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuNzVyZW07IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnRlc3RpbmctdmlkZW8tYm94IHtcbiAgbWFyZ2luLWJvdHRvbTogMzVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnRlc3RpbmctdmlkZW8tYm94IHtcbiAgICAgIG9yZGVyOiAyOyB9IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnF1ZXN0aW9ucyB7XG4gIG1hcmdpbjogMTVweCAwIDA7IH1cbiAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnF1ZXN0aW9ucyBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAucXVlc3Rpb25zIC5pbmxpbmUtcXVlc3Rpb24tbWFyayB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMDsgfVxuICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAucXVlc3Rpb25zIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICB0b3A6IDA7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNvbi10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5hdHRyaWJ1dGUtdGl0bGUge1xuICBmb250LXNpemU6IDFyZW07XG4gIG1hcmdpbjogMCAwIDdweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIHtcbiAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAuc2VjdGlvbiB7XG4gIG1hcmdpbjogMCAwIDM1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5zZWN0aW9uIHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgd2lkdGg6IDQ3JTsgfVxuICAgICAgLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gLnNlY3Rpb246bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAuc2VjdGlvbjpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gdWwge1xuICBtYXJnaW46IDA7IH1cblxuLnBkcC1tYWluIC50ZXN0LXJlc3VsdHMgLnNlYXNzb24gbGkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiA1cHggMDsgfVxuICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiBsaTo6YmVmb3JlLCAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiBsaTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiBsaTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5sYWJlbC10aXRsZSB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAubGFiZWwtdGl0bGUge1xuICAgICAgd2lkdGg6IDcwJTsgfSB9XG5cbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5sYWJlbC10aXRsZS1ib2xkIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5sYWJlbC10aXRsZS1ib2xkIHtcbiAgICAgIHdpZHRoOiA3MCU7IH0gfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiAucmFpdGluZyB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIC5yYWl0aW5nIHtcbiAgICAgIHdpZHRoOiAzMCU7IH0gfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiBbY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbi5wZHAtbWFpbiAudGVzdC1yZXN1bHRzIC5zZWFzc29uIFtjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucGRwLW1haW4gLnRlc3QtcmVzdWx0cyAuc2Vhc3NvbiBpIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5tb2RlbC1zcGVjcyAubW9kZWwtYm94IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAubW9kZWwtc3BlY3MgLm1vZGVsLXNpemUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAudmlldy1hbGwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAudmlldy1hbGw6OmJlZm9yZSB7XG4gICAgY29udGVudDogXCJcXGYwNTNcIjtcbiAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgZm9udC1zaXplOiA3cHg7XG4gICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cblxuLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gIHBhZGRpbmc6IDlweCAxMnB4OyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5hdHRyaWJ1dGU6bnRoLWNoaWxkKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZTpudGgtY2hpbGQoZXZlbikge1xuICAgIHBhZGRpbmc6IDEycHg7IH1cbiAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZS5maW5pc2hfYXR0cmlidXRlIC52YWx1ZTpub3QoLnZhbHVlLXJlYXIpIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZSB7XG4gIGZsb2F0OiByaWdodDsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUtcmVhciB7XG4gIG1pbi13aWR0aDogODBweDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wZHAtbWFpbiAucHJvZHVjdC1zaXplcyAucHJvZHVjdC1hdHRyaWJ1dGVzIC52YWx1ZS1yZWFyIHtcbiAgICAgIG1pbi13aWR0aDogMjAwcHg7IH0gfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLnByb2R1Y3QtYXR0cmlidXRlcyAudmFsdWUtcmVhciAubmFtZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLmxvYWQtcmFuZ2UtdGl0bGUge1xuICBtYXJnaW4tdG9wOiA0MHB4OyB9XG5cbi5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLmxlZnQtaW5mbyAuc2VsLXN1YnRpdGxlIHN0cm9uZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAucmlnaHQtaW5mbyAubmV3c2VhcmNoLXRpcmVzZWxlY3Rpb24gLmluaXQtc2VsZWN0b3Ige1xuICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gIG1hcmdpbjogMDsgfVxuXG4ucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZXJ2aWNlLWluZm8tY29udGVudCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1pbmZvLWNvbnRlbnQge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7IH0gfVxuICAucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZXJ2aWNlLWluZm8tY29udGVudCAuc2VsLXN1YnRpdGxlIHtcbiAgICBmbGV4OiAwIDAgMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5wZHAtbWFpbiAuc2VydmljZS1pbmZvLXdyYXBwZXIgLnNlcnZpY2UtaW5mby1jb250ZW50IC5zZWwtc3VidGl0bGUge1xuICAgICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZXJ2aWNlLWluZm8tY29udGVudCAudGlyZSB7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDsgfVxuXG4ucGRwLW1haW4gLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZWwtaW5mbyB7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBkcC1tYWluIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VsLWluZm8ge1xuICAgICAgcGFkZGluZzogMTBweCAwOyB9IH1cblxuLnByb2R1Y3Qtc2l6ZS10YWJzIHtcbiAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gIGJvcmRlcjogMDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgZmxleC1ncm93OiBpbml0aWFsO1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cbiAgLnByb2R1Y3Qtc2l6ZS10YWJzLnRyYWlsZXItbG9hZC1yYW5nZS10YWJzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkICNmMmYyZjI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgd2lkdGg6IGF1dG87IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmbGV4OiAwIDEgYXV0bztcbiAgICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMiU7IH0gfVxuICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICBwYWRkaW5nOiAwLjVyZW0gMXJlbSAxcmVtOyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUgYTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc2l6ZTogNnB4O1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSBhLmxvYWQtcmFuZ2UtYW5jaG9yIHtcbiAgICAgICAgcGFkZGluZzogMC41cmVtIDJyZW0gMXJlbTsgfVxuICAgICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUgYS5sb2FkLXJhbmdlLWFuY2hvcjo6YWZ0ZXIge1xuICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7IH1cbiAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUgPiBhOmZvY3VzLFxuICAgIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlLCAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGU6Zm9jdXMsIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZTpob3ZlciB7XG4gICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZmY2OTAwOyB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGEsXG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMgLnRhYnMtdGl0bGUuaXMtYWN0aXZlIGE6aG92ZXIsIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZTpmb2N1cyBhLFxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlOmZvY3VzIGE6aG92ZXIsIC5wcm9kdWN0LXNpemUtdGFicyAudGFicy10aXRsZTpob3ZlciBhLFxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzIC50YWJzLXRpdGxlOmhvdmVyIGE6aG92ZXIge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuXG4ucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCB7XG4gIGJvcmRlcjogMDsgfVxuICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCB7XG4gICAgcGFkZGluZzogMi43NXJlbSAwOyB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgdWwge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgdWwgbGkge1xuICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogNDhweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgdWwgbGkge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMzMlO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMwcHg7IH0gfVxuICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsLnRyYWlsZXItbG9hZC1yYW5nZS1vcHRpb25zIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwLjVyZW07IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsLnRyYWlsZXItbG9hZC1yYW5nZS1vcHRpb25zLmlzLWFjdGl2ZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsLnRyYWlsZXItbG9hZC1yYW5nZS1vcHRpb25zIC5wcm9kdWN0LXNpemUtdGFicyB7XG4gICAgICAgIGZsZXgtZ3JvdzogMTsgfVxuICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwudHJhaWxlci1sb2FkLXJhbmdlLW9wdGlvbnMgLnRhYnMtdGl0bGUge1xuICAgICAgICBtYXgtd2lkdGg6IDY1cHg7IH1cbiAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGlyZS1zaXplLW9wdGlvbnMge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50aXJlLXNpemUtb3B0aW9ucyB7XG4gICAgICAgICAgd2lkdGg6IDcwJTsgfSB9XG4gICAgICAucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCAudGFicy1wYW5lbCAudGlyZS1zaXplLW9wdGlvbnMgLnRyYWlsZXItdGlyZS1zaXplIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50aXJlLXNpemUtb3B0aW9ucyAudHJhaWxlci10aXJlLXNpemUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAgICAgLnByb2R1Y3Qtc2l6ZS10YWJzLWNvbnRlbnQgLnRhYnMtcGFuZWwgLnRpcmUtc2l6ZS1vcHRpb25zIC50cmFpbGVyLXRpcmUtc2l6ZTpob3ZlciB7XG4gICAgICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAgICAgICAgIC5wcm9kdWN0LXNpemUtdGFicy1jb250ZW50IC50YWJzLXBhbmVsIC50aXJlLXNpemUtb3B0aW9ucyAudHJhaWxlci10aXJlLXNpemU6aG92ZXIgYSB7XG4gICAgICAgICAgICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4uaW1hZ2UtdG9vbHRpcCB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBmbG9hdDogcmlnaHQ7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbWFyZ2luOiA1cHggMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuaW1hZ2UtdG9vbHRpcCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogNXB4IDAgMCAyMHB4OyB9IH1cbiAgLmltYWdlLXRvb2x0aXAgLmhhcy10aXAge1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXdlaWdodDogbm9ybWFsOyB9XG5cbi50b29sdGlwLmltZy10aXAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3gtc2hhZG93OiAwIDAgNTVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBtYXgtd2lkdGg6IDI2MHB4ICFpbXBvcnRhbnQ7XG4gIG1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgcGFkZGluZzogMDsgfVxuICAudG9vbHRpcC5pbWctdGlwIGgxIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDdweCAxNXB4OyB9XG4gIC50b29sdGlwLmltZy10aXAgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTVweDsgfVxuICAudG9vbHRpcC5pbWctdGlwLnRvcDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgYm9yZGVyLWNvbG9yOiAjZmZmIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkOyB9XG5cbi5wZHAtbWFzdGVyIC5wcm9kdWN0LXNpemVmLFxuLnBkcC1tYXN0ZXIgLnByb2R1Y3Qtd2hlZWxzaXplZiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnBkcC1tYXN0ZXIgLnByb2R1Y3QtcHJpY2UgLnJlYmF0ZSBiciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGRwLW1haW4gLmJhZGdlcy1ib3gge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAucGRwLW1haW4gLmJhZGdlcy1ib3ggcCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC5wZHAtbWFpbiAucHJvZHVjdC1iYWRnZSxcbiAgLnBkcC1tYWluIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgIG1hcmdpbjogMDsgfVxuICAucGRwLW1haW4gLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgcGFkZGluZzogN3B4OyB9XG4gIC5wZHAtbWFpbiAudG9wLWluZm8tcHJvZHVjdC1ib3gge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5wZHAtbmF2IHtcbiAgICBtYXJnaW46IDAgMCA3MHB4O1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnBkcC1uYXYgdWwge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLnBkcC1uYXYgbGkge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2YyZjJmMjtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDIwJTsgfVxuICAgICAgLnBkcC1uYXYgbGkgYSB7XG4gICAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLnBkcC1uYXYgbGk6aG92ZXIsIC5wZHAtbmF2IGxpLmFjdGl2ZSB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZmY2OTAwOyB9XG4gICAgICAgIC5wZHAtbmF2IGxpOmhvdmVyIGEsIC5wZHAtbmF2IGxpLmFjdGl2ZSBhIHtcbiAgICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAucGRwLW1haW4gLnByb2R1Y3Qtc2l6ZXMgLmF0dHItY29sdW1uIHtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogNDUlOyB9XG4gICAgLnBkcC1tYWluIC5wcm9kdWN0LXNpemVzIC5hdHRyLWNvbHVtbjpudGgtY2hpbGQoMikge1xuICAgICAgZmxvYXQ6IHJpZ2h0OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAuY29tcGFyZS1wYWdlIC5zY3JvbGwtc2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IGNvbHVtbjtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgIC1tcy1vdmVyZmxvdy1zdHlsZTogLW1zLWF1dG9oaWRpbmctc2Nyb2xsYmFyOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAuc2Nyb2xsLXNlY3Rpb24ubm8tbWFyZ2luIHtcbiAgICAgIG1hcmdpbi1yaWdodDogMDsgfVxuICAuY29tcGFyZS1wYWdlIC5yb3cge1xuICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDsgfVxuICAuY29tcGFyZS1wYWdlIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRpdGxlLWJvcmRlciB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjI7XG4gICAgcGFkZGluZy10b3A6IDMwcHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDEpIC50aXRsZS1ib3JkZXIge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDIpIC50aXRsZS1ib3JkZXIge1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgxKSAudGl0bGUtYm9yZGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDMpIC50aXRsZS1ib3JkZXIge1xuICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnNtYWxsLWRldmljZS1tZXNzYWdlIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbjogMTAwcHggMCAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNvbXBhcmUtcGFnZSAucGFnZS10aXRsZSB7XG4gIG1hcmdpbjogMjVweCAwIDIwcHg7IH1cblxuLmNvbXBhcmUtcGFnZSBhLmJhY2sge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uY29tcGFyZS1wYWdlIC5zZWN0aW9uLWJveCB7XG4gIG1hcmdpbjogMCAwIDUwcHg7IH1cblxuLmNvbXBhcmUtcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZjJmMmYyO1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgcGFkZGluZzogMCAwIDEwcHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1jb2x1bW46bm90KDpmaXJzdC1vZi10eXBlKSAuc2VjdGlvbi10aXRsZSxcbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtY29sdW1uOm5vdCg6Zmlyc3Qtb2YtdHlwZSkgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZSB7XG4gIG91dGxpbmU6IDA7XG4gIHRleHQtaW5kZW50OiAtOTk5OWVtOyB9XG5cbi5jb21wYXJlLXBhZ2UgI2NvbXBhcmUtdGFibGUge1xuICBtYXJnaW4tdG9wOiAxMDBweDsgfVxuICAuY29tcGFyZS1wYWdlICNjb21wYXJlLXRhYmxlIC5wcm9kdWN0LXRpbGUtY29udGVudCB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5jb21wYXJlLXBhZ2UgI2NvbXBhcmUtdGFibGUgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zIHtcbiAgZmxleDogMCAwIDUwJTtcbiAgbWF4LXdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgxKSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMSkgLnJvdy1zcGFjZXMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA4LjMzMzMzJTsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgyKSB7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDIpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA4LjMzMzMzJTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnMge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1ucyB7XG4gICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfVxuICAgICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgxKSAucm93LXNwYWNlcyB7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMi4xODY1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgyKSAucm93LXNwYWNlcyB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMS40MDU3NXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMS40MDU3NXJlbTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMykge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgzKSAucm93LXNwYWNlcyB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjE4NjVyZW07IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUge1xuICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgbWFyZ2luOiAwIDAgMjVweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWltYWdlOmhvdmVyICsgLnByb2R1Y3QtbmFtZSwgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWU6aG92ZXIge1xuICAgICAgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqLyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2U6aG92ZXIgKyAucHJvZHVjdC1uYW1lIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0LCAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZTpob3ZlciAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgei1pbmRleDogMjsgfSB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucmVjb21tZW5kZWQtYmFnZGUsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvbW8tYmFkZ2UsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1hdHRyaWJ1dGVzLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmF2YWlsYWJpbGl0eS1tc2csXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnRlc3RlZC1ieWthbC1iYWRnZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYmFkZ2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2Uge1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMjE1cHg7XG4gICAgcGFkZGluZzogMCAwIDI1cHg7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2UgYSB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZSAuYnJhbmQtbmFtZSB7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIC5uYW1lLWxpbmsge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcmljZS1xdHktYm94IHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICB3aWR0aDogNzUlOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXNhbGVzLFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAtNXB4OyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgMTVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2Uge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnJlYmF0ZSB7XG4gICAgbWFyZ2luOiAwIDAgMCAxNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMgKyAucmViYXRlIHtcbiAgICBib3R0b206IC0yMHB4O1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuaW52ZW50b3J5IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDI1JTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnF1YW50aXR5IGxhYmVsLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnF1YW50aXR5IGlucHV0LnByb2R1Y3QtcXVhbnRpdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXF1YW50aXR5IHNlbGVjdCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogODVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBwYWRkaW5nOiAzMHB4IDAgMDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY29tcGFyZS1wYWdlIC5idXR0b24tZ3JvdXAge1xuICBtYXJnaW46IDA7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5jb21wYXJlLXBhZ2UgLmNhdGVnb3JpZXMgLmNhdGVnb3J5IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM5OTk7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICAuY29tcGFyZS1wYWdlIC5jYXRlZ29yaWVzIC5jYXRlZ29yeTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW46IDEwcHggMCAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZSxcbi5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZSB7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDdweCAxMnB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTo6YmVmb3JlLCAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6OmFmdGVyLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6OmJlZm9yZSxcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOjphZnRlciB7XG4gICAgY29udGVudDogJyAnO1xuICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTo6YWZ0ZXIsXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShvZGQpLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUoZXZlbiksXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgcGFkZGluZzogOXB4IDEycHg7IH1cblxuLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAubmFtZSxcbi5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLm5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLnZhbHVlLFxuLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAudmFsdWUge1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgcGFkZGluZzogMTJweDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gbGk6OmJlZm9yZSwgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiBsaTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIGxpOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiAuYXR0cmlidXRlLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAubGFiZWwtdGl0bGUge1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1yaWdodDogMTBweDtcbiAgd2lkdGg6IGNhbGMoMTAwJSAtIDc1cHgpOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnJhaXRpbmcge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbG9hdDogcmlnaHQ7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gIHdpZHRoOiA3NXB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIFtjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gIG1hcmdpbjogMDsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIGkge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgIG1hcmdpbjogMzBweCAwIDE1cHg7IH1cblxuLmNvbXBhcmUtcGFnZSAuc21hbGwtZGV2aWNlLW1lc3NhZ2UgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgbWFyZ2luOiAxMDBweCAwIDA7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4uY29tcGFyZS1wYWdlIC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAyNXB4IDAgMjBweDsgfVxuXG4uY29tcGFyZS1wYWdlIGEuYmFjayB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnNlY3Rpb24tYm94IHtcbiAgbWFyZ2luOiAwIDAgNTBweDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjI7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAzMHB4O1xuICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LWNvbHVtbjpub3QoOmZpcnN0LW9mLXR5cGUpIC5zZWN0aW9uLXRpdGxlLFxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1jb2x1bW46bm90KDpmaXJzdC1vZi10eXBlKSAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlIHtcbiAgb3V0bGluZTogMDtcbiAgdGV4dC1pbmRlbnQ6IC05OTk5ZW07IH1cblxuLmNvbXBhcmUtcGFnZSAjY29tcGFyZS10YWJsZSB7XG4gIG1hcmdpbi10b3A6IDEwMHB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgI2NvbXBhcmUtdGFibGUgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAjY29tcGFyZS10YWJsZSAucHJvZHVjdC13aW50ZXItdXNlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7IH1cblxuLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnMge1xuICBmbGV4OiAwIDAgNTAlO1xuICBtYXgtd2lkdGg6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDEpIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnR3by1jb2x1bW5zOm50aC1jaGlsZCgxKSAucm93LXNwYWNlcyB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMlOyB9XG4gICAgLmNvbXBhcmUtcGFnZSAudHdvLWNvbHVtbnM6bnRoLWNoaWxkKDIpIHtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50d28tY29sdW1uczpudGgtY2hpbGQoMikgLnJvdy1zcGFjZXMge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1ucyB7XG4gIGZsZXg6IDAgMCA1MCU7XG4gIG1heC13aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zIHtcbiAgICAgIGZsZXg6IDAgMCAzMy4zMzMzMyU7XG4gICAgICBtYXgtd2lkdGg6IDMzLjMzMzMzJTsgfVxuICAgICAgLmNvbXBhcmUtcGFnZSAudGhyZWUtY29sdW1uczpudGgtY2hpbGQoMSkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDEpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NjVyZW07IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDIpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjQwNTc1cmVtO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjQwNTc1cmVtOyB9XG4gICAgICAuY29tcGFyZS1wYWdlIC50aHJlZS1jb2x1bW5zOm50aC1jaGlsZCgzKSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5jb21wYXJlLXBhZ2UgLnRocmVlLWNvbHVtbnM6bnRoLWNoaWxkKDMpIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMTg2NXJlbTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSB7XG4gIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICBtYXJnaW46IDAgMCAyNXB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtaW1hZ2U6aG92ZXIgKyAucHJvZHVjdC1uYW1lLCAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtbmFtZTpob3ZlciB7XG4gICAgICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovIH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1pbWFnZTpob3ZlciArIC5wcm9kdWN0LW5hbWUgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3QsIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lOmhvdmVyIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB6LWluZGV4OiAyOyB9IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5yZWNvbW1lbmRlZC1iYWdkZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9tby1iYWRnZSxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWF0dHJpYnV0ZXMsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuYXZhaWxhYmlsaXR5LW1zZyxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXNpemUsXG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAudGVzdGVkLWJ5a2FsLWJhZGdlLFxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmFkaXRpb25hbC1kZXRhaWxzIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1iYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1pbWFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAyMTVweDtcbiAgICBwYWRkaW5nOiAwIDAgMjVweDsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1pbWFnZSBhIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1uYW1lIC5icmFuZC1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgbWFyZ2luOiAwIDAgNXB4OyB9XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LW5hbWUgLm5hbWUtbGluayB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcmV2aWV3IHtcbiAgICBoZWlnaHQ6IDI1cHg7XG4gICAgbWFyZ2luOiA1cHggMCAyNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyB1bCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9yYXRpbmcsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfcG9pbnRzX3JhdGluZyB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcgLnNhX3MyOF9sZWZ0QnJhY2tldHMsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfcHJvZHVjdFJldmlld0NvdW50LFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X21hc3RlckNhdGVnb3J5UGFnZVRleHQsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIC5zYV9zMjhfY2hpbGRDYXRlZ29yeVBhZ2VUZXh0LFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X3JpZ2h0QnJhY2tldHMge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAuc2FfczI4X2Rpc3BsYXlfYXZnX3JhdGluZyAuc2FfczI4X3BvaW50c19yYXRpbmcgc3BhbiB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDAgNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJpY2UtcXR5LWJveCB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNpbmcge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgd2lkdGg6IDc1JTsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zYWxlcyxcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDsgfVxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICBtYXJnaW46IDAgMCAwIDE1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LXByaWNlIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5yZWJhdGUge1xuICAgIG1hcmdpbjogMCAwIDAgMTVweDsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzICsgLnJlYmF0ZSB7XG4gICAgYm90dG9tOiAtMjBweDtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXRpbGUgLmludmVudG9yeSB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHdpZHRoOiAyNSU7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5xdWFudGl0eSBsYWJlbCxcbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5xdWFudGl0eSBpbnB1dC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1xdWFudGl0eSBzZWxlY3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDg1cHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC10aWxlIC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgcGFkZGluZzogMzBweCAwIDA7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgd2lkdGg6IDEwMCU7IH1cblxuLmNvbXBhcmUtcGFnZSAuYnV0dG9uLWdyb3VwIHtcbiAgbWFyZ2luOiAwO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4uY29tcGFyZS1wYWdlIC5jYXRlZ29yaWVzIC5jYXRlZ29yeSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjOTk5O1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmNvbXBhcmUtcGFnZSAuY2F0ZWdvcmllcyAuY2F0ZWdvcnk6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGUsXG4uY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGUge1xuICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiA3cHggMTJweDsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6OmJlZm9yZSwgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOjphZnRlcixcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOjpiZWZvcmUsXG4gIC5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6OmFmdGVyLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICAuY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUob2RkKSxcbiAgLmNvbXBhcmUtcGFnZSAudGlyZS1zcGVjcyAuYXR0cmlidXRlOm50aC1vZi10eXBlKG9kZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7IH1cbiAgLmNvbXBhcmUtcGFnZSAuc3VtbWFyeSAuYXR0cmlidXRlOm50aC1vZi10eXBlKGV2ZW4pLFxuICAuY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5hdHRyaWJ1dGU6bnRoLW9mLXR5cGUoZXZlbikge1xuICAgIHBhZGRpbmc6IDlweCAxMnB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnN1bW1hcnkgLm5hbWUsXG4uY29tcGFyZS1wYWdlIC50aXJlLXNwZWNzIC5uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDsgfVxuXG4uY29tcGFyZS1wYWdlIC5zdW1tYXJ5IC52YWx1ZSxcbi5jb21wYXJlLXBhZ2UgLnRpcmUtc3BlY3MgLnZhbHVlIHtcbiAgZmxvYXQ6IHJpZ2h0O1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIHBhZGRpbmc6IDEycHg7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gdWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5zZWN0aW9uIGxpOjpiZWZvcmUsIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gbGk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSAuc2VjdGlvbiBsaTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlY3Rpb24gLmF0dHJpYnV0ZS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLmxhYmVsLXRpdGxlIHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiBjYWxjKDEwMCUgLSA3NXB4KTsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIC5yYWl0aW5nIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxvYXQ6IHJpZ2h0O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICB3aWR0aDogNzVweDsgfVxuXG4uY29tcGFyZS1wYWdlIC50ZXN0LXNjb3JlIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICBtYXJnaW46IDA7IH1cblxuLmNvbXBhcmUtcGFnZSAudGVzdC1zY29yZSBpIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gIC5jb21wYXJlLXBhZ2UgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZTpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICBtYXJnaW46IDMwcHggMCAxNXB4OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXRpbGUge1xuICBtYXJnaW46IDA7IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByb2R1Y3QtdGlsZSAucHJvZHVjdC1zaXplIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zaXplLXByaWNlLXF0eS1ib3ggLmJveC1zcGFjaW5nIHtcbiAgbWFyZ2luOiAwIDAgMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnNpemUtcHJpY2UtcXR5LWJveCAuYm94LXNwYWNpbmcge1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNpemUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIHdpZHRoOiAxOCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNpemUge1xuICAgICAgd2lkdGg6IDMwJTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcmljZVF0eUNvbXBhcmVGb3JtIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogODIlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJpY2VRdHlDb21wYXJlRm9ybSB7XG4gICAgICB3aWR0aDogNzAlOyB9IH1cbiAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnByaWNlUXR5Q29tcGFyZUZvcm0gLnByb21vdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtaXRlbTo6YmVmb3JlLCAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1zZXQtaXRlbTo6YWZ0ZXIge1xuICBjb250ZW50OiAnICc7XG4gIGRpc3BsYXk6IHRhYmxlOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNldC1pdGVtOjphZnRlciB7XG4gIGNsZWFyOiBib3RoOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNldC1kZXRhaWxzIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogbGVmdDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gIHdpZHRoOiA2NSU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNldC1kZXRhaWxzIHtcbiAgICAgIHdpZHRoOiA3MyU7IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNldC1kZXRhaWxzIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNldC1kZXRhaWxzIC5wcmljZS1zYWxlcyxcbiAgICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNldC1kZXRhaWxzIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXNldC1kZXRhaWxzIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgIG1hcmdpbjogMnB4IDAgMDsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5wcm9kdWN0LXByaWNpbmcge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmbG9hdDogcmlnaHQ7XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aWR0aDogMzUlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgIHdpZHRoOiAyNSU7IH0gfVxuICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuYWRkLXN1Yi1wcm9kdWN0IC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICBmbG9hdDogbm9uZTtcbiAgICB3aWR0aDogYXV0bzsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gIGZsb2F0OiBub25lO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zZXQtYXR0ci10aXRsZXMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMCAxMnB4IDEycHg7XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zZXQtYXR0cmlidXRlLW5hbWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgd2lkdGg6IDE4JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnNldC1hdHRyaWJ1dGUtbmFtZSB7XG4gICAgICB3aWR0aDogMzMlOyB9IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnN1bW1hcnkgLmF0dHJpYnV0ZSA+IC52YWx1ZSxcbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC50aXJlLXNwZWNzIC5hdHRyaWJ1dGUgPiAudmFsdWUge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0O1xuICB3aWR0aDogMTglOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc3VtbWFyeSAuYXR0cmlidXRlID4gLnZhbHVlLFxuICAgIC5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC50aXJlLXNwZWNzIC5hdHRyaWJ1dGUgPiAudmFsdWUge1xuICAgICAgd2lkdGg6IDMzJTsgfSB9XG5cbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC5zdW1tYXJ5IC5hdHRyaWJ1dGUgPiAubmFtZSxcbi5jb21wYXJlLXBhZ2UgLnByb2R1Y3Qtc2V0IC50aXJlLXNwZWNzIC5hdHRyaWJ1dGUgPiAubmFtZSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAuY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAuc3VtbWFyeSAuYXR0cmlidXRlID4gLm5hbWUsXG4gICAgLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnRpcmUtc3BlY3MgLmF0dHJpYnV0ZSA+IC5uYW1lIHtcbiAgICAgIHdpZHRoOiAzNCU7IH0gfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAudmFsdWUtcmVhciAubmFtZSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNvbXBhcmUtcGFnZSAucHJvZHVjdC1zZXQgLnRpcmUtc3BlY3MgLmZpbmlzaF9hdHRyaWJ1dGUgLnZhbHVlIHtcbiAgd2lkdGg6IDY2JTsgfVxuXG4uY29tcGFyZS1wYWdlIC5wcm9kdWN0LXNldCAudGlyZS1zcGVjcyAuZmluaXNoX2F0dHJpYnV0ZSAudmFsdWU6bm90KC52YWx1ZS1yZWFyKSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmZpbmFuY2luZy1ibG9ja3MuYWN0aXZlLXBsYW4gLmNiLWNvbHVtbi1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gIGNvbG9yOiAjZmZmOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzLmFjdGl2ZS1wbGFuIC5jYi1jb2x1bW4tY2hpbGQgaDIsXG4gIC5maW5hbmNpbmctYmxvY2tzLmFjdGl2ZS1wbGFuIC5jYi1jb2x1bW4tY2hpbGQgYSB7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MuYWN0aXZlLXBsYW4gLmNiLWNvbHVtbi1jaGlsZCBhIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7IH1cblxuLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGNvbG9yOiAjMDAwO1xuICBtaW4taGVpZ2h0OiAyMzBweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCBoMiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiA1LjYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gIC5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctbW9udGgtdGV4dCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS44NzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogNTZweDsgfVxuICAgIC5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctbW9udGgtdGV4dCArIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmZpbmFuY2luZy1ibG9ja3MgLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1pbmZvIHtcbiAgICBmb250LXNpemU6IDEuNDVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNnJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgIGJvdHRvbTogMTJweDtcbiAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDsgfVxuICAuZmluYW5jaW5nLWJsb2NrcyAuY2ItY29sdW1uLWNoaWxkIGEge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzIC5jYi1jb2x1bW4tY2hpbGQgaW1nIHtcbiAgICBtYXJnaW46IDQwcHggYXV0byAwO1xuICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgd2lkdGg6IGF1dG87IH1cblxuLmZpbmFuY2luZy1ibG9ja3Muc3RlcHMtdG8tdGFrZSAuY2ItY29sdW1uLWNoaWxkIHtcbiAgYm9yZGVyOiA3cHggc29saWQgIzFlMWUxZTtcbiAgbWluLWhlaWdodDogNDM4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5maW5hbmNpbmctYmxvY2tzLnN0ZXBzLXRvLXRha2UgLmNiLWNvbHVtbi1jaGlsZCB7XG4gICAgICBtaW4taGVpZ2h0OiA1MDVweDsgfSB9XG4gIC5maW5hbmNpbmctYmxvY2tzLnN0ZXBzLXRvLXRha2UgLmNiLWNvbHVtbi1jaGlsZDpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5maW5hbmNpbmctYmxvY2tzLnN0ZXBzLXRvLXRha2UgLmNiLWNvbHVtbi1jaGlsZDpob3ZlciBoMixcbiAgICAuZmluYW5jaW5nLWJsb2Nrcy5zdGVwcy10by10YWtlIC5jYi1jb2x1bW4tY2hpbGQ6aG92ZXIgYSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAgIC5maW5hbmNpbmctYmxvY2tzLnN0ZXBzLXRvLXRha2UgLmNiLWNvbHVtbi1jaGlsZDpob3ZlciBhIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5maW5hbmNpbmctYmxvY2tzLnN0ZXBzLXRvLXRha2UgLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4xMTVyZW07XG4gICAgcGFkZGluZzogMCAyMnB4OyB9XG5cbi5maW5hbmNpbmctYmxvY2tzLnN0ZXBzLXRvLXRha2UgaDIge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxLjRyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBwYWRkaW5nOiAzMHB4IDAgMThweDsgfVxuXG4uYXRyb290IC5maW5hbmNpbmctYmxvY2tzOm5vdCguc3RlcHMtdG8tdGFrZSk6bnRoLWNoaWxkKDEpLFxuLmF0cm9vdCAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgyKSB7XG4gIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICNmZjM5MDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmF0cm9vdCAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgxKSxcbiAgICAuYXRyb290IC5maW5hbmNpbmctYmxvY2tzOm5vdCguc3RlcHMtdG8tdGFrZSk6bnRoLWNoaWxkKDIpIHtcbiAgICAgIGJvcmRlci1yaWdodDogMDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmF0cm9vdCAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgxKTo6YmVmb3JlLFxuICAgICAgLmF0cm9vdCAuZmluYW5jaW5nLWJsb2Nrczpub3QoLnN0ZXBzLXRvLXRha2UpOm50aC1jaGlsZCgyKTo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZjM5MDA7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgaGVpZ2h0OiAxcHg7XG4gICAgICAgIGxlZnQ6IDM3JTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMjUlOyB9IH1cblxuLmxhc3QtbW9udGhseS1jb2x1bW4ge1xuICBwYWRkaW5nLWJvdHRvbTogNTBweCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5sYXN0LW1vbnRobHktY29sdW1uIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjJmMmYyOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5sYXN0LW1vbnRobHktY29sdW1uIC5jb2x1bW5zIHtcbiAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgcGFkZGluZy10b3A6IDUwcHg7IH0gfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIGgyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDUuNjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctbW9udGgtdGV4dCB7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBtYXJnaW4tYm90dG9tOiA0MXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIHAuZmluYW5jaW5nLWluZm8tMSxcbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1pbmZvLTIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBsaW5lLWhlaWdodDogMWVtOyB9XG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctaW5mby0xIHtcbiAgICBmb250LXNpemU6IDJyZW07IH1cbiAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCBwLmZpbmFuY2luZy1pbmZvLTIge1xuICAgIGZvbnQtc2l6ZTogMy4ycmVtOyB9XG4gIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAtMnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHtcbiAgICAgIHBhZGRpbmc6IDAgNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQge1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHAuZmluYW5jaW5nLWluZm8tMSxcbiAgICAgIC5sYXN0LW1vbnRobHktY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWNvbHVtbi1jaGlsZC1jb3B5Omxhc3QtY2hpbGQgcC5maW5hbmNpbmctaW5mby0yIHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCBhIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIHdpZHRoOiA5MCU7IH0gfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIGEge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAubGFzdC1tb250aGx5LWNvbHVtbiAuY2ItY29sdW1uLWNoaWxkIC5jYi1jb2x1bW4tY2hpbGQtY29weTpsYXN0LWNoaWxkIHAudGVybXMtY29uZGl0aW9ucyB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmxhc3QtbW9udGhseS1jb2x1bW4gLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCBwLnRlcm1zLWNvbmRpdGlvbnMgYSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jYi1jb2x1bW4tY2hpbGQtY29weS5zaW5nbGUtY29sdW1uIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYi1jb2x1bW4tY2hpbGQtY29weS5zaW5nbGUtY29sdW1uIHAudGVybXMtY29uZGl0aW9ucyBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuXG4uZmluYW5jaW5nLWFwcGx5LW5vdy1jdGEge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5maW5hbmNpbmctYXBwbHktbm93LWN0YSBhIHtcbiAgICBtaW4td2lkdGg6IDIyMHB4OyB9XG4gIC5maW5hbmNpbmctYXBwbHktbm93LWN0YSAuY2ItY3RhIHtcbiAgICBtYXJnaW46IDA7IH1cblxuI3Jlc3VsdHMtaW5mby1mcm9tLWdzcCB7XG4gIG1hcmdpbjogMjVweCAwIDUwcHg7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH0gfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwIGg0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AgI2NoYW5nZS1yZXNwb25zZXMtY3RhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItYWxsLXdlYXRoZXIgaDQgc3BhbiB7XG4gICAgY29sb3I6ICNiZjFhOGQ7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci13aW50ZXIgaDQgc3BhbiB7XG4gICAgY29sb3I6ICMyMGMzZjM7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci0zLXNlYXNvbiBoNCBzcGFuLFxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLWFsbC1zZWFzb24gaDQgc3BhbiB7XG4gICAgY29sb3I6ICNmYmIxMTY7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci1wZXJmb3JtYW5jZSBoNCBzcGFuIHtcbiAgICBjb2xvcjogIzYzNTNhMzsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLXRvdXJpbmcgaDQgc3BhbiB7XG4gICAgY29sb3I6ICMwMGE2NTE7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci1tdWQtdGVycmFpbiBoNCBzcGFuIHtcbiAgICBjb2xvcjogIzQyMjgwMDsgfVxuICAjcmVzdWx0cy1pbmZvLWZyb20tZ3NwLmNhdGNvbG9yLXNwb3J0LXRydWNrIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjOWVjZjdjOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItYWxsLXRlcnJhaW4gaDQgc3BhbiB7XG4gICAgY29sb3I6ICM3YTUyMjY7IH1cbiAgI3Jlc3VsdHMtaW5mby1mcm9tLWdzcC5jYXRjb2xvci1jb21tZXJjaWFsIGg0IHNwYW4ge1xuICAgIGNvbG9yOiAjYTdhOWFjOyB9XG4gICNyZXN1bHRzLWluZm8tZnJvbS1nc3AuY2F0Y29sb3ItdWx0cmEtaGlnaC1wZXJmb3JtYW5jZSBoNCBzcGFuIHtcbiAgICBjb2xvcjogI2E0OTljYTsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmF0cm9vdCB7XG4gICAgcGFkZGluZzogMDsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgI2dzcE1vYmlsZUNsb3NlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDEycHg7XG4gIHBhZGRpbmc6IDIwcHggMDsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIGg0IHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMzBweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciBoNCB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgaDMge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAxLjVlbSAwIDAuNzVlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciBoMyB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH0gfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24td3JhcHBlciB7XG4gIGJhY2tncm91bmQ6IHJnYmEoMjQyLCAyNDIsIDI0MiwgMC44NSk7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLW51bWJlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gIGJvcmRlci1yYWRpdXM6IDFlbTtcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGhlaWdodDogMmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDJlbTtcbiAgbWFyZ2luOiAwIDFlbSAwIC0zLjVlbTtcbiAgbWluLXdpZHRoOiAyZW07XG4gIHdpZHRoOiAyZW07IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogIzIwMjAyMCB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9xdWVzdGlvbi1oZWFkZXItaW1hZ2UucG5nXCIpIC00MnB4IGNlbnRlciBuby1yZXBlYXQ7XG4gIGJhY2tncm91bmQtc2l6ZTogMTk0cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMzIsIDMyLCAzMiwgMC44NSk7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMva2FsdGlyZS9xdWVzdGlvbi1oZWFkZXItaW1hZ2VAMngucG5nXCIpO1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTY2cHggY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1zaXplOiA0OCU7IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tdGl0bGUgPiBkaXYge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjVlbTtcbiAgICBwYWRkaW5nLWJvdHRvbTogMS4zNzVlbTtcbiAgICBwYWRkaW5nLXRvcDogMS4zNzVlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi10aXRsZSA+IGRpdiB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjk3NzVlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogM3JlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDAuOTc3NWVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tdGl0bGUgPiBkaXYge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS40MDk1ZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiAxLjQwOTVlbTsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcEFuc3dlciB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5mYS10aW1lcyB7XG4gIGNvbG9yOiAjZmZmO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIG1hcmdpbi10b3A6IC0xMXB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAyMHB4O1xuICB0b3A6IDUwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZmEtdGltZXMge1xuICAgICAgcmlnaHQ6IDMycHg7IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5mYS10aW1lczpob3ZlciB7XG4gICAgY29sb3I6ICNmMmYyZjI7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5nc3BBbnN3ZXIge1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBmbGV4LWJhc2lzOiBjYWxjKDUwJSAtIDIyLjVweCk7XG4gIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjIuNXB4KTtcbiAgaGVpZ2h0OiA4LjVlbTtcbiAgbWFyZ2luOiAwIDAgMS4yZW0gMC45Mzc1cmVtO1xuICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMjIuNXB4KTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5nc3BBbnN3ZXIge1xuICAgICAgZmxleC1iYXNpczogY2FsYygzMyUgLSAyMHB4KTtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjBweCk7XG4gICAgICBoZWlnaHQ6IDExZW07XG4gICAgICBtYXJnaW46IDAgMC42MjVyZW0gMS4yZW07XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMzMlIC0gMjBweCk7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5nc3BBbnN3ZXIge1xuICAgICAgZmxleC1iYXNpczogY2FsYygyMCUgLSAyMHB4KTtcbiAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjAlIC0gMjBweCk7XG4gICAgICBoZWlnaHQ6IDEyLjVlbTtcbiAgICAgIG1heC13aWR0aDogY2FsYygyMCUgLSAyMHB4KTsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuZ3NwQW5zd2VyIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogMzdweDtcbiAgICBwYWRkaW5nOiAwIDZweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIHotaW5kZXg6IDI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLmdzcEFuc3dlciBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICAgIGhlaWdodDogNDNweDsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuZ3NwQW5zd2VyOmhvdmVyIHNwYW4ge1xuICAgIGhlaWdodDogNDlweDsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtbXVsdGlzZWxlY3QgLnNlbGVjdGVkIHtcbiAgYm9yZGVyOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5zZWxlY3RlZCBzcGFuIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1tdWx0aXNlbGVjdCAuc2VsZWN0ZWQ6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNCk7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5zZWxlY3RlZDo6YmVmb3JlIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNjg3NXJlbTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogMS40Mzc1cmVtO1xuICAgIGhlaWdodDogM3JlbTtcbiAgICBsZWZ0OiA1MCU7XG4gICAgbWFyZ2luLWxlZnQ6IC0xLjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDEuNjg3NXJlbTtcbiAgICB3aWR0aDogM3JlbTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IC5zZWxlY3RlZDo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiA1cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMS43NXJlbTtcbiAgICAgICAgaGVpZ2h0OiAzLjQzNzVyZW07XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMS42ODc1cmVtO1xuICAgICAgICB0b3A6IDMuMTI1cmVtO1xuICAgICAgICB3aWR0aDogMy40Mzc1cmVtOyB9IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIHtcbiAgYWxpZ24tc2VsZjogZmxleC1zdGFydDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIge1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIHdpZHRoOiA1MHB4OyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmZpcnN0LWNoaWxkIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDsgfVxuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpmaXJzdC1jaGlsZCBoNCxcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6Zmlyc3QtY2hpbGQgcCB7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpsYXN0LWNoaWxkIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH1cbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCBoNCxcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCBwIHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciBoNCB7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luOiAyZW0gMCAwLjc1ZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciBwIHtcbiAgICBjb2xvcjogcmdiYSgxMjgsIDEzMCwgMTMzLCAwLjcpO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIuc2VsZWN0ZWQge1xuICAgIGJvcmRlcjogMDsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5vcHRpb24tYmcge1xuICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICBib3JkZXItcmFkaXVzOiAyNHB4O1xuICBoZWlnaHQ6IDQ3cHg7XG4gIG1hcmdpbi10b3A6IDMuNzVlbTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLm9wdGlvbi1iZyB7XG4gICAgICBtYXJnaW4tdG9wOiA5LjM3NWVtOyB9IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyLFxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgY29sb3I6ICMwMDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyIHAsXG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciBwIHtcbiAgICBmb250LXNpemU6IGluaGVyaXQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNWVtO1xuICAgIHdpZHRoOiAxNHJlbTsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXIgc3Ryb25nLFxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIgc3Ryb25nIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyIHtcbiAgZmxleC1iYXNpczogMTAwJTtcbiAgaGVpZ2h0OiAxNC4xODc1cmVtO1xuICBtYXJnaW46IDMwcHggMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciB7XG4gICAgICBmbGV4LWJhc2lzOiA0MCU7XG4gICAgICBoZWlnaHQ6IDE0LjE4NzVyZW07XG4gICAgICBtYXJnaW46IDMwcHggMS44NzVyZW07IH1cbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciB7XG4gICAgICBoZWlnaHQ6IDE0LjE4NzVyZW07XG4gICAgICBtYXJnaW46IDMwcHggMS44NzVyZW07IH1cbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlciBwIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTIuMTNyZW07IH1cbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLmdzcEFuc3dlcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTUyNGVtO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH0gfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIC5nc3BBbnN3ZXI6aG92ZXIge1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNmZjY5MDA7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyIHNwYW4ge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIGhlaWdodDogMzdweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB6LWluZGV4OiAyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyIHNwYW4ge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgaGVpZ2h0OiA0M3B4OyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuZ3NwQW5zd2VyOmhvdmVyIHNwYW4ge1xuICAgIGhlaWdodDogNDlweDsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIGltZyB7XG4gIGhlaWdodDogNC4zNzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuOHJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiBpbWcge1xuICAgICAgaGVpZ2h0OiA1LjYyNXJlbTsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLnNlbGVjdGVkIHtcbiAgYm9yZGVyOiA0cHggc29saWQgI2ZmNjkwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIgLnNlbGVjdGVkOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YiAuc2VsZWN0ZWQ6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDEuNjg3NXJlbTtcbiAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGhlaWdodDogMy4wMzc1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMC43MjVyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMC41MjVyZW07XG4gICAgd2lkdGg6IDMuMDM3NXJlbTtcbiAgICB6LWluZGV4OiAyOyB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcC1xdWVzdGlvbi1udW1iZXIge1xuICBtYXJnaW4tbGVmdDogLTMuNzVlbTsgfVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIge1xuICBoZWlnaHQ6IDEzcmVtO1xuICBtYXJnaW46IDAgMC45Mzc1cmVtIDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIge1xuICAgICAgaGVpZ2h0OiAxMy44MTI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogLTAuNDM3NXJlbTsgfVxuICAgICAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7IH1cbiAgICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlcjpsYXN0LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgaGVpZ2h0OiAxN3JlbTsgfSB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciBpbWcge1xuICAgIGhlaWdodDogOC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIgaW1nIHtcbiAgICAgICAgaGVpZ2h0OiAxMC44MTI1cmVtOyB9IH1cbiAgI2d1aWRlZFNlbGxpbmdQYXRoV3JhcHBlciAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwQW5zd2VyIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcbiAgICB3aWR0aDogMTRyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjkzNzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxOXJlbTsgfSB9XG5cbiNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmJ1dHRvbiB7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICBjb2xvcjogIzAwMDtcbiAgbWFyZ2luLWJvdHRvbTogMy4yNWVtO1xuICBwYWRkaW5nOiAxM3B4IDIuNWVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNndWlkZWRTZWxsaW5nUGF0aFdyYXBwZXIgLmJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmYTU2NjsgfVxuICAjZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIC5idXR0b24uZGlzYWJsZWQge1xuICAgIGJhY2tncm91bmQ6ICM4MDgyODU7XG4gICAgYm9yZGVyLWNvbG9yOiAjODA4Mjg1O1xuICAgIGNvbG9yOiAjZmZmOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIGg0LFxuICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyIHAge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpmaXJzdC1jaGlsZCBoNCxcbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlcjpmaXJzdC1jaGlsZCBwLCAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSAuZ3NwQW5zd2VyOmxhc3QtY2hpbGQgaDQsXG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXI6bGFzdC1jaGlsZCBwIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgLm9wdGlvbiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZjY5MDA7XG4gIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMzZweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbjogLTQycHggNXB4IDA7XG4gIHdpZHRoOiAzNnB4OyB9XG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgLm9wdGlvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI4LCAxMzAsIDEzMywgMC4yKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAxNXB4O1xuICAgIHdpZHRoOiAxNXB4OyB9XG5cbi5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIuc2VsZWN0ZWQgLm9wdGlvbixcbi5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RhIC5nc3BBbnN3ZXIgLm9wdGlvbjpob3ZlciB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7IH1cbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlci5zZWxlY3RlZCAub3B0aW9uOjphZnRlcixcbiAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciAub3B0aW9uOmhvdmVyOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogI2ZmNjkwMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3AtcXVlc3Rpb24tYW5zd2VycyB1bCB7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH0gfVxuXG4uZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyAuZ3NwLXF1ZXN0aW9uLWFuc3dlcnMgdWw6aG92ZXIgLmdzcEFuc3dlcjpob3ZlciB7XG4gIGJvcmRlci1jb2xvcjogI2ZmNjkwMDtcbiAgYm9yZGVyLXdpZHRoOiA0cHg7IH1cblxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlciB7XG4gIGZsZXgtYmFzaXM6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIge1xuICAgICAgZmxleC1iYXNpczogNDAlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIge1xuICAgICAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gICAgICBwb2ludGVyLWV2ZW50czogYXV0bzsgfVxuICAgICAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMgLmdzcEFuc3dlci5zZWxlY3RlZCB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMDsgfSB9XG4gIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIC5nc3BBbnN3ZXIgc3Ryb25nOjphZnRlciB7XG4gICAgY29udGVudDogXCIsXCI7IH1cblxuLm5vcmVzdWx0cy1wYWdlIHAsXG4ubm9yZXN1bHRzLXBhZ2UgYSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5zZWFyY2gtcGhyYXNlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1tZXNzYWdlIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2gsXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoLFxuLm5vcmVzdWx0cy1wYWdlIC5yZXNvdXJjZS1jZW50ZXIge1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCBpbnB1dCB7XG4gIGhlaWdodDogNDVweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwIDAgMCA3cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoIC5idXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoIC5pY29uLXNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAucmVsYXRlZC1zZWFyY2ggLnJlZmluZW1lbnQtaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAucmVsYXRlZC1zZWFyY2ggbGkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2Uge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmc6IDMwcHggMCAwOyB9IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIC5ib3gge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBoNCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBoNCBzcGFuIHtcbiAgICBwYWRkaW5nOiAwIDAgMCA4cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIGEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBwLFxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIGEge1xuICBtYXJnaW46IDAgMCAwIDMwcHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42ODc1cmVtOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIC5idXR0b24uaG9sbG93IHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICMyMDIwMjA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwIDAgNDVweDtcbiAgICBwYWRkaW5nOiA0NXB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlQDJ4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1NTBweCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4O1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTUwJSBjZW50ZXI7IH0gfVxuXG4udmlzdWFsaXplci13cmFwcGVyIHtcbiAgYm9yZGVyOiA2cHggc29saWQgI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogMS44NzVyZW07IH1cblxuLnZpc3VhbGl6ZXItY29udGFpbmVyIHtcbiAgcGFkZGluZzogMC42MjVyZW0gMC43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLWltYWdlIHtcbiAgICAgIGJvdHRvbTogNC4xNzVyZW07XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMC42MjVyZW07IH0gfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLnZpc3VhbGl6ZXItdG9vbHMge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDE7IH1cbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLnZpc3VhbGl6ZXItdG9vbHMgYSB7XG4gICAgICBjb2xvcjogIzgwODI4NTsgfVxuICAgICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC52aXN1YWxpemVyLXRvb2xzIGE6aG92ZXIge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAudmlzdWFsaXplci10b29scyAubWluaW1pemUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtdGlsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAuYnJhbmQtbmFtZSB7XG4gICAgZm9udC1zaXplOiAxN3B4OyB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtOyB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAuZmluaXNoIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjYyNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLmZpbmlzaCxcbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5hdHRyaWJ1dGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5maW5pc2ggc3BhbixcbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLmF0dHJpYnV0ZSBzcGFuIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAuYXR0cmlidXRlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07IH1cbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLmF0dHJpYnV0ZSBzcGFuIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLmF0dHJpYnV0ZSBlbSB7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7IH1cbiAgICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAuYXR0cmlidXRlIGVtOjphZnRlciB7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTBlXCI7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgZm9udC1zaXplOiA2cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjsgfVxuICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtcHJpY2luZyAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1wcmljaW5nIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgIGZsb2F0OiBub25lOyB9IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5wcm9kdWN0LXByaWNlOjpiZWZvcmUsIC52aXN1YWxpemVyLWNvbnRhaW5lciAucHJvZHVjdC1wcmljZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJyAnO1xuICAgICAgZGlzcGxheTogdGFibGU7IH1cbiAgICAudmlzdWFsaXplci1jb250YWluZXIgLnByb2R1Y3QtcHJpY2U6OmFmdGVyIHtcbiAgICAgIGNsZWFyOiBib3RoOyB9XG4gIC52aXN1YWxpemVyLWNvbnRhaW5lciAudmlzdWFsaXplci10aXAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBib3JkZXI6IDA7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudmlzdWFsaXplci1jb250YWluZXIgLnZpc3VhbGl6ZXItdGlwIHtcbiAgICAgICAgYm90dG9tOiA1cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDAuNjI1cmVtOyB9IH1cbiAgLnZpc3VhbGl6ZXItY29udGFpbmVyIC5yZWxhdGl2ZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi52aXN1YWxpemVyLWNhcm91c2VsIHtcbiAgYm9yZGVyLXRvcDogNnB4IHNvbGlkICNmMmYyZjI7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMy41cmVtIDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAudmlzdWFsaXplci1jYXJvdXNlbCAuY2Fyb3VzZWwtd3JhcHBlciB7XG4gICAgaGVpZ2h0OiAxNHJlbTsgfVxuICAudmlzdWFsaXplci1jYXJvdXNlbCAuY2Fyb3VzZWwtY29udGFpbmVyIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLnYtY2Fyb3VzZWwtaXRlbSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBoZWlnaHQ6IDE0cmVtO1xuICBvdXRsaW5lOiBub25lO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLnYtY2Fyb3VzZWwtaXRlbSBpbWcge1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnYtY2Fyb3VzZWwtaXRlbSBhIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgIG91dGxpbmU6IG5vbmU7IH1cbiAgLnYtY2Fyb3VzZWwtaXRlbSAucHJpY2Uge1xuICAgIGNvbG9yOiAjODA4Mjg1OyB9XG4gICAgLnYtY2Fyb3VzZWwtaXRlbSAucHJpY2UgLmN1cnJlbmN5LWNvZGUge1xuICAgICAgZm9udC1zaXplOiAxMDAlO1xuICAgICAgdG9wOiAwOyB9XG4gIC52LWNhcm91c2VsLWl0ZW0uYWN0aXZlLCAudi1jYXJvdXNlbC1pdGVtOmhvdmVyIHtcbiAgICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2ZmNjkwMDsgfVxuXG4udmlzdWFsaXplci1jb2xvcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBtYXJnaW46IDEuMjVyZW0gMCAwLjYyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnZpc3VhbGl6ZXItY29sb3JzIHtcbiAgICAgIGJvdHRvbTogMC42MjVyZW07XG4gICAgICBsZWZ0OiA1MCU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7IH0gfVxuICAudmlzdWFsaXplci1jb2xvcnMgbGkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICM4MDgyODU7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luOiA1cHggMnB4O1xuICAgIG1pbi13aWR0aDogMXJlbTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICB3aWR0aDogMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnZpc3VhbGl6ZXItY29sb3JzIGxpIHtcbiAgICAgICAgbWFyZ2luOiA1cHggMnB4OyB9IH1cbiAgICAudmlzdWFsaXplci1jb2xvcnMgbGk6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjExMVwiO1xuICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgbGVmdDogNTAlO1xuICAgICAgbWFyZ2luOiAtMC41cmVtIDAgMCAtMC41cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICB0b3A6IDUwJTsgfVxuICAgIC52aXN1YWxpemVyLWNvbG9ycyBsaS5hY3RpdmUsIC52aXN1YWxpemVyLWNvbG9ycyBsaTpob3ZlciB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZjY5MDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjdi12aXN1YWxpemVyLWxhcmdlIC5wcm9kdWN0LXRpbGUge1xuICAgIG1pbi1oZWlnaHQ6IDI0cmVtOyB9IH1cblxuI3YtdmlzdWFsaXplci1sYXJnZSAudmlzdWFsaXplci10b29scyAubWluaW1pemUge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jdi12aXN1YWxpemVyLWxhcmdlIC52aXN1YWxpemVyLXRvb2xzIC5leHBhbmQge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbiN2LXZpc3VhbGl6ZXItbGFyZ2UgLnByb2R1Y3QtdGlsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmNhcm91c2VsLWJ0biB7XG4gIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBoZWlnaHQ6IDJyZW07XG4gIGxlZnQ6IDFyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgdG9wOiA0cmVtO1xuICB3aWR0aDogMnJlbTsgfVxuICAuY2Fyb3VzZWwtYnRuLnNsaWNrLWRpc2FibGVkIHtcbiAgICBib3JkZXItY29sb3I6ICNlNmU2ZTY7XG4gICAgY29sb3I6ICNlNmU2ZTY7IH1cbiAgLmNhcm91c2VsLWJ0bi5jYXJvdXNlbC1uZXh0IHtcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHJpZ2h0OiAxcmVtOyB9XG5cbiN2LXBkcC10b3BsZXZlbGNvbXBvbmVudCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3YtcGRwLXRvcGxldmVsY29tcG9uZW50ICN2LXZlaGljbGUtaW1hZ2Uge1xuICAgICAgbWluLWhlaWdodDogMTcuNXJlbTsgfVxuICAgICN2LXBkcC10b3BsZXZlbGNvbXBvbmVudCAucmVsYXRpdmUge1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuI3YtdmlzdWFsaXplci1kZWZhdWx0LXZlaGljbGUtc21hbGwge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmxvZ2luLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICBwYWRkaW5nOiAwLjMxMjVyZW0gMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxvZ2luLXdyYXBwZXIge1xuICAgICAgYm9yZGVyOiA1cHggc29saWQgcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAyLjgxM3JlbTtcbiAgICAgIHBhZGRpbmctdG9wOiA0LjA2M3JlbTsgfSB9XG4gIC5wdF9jYXJ0IC5sb2dpbi13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5sb2dpbi13cmFwcGVyIGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubG9naW4td3JhcHBlciBoNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtOyB9IH1cbiAgLmxvZ2luLXdyYXBwZXIgLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgbWFyZ2luOiAwIDAgMXJlbTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gIC5sb2dpbi13cmFwcGVyIC5ib3JkZXJlZC1lbmQge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIG1hcmdpbi1ib3R0b206IDIuMzc1cmVtO1xuICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubG9naW4td3JhcHBlciAuYm9yZGVyZWQtZW5kIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2YyZjJmMjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDA7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtOyB9XG4gICAgICAgIC5sb2dpbi13cmFwcGVyIC5ib3JkZXJlZC1lbmQgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5sb2dpbi13cmFwcGVyIC5wYXNzd29yZC1yZXNldCB7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmxvZ2luLXdyYXBwZXIgLnBhc3N3b3JkLXJlc2V0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9IH1cbiAgLmxvZ2luLXdyYXBwZXIgLmxvZ2luLXJlbWVtYmVybWUge1xuICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubG9naW4td3JhcHBlciAubG9naW4tcmVtZW1iZXJtZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtOyB9IH1cbiAgLmxvZ2luLXdyYXBwZXIgLmVycm9yLWZvcm0ge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMTI1cmVtOyB9XG4gIC5sb2dpbi13cmFwcGVyIC5sb2dpbi1jcmVhdGUtYWNjb3VudCBwIHtcbiAgICBtYXJnaW46IDAuMTg3NXJlbSAwIDEuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubG9naW4td3JhcHBlciAubG9naW4tY3JlYXRlLWFjY291bnQgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuODc1cmVtOyB9IH1cblxuLmxvZ2luLXBhZ2UtdGl0bGUsXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLXBhZ2UtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDIxcHg7XG4gIG1hcmdpbjogMjBweCAwO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubG9naW4tcGFnZS10aXRsZSxcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLXBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMzBweCAwIDIuOTM3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAubG9naW4tcGFnZS10aXRsZSxcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLXBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiA1MHB4IDAgMi45Mzc1cmVtOyB9IH1cblxuLnVpLXdpZGdldC1vdmVybGF5IHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGxlZnQ6IDA7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwOyB9XG5cbi51aS13aWRnZXQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIHBhZGRpbmc6IDAgMC45Mzc1cmVtO1xuICB6LWluZGV4OiAxMDE7IH1cbiAgLnVpLXdpZGdldCBwIHtcbiAgICBsaW5lLWhlaWdodDogMS4zNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnVpLXdpZGdldCBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG4gIC51aS13aWRnZXQgLmRpYWxvZy1jb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEuMDYyNXJlbSAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnVpLXdpZGdldCAuZGlhbG9nLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxLjY4NzVyZW0gMS44NzVyZW0gMi42ODc1cmVtOyB9IH1cbiAgLnVpLXdpZGdldCBoMSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudWktd2lkZ2V0IGgxIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4xODc1cmVtOyB9IH1cbiAgLnVpLXdpZGdldCAudWktZGlhbG9nLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC51aS13aWRnZXQgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDM1cHg7XG4gICAgdG9wOiAxMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnVpLXdpZGdldCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgICAgICAgcmlnaHQ6IDQ3cHg7XG4gICAgICAgIHRvcDogMjRweDsgfSB9XG4gIC51aS13aWRnZXQgLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWJ1dHRvbi10ZXh0IHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC51aS13aWRnZXQgLnVpLWJ1dHRvbi1pY29uLW9ubHkgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnk6OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcIlxcZjAwZFwiO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICBmb250LXNpemU6IDEuNXJlbTsgfVxuICAudWktd2lkZ2V0IC51aS1idXR0b24taWNvbi1vbmx5IC51aS1idXR0b24taWNvbi1wcmltYXJ5OmhvdmVyOjphZnRlciB7XG4gICAgY29sb3I6ICNkYjVhMDA7IH1cbiAgLnVpLXdpZGdldCAudWktZGlhbG9nLWJ1dHRvbnBhbmUge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMS41cmVtIDEuMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAudWktd2lkZ2V0IC51aS1kaWFsb2ctYnV0dG9ucGFuZSB7XG4gICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMS41ZW07IH0gfVxuICAudWktd2lkZ2V0Lm5vLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG4gIC51aS13aWRnZXQgLmJ1dHRvbi1tb2RhbCB7XG4gICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAxOHB4OyB9XG5cbi5wYXNzd29yZC1jb250YWluZXIge1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wYXNzd29yZC1jb250YWluZXIgLmZpZWxkLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucGFzc3dvcmQtaWNvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgaGVpZ2h0OiAyMHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxMHB4O1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICB3aWR0aDogMjBweDsgfVxuICAucGFzc3dvcmQtaWNvbjo6YWZ0ZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9leWUtc2hvdy1wYXNzd29yZC5zdmdcIik7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgY29udGVudDogXCJcIjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICB3aWR0aDogMjBweDsgfVxuICAucGFzc3dvcmQtaWNvbi5wYXNzd29yZC1zaG93OjphZnRlciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2V5ZS1oaWRlLXBhc3N3b3JkLnN2Z1wiKTsgfVxuXG4uZm9yZ290LXBhc3N3b3JkIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLnBhc3N3b3JkLXJlc2V0LWRpYWxvZyB7XG4gIG1heC13aWR0aDogNDJyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYXNzd29yZC1yZXNldC1kaWFsb2cgcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgLnBhc3N3b3JkLXJlc2V0LWRpYWxvZyAuZm9ybS1yb3cge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgbWluLXdpZHRoOiA0MDBweDsgfVxuICAgIC5wYXNzd29yZC1yZXNldC1kaWFsb2cgLmJ1dHRvbi1ncm91cCB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAxLjM3NXJlbTsgfVxuICAgIC5wYXNzd29yZC1yZXNldC1kaWFsb2cgc3Ryb25nIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9IH1cbiAgLnBhc3N3b3JkLXJlc2V0LWRpYWxvZyAuYnV0dG9uLWdyb3VwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG5cbi5wdF9hY2NvdW50IC5tZWRpdW0tY2VudGVyZWQge1xuICBtYXJnaW4tbGVmdDogYXV0bztcbiAgbWFyZ2luLXJpZ2h0OiBhdXRvOyB9XG5cbi5yZWdpc3Rlci1wYWdlLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAyMXB4O1xuICBtYXJnaW46IDIwcHggMDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnJlZ2lzdGVyLXBhZ2UtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMzBweCBhdXRvIDIuNXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucmVnaXN0ZXItcGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW4tdG9wOiAyMHB4OyB9IH1cbiAgLnJlZ2lzdGVyLXBhZ2UtdGl0bGUuaGFzLXN1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cblxuLnJlZ2lzdGVyLWJyZWFkY3J1bWIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbWFyZ2luLXRvcDogNDBweDsgfVxuXG4ucmVnaXN0ZXItZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDQuODc1cmVtOyB9XG4gIC5yZWdpc3Rlci1mb3JtIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAucmVnaXN0ZXItZm9ybSAuaW5mby1ib3gge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzgwODI4NTsgfVxuICAgIC5yZWdpc3Rlci1mb3JtIC5pbmZvLWJveCBhIHtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5yZWdpc3Rlci1mb3JtIC5pbmZvLWJveCBhOmhvdmVyIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lOyB9XG4gICAgLnJlZ2lzdGVyLWZvcm0gLmluZm8tYm94IHAge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnJlZ2lzdGVyLWZvcm0gLmluZm8tYm94IHAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07IH0gfVxuICAucmVnaXN0ZXItZm9ybSAuaGlkZGVuLWNhcHRpb24gLmZvcm0tY2FwdGlvbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAucmVnaXN0ZXItZm9ybSAubmV3c2xldHRlci10ZXh0IHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAucmVnaXN0ZXItZm9ybSAubmV3c2xldHRlci10ZXh0IHNwYW4ge1xuICAgICAgbGluZS1oZWlnaHQ6IDFyZW07IH1cblxuLm5vcmVzdWx0cy1wYWdlIHAsXG4ubm9yZXN1bHRzLXBhZ2UgYSB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5zZWFyY2gtcGhyYXNlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbWFyZ2luOiAwIDAgMzBweDsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1tZXNzYWdlIHAge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLm5ldy1zZWFyY2gsXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoLFxuLm5vcmVzdWx0cy1wYWdlIC5yZXNvdXJjZS1jZW50ZXIge1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCBpbnB1dCB7XG4gIGhlaWdodDogNDVweDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAubmV3LXNlYXJjaCAuYnV0dG9uIHtcbiAgbWFyZ2luOiAwIDAgMCA3cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoIC5idXR0b24ge1xuICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgcGFkZGluZzogMCAxMHB4OyB9IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5uZXctc2VhcmNoIC5pY29uLXNlYXJjaCB7XG4gIGZvbnQtc2l6ZTogMS4wNjI1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAucmVsYXRlZC1zZWFyY2ggLnJlZmluZW1lbnQtaGVhZGVyIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luOiAwIDAgMTVweDsgfVxuXG4ubm9yZXN1bHRzLXBhZ2UgLnJlbGF0ZWQtc2VhcmNoIHVsIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAucmVsYXRlZC1zZWFyY2ggbGkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCAxNXB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAubm9yZXN1bHRzLXBhZ2UgLmN1c3RvbWVyLXNlcnZpY2Uge1xuICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjY2NjO1xuICAgIHBhZGRpbmc6IDMwcHggMCAwOyB9IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIC5ib3gge1xuICBtYXJnaW46IDAgMCAyMHB4OyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBoNCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luOiAwOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBoNCBzcGFuIHtcbiAgICBwYWRkaW5nOiAwIDAgMCA4cHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIGEge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5ub3Jlc3VsdHMtcGFnZSAuY3VzdG9tZXItc2VydmljZSBwLFxuLm5vcmVzdWx0cy1wYWdlIC5jdXN0b21lci1zZXJ2aWNlIGEge1xuICBtYXJnaW46IDAgMCAwIDMwcHg7IH1cblxuLm5vcmVzdWx0cy1wYWdlIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICBtYXJnaW4tdG9wOiAzLjEyNXJlbTsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciBwIHtcbiAgICBsaW5lLWhlaWdodDogMS42ODc1cmVtOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLXNlbGVjdG9yIC5idXR0b24uaG9sbG93IHtcbiAgICBjb2xvcjogaW5oZXJpdDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5ub3Jlc3VsdHMtcGFnZSAubm9yZXN1bHRzLW1lc3NhZ2Uge1xuICAgIGJhY2tncm91bmQ6ICMyMDIwMjA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgbWFyZ2luOiAwIDAgNDVweDtcbiAgICBwYWRkaW5nOiA0NXB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5ub3Jlc3VsdHMtcGFnZSAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICBsZWZ0OiA1MCU7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTsgfVxuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlQDJ4LnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA1NTBweCBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4O1xuICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAubm9yZXN1bHRzLXBhZ2UgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTUwJSBjZW50ZXI7IH0gfVxuXG4ucGFja2FnZXMtc2VsZWN0aW9uIHtcbiAgbWFyZ2luOiA0MHB4IDAgMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucGFja2FnZXMtc2VsZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDAgMzBweDsgfSB9XG4gIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3Ige1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW4tbGVmdDogOTBweDsgfVxuICAgICAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3I6Zmlyc3QtY2hpbGQge1xuICAgICAgbWFyZ2luOiAwIDAgMTJweDsgfVxuICAgIC5wYWNrYWdlcy1zZWxlY3Rpb24gLmNpcmNsZS1pbmRpY2F0b3IgLnBrLWVkaXQtd2hlZWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNXB4OyB9XG4gICAgLnBhY2thZ2VzLXNlbGVjdGlvbiAuY2lyY2xlLWluZGljYXRvciAuc3RlcC1udW1iZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBiYWNrZ3JvdW5kOiAjMDAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgY29sb3I6ICNmZmY7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICBsaW5lLWhlaWdodDogMzJweDtcbiAgICAgIG1hcmdpbjogMCAwLjMxMjVyZW0gMCAwO1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgd2lkdGg6IDMycHg7IH1cbiAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yLnNlbGVjdGVkIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yLnNlbGVjdGVkIC5zdGVwLW51bWJlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cbiAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAjZDlkOWRhOyB9XG4gICAgICAucGFja2FnZXMtc2VsZWN0aW9uIC5jaXJjbGUtaW5kaWNhdG9yLmRpc2FibGVkIC5zdGVwLW51bWJlciB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNkOWQ5ZGE7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIGgyIHtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgaDUge1xuICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWxlY3Rvci1wYWNrYWdlcyBoNSB7XG4gICAgICBtYXJnaW4tdG9wOiAycmVtOyB9IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5taWQtbGluZS1jb3B5IHtcbiAgbWFyZ2luOiAyLjVyZW0gMCAyLjM3NXJlbTsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUge1xuICBib3JkZXI6IDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbWFyZ2luOiAwIDAgMXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplIHtcbiAgICAgIG1hcmdpbjogMCAwIDNyZW07IH0gfVxuICAuc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUgLnNlbC1zdWJ0aXRsZSBzcGFuIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplIGEge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgIHBhZGRpbmc6IDE1cHggMThweDsgfVxuICAgIC5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZSBhOm5vdCguc2VsLXN1YnRpdGxlKSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplLm9lLXNpemUtb3JhbmdlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gICAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplLm9lLXNpemUtb3JhbmdlOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmE1NjY7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmE1NjY7IH1cbiAgICAuc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUub2Utc2l6ZS1vcmFuZ2UgYSB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLm9wdGlvbmFsLXNpemVzLWhlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbWFyZ2luLWJvdHRvbTogMS4xODc1cmVtOyB9XG4gIC5zZWxlY3Rvci1wYWNrYWdlcyAub3B0aW9uYWwtc2l6ZXMtaGVhZGVyIGkge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIG1hcmdpbi1sZWZ0OiAxNXB4OyB9XG4gICAgLnNlbGVjdG9yLXBhY2thZ2VzIC5vcHRpb25hbC1zaXplcy1oZWFkZXIgaTo6YmVmb3JlIHtcbiAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4OyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAuc2hvdy1zZWxmLXNlcnZpY2Uge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5zZWxlY3Rvci1wYWNrYWdlcyAub2Utc2l6ZS1jb250YWluZXIgLnNlY3Rpb24tdGl0ZSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLm9lLXNpemUtY29udGFpbmVyIC5zZWwtc3VidGl0bGUge1xuICBtYXJnaW46IDA7IH1cblxuLnNlbGVjdG9yLXBhY2thZ2VzIC5vZS1zaXplLWNvbnRhaW5lciAuc3VidGl0bGUtdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLnlvdXItdmVoaWNsZS1pbmZvIHtcbiAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuXG4uc2VsZWN0b3ItcGFja2FnZXMgLnNlY3Rpb24tdGl0bGUtdG9vbHRpcCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuICAuc2VsZWN0b3ItcGFja2FnZXMgLnNlY3Rpb24tdGl0bGUtdG9vbHRpcCAuc2VsLXN1YnRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjVyZW07IH1cblxuLm9lLXNpemUtYnRuIHtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5zZWN0aW9uLXF1ZXN0aW9uLWNvcHkgcCwgLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZyBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG4gIC5zZWN0aW9uLXF1ZXN0aW9uLWNvcHkgcCBzcGFuLCAucGFja2FnZXMtc2VjdGlvbi1oZWFkaW5nIHAgc3BhbiB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsb2F0OiBsZWZ0OyB9XG5cbi5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcge1xuICAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovIH1cbiAgLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZyBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjMxMjVyZW07IH1cbiAgLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZyBhIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkICNmZjY5MDA7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udC1zdHlsZTogaXRhbGljOyB9XG5cbi5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmctbWFpbiB7XG4gIG1hcmdpbi10b3A6IDFyZW07IH1cbiAgLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZy1tYWluIHAge1xuICAgIG1hcmdpbi10b3A6IDFyZW07IH1cblxuLnBhY2thZ2VzLXN0YWdnZXJlZCB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtOyB9XG4gIC5wYWNrYWdlcy1zdGFnZ2VyZWQgLnBhY2thZ2Utc3RhZ2dlcmVkLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnBhY2thZ2VzLXN0YWdnZXJlZCAucGFja2FnZS1zdGFnZ2VyZWQtYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciB7XG4gIGJhY2tncm91bmQ6ICMwMDA7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBwYWRkaW5nOiA3MHB4IDAgMTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDEyNXB4IDAgMTM1cHg7IH0gfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgaDEsXG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIGgxLFxuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA2N3B4OyB9IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlc1RvcFNsb3RXcmFwcGVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMnJlbTtcbiAgICBtYXJnaW46IDEuNHJlbSAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNnJlbTsgfSB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciAucmViYXRlcy10YWJzLW5hdi13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgbWluLWhlaWdodDogNDVweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzVG9wU2xvdFdyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYtd3JhcHBlciB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBtaW4taGVpZ2h0OiA2MHB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiB7XG4gICAgICBsaW5lLWhlaWdodDogNjBweDsgfSB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGkge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBmbGV4LWdyb3c6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGkuYWN0aXZlIGEge1xuICAgICAgb3BhY2l0eTogMTsgfVxuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGkgYSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBvcGFjaXR5OiAwLjY7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLXRhYnMtbmF2IGxpIGEge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiBsaTpob3Zlcjo6YWZ0ZXIsICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGkuYWN0aXZlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgYm90dG9tOiAwO1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogM3B4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy10YWJzLW5hdiBsaTpob3Zlcjo6YWZ0ZXIsICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtdGFicy1uYXYgbGkuYWN0aXZlOjphZnRlciB7XG4gICAgICAgICAgaGVpZ2h0OiA1cHg7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzTWFpbkNvbnRlbnRXcmFwcGVyIHtcbiAgbWFyZ2luOiA0NXB4IDAgMTE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXNNYWluQ29udGVudFdyYXBwZXIge1xuICAgICAgbWFyZ2luOiA3NXB4IDAgMTE1cHg7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWxhbmRpbmctaGVhZCBoMiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgaDIge1xuICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cblxuI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1sYW5kaW5nLWhlYWQgcCB7XG4gICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWxhbmRpbmctaGVhZCBpbWcge1xuICBkaXNwbGF5OiBibG9jaztcbiAgaGVpZ2h0OiBhdXRvO1xuICB3aWR0aDogMTAwJTsgfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWxhbmRpbmctaGVhZCAuYnV0dG9uLnNtYWxsIHtcbiAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgcGFkZGluZzogOHB4IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtbGFuZGluZy1oZWFkIC5idXR0b24uc21hbGwge1xuICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcbiAgICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSB7XG4gIGJvcmRlcjogNnB4IHNvbGlkICNmMmYyZjI7XG4gIG1hcmdpbjogMTVweCAwIDA7XG4gIHBhZGRpbmc6IDdweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtOjpiZWZvcmUsICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW06OmFmdGVyIHtcbiAgICBjbGVhcjogYm90aDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICBwYWRkaW5nOiAxMnB4OyB9IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIC5yZWJhdGVzLWl0ZW0taW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiAzNS4zMzIlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIC5yZWJhdGVzLWl0ZW0taW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSAucmViYXRlcy1pdGVtLWltZyBpbWcge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIC5yZWJhdGVzLWl0ZW0tY29udGVudCB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBmbG9hdDogbGVmdDtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbSAucmViYXRlcy1pdGVtLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgIHdpZHRoOiA2NC42NyU7IH0gfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gaDMge1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxMHB4IDVweDsgfVxuICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gaDIge1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxMHB4IDEwcHg7IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxMHB4IDE4cHg7IH1cbiAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gcCBzdHJvbmcge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtIGEuYnV0dG9uIHtcbiAgICBtYXJnaW46IDAgMCA4cHggMTBweDtcbiAgICBwYWRkaW5nOiAxMXB4IDE1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0gYS5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7IH0gfVxuXG4jcmViYXRlc0xhbmRpbmdXcmFwcGVyIC5yZWJhdGVzLWl0ZW0tdHlwZS1yb3cge1xuICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbS10eXBlLXJvdyAucmViYXRlcy1pdGVtLXR5cGUge1xuICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciAucmViYXRlcy1pdGVtLXR5cGUtcm93IC5yZWJhdGVzLWl0ZW0tdHlwZSB7XG4gICAgICAgIGZsb2F0OiByaWdodDsgfSB9XG5cbiNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbS10eXBlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgY29sb3I6ICNmZmY7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMjdweDtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgcGFkZGluZzogMCAxM3B4OyB9XG4gICNyZWJhdGVzTGFuZGluZ1dyYXBwZXIgLnJlYmF0ZXMtaXRlbS10eXBlLmJsYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiAjMDAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciBoNCB7XG4gICAgZm9udC1zaXplOiAxOHB4OyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMsXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuZmVhdHVyZWQtYnJhbmRzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjI7XG4gIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLFxuICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5mZWF0dXJlZC1icmFuZHMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogNC4xODc1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1zbG90IGRpdiB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gIHBhZGRpbmc6IDFyZW0gMDsgfVxuICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLXNsb3QgZGl2IHAge1xuICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgcGFkZGluZzogMS44cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1zbG90IGRpdiBwIHtcbiAgICAgICAgZmxleDogMCAwIDI1JTtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzIHtcbiAgcGFkZGluZzogMXJlbSAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW06bnRoLWNoaWxkKG9kZCkge1xuICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTsgfVxuICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW06bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTsgfSB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbSBhIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgaGVpZ2h0OiAzLjc1cmVtO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gIHBhZGRpbmc6IDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0gYSB7XG4gICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjNyZW07XG4gICAgICBwYWRkaW5nOiAxLjNyZW07IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0uZmVhdHVyZWQtYnJhbmRzLWl0ZW0gYSB7XG4gIGJvcmRlcjogNnB4IHNvbGlkICNmMmYyZjI7XG4gIGhlaWdodDogNy4xODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW0uZmVhdHVyZWQtYnJhbmRzLWl0ZW0gYSB7XG4gICAgICBib3JkZXItd2lkdGg6IDEwcHg7XG4gICAgICBoZWlnaHQ6IDE1cmVtOyB9IH1cblxuLmJyYW5kcy1sYW5kaW5nLXdyYXBwZXIgLmJyYW5kcy1pdGVtIC5idXR0b24ge1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW46IDAuNjI1cmVtIDAgMDtcbiAgbWluLWhlaWdodDogMS41cmVtO1xuICBwYWRkaW5nOiAwLjMxMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbSAuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMS4zcmVtO1xuICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH0gfVxuXG4uYnJhbmRzLWxhbmRpbmctd3JhcHBlciAuYnJhbmRzLWl0ZW06aG92ZXIgLmJ1dHRvbiB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5icmFuZHMtbGFuZGluZy13cmFwcGVyIC5icmFuZHMtaXRlbSBpbWcge1xuICBtYXgtaGVpZ2h0OiA0LjA2MjVyZW07IH1cblxuLmJyYW5kLWJhbm5lciB7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuICBwYWRkaW5nOiA0cmVtIDAgM3JlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmJyYW5kLWJhbm5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgcGFkZGluZzogOC43NXJlbSAwIDguMjVyZW07IH1cbiAgICAgIC5icmFuZC1iYW5uZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfSB9XG4gIC5icmFuZC1iYW5uZXIgaDEsXG4gIC5icmFuZC1iYW5uZXIgaDIge1xuICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5icmFuZC1iYW5uZXIgaDEsXG4gICAgICAuYnJhbmQtYmFubmVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA2N3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuLmJyYW5kLWJhbm5lci13cmFwcGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgbWluLWhlaWdodDogMy4zMTI1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5icmFuZC1iYW5uZXItd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgbWluLWhlaWdodDogMy43NXJlbTsgfSB9XG4gIC5icmFuZC1iYW5uZXItd3JhcHBlciAuYnJhbmQtYmFubmVyIHtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiA3OSUgMjAlO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDUuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmJyYW5kLWJhbm5lci13cmFwcGVyIC5icmFuZC1iYW5uZXIge1xuICAgICAgICBwYWRkaW5nOiA4LjEyNXJlbSAwIDguMjVyZW07IH0gfVxuXG4uYnJhbmQtbWVudS13cmFwcGVyIHtcbiAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjYpO1xuICBib3R0b206IDA7XG4gIGhlaWdodDogMy4zMTI1cmVtO1xuICBsZWZ0OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnJhbmQtbWVudS13cmFwcGVyIHtcbiAgICAgIGhlaWdodDogMy43NXJlbTsgfSB9XG4gIC5icmFuZC1tZW51LXdyYXBwZXIgdWwge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIG1hcmdpbjogMDsgfVxuICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgbGkge1xuICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgbGluZS1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICAgIG1heC13aWR0aDogMzMlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgbGkge1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjc1cmVtOyB9IH1cbiAgICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgbGkgYSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGhlaWdodDogMy4zMTI1cmVtO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgbGkgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDMuNzVyZW07IH0gfVxuICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgLnNlbGVjdGVkLFxuICAgIC5icmFuZC1tZW51LXdyYXBwZXIgdWwgYTpob3ZlciB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIC5zZWxlY3RlZDo6YWZ0ZXIsXG4gICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIGE6aG92ZXI6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgICAuYnJhbmQtbWVudS13cmFwcGVyIHVsIC5zZWxlY3RlZDo6YWZ0ZXIsXG4gICAgICAgICAgLmJyYW5kLW1lbnUtd3JhcHBlciB1bCBhOmhvdmVyOjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDZweDsgfSB9XG5cbi5icmFuZC1wYWdlLXRpdGxlIHtcbiAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICBmb250LXNpemU6IDI0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYWJvdXQtYnJhbmQtc2VjdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07IH1cbiAgLmFib3V0LWJyYW5kLXNlY3Rpb24gaWZyYW1lIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5hYm91dC1icmFuZC1zZWN0aW9uIGlmcmFtZSB7XG4gICAgICAgIGhlaWdodDogYXV0bzsgfSB9XG4gIC5hYm91dC1icmFuZC1zZWN0aW9uIC5idXR0b24sXG4gIC5hYm91dC1icmFuZC1zZWN0aW9uIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTsgfVxuICAuYWJvdXQtYnJhbmQtc2VjdGlvbiAuYWJvdXQtYnJhbmQtdG9wIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cblxuLmJyYW5kLXBhZ2UtcHJvZHVjdHMgLmdyaWQtdGlsZSB7XG4gIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi8gfVxuXG4uYnJhbmQtcGFnZS1wcm9kdWN0cyAucmVjb21tZW5kZWQtYmFnZGUsXG4uYnJhbmQtcGFnZS1wcm9kdWN0cyAucHJvZHVjdC1jb21wYXJlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdC11cy1tYXAge1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdC11cy1tYXAge1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIge1xuICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICBjb2xvcjogI2ZmZjtcbiAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgcGFkZGluZzogNHJlbSAwIDNyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICBwYWRkaW5nOiA4Ljc1cmVtIDAgOC4yNXJlbTsgfVxuICAgICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTsgfSB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIC5jb250YWN0dXMtYmFubmVyLXRleHQtYmxvY2sge1xuICAgIG1hcmdpbi10b3A6IDNyZW07IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwOyB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyIGgyIHtcbiAgICBmb250LXNpemU6IDQycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjdweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY2FyZHMtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50OyB9IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3QtYmxvY2sge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0LXRleHQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDE2cHg7IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3Qtb3BlbmluZ2RheXMge1xuICBjb2xvcjogIzk5OTtcbiAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdC1kaXZpZGVyIHtcbiAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGU4ZTk7IH1cblxuLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwIHtcbiAgbWFyZ2luLXRvcDogNHJlbTsgfVxuXG4uY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdC1hbGlnbi1jb21wbGVtZW50IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbCAhaW1wb3J0YW50O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDAgIWltcG9ydGFudDtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZy1sZWZ0OiAyNHB4OyB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyLXdyYXBwZXIge1xuICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICBtaW4taGVpZ2h0OiAzLjMxMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXItd3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgbWluLWhlaWdodDogMy43NXJlbTsgfSB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtYmFubmVyLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZy1ib3R0b206IDUuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1iYW5uZXItd3JhcHBlciAuY29udGFjdHVzLWJhbm5lciB7XG4gICAgICAgIHBhZGRpbmc6IDguMTI1cmVtIDAgOC4yNXJlbTsgfSB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtcGFnZS10aXRsZSB7XG4gIGJvcmRlci1sZWZ0OiAzcHggc29saWQgI2ZmNjkwMDtcbiAgZm9udC1zaXplOiAyNnB4O1xuICBsaW5lLWhlaWdodDogMS4xMjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gIHBhZGRpbmctbGVmdDogMS4xMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1wYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG5cbi5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyB7XG4gIG1hcmdpbi1ib3R0b206IDJyZW07XG4gIG1hcmdpbi10b3A6IDJyZW07IH1cbiAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5jYXJkcy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5jYXJkLWJsb2NrIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH0gfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMgLmNhcmQtaWNvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuMmVtO1xuICAgIHNwZWFrOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0ZXh0LWRlY29yYXRpb246IGluaGVyaXQ7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgd2lkdGg6IDFlbTsgfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMgLmNhcmRzLWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5jb250YWN0dXMtbGFuZGluZy13cmFwcGVyIC5jb250YWN0dXMtaGVscC1jYXJkcyBhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMgLmFzc2lzdGFuY2UtYmxvY2sge1xuICAgIGJhY2tncm91bmQ6ICNlZGVkZWQ7XG4gICAgbWFyZ2luLXRvcDogMS41cmVtO1xuICAgIHBhZGRpbmc6IDEuMjVyZW07IH1cbiAgICAuY29udGFjdHVzLWxhbmRpbmctd3JhcHBlciAuY29udGFjdHVzLWhlbHAtY2FyZHMgLmFzc2lzdGFuY2UtYmxvY2sgLmFzc2lzdGFuY2UtdGV4dCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG4gICAgLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIgLmNvbnRhY3R1cy1oZWxwLWNhcmRzIC5hc3Npc3RhbmNlLWJsb2NrIC5hc3Npc3RhbmNlLW51bWJlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjZjYwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbi5jb250YWN0dXMtYWRkcmVzcyB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29udGFjdHVzLWFkZHJlc3Mge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gIC5jb250YWN0dXMtYWRkcmVzcyAuYWRkcmVzcy10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07IH1cbiAgLmNvbnRhY3R1cy1hZGRyZXNzIC5hZGRyZXNzLWxvY2F0aW9uIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC5jb250YWN0dXMtYWRkcmVzcyAuYWRkcmVzcy1kaXJlY3Rpb25zIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmNvbnRhY3R1cy1hZGRyZXNzIC5hZGRyZXNzLXdvcmtpbmdob3VycyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMnJlbTsgfVxuXG5AbWVkaWEgcHJpbnQge1xuICBhW2hyZWZdOjphZnRlciB7XG4gICAgY29udGVudDogbm9uZTsgfVxuICAucHRfb3JkZXItY29uZmlybWF0aW9uIHtcbiAgICBtYXJnaW46IDVtbTtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmhlYWRlci1iYW5uZXIsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuaGVhZGVyLW5hdixcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5wcmludC1saW5rLFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmxvZ2luLWNyZWF0ZS1hY2NvdW50LFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLm5lZWQtaGVscC1jaGVja291dCxcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5mb290ZXItd3JhcHBlcixcbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5mb290ZXItY29weS13cmFwcGVyLFxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLnRvcC1iYXItcmlnaHQsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuYWRkLXRvLWNhbGVuZGFyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5hdHJvb3QsXG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY2hlY2tlZC1pY29uIHtcbiAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCAjZmY2OTAwIGluc2V0ICFpbXBvcnRhbnQ7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5oZWFkZXItbWFpbi1uYXY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5oZWFkZXItbWFpbi1uYXYgLnRvcC1iYXItbGVmdCAuaGVhZGVyLWxvZ28taW1hZ2Uge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICB3aWR0aDogMjAlOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBsZWZ0OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZSBoMSB7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xNW1tOyB9XG4gICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgIGZsZXg6IDAgMCA0MS42NjY2NyU7XG4gICAgICAgICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbiAub3JkZXItZGF0ZSB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5tYWluLXNlY3Rpb24taGVhZGVyIC5wcm9kdWN0bmFtZS1jb2x1bW4ge1xuICAgICAgICBmbGV4OiAwIDAgMzMuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjY2NjY3JTsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLm1haW4tc2VjdGlvbi1oZWFkZXIgLnByb2R1Y3R2YWx1ZXMtY29sdW1uIHtcbiAgICAgICAgZmxleDogMCAwIDY2LjMzMzMzJTtcbiAgICAgICAgbWF4LXdpZHRoOiA2Ni4zMzMzMyU7IH1cbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5wcm9kdWN0LXJvdyAub3JkZXJkZXRhaWxzLXByb2R1Y3RuYW1lLFxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlcnZpY2Utcm93IC5vcmRlcmRldGFpbHMtcHJvZHVjdG5hbWUge1xuICAgICAgICBmbGV4OiAwIDAgMzMuNjY2NjclO1xuICAgICAgICBtYXgtd2lkdGg6IDMzLjY2NjY3JTsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnByb2R1Y3Qtcm93IC5vcmRlcmRldGFpbHMtcHJvZHVjdHZhbHVlcyxcbiAgICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLmNvbmZpcm1hdGlvbi1wYWdlIC5zZXJ2aWNlLXJvdyAub3JkZXJkZXRhaWxzLXByb2R1Y3R2YWx1ZXMge1xuICAgICAgICBmbGV4OiAwIDAgNjYuMzMzMzMlO1xuICAgICAgICBtYXgtd2lkdGg6IDY2LjMzMzMzJTsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnByb2R1Y3Qtcm93IC5saW5lLWl0ZW0tcHJpY2UgLnNlY3Rpb24taGVhZGVyLFxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnByb2R1Y3Qtcm93IC5saW5lLWl0ZW0tcXVhbnRpdHkgLnNlY3Rpb24taGVhZGVyLFxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnByb2R1Y3Qtcm93IC5saW5lLWl0ZW0tdG90YWwgLnNlY3Rpb24taGVhZGVyLFxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlcnZpY2Utcm93IC5saW5lLWl0ZW0tcHJpY2UgLnNlY3Rpb24taGVhZGVyLFxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlcnZpY2Utcm93IC5saW5lLWl0ZW0tcXVhbnRpdHkgLnNlY3Rpb24taGVhZGVyLFxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLnNlcnZpY2Utcm93IC5saW5lLWl0ZW0tdG90YWwgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLXBhZ2UgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDAgMCA1bW07XG4gICAgICAgIHBhZGRpbmc6IDJtbSAwOyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgICBtYXJnaW46IDAgYXV0byAxMHB4ICFpbXBvcnRhbnQ7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMCAhaW1wb3J0YW50OyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAub3JkZXItaW5mb3JtYXRpb24ge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5wZXJzb25hbC1wYXltZW50LWluZm8gLnNlY3Rpb24tdGl0bGUuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAucHRfb3JkZXItY29uZmlybWF0aW9uIC5wZXJzb25hbC1wYXltZW50LWluZm8gLnNtYWxsLTEyIHtcbiAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50OyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAucGF5bWVudC12ZXJpZmljYXRpb24gLnNlY3Rpb24tYm94IHtcbiAgICAgIHBhZGRpbmctbGVmdDogMTRweCAhaW1wb3J0YW50OyB9XG4gICAgLnB0X29yZGVyLWNvbmZpcm1hdGlvbiAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDAgIWltcG9ydGFudDsgfVxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24gLnByb2R1Y3Qtc3BlY2lmaWMtbWVzc2FnZXMge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7IH1cbiAgLm5lZWQtY2hhbmdlcyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjaW5zaWRlX2hvbGRlcixcbiAgLm1haW5OYXZMaXZlQ2hhdENUQSB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbi5wYWdlLWlhbS1zdG9yZS1sb2NhdG9yIC5wYWMtY29udGFpbmVyIHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC5wYWdlLXRpdGxlIHtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnBhZ2UtdGl0bGUge1xuICAgICAgbWFyZ2luOiAzMHB4IDAgMTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHRfc3RvcmUtbG9jYXRvciAucGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDUwcHggMCAyMHB4OyB9IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLnBhZ2UtbGluayB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIG1hcmdpbjogMCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC5wYWdlLWxpbmsge1xuICAgICAgbWFyZ2luOiAwIDAgMzBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHRfc3RvcmUtbG9jYXRvciAucGFnZS1saW5rIHtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7IH0gfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAjZmlsdGVycy1jb250ZW50LXdyYXAge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yICNmaWx0ZXJzLWNvbnRlbnQtd3JhcC5leHBhbmRlZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMTVweCAwIDA7IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZXMtc2VjdGlvbiB7XG4gIHBhZGRpbmc6IDEuMjVyZW0gMXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlcy1zZWN0aW9uIHtcbiAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMi41cmVtIDA7IH0gfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlcy13cmFwcGVyIHtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtcmFkaW8tYnV0dG9uIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlcy10aXRsZSB7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIG1hcmdpbi1ib3R0b206IDAuODc1cmVtOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUge1xuICBib3JkZXI6IDJweCBzb2xpZCAjZThlOGU5O1xuICBtYXJnaW4tcmlnaHQ6IDAuOTM3NXJlbTtcbiAgbWluLWhlaWdodDogMTAwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSB7XG4gICAgICBtYXJnaW4tcmlnaHQ6IDAuMzEyNXJlbTsgfSB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvcGVyc29uYWwuc3ZnXCIpOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLmNvbW1lcmNpYWwtdmVoaWNsZS1sYWJlbCB7XG4gICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9jb21tZXJjaWFsLnN2Z1wiKTsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5mbGVldC12ZWhpY2xlLWxhYmVsIHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL2ZsZWV0LnN2Z1wiKTsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5wZXJzb25hbC12ZWhpY2xlLWxhYmVsLFxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5jb21tZXJjaWFsLXZlaGljbGUtbGFiZWwsXG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLmZsZWV0LXZlaGljbGUtbGFiZWwge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlciB0b3AgMjhweDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0OyB9XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSAucGVyc29uYWwtdmVoaWNsZS1sYWJlbCBzcGFuLFxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLmNvbW1lcmNpYWwtdmVoaWNsZS1sYWJlbCBzcGFuLFxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLmZsZWV0LXZlaGljbGUtbGFiZWwgc3BhbiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZTpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZTpoYXMoaW5wdXQ6Y2hlY2tlZCkge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNjNzUzMDA7IH1cbiAgICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlOmhhcyhpbnB1dDpjaGVja2VkKSBsYWJlbCB7XG4gICAgICBjb2xvcjogI2M3NTMwMDsgfVxuICAgIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGU6aGFzKGlucHV0OmNoZWNrZWQpIC5wZXJzb25hbC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvcGVyc29uYWwtc2VsZWN0ZWQuc3ZnXCIpOyB9XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZTpoYXMoaW5wdXQ6Y2hlY2tlZCkgLmNvbW1lcmNpYWwtdmVoaWNsZS1sYWJlbCB7XG4gICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL2NvbW1lcmNpYWwtc2VsZWN0ZWQuc3ZnXCIpOyB9XG4gICAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZTpoYXMoaW5wdXQ6Y2hlY2tlZCkgLmZsZWV0LXZlaGljbGUtbGFiZWwge1xuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9mbGVldC1zZWxlY3RlZC5zdmdcIik7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2U4ZThlOTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjMDAwOyB9XG4gIC5wdF9zdG9yZS1sb2NhdG9yIC52ZWhpY2xlLXR5cGUgLnZlaGljbGUtdHlwZS1pY29uIHtcbiAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgbWluLWhlaWdodDogMzVweDsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC52ZWhpY2xlLXR5cGUtdG9vbHRpcCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHRvcDogMDsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAudmVoaWNsZS10eXBlIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgbWFyZ2luOiAwLjE4NzVyZW07XG4gICAgd2lkdGg6IDE4cHg7IH1cbiAgLnB0X3N0b3JlLWxvY2F0b3IgLnZlaGljbGUtdHlwZSBsYWJlbCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy10b3A6IDMuNzVyZW07IH1cblxuLnB0X3N0b3JlLWxvY2F0b3IgLmxvY2F0aW9uLWl0ZW0tc3VtbWFyeSB7XG4gIG1hcmdpbi10b3A6IDAuOTM3NXJlbTsgfVxuXG4uc3RvcmUtbG9jYXRvci1wYWdlLXdyYXBwZXIge1xuICBtaW4taGVpZ2h0OiA2ODVweDtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZS13cmFwcGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU5O1xuICAgICAgbWluLWhlaWdodDogODIwcHg7IH0gfVxuXG4uc3RvcmUtbG9jYXRvci1wYWdlIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgdWwge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxpc3QtdmlldyB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtbGlzdCB7XG4gICAgcGFkZGluZzogMCAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWxpc3Qge1xuICAgICAgICBwYWRkaW5nOiAwIDIuNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1saXN0IC5wYWdlLWxpbmsge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciB7XG4gICAgcGFkZGluZzogMS4yNXJlbSAxcmVtIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogMS4yNXJlbSAyLjVyZW0gMDsgfSB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAwIDAgN3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLmJ1dHRvbiB7XG4gICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLmJ1dHRvbi5zbWFsbCB7XG4gICAgICBwYWRkaW5nOiAxMS41cHggMTVweDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICBib3JkZXItY29sb3I6ICNmMmYyZjI7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAyLjE4NzVyZW07IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnN0YXJ0X2xvY2F0aW9uOjpwbGFjZWhvbGRlciB7XG4gICAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgICBmb250LXdlaWdodDogNDAwOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zdGFydF9sb2NhdGlvbjpmb2N1cyB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogIzAwMDsgfVxuICAgICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zdGFydF9sb2NhdGlvbjpmb2N1czo6cGxhY2Vob2xkZXIge1xuICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnNlYXJjaC1maWVsZC13cmFwcGVyIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5zZWFyY2gtZmllbGQtd3JhcHBlciAuaWNvbi1zZWFyY2gge1xuICAgICAgICBsZWZ0OiAxMHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnNlYXJjaC1jb250YWluZXIgLnNlYXJjaC1maWVsZC13cmFwcGVyIC5pY29uLWNhbmNlbCB7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIHRvcDogNTAlO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc2VhcmNoLWZpZWxkLXdyYXBwZXIgLmljb24tY2FuY2VsOmhvdmVyIHtcbiAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGJvcmRlcjogMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy1maWx0ZXJzIC5idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2Y2YTU4MztcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuYnJlYWRjcnVtYnMtZmlsdGVycyAuYnV0dG9uLmlzLWFjdGl2ZTo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcIjsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbi5pcy1hY3RpdmUgLmNsZWFyLWZpbHRlcnMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy1maWx0ZXJzIC5idXR0b24uYnJlYWRjcnVtYi1maWx0ZXIge1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDEuMjVyZW0gMC4zMTI1cmVtIDAuMzEyNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5icmVhZGNydW1icy1maWx0ZXJzIC5idXR0b24gLmNsZWFyLWJyZWFkY3J1bWItZmlsdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAwLjEyNXJlbTtcbiAgICAgIHRvcDogMC4yNXJlbTsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbiAuY2xlYXItZmlsdGVycyB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogNXB4OyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLXdyYXBwZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlOGU4ZTk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgcGFkZGluZzogMC42MjVyZW0gMXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcnMgLmJyZWFkY3J1bWJzLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAyLjVyZW07IH0gfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5maWx0ZXJzLXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5maWx0ZXJzLXdyYXBwZXIuaXMtYWN0aXZlIC5maWx0ZXJzLWJ1dHRvbjo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU4MGVcIjsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5maWx0ZXJzLWJ1dHRvbixcbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy10aXRsZSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXJzIC5maWx0ZXJzLWJ1dHRvbiB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjkzNzVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVycyAuZmlsdGVycy1idXR0b246OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgZm9udC1zaXplOiAwLjYyNXJlbTtcbiAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xuICAgICAgcGFkZGluZy10b3A6IDAuMTg3NXJlbTtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDAgMC44NzVyZW07XG4gICAgcGFkZGluZzogMCAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgcCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMXJlbSAwIDIuNXJlbTsgfSB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5jbGVhci1maWx0ZXJzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgLmNsZWFyLWZpbHRlcnMge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjVyZW07IH0gfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgI2ZpbHRlcnMtY29udGVudC13cmFwIC5jbGVhci1maWx0ZXJzIC5jbGVhci1maWx0ZXJzLWJ1dHRvbiB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAuNjI1cmVtO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgLmNsZWFyLWZpbHRlcnMgLmNsZWFyLWZpbHRlcnMtYnV0dG9uOmhvdmVyLCAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCAuY2xlYXItZmlsdGVycyAuY2xlYXItZmlsdGVycy1idXR0b246Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiAjZjZhNTgzO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAjZmlsdGVycy1jb250ZW50LXdyYXAgLmNsZWFyLWZpbHRlcnMgLmNsZWFyLWZpbHRlcnMtYnV0dG9uOmRpc2FibGVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M5YzljOTtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAjYzljOWM5O1xuICAgICAgICBjb2xvcjogI2ZmZjsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlICNmaWx0ZXJzLWNvbnRlbnQtd3JhcCAuZmlsdGVycy1jb250ZW50LXdyYXBwZXIge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmZpbHRlcnMtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI3OHB4KTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDQwJTtcbiAgICB6LWluZGV4OiAxMDA7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyIHtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcjpub3QoOmNoZWNrZWQpICsgbGFiZWwsIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcjpjaGVja2VkICsgbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDEuNXJlbTtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyOm5vdCg6Y2hlY2tlZCkgKyBsYWJlbDo6YmVmb3JlLCAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogIzgwODI4NTtcbiAgICAgICAgY29udGVudDogXCJcXGYxZGJcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc3RvcmUtZmlsdGVyOmNoZWNrZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgY29udGVudDogXCJcXGYxMTFcIjsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLnN0b3JlLWZpbHRlcjpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICAgIGNvbG9yOiAjYzljOWM5OyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zdG9yZS1maWx0ZXI6ZGlzYWJsZWQgKyBsYWJlbDo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICNjOWM5Yzk7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuaGlkZS1maWx0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCB7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZThlOGU5O1xuICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIHBhZGRpbmctbGVmdDogMC41NjI1cmVtO1xuICAgICAgcGFkZGluZy1yaWdodDogMXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtIHtcbiAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodCAxLjEyNXJlbSBjZW50ZXI7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAyLjVyZW07XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtOyB9IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0uYWN0aXZlLCAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDdweCBzb2xpZCAjZmY2OTAwOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtLmFjdGl2ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7IH1cbiAgICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbS5hY3RpdmUgLnByLXNuaXBwZXQtc3RhcnMucHItc25pcHBldC1zdGFycy1wbmcge1xuICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0gLnByLXNuaXBwZXQtcmF0aW5nLWRlY2ltYWwge1xuICAgICAgICBjb2xvcjogIzAwMDsgfVxuICAgICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbSAuc3RvcmUtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLmxvY2F0aW9uLWl0ZW0gcCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDVweDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9ucy1ib3ggLnNjcm9sbC1sb2FkZXIge1xuICAgICAgYm90dG9tOiAtNzBweDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB0b3A6IGF1dG87IH1cbiAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5sb2NhdGlvbnMtYm94IC5sb2NhdGlvbi1pdGVtLWlubmVyIHtcbiAgICAgIHBhZGRpbmc6IDIwcHggMCAxNXB4OyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAucGhvbmUtbnVtYmVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb25zLWJveCAubG9jYXRpb24taXRlbS1kaXN0YW5jZSB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb24taXRlbS1uYW1lIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxvY2F0aW9uLWl0ZW0tbmFtZSBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubG9jYXRpb24taXRlbS1uYW1lIC5uaWNrbmFtZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IHtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IC5lcnJvci1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICAgIHotaW5kZXg6IDEwOyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZXJyb3ItY29udGFpbmVyIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IC5lcnJvci1jb250YWluZXIgLmVycm9yLW1lc3NhZ2Uge1xuICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDQwcHggMTVweCAxNXB4OyB9XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSAubWFwLXZpZXcgLmxvYWRlciB7XG4gICAgICB6LWluZGV4OiAxMDsgfVxuICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IC5ncHMtdG9nZ2xlIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDBkMGQwO1xuICAgICAgYm90dG9tOiAxNXB4O1xuICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgcGFkZGluZzogNnB4IDhweDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgei1pbmRleDogMTA7IH1cbiAgICAgIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLm1hcC12aWV3IC5ncHMtdG9nZ2xlIGkge1xuICAgICAgICBjb2xvcjogI2RkZDtcbiAgICAgICAgZm9udC1zaXplOiAyNHB4OyB9XG4gICAgICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyAuZ3BzLXRvZ2dsZS5hY3RpdmUgaSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9XG5cbi5wdF9zdG9yZS1sb2NhdG9yICNmaWx0ZXJzLWNvbnRlbnQtd3JhcC5leHBhbmRlZCB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGhlaWdodDogMTAwJTtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDE7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5tYXAtdmlldyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC52aWV3LW1hcC1idG4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICAgIC52aWV3LW1hcC1idG4gLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLnZpZXctbWFwLWJ0bi5pcy1hY3RpdmUgLmJ0bi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAudmlldy1tYXAtYnRuLmlzLWFjdGl2ZSAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5sb2NhdGlvbnMtYm94IHtcbiAgICBmbG9hdDogbGVmdDsgfSB9XG5cbiNtYXAtYm94IHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTNkZjtcbiAgbWluLWhlaWdodDogMzIwcHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuc3RvcmUtbG9jYXRvci1wYWdlICNtYXAtYm94IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgd2lkdGg6IDYwJTsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5tYXAtdmlldyB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5zdG9yZS1sb2NhdG9yLXBhZ2UgLmxpc3QtdmlldyB7XG4gICAgcGFkZGluZy10b3A6IDI3OHB4O1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWZpbHRlci1ib3gge1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIHdpZHRoOiA0MCU7IH1cbiAgLnN0b3JlLWxvY2F0b3ItcGFnZSAuc2VhcmNoLWNvbnRhaW5lciAuc3RhcnRfbG9jYXRpb24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAuc3RvcmUtbG9jYXRvci1wYWdlIC5zZWFyY2gtY29udGFpbmVyIC5idXR0b24ge1xuICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfVxuICAucHRfc3RvcmUtbG9jYXRvciAjZmlsdGVycy1jb250ZW50LXdyYXAuZXhwYW5kZWQge1xuICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjc4cHgpO1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogNDAlOyB9IH1cblxuLmxvY2F0aW9ucy1ib3gge1xuICBvdmVyZmxvdy15OiBzY3JvbGw7IH1cblxuLnRvZGF5cy1ob3Vycy10b2dnbGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwOyB9XG4gIC50b2RheXMtaG91cnMtdG9nZ2xlIC5zdG9yZS1ob3Vycy1leHBhbmRlZCB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47IH1cbiAgICAudG9kYXlzLWhvdXJzLXRvZ2dsZSAuc3RvcmUtaG91cnMtZXhwYW5kZWQgLnN0b3JlLXNjaGVkdWxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIC50b2RheXMtaG91cnMtdG9nZ2xlIC5zdG9yZS1ob3Vycy1jb2xsYXBzZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07IH1cbiAgICAudG9kYXlzLWhvdXJzLXRvZ2dsZSAuc3RvcmUtaG91cnMtY29sbGFwc2VkICoge1xuICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgLnRvZGF5cy1ob3Vycy10b2dnbGUgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogXCJcXGU4MGZcIjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMC4xODc1cmVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC50b2RheXMtaG91cnMtdG9nZ2xlLmlzLWFjdGl2ZSAuc3RvcmUtaG91cnMtY29sbGFwc2VkOjphZnRlciB7XG4gICAgY29udGVudDogXCJcXGU4MGVcIjsgfVxuICAudG9kYXlzLWhvdXJzLXRvZ2dsZS5pcy1hY3RpdmUgLnN0b3JlLWhvdXJzLWV4cGFuZGVkIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7IH1cblxuLnRvZGF5cy1ob3Vycy1sYWJlbCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5zdG9yZS1jbG9zZWQge1xuICBjb2xvcjogI2M2MTc1MjtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnN0b3JlLW9wZW4ge1xuICBjb2xvcjogIzE1N2YxMDtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLnN0b3JlLWhvdXJzLXdyYXBwZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBtYXgtaGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7IH1cbiAgLnN0b3JlLWhvdXJzLXdyYXBwZXIuZXhwYW5kZWQge1xuICAgIG1heC1oZWlnaHQ6IDUwMHB4OyB9XG5cbi5zdG9yZS1zY2hlZHVsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGRpc3BsYXk6IGdyaWQ7XG4gIGdhcDogMTBweDtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIG1pbm1heCgwLCAxZnIpO1xuICBqdXN0aWZ5LWl0ZW1zOiBzdGFydDsgfVxuICAuc3RvcmUtc2NoZWR1bGUgLnN0b3JlLWRheSB7XG4gICAgd2lkdGg6IDExMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmFsbC1zdG9yZXMgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDIycHg7IH1cbiAgICAuYWxsLXN0b3JlcyAucGx1cy1taW51cy1hY2NvcmRpb24gLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgIGxlZnQ6IDA7IH1cbiAgLmFsbC1zdG9yZXMgLnN1Ym1lbnUge1xuICAgIGNvbHVtbi1jb3VudDogMjtcbiAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgY29sdW1uLWNvdW50OiAyOyB9XG4gICAgLmFsbC1zdG9yZXMgLnN1Ym1lbnVbYXJpYS1oaWRkZW49ZmFsc2VdIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH0gfVxuXG4uYWxsLXN0b3JlcyAuY2l0eS1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxNXB4O1xuICBtYXJnaW46IDVweCAwIC0ycHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbi5hbGwtc3RvcmVzIC5zdG9yZS1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxM3B4O1xuICBtYXJnaW46IDAgMCAxNXB4O1xuICBwYWRkaW5nOiAwO1xuICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuXG4uYWxsLXN0b3JlcyAubWVudSAuY2l0eS1ib3gge1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgbWFyZ2luOiAwIDAgMTBweDtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLnN0b3JlLWRldGFpbHMtcGFnZSB7XG4gIHBhZGRpbmc6IDAgMS4yNXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLm1hcC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiA0MHB4IDAgMTAwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAucm93LXNlcGFyYXRvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyNXB4OyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtaG91cnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5tZW51Lm5lc3RlZCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBjdXJzb3I6IGRlZmF1bHQ7XG4gICAgICBmb250LXNpemU6IDEuNXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDM1cHg7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLm1hcC1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiA0MHB4IDAgMTAwcHg7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlICNtYXAsXG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAjc3RyZWV0dmlldyB7XG4gICAgICBtaW4taGVpZ2h0OiAyNTBweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5yb3ctc2VwYXJhdG9yIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1ob3VycyB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAucGx1cy1taW51cy1hY2NvcmRpb24gLm1lbnUubmVzdGVkIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSB1bCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgbGkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgbGkuc3RvcmUtYWRkcmVzcyB7XG4gICAgICBsaW5lLWhlaWdodDogMS43OyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmNsb3NlLWJ1dHRvbiB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgaGVpZ2h0OiAzMHB4O1xuICAgIHRvcDogMTZweDtcbiAgICB3aWR0aDogMzBweDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAxLjI1cmVtOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtbmFtZSAubmlja25hbWUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zYV9zMjhfZGlzcGxheV9hdmdfcmF0aW5nIHtcbiAgICBtYXJnaW46IDAgMCAxNXB4OyB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmxpbmsge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmxpbmsge1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfSB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWNvbnRhY3QtaW5mbyB7XG4gICAgbWFyZ2luOiAxLjI1cmVtIDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1jb250YWN0LWluZm8gcCB7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuc3RvcmUtaG91cnMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuYm9sZC10ZXh0IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuYWJvdXQtbG9jYXRpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWFyZ2luLXRvcDogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLmFib3V0LWxvY2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWFtZW5pdGllcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1hbWVuaXRpZXMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1hbWVuaXRpZXMgaSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnN0b3JlLWFtZW5pdGllcyBpOjpiZWZvcmUge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAub2ZmZXJlZC1zZXJ2aWNlLW5hbWUge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IGE6OmFmdGVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gYTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoMTgwZGVnKTsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgLnN0b3JlLXNlcnZpY2VzLWNvbnRlbnQge1xuICAgIG1hcmdpbjogMCAwIDIuNXJlbSAyLjVyZW07IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IC5zZXJ2aWNlLXRpdGxlIGgzIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIHBhZGRpbmc6IDAgMi4xODc1cmVtIDAgMS4yNXJlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1zZXJ2aWNlcy1saXN0IHtcbiAgICBjb2x1bW4tY291bnQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1zZXJ2aWNlcy1saXN0IHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAzOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1wYWdlIC5zdG9yZS1zZXJ2aWNlcy1saXN0IHtcbiAgICAgICAgY29sdW1uLWNvdW50OiA0OyB9IH1cbiAgLnN0b3JlLWRldGFpbHMtcGFnZSAubWFwLWNvbnRhaW5lciB1bCBsaSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICM4YThhOGE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi1yaWdodDogMnB4O1xuICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtcGFnZSAubWFwLWNvbnRhaW5lciB1bCBsaS51aS1zdGF0ZS1hY3RpdmUge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLm1hcC1jb250YWluZXIgdWwgbGkgYS51aS10YWJzLWFuY2hvciB7XG4gICAgICBjb2xvcjogI2ZmZjtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMTBweDsgfVxuICAuc3RvcmUtZGV0YWlscy1wYWdlIC50aXRsZS1tYWluLXNlY3Rpb24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgcGFkZGluZzogMCAwIDAgMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLnN0b3JlLWRldGFpbHMtcGFnZSAudGl0bGUtbWFpbi1zZWN0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjVyZW07IH0gfVxuICAgIC5zdG9yZS1kZXRhaWxzLXBhZ2UgLnRpdGxlLW1haW4tc2VjdGlvbi5yZXZpZXctdGl0bGUge1xuICAgICAgbWFyZ2luOiAxLjg3NXJlbSAwIDEuMjVyZW07IH1cblxuLnN0b3JlLWxvY2F0aW9uLWluZm8ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnN0b3JlLWxvY2F0aW9uLWluZm8ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlOyB9IH1cbiAgLnN0b3JlLWxvY2F0aW9uLWluZm8gLnN0b3JlLWFkZHJlc3Mge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuc3RvcmUtbG9jYXRpb24taW5mbyAuc3RvcmUtYWRkcmVzcyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTsgfSB9XG4gIC5zdG9yZS1sb2NhdGlvbi1pbmZvIC5zdG9yZS1kaXN0YW5jZSB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG5cbi5zdG9yZS1sb2NhdG9yLXBhZ2Utd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uc3RvcmUtZGV0YWlscy1zaWRlYmFyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgaGVpZ2h0OiBjYWxjKDEwMCUgLSAzMjBweCk7XG4gIGxlZnQ6IC0xMDAlO1xuICBtYXJnaW4tdG9wOiAzMjBweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zdG9yZS1kZXRhaWxzLXNpZGViYXIge1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbGVmdDogLTQwJTtcbiAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdG9wOiAwO1xuICAgICAgdHJhbnNpdGlvbjogbGVmdCAwLjRzIGVhc2UtaW4tb3V0LCBvcGFjaXR5IDAuNHMgZWFzZS1pbi1vdXQ7XG4gICAgICB3aWR0aDogNDAlOyB9IH1cbiAgLnN0b3JlLWRldGFpbHMtc2lkZWJhci5vcGVuIHtcbiAgICBsZWZ0OiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc3RvcmUtZGV0YWlscy1zaWRlYmFyLm9wZW4ge1xuICAgICAgICBvdmVyZmxvdzogYXV0bzsgfSB9XG5cbi5tYXAtY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5tYXAtY29udGFpbmVyIC5nbW5vcHJpbnQsXG4gICAgLm1hcC1jb250YWluZXIgLmdtLWNvbnRyb2wtYWN0aXZlLFxuICAgIC5tYXAtY29udGFpbmVyIC5nbS1pdi1hZGRyZXNzLFxuICAgIC5tYXAtY29udGFpbmVyIC5ncHMtdG9nZ2xlIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuXG4uc3RvcmUtZGV0YWlscy1tb2RlIC5zd2l0Y2gtdG8tc3RyZWV0LXZpZXcsXG4uc3RvcmUtZGV0YWlscy1tb2RlIC5zd2l0Y2gtdG8tbWFwLXZpZXcge1xuICBtYXJnaW46IDAuMzEyNXJlbSAwIDA7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zdG9yZS1kZXRhaWxzLW1vZGUgLnN3aXRjaC10by1zdHJlZXQtdmlldyxcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5zd2l0Y2gtdG8tbWFwLXZpZXcge1xuICAgICAgZm9udC1zaXplOiAwLjU2MjVyZW07XG4gICAgICBwYWRkaW5nOiAwLjMxMjVyZW07IH0gfVxuXG4uc3RvcmUtZGV0YWlscy1tb2RlIC5zdHJlZXQtdmlldy13cmFwcGVyIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICB3aWR0aDogMTAwJTsgfVxuICAuc3RvcmUtZGV0YWlscy1tb2RlIC5zdHJlZXQtdmlldy13cmFwcGVyICNzdHJlZXR2aWV3IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyB7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJvdHRvbTogMjVweDtcbiAgaGVpZ2h0OiAyNTBweDtcbiAgbGVmdDogMjBweDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDAuOTM3NXJlbSAzLjc1cmVtO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAyMDBweDtcbiAgei1pbmRleDogMjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IHtcbiAgICAgIGhlaWdodDogMTQwcHg7XG4gICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjYyNXJlbSAyLjE4NzVyZW07XG4gICAgICB3aWR0aDogMTEwcHg7IH0gfVxuICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5tYXAtdmlldyxcbiAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAuc3RyZWV0LXZpZXcge1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lOyB9XG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAubWFwLXZpZXcgLmdtbm9wcmludCxcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5tYXAtdmlldyAuZ20tY29udHJvbC1hY3RpdmUsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAubWFwLXZpZXcgLmdtLWl2LWFkZHJlc3MsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAubWFwLXZpZXcgLmdwcy10b2dnbGUsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAuc3RyZWV0LXZpZXcgLmdtbm9wcmludCxcbiAgICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3IC5zdHJlZXQtdmlldyAuZ20tY29udHJvbC1hY3RpdmUsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAuc3RyZWV0LXZpZXcgLmdtLWl2LWFkZHJlc3MsXG4gICAgLnN0b3JlLWRldGFpbHMtbW9kZSAuaXMtc21hbGwtdmlldyAuc3RyZWV0LXZpZXcgLmdwcy10b2dnbGUge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAuc3RvcmUtZGV0YWlscy1tb2RlIC5pcy1zbWFsbC12aWV3ICNzdHJlZXR2aWV3IHtcbiAgICBoZWlnaHQ6IDEwMCU7IH1cblxuLm1hcC1hY2NvcmRpb24ge1xuICBib3R0b206IDIwcHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuXG4uY3RhLWJ1dHRvbnMgLmxpbmsge1xuICBkaXNwbGF5OiBpbmxpbmU7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1yaWdodDogMC45Mzc1cmVtOyB9XG5cbi5pY29uLWFuZ2xlLWxlZnQ6OmJlZm9yZSB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbjogMDtcbiAgd2lkdGg6IGF1dG87IH1cblxuLmFjY2Vzc2liaWxpdHktdGFibGUge1xuICBib3JkZXItc3BhY2luZzogMXB4OyB9XG4gIC5hY2Nlc3NpYmlsaXR5LXRhYmxlIHRkIHtcbiAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAjZTZlNmU2OyB9XG4gICAgLmFjY2Vzc2liaWxpdHktdGFibGUgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICBib3JkZXItcmlnaHQ6IDA7IH1cblxuLmFjY291bnQtc3VidGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuYWNjb3VudC1zdWJ0aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogM3JlbTsgfSB9XG4gIC5hY2NvdW50LXN1YnRpdGxlIC5saW5rIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cblxuLmFjY291bnQtc2VjdGlvbi1oZWFkaW5nIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBtYXJnaW46IDI1cHggMDsgfVxuICAuYWNjb3VudC1zZWN0aW9uLWhlYWRpbmcudG9wLWhlYWRpbmcge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgLmFjY291bnQtc2VjdGlvbi1oZWFkaW5nICsgLmJhY2sge1xuICAgIG1hcmdpbi10b3A6IC0xLjNyZW07IH1cblxuLm1vZGlmeS1hcHBvaW50bWVudC1idXR0b24ge1xuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBtYXgtd2lkdGg6IDIwOHB4OyB9XG4gIC5tb2RpZnktYXBwb2ludG1lbnQtYnV0dG9uIC5tb2RpZnktYWNjb3VudCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmFjY291bnQtc2VjdGlvbiB7XG4gIHBhZGRpbmctYm90dG9tOiAzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYWNjb3VudC1zZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLXRvcDogM3JlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5hY2NvdW50LXNlY3Rpb24gLm5hdi13cmFwcGVyLmNvbHVtbnMge1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5hY2NvdW50LXNlY3Rpb24gLmNvbnRlbnQtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAyNXB4IDE1cHg7IH0gfVxuICAuYWNjb3VudC1zZWN0aW9uIC5teS1nYXJhZ2UtcGFnZS10aXRsZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWRlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXgtd2lkdGg6IDc1JTsgfSB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLmJhY2sge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtOyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAuYmFjayBhOjpiZWZvcmUge1xuICAgICAgY29udGVudDogXCJcXGYwNTNcIjtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgIGZvbnQtc2l6ZTogMC41cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7IH1cbiAgLmFjY291bnQtc2VjdGlvbiAuYnV0dG9uLWdyb3VwIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1iYXNpczogMjUlO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAuYnV0dG9uLWdyb3VwIC5idXR0b24tbGluayB7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuICAgICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAuYnV0dG9uLWdyb3VwIC5idXR0b24tbGluayxcbiAgICAuYWNjb3VudC1zZWN0aW9uIC5idXR0b24tZ3JvdXAgLmJ1dHRvbiB7XG4gICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmFjY291bnQtc2VjdGlvbiAuYnV0dG9uLWdyb3VwIC5idXR0b24tbGluayxcbiAgICAgICAgLmFjY291bnQtc2VjdGlvbiAuYnV0dG9uLWdyb3VwIC5idXR0b24ge1xuICAgICAgICAgIGZsZXgtYmFzaXM6IDIwJTsgfSB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1mb290ZXIgLmhlcmUtdG8taGVscCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1mb290ZXIgLmFjdGlvbi1ib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm9yZGVyLWhpc3RvcnktZm9vdGVyIC5vcmRlclN1bW1hcnlMaXZlQ2hhdCxcbiAgICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWZvb3RlciAucGhvbmUtbnVtYmVyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5vcmRlci1oaXN0b3J5LWZvb3RlciAuYWN0aW9uLWljb24gLmNhcmQtaWNvbiB7XG4gICAgICBtYXgtaGVpZ2h0OiAxNnB4OyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAub3JkZXItaGlzdG9yeS1mb290ZXIgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgLmFjY291bnQtc2VjdGlvbiAubW9kaWZ5LWFwcG9pbnRtZW50LWltcG9ydGFudCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLm1vZGlmeS1hcHBvaW50bWVudC1pbmZvIHtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW0gMC4xcmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY291bnQtc2VjdGlvbiAubW9kaWZ5LWFwcG9pbnRtZW50LWluZm8ge1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5hY2NvdW50LXNlY3Rpb24gLm5vLW9yZGVycy1zZWxlY3RvcnMge1xuICAgIG1hcmdpbjogMCAtMTBweDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm5vLW9yZGVycy1zZWxlY3RvcnMgLnNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgIC5hY2NvdW50LXNlY3Rpb24gLm5vLW9yZGVycy1zZWxlY3RvcnMgLm5vLW9yZGVyLXNlbGVjdG9yLXRhYiB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgICAgLmFjY291bnQtc2VjdGlvbiAubm8tb3JkZXJzLXNlbGVjdG9ycyAubm8tb3JkZXItc2VsZWN0b3ItdGFiOmhvdmVyOjpiZWZvcmUge1xuICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwOyB9XG4gICAgLmFjY291bnQtc2VjdGlvbiAubm8tb3JkZXJzLXNlbGVjdG9ycyAuc2VsZWN0b3ItaW1hZ2Uge1xuICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICB3aWR0aDogMTIwcHg7IH1cbiAgICAuYWNjb3VudC1zZWN0aW9uIC5uby1vcmRlcnMtc2VsZWN0b3JzIC5zZWxlY3Rvci10YWItdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uYWNjb3VudC1ibG9jay1ib3JkZXIge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlci5wZXJzb25hbC1pbmZvIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYWNjb3VudC1ibG9jay1ib3JkZXIucGVyc29uYWwtaW5mbyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwOyB9IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyLm9yZGVyLWJsb2NrIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU5OyB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlciAuYWNjb3VudC1pbmZvLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgLmFjY291bnQtYmxvY2stYm9yZGVyIC5sYWJlbC13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlciBsYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmFjY291bnQtYmxvY2stYm9yZGVyIGxhYmVsIC50b3AtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgICAuYWNjb3VudC1ibG9jay1ib3JkZXIgbGFiZWwgLnRvcC1sYWJlbCBhIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5hY2NvdW50LWJsb2NrLWJvcmRlciAuYWNjb3VudC1pbmZvIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIgLnBzLXJlc3VsdHMtaW1hZ2UtdGlwIHtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDsgfVxuICAuYWNjb3VudC1ibG9jay1ib3JkZXIgLmVtYWlsLWFkZHJlc3MtaW5mbyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYWNjb3VudC1ibG9jay1ib3JkZXIgLmVtYWlsLWFkZHJlc3MtaW5mbyB7XG4gICAgICAgIHdpZHRoOiA4MCU7IH0gfVxuXG4uYWNjb3VudC1lbWFpbC10b29sdGlwIC50b29sdGlwLXBob25lIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uYWNjb3VudC1wYWdlIC5tb2JpbGUtYWNjb3VudC1sYWJlbCAuYWNjb3VudC1wYWdlLFxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24ub3JkZXItcGFnZSAubW9iaWxlLWFjY291bnQtbGFiZWwgLm9yZGVyLXBhZ2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51LWl0ZW1zLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS1pdGVtcy13cmFwcGVyLmV4cGFuZGVkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51LnZlcnRpY2FsID4gbGkubWVudS1pdGVtLmhpZ2hsaWdodGVkIGEge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51LnZlcnRpY2FsID4gbGkubWVudS1pdGVtIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgcGFkZGluZzogMCAyMHB4IDAgMzBweDsgfVxuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS52ZXJ0aWNhbCA+IGxpLm1lbnUtaXRlbSAudG9nZ2xlLWljb24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS52ZXJ0aWNhbCA+IGxpLm1lbnUtaXRlbS5oaWdobGlnaHRlZCB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgICAgIC5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudS52ZXJ0aWNhbCA+IGxpLm1lbnUtaXRlbS5oaWdobGlnaHRlZCAudG9nZ2xlLWljb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiAubWVudSBsaSBhIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luOiAxMHB4IDA7XG4gIHBhZGRpbmc6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uIC5tZW51IGxpIGEge1xuICAgICAgbWFyZ2luOiAxNXB4IDA7IH0gfVxuICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24gLm1lbnUgbGkgYTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5hY2NvdW50LXBhZ2UgLm1lbnUtaXRlbSB7XG4gICAgb3JkZXI6IDI7IH1cbiAgICAuc2Vjb25kYXJ5LW5hdmlnYXRpb24uYWNjb3VudC1wYWdlIC5tZW51LWl0ZW0uYWNjb3VudC1wYWdlIHtcbiAgICAgIG9yZGVyOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5vcmRlci1wYWdlIC5tZW51LWl0ZW0ge1xuICAgIG9yZGVyOiAyOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLm9yZGVyLXBhZ2UgLm1lbnUtaXRlbS5vcmRlci1wYWdlIHtcbiAgICAgIG9yZGVyOiAxOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5zZWNvbmRhcnktbmF2aWdhdGlvbi5jYXJmYXgtaGlzdG9yeS1wYWdlIC5tZW51LWl0ZW0ge1xuICAgIG9yZGVyOiAyOyB9XG4gICAgLnNlY29uZGFyeS1uYXZpZ2F0aW9uLmNhcmZheC1oaXN0b3J5LXBhZ2UgLm1lbnUtaXRlbS5jYXJmYXgtaGlzdG9yeS1wYWdlIHtcbiAgICAgIG9yZGVyOiAxOyB9IH1cblxuLm1vYmlsZS1hY2NvdW50LW1lbnUge1xuICBib3JkZXI6IDFweCBzb2xpZCAjY2NjO1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gIHBhZGRpbmc6IDAuNzVyZW07IH1cbiAgLm1vYmlsZS1hY2NvdW50LW1lbnUgbGkgYSB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDAgMC42MjVyZW07IH1cbiAgLm1vYmlsZS1hY2NvdW50LW1lbnU6aG92ZXIsXG4gIC5tb2JpbGUtYWNjb3VudC1tZW51IC5hY3RpdmUtc3VibWVudSB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDAwOyB9XG5cbi5tZW51Lm1vYmlsZS1hY2NvdW50LWxpc3Qge1xuICBtYXJnaW46IDAuNzVyZW0gMC4zMTI1cmVtIDA7IH1cblxuLm1lbnUgbGkgLm1vYmlsZS1hY2NvdW50LWxhYmVsIHtcbiAgcGFkZGluZzogMDsgfVxuICAubWVudSBsaSAubW9iaWxlLWFjY291bnQtbGFiZWwgc3BhbiB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAubWVudSBsaSAubW9iaWxlLWFjY291bnQtbGFiZWw6OmFmdGVyIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBjb250ZW50OiBcIlxcZjBkY1wiO1xuICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgcmlnaHQ6IC0ycHg7XG4gICAgdG9wOiAwLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuYnV0dG9uLWdyb3VwLm5vLWJvdC1tYXJnaW4ge1xuICAgIG1hcmdpbjogMDsgfSB9XG5cbi5hY2NvdW50LWJsb2NrLWdyZXkge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAxcmVtIDEuMjVyZW0gMC4xcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYWNjb3VudC1ibG9jay1ncmV5IHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDAuNXJlbTsgfSB9XG4gIC5hY2NvdW50LWJsb2NrLWdyZXkgLm9wZW5MaXZlQ2hhdEJ1dHRvbiBiIHtcbiAgICBmb250LXdlaWdodDogYm9sZCAhaW1wb3J0YW50OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5hY2NvdW50LWJsb2NrLWdyZXkgYiB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7IH0gfVxuICAuYWNjb3VudC1ibG9jay1ncmV5IGg1IHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuYWNjb3VudC1ibG9jay1ncmV5IGg1IHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjFweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFjY291bnQtYmxvY2stZ3JleSBoNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtOyB9IH1cbiAgLmFjY291bnQtYmxvY2stZ3JleSBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYWNjb3VudC1ibG9jay1ncmV5IHAgYSB7XG4gICAgICAgIG1hcmdpbjogMS43NXJlbSAwIDAuMjVyZW07IH0gfVxuICAgIC5hY2NvdW50LWJsb2NrLWdyZXkgcCBhOm5vdCgucGhvbmUtbGluaykge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuYWNjb3VudC1ibG9jay1ncmV5IHAgYTpub3QoLnBob25lLWxpbmspIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxcmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5ib3R0b20tc3BhY2UtbW9iaWxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9IH1cblxuLmJ1dHRvbi1saW5rIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW4tdG9wOiAwLjYyNXJlbTtcbiAgcGFkZGluZzogMC43NXJlbSAwO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYnV0dG9uLWxpbmsge1xuICAgICAgbWFyZ2luOiAwIDAgMCAxLjI1cmVtO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgIHdpZHRoOiBhdXRvOyB9IH1cblxuLnB0X2FjY291bnQgLnBob25lLWxpbmssXG4ucHRfb3JkZXIgLnBob25lLWxpbmsge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9hY2NvdW50IC5waG9uZS1saW5rLFxuICAgIC5wdF9vcmRlciAucGhvbmUtbGluayB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgICAucHRfYWNjb3VudCAucGhvbmUtbGluazpob3ZlcixcbiAgICAgIC5wdF9vcmRlciAucGhvbmUtbGluazpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9IH1cblxuLm9yZGVyZGV0YWlscyAub3JkZXItc2hpcG1lbnRzIC5wcm9kdWN0LWJyYW5kLFxuLm9yZGVyLWhpc3RvcnktbGlzdCAucHJvZHVjdC1icmFuZCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ub3JkZXJkZXRhaWxzIC5vcmRlci1zaGlwbWVudHMgLnByb2R1Y3QtbmFtZSxcbi5vcmRlci1oaXN0b3J5LWxpc3QgLnByb2R1Y3QtbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlcmRldGFpbHMgLm9yZGVyLXNoaXBtZW50cyAucHJvZHVjdC1uYW1lLFxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLnByb2R1Y3QtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLm9yZGVyLWhpc3RvcnktbGlzdCB7XG4gIG1hcmdpbi1sZWZ0OiAwOyB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLmxhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5sYWJlbCAuZmEge1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAubGFiZWwgLmZhLWNhbGVuZGFyLW8ge1xuICAgICAgbWFyZ2luOiAwIDAuMzEyNXJlbSAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAuYWNjb3JkaW9uLW9yZGVyLWhlYWRlciB7XG4gICAgICBtYXJnaW46IDE1cHggMDsgfSB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMge1xuICAgIHBhZGRpbmctdG9wOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAyNXB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5yb3cge1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5jb2x1bW5zIHtcbiAgICAgICAgcGFkZGluZzogMDsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItdG90YWxzIHtcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci10b3RhbHMgLm9yZGVyLXZhbHVlIHtcbiAgICAgICAgZGlzcGxheTogZmxleDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItdG90YWxzIC50b3RhbC12YWx1ZS1yb3cge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy1yb3csXG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci10b3RhbHMgLnJvdyB7XG4gICAgICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8ge1xuICAgICAgICBwYWRkaW5nLXRvcDogMjVweDsgfSB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAub3JkZXItaW5mby1yb3cge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5vcmRlci1pbmZvLXJvdyAucm93IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAubGluZS1pdGVtcyB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5saW5lLWl0ZW1zIC5wcm9kdWN0LXJvdyB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8gLmxpbmUtaXRlbXMgLm9yZGVyZGV0YWlscy1wcm9kdWN0dmFsdWVzLFxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAubGluZS1pdGVtcyAub3JkZXJkZXRhaWxzLXByb2R1Y3RuYW1lIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItaW5mbyAubGluZS1pdGVtcyAucm93IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWl0ZW1zIC5vcmRlci1pbmZvIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLm9yZGVyLWluZm8sXG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1pdGVtcyAub3JkZXItdG90YWxzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBwYWRkaW5nLXRvcDogMjBweDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktaXRlbXMgLnZhbHVlLWNvbHVtbiB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciBidXR0b24ge1xuICAgICAgbWFyZ2luLXRvcDogMS42MjVyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciBidXR0b24ge1xuICAgICAgICAgIHdpZHRoOiBhdXRvOyB9IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAubGFiZWwge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAudmFsdWUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLnZhbHVlLnBhaWQtb25saW5lIHtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm9yZGVyLWhlYWRlci1pbmZvIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm9yZGVyLWhlYWRlci1pbmZvIC5yb3cge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAub3JkZXItaGVhZGVyLWluZm8gLmNvbHVtbnMge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm9yZGVyLWxvY2F0aW9uIHtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm9yZGVyLWluZm9ybWF0aW9uLWNsaWVudCAudmFsdWUsXG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLm9yZGVyLWxvY2F0aW9uIC52YWx1ZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLmNhbmNlbGxlZC1vcmRlcixcbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAubW9kaWZpZWQtb3JkZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LWhlYWRlciAubW9kaWZpZWQtb3JkZXIge1xuICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS1oZWFkZXIgLmNhbmNlbGxlZC1vcmRlciB7XG4gICAgICBjb2xvcjogI2YwMDsgfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGJvZHkgdHIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGgsXG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0ZCB7XG4gICAgICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgICAgIHBhZGRpbmc6IDAgMCAxLjM3NXJlbTsgfVxuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItaGlzdG9yeS10YWJsZSB0aDpmaXJzdC1jaGlsZCxcbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICB3aWR0aDogNTYlOyB9XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRoOmxhc3QtY2hpbGQsXG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1oaXN0b3J5LXRhYmxlIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgd2lkdGg6IDEwJTsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgdGgge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWhpc3RvcnktdGFibGUgLm9sZC1wcmljZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGhlaWdodDogNjRweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlOjphZnRlciB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBjb2xvcjogIzg0ODQ4NDtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgICBmb250LXZhcmlhbnQ6IG5vcm1hbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgIHRvcDogOHB4O1xuICAgICAgd2lkdGg6IDFlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGU6OmFmdGVyIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0zMCUpOyB9IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGVbYXJpYS1leHBhbmRlZD1cInRydWVcIl06OmFmdGVyIHtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUgLm9yZGVyLXRvdGFsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgIG1hcmdpbi1yaWdodDogMzBweDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUgLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cbiAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAub3JkZXItdGl0bGUgLm9yZGVyLW51bWJlci1zdGF0dXMge1xuICAgICAgZGlzcGxheTogYmxvY2s7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci1udW1iZXItc3RhdHVzIHtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSAub3JkZXItdmVoaWNsZS1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgcGFkZGluZzogMTBweCAwIDE1cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAub3JkZXItYmxvY2sgLm9yZGVyLXRpdGxlIC5vcmRlci12ZWhpY2xlLW5hbWUge1xuICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAwOyB9IH1cbiAgICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5vcmRlci10aXRsZSAub3JkZXItdmVoaWNsZS1uYW1lLnVua25vd24ge1xuICAgICAgICBjb2xvcjogIzk3OTc5NzsgfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLWhlaWdodDogNzBweDtcbiAgICBwYWRkaW5nOiAxNnB4IDEwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDIzcHggMDsgfSB9XG4gIC5vcmRlci1oaXN0b3J5LWxpc3QgLm9yZGVyLWJsb2NrIC5jYXItYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHBhZGRpbmc6IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXItaGlzdG9yeS1saXN0IC5vcmRlci1ibG9jayAuY2FyLWFwcG9pbnRtZW50LWluZm8ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgLm9yZGVyLWhpc3RvcnktbGlzdCAubG9hZC1tb3JlLWNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAub3JkZXItaGlzdG9yeS1saXN0IC5wcm9kdWN0dmFsdWVzLWNvbHVtbiB7XG4gICAgZm9udC1zaXplOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLWhpc3RvcnktbGlzdCAucHJvZHVjdHZhbHVlcy1jb2x1bW4ge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7IH0gfVxuICAgIC5vcmRlci1oaXN0b3J5LWxpc3QgLnByb2R1Y3R2YWx1ZXMtY29sdW1uIC5tb2JpbGUtdGl0bGVzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcImdvdGhhbS1ib2xkXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cblxuLm9yZGVyZGV0YWlscyAub3JkZXItaW5mb3JtYXRpb24ge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDAgMCAyNXB4O1xuICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlcmRldGFpbHMgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICAgIHBhZGRpbmctdG9wOiAxLjYyNXJlbTsgfSB9XG4gIC5vcmRlcmRldGFpbHMgLm9yZGVyLWluZm9ybWF0aW9uIC5vcmRlci1udW1iZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBtYXJnaW46IDAgMCA1cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXJkZXRhaWxzIC5vcmRlci1pbmZvcm1hdGlvbiAub3JkZXItbnVtYmVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTBweDsgfSB9XG4gICAgLm9yZGVyZGV0YWlscyAub3JkZXItaW5mb3JtYXRpb24gLm9yZGVyLW51bWJlciAudmFsdWUge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLm9yZGVyZGV0YWlscyAuYWNjb3VudC1ibG9jay1ncmV5IC5sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLm9yZGVyZGV0YWlscyAubGFiZWwge1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgY29sb3I6ICMwMDA7XG4gIGZvbnQtc2l6ZTogMWVtO1xuICBwYWRkaW5nOiAwOyB9XG5cbi5vcmRlcmRldGFpbHMgLmFjY291bnQtYmxvY2stYm9yZGVyIHtcbiAgYm9yZGVyLXdpZHRoOiAycHg7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXJkZXRhaWxzIC5hY2NvdW50LWJsb2NrLWJvcmRlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07IH0gfVxuXG4ub3JkZXJkZXRhaWxzIC5hY2NvdW50LXNlY3Rpb24taGVhZGluZyB7XG4gIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG5cbi5vcmRlcmRldGFpbHMgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiBwLFxuLm9yZGVyZGV0YWlscyAuYWNjb3VudC1pbmZvIHAsXG4ub3JkZXJkZXRhaWxzIC5hcHBvaW50bWVudC1pbmZvIHAge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBtYXJnaW46IDA7IH1cbiAgLm9yZGVyZGV0YWlscyAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHAuZW1haWwsXG4gIC5vcmRlcmRldGFpbHMgLmFjY291bnQtaW5mbyBwLmVtYWlsLFxuICAub3JkZXJkZXRhaWxzIC5hcHBvaW50bWVudC1pbmZvIHAuZW1haWwge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9yZGVyZGV0YWlscyAuYXBwb2ludG1lbnQtdGltZSB7XG4gIGNvbG9yOiAjODA4Mjg1OyB9XG5cbi5vcmRlcmRldGFpbHMgLmxpbmUtc2VjdGlvbnMtc2VwYXJhdG9yOjpiZWZvcmUge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYzOyB9XG5cbi5hY2NvdW50LWluZm8tbGluayB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5hY2NvdW50LWluZm8tbWVzc2FnZSB7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4ub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgYm9yZGVyOiAycHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAxcmVtIDEuMjVyZW0gMDsgfVxuICAub3JkZXItcGF5bWVudC1zdW1tYXJ5OjpiZWZvcmUsIC5vcmRlci1wYXltZW50LXN1bW1hcnk6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnICc7XG4gICAgZGlzcGxheTogdGFibGU7IH1cbiAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbSAwOyB9IH1cbiAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItc3VtbWFyeS10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMS41NjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItc3VtbWFyeS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItZGV0YWlsLXN1bW1hcnkge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgIHdpZHRoOiA1OC4zMzMzMyU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItZGV0YWlsLXN1bW1hcnkge1xuICAgICAgd2lkdGg6IDQxLjY2NjY3JTsgfSB9XG4gIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLnZlaGljbGUtaW5mbyB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIC5hbW91bnQtdG90YWwtcGFpZCB7XG4gICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYzOyB9XG4gICAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSAuYW1vdW50LXRvdGFsLXBhaWQgdGQge1xuICAgICAgICAgIHBhZGRpbmctdG9wOiAxNXB4OyB9XG4gICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgLm9yZGVyLXRvdGFsIHRkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7IH0gfVxuICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB7XG4gICAgICBib3JkZXI6IDA7IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0Ym9keSB0cjpudGgtY2hpbGQoZXZlbikge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgcGFkZGluZzogMDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwOyB9IH1cbiAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICAgICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAub3JkZXItdG90YWxzLXRhYmxlIHRyLmJvbGQge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5vcmRlci10b3RhbCB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgICBmb250LXdlaWdodDogNDAwOyB9IH1cbiAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtdG90YWwtcGFpZC5ib2xkLCAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXN0b3JlLXRvdGFsLmJvbGQge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAub3JkZXItcGF5bWVudC1zdW1tYXJ5IC5jdXJyZW5jeS1jb2RlIHtcbiAgICBmb250LXNpemU6IDAuNTYyNXJlbTsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdyAuYWNjb3VudC1pbmZvLXdyYXBwZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U4ZThlOTtcbiAgcGFkZGluZzogMTVweCAwOyB9XG4gIC5hY2NvdW50LWluZm8tcm93IC5hY2NvdW50LWluZm8td3JhcHBlciBwIHtcbiAgICBtYXJnaW46IDA7IH1cblxuLmFjY291bnQtaW5mby1yb3cuZXhwYW5kZWQgLmFjY291bnQtaW5mby13cmFwcGVyIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdy5leHBhbmRlZCAuZWRpdC1mb3JtIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cblxuLmFjY291bnQtaW5mby1yb3cgLmVkaXQtZm9ybSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIG1hcmdpbi10b3A6IDE1cHg7IH1cbiAgLmFjY291bnQtaW5mby1yb3cgLmVkaXQtZm9ybSAucmVxdWlyZWQtaW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBub25lOyB9XG5cbi5hY2NvdW50LWluZm8tcm93IC5wYXNzd29yZC1kb3RzIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsZXR0ZXItc3BhY2luZzogLTJweDsgfVxuICAuYWNjb3VudC1pbmZvLXJvdyAucGFzc3dvcmQtZG90cyAuaWNvbi1jaXJjbGU6OmJlZm9yZSB7XG4gICAgY29sb3I6ICM0MjQyNDI7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgd2lkdGg6IDEycHg7IH1cblxuLmFjY291bnQtaW5mby1yb3cgLnJlc2V0LXBhc3N3b3JkLWJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uYWNjb3VudC1pbmZvLXJvdyAuZWRpdC10b2dnbGUge1xuICBjb2xvcjogI2M3NTMwMDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG5cbi5hY2NvdW50LWluZm8tcm93IC5pbnQtcGhvbmUtdGVzdGluZyB7XG4gIG1hcmdpbjogMTVweCAwOyB9XG5cbi52ZXJpZmljYXRpb24tbW9kYWwge1xuICBwYWRkaW5nOiAyNXB4O1xuICB3aWR0aDogNTAwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnZlcmlmaWNhdGlvbi1tb2RhbCB7XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICBtYXJnaW46IDIwcHg7XG4gICAgICBtaW4taGVpZ2h0OiBhdXRvO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICB0b3A6IDIwcHg7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC5pY29uLXZlcmlmeS1tZXRob2Q6OmJlZm9yZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLW1ldGhvZCB7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgIHBhZGRpbmc6IDNweCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZmljYXRpb24tdGV4dC1tZXNzYWdlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLmN1c3RvbWVyLWNvbnRhY3Qge1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLWFjdGlvbnMge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgcGFkZGluZy10b3A6IDE1cHg7IH1cbiAgICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZmljYXRpb24tYWN0aW9ucy5kaXNhYmxlLXJlc2VuZCB7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmeS1jb2RlLWJ0biB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMThweDsgfVxuICAgIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmeS1jb2RlLWJ0bltkaXNhYmxlZF0ge1xuICAgICAgYm9yZGVyLWNvbG9yOiAjODA4Mjg1OyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnJlc2VuZC1jb2RlIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLnZlcmlmaWNhdGlvbi1jb2RlLXNlbnQge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnZlcmlmaWNhdGlvbi1tb2RhbCAudmVyaWZpY2F0aW9uLWVycm9yIHtcbiAgICBjb2xvcjogI2YwMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC52ZXJpZmljYXRpb24tbW9kYWwgLmljb24tcmVzZW5kOjpiZWZvcmUge1xuICAgIG1hcmdpbjogMDsgfVxuICAudmVyaWZpY2F0aW9uLW1vZGFsIC52ZXJpZnktY29kZS1mb3JtIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG5cbi5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUtZm9ybSB7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUtZm9ybSAuc2VuZC12ZXJpZmljYXRpb24tY29kZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLWhlaWdodDogMTEwcHg7XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlLWZvcm0gLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUge1xuICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLnNlbmQtdmVyaWZpY2F0aW9uLWNvZGUtZm9ybSAuc2VuZC12ZXJpZmljYXRpb24tY29kZVtkaXNhYmxlZF0ge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U1ZTVlNTtcbiAgICAgIGJvcmRlci1jb2xvcjogI2U1ZTVlNTsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1uYW1lIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIC5wcm9kdWN0LWJyYW5kLFxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAucHJvZHVjdC1uYW1lLFxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAubGluZS1pdGVtLXByaWNlLFxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAuaXRlbS1xdWFudGl0eSxcbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLnByaWNlLXRvdGFsIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0gLmN1cnJlbmN5LWNvZGUge1xuICBmb250LXNpemU6IDAuNTYyNXJlbTsgfVxuXG4ubG9naW4tbW9kYWwge1xuICBoZWlnaHQ6IDE2MHB4O1xuICBtaW4taGVpZ2h0OiAxNjBweDtcbiAgcG9zaXRpb246IGFic29sdXRlICFpbXBvcnRhbnQ7XG4gIHdpZHRoOiA0MDBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmxvZ2luLW1vZGFsIHtcbiAgICAgIGhlaWdodDogMTc1cHg7XG4gICAgICBtaW4taGVpZ2h0OiAxNzVweDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5sb2dpbi1tb2RhbCB7XG4gICAgICBtYXJnaW4tdG9wOiA3MHB4ICFpbXBvcnRhbnQ7XG4gICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTsgfSB9XG4gIC5sb2dpbi1tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogIzAwMDsgfVxuICAubG9naW4tbW9kYWwgLmxvZ2luLW1vZGFsLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gIC5sb2dpbi1tb2RhbCBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubG9naW4tbW9kYWwgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG4gIC5sb2dpbi1tb2RhbCBhIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmxvZ2luLW1vZGFsIC5uby10aGFua3Mge1xuICAgIHBhZGRpbmc6IDhweDsgfVxuICAgIC5sb2dpbi1tb2RhbCAubm8tdGhhbmtzIGEge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAubG9naW4tbW9kYWwgLm5vLXRoYW5rcyA6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgLmxvZ2luLW1vZGFsIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgIHBhZGRpbmc6IDhweCA2MHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucHRfbXlnYXJhZ2UgLmNvbHVtbnMubW9iaWxlLXBhZGRpbmctcmlnaHQtNnB4IHtcbiAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7IH1cbiAgLnB0X215Z2FyYWdlIC5jb2x1bW5zLm1vYmlsZS1wYWRkaW5nLWxlZnQtNnB4IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDZweDsgfSB9XG5cbi5wdF9teWdhcmFnZSAud2lkdGgtNTAtcGVyY2VudCB7XG4gIHdpZHRoOiA1MCU7IH1cblxuLnB0X215Z2FyYWdlIC5kb3R0ZWQtYm9yZGVyIHtcbiAgYm9yZGVyLWJvdHRvbTogMy41cHggZG90dGVkICNmZjY5MDA7IH1cblxuLnB0X215Z2FyYWdlIC5hcnJvdyB7XG4gIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24sXG4ucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUge1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiAxNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbixcbiAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUge1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIHAsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIC5jYXItYWRkLW5ldyxcbiAgICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24gYnV0dG9uLFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHAsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUgLmNhci1hZGQtbmV3LFxuICAgICAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIC5jYXItYWRkLW5ldyxcbiAgICAgIC5wdF9teWdhcmFnZSAudG9wLXNlY3Rpb24tYXJjaGl2ZSAuY2FyLWFkZC1uZXcge1xuICAgICAgICBtYXJnaW4tdG9wOiAyNXB4OyB9IH1cbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbiBwLFxuICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAyMS42cHg7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIHAsXG4gICAgICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uLWFyY2hpdmUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAucHRfbXlnYXJhZ2UgLnRvcC1zZWN0aW9uIHtcbiAgICBtYXJnaW46IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIHAge1xuICAgIHdpZHRoOiA3NSU7IH1cbiAgLnB0X215Z2FyYWdlIC50b3Atc2VjdGlvbi1hcmNoaXZlIGJ1dHRvbiB7XG4gICAgd2lkdGg6IDMwJTsgfSB9XG5cbi5wdF9teWdhcmFnZSAuc3VidGl0bGUtdGV4dCB7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLnN1YnRpdGxlLXRleHQge1xuICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cblxuLnB0X215Z2FyYWdlIC5jYXItYWRkLW5ldyBidXR0b24uY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICBmb250LXNpemU6IDEzcHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTFweCAxNXB4OyB9XG5cbi5wdF9teWdhcmFnZSAuY2Fycy1jb250YWluZXIsXG4ucHRfbXlnYXJhZ2UgLmNhcnMtY29udGFpbmVyLWFyY2hpdmVkIHtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2Fycy1jb250YWluZXIsXG4gICAgLnB0X215Z2FyYWdlIC5jYXJzLWNvbnRhaW5lci1hcmNoaXZlZCB7XG4gICAgICBtYXJnaW4tbGVmdDogLTE1cHg7XG4gICAgICB3aWR0aDogY2FsYygxMDAlICsgMzBweCk7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBwYWRkaW5nOiAxMHB4IDEwcHggMzBweDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9teWdhcmFnZSAuY2FyLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgcGFkZGluZzogMTBweDsgfSB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWNvbnRhaW5lciBwIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLnB0X215Z2FyYWdlIC5jYXItY29udGFpbmVyIC5jYi1jdGEge1xuICAgIG1hcmdpbjogNXB4IDA7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItdmlzdWFscyB7XG4gIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1pbmZvcm1hdGlvbiB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgaGVpZ2h0OiAxMDAlO1xuICBsaW5lLWhlaWdodDogMTtcbiAgcGFkZGluZzogMTVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5jYXItaW5mb3JtYXRpb246OmJlZm9yZSB7XG4gICAgICBib3JkZXItY29sb3I6ICNmZmYgdHJhbnNwYXJlbnQ7XG4gICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxNHB4IDE0cHggMDtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIGxlZnQ6IC0yMXB4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgdG9wOiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg5MGRlZyk7XG4gICAgICB3aWR0aDogMDtcbiAgICAgIHotaW5kZXg6IDA7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1pbWFnZSB7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogNzBweDtcbiAgcGFkZGluZzogMTBweCAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5jYXItaW1hZ2Uge1xuICAgICAgbWF4LWhlaWdodDogMTAwcHg7XG4gICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgbWluLWhlaWdodDogOTBweDsgfSB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWltYWdlIC5sb2FkZXIge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLW5hbWUsXG4ucHRfbXlnYXJhZ2UgLmNhci12aW4sXG4ucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1hZGQsXG4ucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1lZGl0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTQuNHB4O1xuICBwYWRkaW5nLXRvcDogMnB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLnB0X215Z2FyYWdlIC5jYXItbmFtZSxcbiAgICAucHRfbXlnYXJhZ2UgLmNhci12aW4sXG4gICAgLnB0X215Z2FyYWdlIC5jYXItcGxhdGUtYWRkLFxuICAgIC5wdF9teWdhcmFnZSAuY2FyLXBsYXRlLWVkaXQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDsgfSB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLXBsYXRlLWVkaXQsXG4ucHRfbXlnYXJhZ2UgLmNhci1uYW1lLFxuLnB0X215Z2FyYWdlIC5jYXItdmluIHtcbiAgY29sb3I6ICMwMDA7XG4gIHBhZGRpbmctYm90dG9tOiA0cHg7XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1wbGF0ZS1lZGl0IHNwYW4sXG4gIC5wdF9teWdhcmFnZSAuY2FyLW5hbWUgc3BhbixcbiAgLnB0X215Z2FyYWdlIC5jYXItdmluIHNwYW4ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxN3B4O1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTYuOHB4OyB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLW5hbWUgaSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxNXB4OyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLXRpcmUtd2hlZWwgPiBkaXYge1xuICBsaW5lLWhlaWdodDogMTdweDtcbiAgbWFyZ2luLXRvcDogMTRweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLmNhci10aXJlLXdoZWVsID4gZGl2IHtcbiAgICAgIG1hcmdpbi10b3A6IDEycHg7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci10aXJlLXdoZWVsLFxuLnB0X215Z2FyYWdlIC5jYXItaW5mby1ib3R0b20ge1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1pbmZvLWJvdHRvbSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi10b3A6IGF1dG87XG4gIHBhZGRpbmctdG9wOiAxNnB4O1xuICByb3ctZ2FwOiAxN3B4OyB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWluZm8tYm90dG9tIGEge1xuICAgIGNvbG9yOiAjMDAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAucHRfbXlnYXJhZ2UgLmNhci1pbmZvLWJvdHRvbSBhIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1uby1vcmRlci1oaXN0b3J5IHtcbiAgY29sb3I6ICM4MDgyODU7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItYXBwb2ludG1lbnQge1xuICBiYWNrZ3JvdW5kOiAjZmZmO1xuICBib3JkZXItbGVmdDogNXB4IHNvbGlkICNmZjY5MDA7XG4gIG1hcmdpbi10b3A6IDE2cHg7XG4gIHBhZGRpbmc6IDE1cHggMjBweDsgfVxuXG4ucHRfbXlnYXJhZ2UgLmNhci1hcHBvaW50bWVudC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIHBhZGRpbmctYm90dG9tOiA1cHg7IH1cblxuLnB0X215Z2FyYWdlIC5jYXItYXBwb2ludG1lbnQtaW5mbyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDIwcHg7IH1cblxuLnB0X215Z2FyYWdlIC5hcHBvaW50bWVudC1tYXAsXG4ucHRfbXlnYXJhZ2UgLm1vZGlmeS1hcHBvaW50bWVudCB7XG4gIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5wdF9teWdhcmFnZSAuYXBwb2ludG1lbnQtbWFwIHtcbiAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cblxuLnB0X215Z2FyYWdlIC5tb2RpZnktYXBwb2ludG1lbnQge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb25zIHtcbiAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1ldmVubHk7XG4gIG1hcmdpbi10b3A6IDZweDsgfVxuICAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9ucyBhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZmxleC1ncm93OiAxO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMTVweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb25zIGEge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxMnB4OyB9IH1cbiAgICAucHRfbXlnYXJhZ2UgLmNhci1idXktYWN0aW9ucyBhOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb24sXG4ucHRfbXlnYXJhZ2UgLnNlcnZpY2VzLWN0YSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb24uY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssIC5wdF9teWdhcmFnZSAuY2FyLWJ1eS1hY3Rpb24uY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlLFxuICAucHRfbXlnYXJhZ2UgLnNlcnZpY2VzLWN0YS5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjayxcbiAgLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGEuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICBwYWRkaW5nOiAxMXB4IDA7IH1cblxuLnB0X215Z2FyYWdlIC5zZXJ2aWNlcy1jdGEge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmOyB9XG4gIC5wdF9teWdhcmFnZSAuc2VydmljZXMtY3RhOmhvdmVyLCAucHRfbXlnYXJhZ2UgLnNlcnZpY2VzLWN0YTpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogI2Y2YTU4MzsgfVxuXG4ucHRfbXlnYXJhZ2UgLmN1c3RvbS1jbGFzcyAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgZmxvYXQ6IGxlZnQ7IH1cblxuLnB0X215Z2FyYWdlIC5oaWdobGlnaHQtZXhpc3RpbmctY2FyIHtcbiAgYm9yZGVyOiAycHggc29saWQgI2ZmNjkwMDtcbiAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuNXMgbGluZWFyOyB9XG4gIC5wdF9teWdhcmFnZSAuaGlnaGxpZ2h0LWV4aXN0aW5nLWNhci50cmFuc2l0aW9uLXRvLWVuZCB7XG4gICAgYm9yZGVyLXdpZHRoOiAwOyB9XG5cbi5wdF9teWdhcmFnZSAudG9nZ2xlLWFyY2hpdmVkLWNhcnMge1xuICBjb2xvcjogIzAwMDtcbiAgZm9udC1zaXplOiAxNHB4OyB9XG4gIC5wdF9teWdhcmFnZSAudG9nZ2xlLWFyY2hpdmVkLWNhcnMgaSB7XG4gICAgZm9udC1zaXplOiAxMHB4O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7IH1cblxuLnB0X215Z2FyYWdlIC5hcmNoaXZlZC1jYXJzIHtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucHRfbXlnYXJhZ2UgLmFyY2hpdmVkLWNhcnMge1xuICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpOyB9IH1cblxuLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCB7XG4gIHRvcDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgIHdpZHRoOiA5NSU7IH0gfVxuICAuc2VydmljZS1hY3Rpb25zLW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgbWFyZ2luOiA4cHggMDtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCAuY2FyLWJ1eS1hY3Rpb25zIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCAuY2FyLWJ1eS1hY3Rpb24ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTsgfVxuICAuc2VydmljZS1hY3Rpb25zLW1vZGFsIC5tb2RhbC1jbG9zZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxNXB4O1xuICAgIHRvcDogMTVweDsgfVxuICAgIC5zZXJ2aWNlLWFjdGlvbnMtbW9kYWwgLm1vZGFsLWNsb3NlIHNwYW4ge1xuICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi50ZXh0LWFsaWduLXJpZ2h0IHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmZsZXgtb3JkZXItMSB7XG4gIG9yZGVyOiAtMTsgfVxuXG4uZ2FyYWdlLW1vZGFsLXRpdGxlIHtcbiAgbWFyZ2luLWJvdHRvbTogMzBweDsgfVxuXG5bZm9ybS1jdHJsXSAudmluLWNvbnRhaW5lciB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuW2Zvcm0tY3RybF1bZm9ybS1jdHJsPVwiY2FyZmF4XCJdIC52aW4tY29udGFpbmVyLCBbZm9ybS1jdHJsXVtmb3JtLWN0cmw9XCJlZGl0VmVoaWNsZURhdGFcIl0gLnZpbi1jb250YWluZXIge1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4uZ2FyYWdlLW1vZGFsIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmdhcmFnZS1tb2RhbCN2ZXJpZnktdmVoaWNsZS1tb2RhbCAuZGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuICAuZ2FyYWdlLW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAubW9kYWwtY2xvc2Uge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMTVweDtcbiAgICB0b3A6IDE1cHg7IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC5tb2RhbC1jbG9zZSBzcGFuIHtcbiAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBsaW5lLWhlaWdodDogMTsgfVxuICAuZ2FyYWdlLW1vZGFsIC5kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgcGFkZGluZzogMDsgfVxuICAuZ2FyYWdlLW1vZGFsIC52ZWhpY2xlcy1zZWN0aW9uIHtcbiAgICBnYXA6IDIwcHg7IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC52ZWhpY2xlcy1zZWN0aW9uIC5jYXItY29udGFpbmVyIHtcbiAgICAgIG1heC13aWR0aDogY2FsYyg1MCUgLSAxMHB4KTtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWluLXdpZHRoOiAxMDAlOyB9XG4gICAgICAgIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyAuZmllbGQtY29udGFpbmVyOm50aC1jaGlsZChldmVuKSwgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lciB7XG4gICAgICBmbGV4OiAxO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgbWluLXdpZHRoOiA1MCU7IH1cbiAgICAgIC5nYXJhZ2UtbW9kYWwgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyAuZmllbGQtY29udGFpbmVyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTVweDsgfVxuICAgICAgLmdhcmFnZS1tb2RhbCAubmFtZS15b3VyLXZlaGljbGUtZmllbGRzIC5maWVsZC1jb250YWluZXI6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4OyB9XG4gICAgICAuZ2FyYWdlLW1vZGFsIC5uYW1lLXlvdXItdmVoaWNsZS1maWVsZHMgLmZpZWxkLWNvbnRhaW5lciAuZmllbGQtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogMTZweDsgfVxuICAuZ2FyYWdlLW1vZGFsIC5idXR0b25zLXdyYXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwLmFsaWduLXRvLXJpZ2h0IHtcbiAgICAgIGp1c3RpZnktY29udGVudDogcmlnaHQ7IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC5idXR0b25zLXdyYXAgYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIGhlaWdodDogNDJweDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgcGFkZGluZzogMCAyMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmdhcmFnZS1tb2RhbCAuYnV0dG9ucy13cmFwIGJ1dHRvbiB7XG4gICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgbWluLXdpZHRoOiBhdXRvOyB9IH1cbiAgICAgIC5nYXJhZ2UtbW9kYWwgLmJ1dHRvbnMtd3JhcCBidXR0b246ZGlzYWJsZWQge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZTVlNWU1O1xuICAgICAgICBib3JkZXItY29sb3I6ICNlNWU1ZTU7XG4gICAgICAgIG9wYWNpdHk6IDE7IH1cbiAgICAuZ2FyYWdlLW1vZGFsIC5idXR0b25zLXdyYXAuZml0LXdpZHRoIGJ1dHRvbiB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICBtaW4td2lkdGg6IDIwMHB4OyB9XG4gIC5nYXJhZ2UtbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgLmdhcmFnZS1tb2RhbCBwIHtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLmdhcmFnZS1tb2RhbCBhIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmdhcmFnZS1tb2RhbCBpbnB1dCB7XG4gICAgbWFyZ2luOiA2cHggMCAwO1xuICAgIHBhZGRpbmc6IDEwcHggMTVweDsgfVxuICAuZ2FyYWdlLW1vZGFsIC5wbGF0ZS1uby1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLmdhcmFnZS1tb2RhbCAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssXG4gIC5nYXJhZ2UtbW9kYWwgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgcGFkZGluZzogOHB4IDYwcHg7IH1cblxuLnZlaGljbGUtZXhpc3RzLW1vZGFsIHtcbiAgbWF4LXdpZHRoOiA0MDBweDsgfVxuXG4ucGxhdGUtbnVtYmVyLW1vZGFsIHtcbiAgbWluLWhlaWdodDogMTAwcHg7IH1cblxuLnBsYXRlLW51bWJlci1tb2RhbCxcbi5jYXItZWRpdC1tb2RhbCxcbi52ZWhpY2xlLWluZm8tbW9kYWwsXG4jdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICBtYXgtd2lkdGg6IDcwMHB4O1xuICBwYWRkaW5nOiAzMHB4OyB9XG4gIC5wbGF0ZS1udW1iZXItbW9kYWwgLmdhcmFnZS12ZWhpY2xlLW5hbWUsXG4gIC5jYXItZWRpdC1tb2RhbCAuZ2FyYWdlLXZlaGljbGUtbmFtZSxcbiAgLnZlaGljbGUtaW5mby1tb2RhbCAuZ2FyYWdlLXZlaGljbGUtbmFtZSxcbiAgI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIC5nYXJhZ2UtdmVoaWNsZS1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgIHBhZGRpbmc6IDAgMzZweCAyMHB4IDA7IH1cblxuI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgbWF4LWhlaWdodDogODB2aDtcbiAgb3ZlcmZsb3c6IGF1dG87IH1cblxuLmNhci1lZGl0LW1vZGFsIHAge1xuICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuXG4uYWRkLXBsYXRlLW5vIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTQuNHB4O1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucHRfb3JkZXIgLmQtZmxleCB7XG4gIGRpc3BsYXk6IGZsZXg7IH1cblxuLnB0X29yZGVyIC5wb3NpdGlvbi1yZWxhdGl2ZSB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4ucHRfb3JkZXIgLmZsZXgtd3JhcCB7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuXG4ucHRfb3JkZXIgLmZsZXgtY29sdW1uIHtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfVxuXG4ucHRfb3JkZXIgLnN3aXRjaGVyLWNvbnRhaW5lciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9vcmRlciAuc3dpdGNoZXItY29udGFpbmVyIHtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuXG4ucHRfb3JkZXIgLnN3aXRjaGVyIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB6LWluZGV4OiAxOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucHRfb3JkZXIgLnN3aXRjaGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGVuZDsgfSB9XG5cbi5wdF9vcmRlciAuc3dpdGNoZXItaW5wdXQge1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBoZWlnaHQ6IDEuMjVyZW07XG4gIG9wYWNpdHk6IDA7XG4gIHBhZGRpbmc6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAwO1xuICB3aWR0aDogMXJlbTtcbiAgei1pbmRleDogLTE7IH1cbiAgLnB0X29yZGVyIC5zd2l0Y2hlci1pbnB1dDpjaGVja2VkIH4gLnN3aXRjaGVyLWxhYmVsOjpiZWZvcmUge1xuICAgIGJvcmRlci1jb2xvcjogI2ZmNjkwMDsgfVxuICAucHRfb3JkZXIgLnN3aXRjaGVyLWlucHV0OmNoZWNrZWQgfiAuc3dpdGNoZXItbGFiZWw6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgIHJpZ2h0OiAzcHg7IH1cblxuLnB0X29yZGVyIC5zd2l0Y2hlci1sYWJlbCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB2ZXJ0aWNhbC1hbGlnbjogdG9wOyB9XG4gIC5wdF9vcmRlciAuc3dpdGNoZXItbGFiZWw6OmJlZm9yZSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYWRiNWJkO1xuICAgIGJvcmRlci1yYWRpdXM6IDEyLjVweDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGhlaWdodDogMjRweDtcbiAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3JkZXItY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMzlweDsgfVxuICAucHRfb3JkZXIgLnN3aXRjaGVyLWxhYmVsOjphZnRlciB7XG4gICAgYmFja2dyb3VuZDogNTAlIC8gNTAlIDUwJSBuby1yZXBlYXQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2FkYjViZDtcbiAgICBib3JkZXItcmFkaXVzOiAwLjVyZW07XG4gICAgY29udGVudDogXCJcIjtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDE4cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxOHB4O1xuICAgIHRvcDogM3B4O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0LC13ZWJraXQtdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxOHB4OyB9XG5cbi5wdF9vcmRlciAub3JkZXItaGlzdG9yeS1maWx0ZXItYm94IHtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cblxuLnB0X29yZGVyIC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYm9yZGVyOiAycHggc29saWQgI2U4ZThlOTtcbiAgbWFyZ2luOiAwO1xuICBtaW4taGVpZ2h0OiAxMjJweDtcbiAgcGFkZGluZzogMTRweCAxMHB4IDEwcHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wdF9vcmRlciAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbSB7XG4gICAgICBtaW4taGVpZ2h0OiAxMjVweDsgfSB9XG4gIC5wdF9vcmRlciAub3JkZXItaGlzdG9yeS1maWx0ZXItaXRlbTo6YmVmb3JlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZThlOGU5O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwMCU7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBoZWlnaHQ6IDE5cHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiA4cHg7XG4gICAgd2lkdGg6IDE5cHg7XG4gICAgei1pbmRleDogMTsgfVxuXG4ucHRfb3JkZXIgLm9yZGVyLWNoZWNrYm94IHtcbiAgb3BhY2l0eTogMDtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB6LWluZGV4OiAxOyB9XG4gIC5wdF9vcmRlciAub3JkZXItY2hlY2tib3g6Y2hlY2tlZCB+IC5vcmRlci1oaXN0b3J5LWZpbHRlci1pdGVtIHtcbiAgICBib3JkZXI6IDJweCBzb2xpZCAjZmY2OTAwOyB9XG4gICAgLnB0X29yZGVyIC5vcmRlci1jaGVja2JveDpjaGVja2VkIH4gLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW06OmJlZm9yZSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmY2OTAwO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLnB0X29yZGVyIC5vcmRlci1jaGVja2JveDpjaGVja2VkIH4gLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW06OmFmdGVyIHtcbiAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmZmO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgI2ZmZjtcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICBtYXJnaW4tbGVmdDogNjAlO1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICB0b3A6IDExcHg7XG4gICAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgICB3aWR0aDogNnB4O1xuICAgICAgei1pbmRleDogMTsgfVxuXG4ucHRfb3JkZXIgLmNhci1pbWFnZSB7XG4gIG1heC13aWR0aDogMTQ5cHg7IH1cblxuLnB0X29yZGVyIC5jYXItbmFtZSB7XG4gIHBhZGRpbmc6IDZweCAwIDRweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbi5wdF9vcmRlciAuY2FyLXBsYXRlLFxuLnB0X29yZGVyIC5jYXItbmFtZSB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG5cbiNjYXJmYXgtaGlzdG9yeS1tb2RhbCB7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWF4LXdpZHRoOiA4MTZweDtcbiAgcGFkZGluZzogMS4yNXJlbTtcbiAgdG9wOiAxNnB4O1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwge1xuICAgICAgcG9zaXRpb246IHN0aWNreTsgfSB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubW9kYWwtY29udGVudCB7XG4gICAgbWF4LWhlaWdodDogNzh2aDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgbWF4LWhlaWdodDogNzh2aDtcbiAgICAgICAgLyogVXNlIHZoIGFzIGEgZmFsbGJhY2sgZm9yIGJyb3dzZXJzIHRoYXQgZG8gbm90IHN1cHBvcnQgQ3VzdG9tIFByb3BlcnRpZXMgKi9cbiAgICAgICAgbWF4LWhlaWdodDogY2FsYyh2YXIoZHluYW1pY1NjcmVlblNpemUsIDF2aCkgKiAxMDApO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4OyB9IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5tb2RhbC10ZXh0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAuY2FyZmF4LWhpc3RvcnktaGVhZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmNhcmZheC1oaXN0b3J5LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDE4cHg7IH0gfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiAxMnB4IDE2cHg7IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IHtcbiAgICAgIGNvbHVtbi1nYXA6IDEuMjVyZW07XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5saWNlbnNlLXBsYXRlLXdyYXBwZXIgLmxpY2Vuc2UtcGxhdGUtY29udGVudCB7XG4gICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjsgfSB9XG4gICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5jb2x1bW4sICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAubGljZW5zZS1wbGF0ZS13cmFwcGVyIC5saWNlbnNlLXBsYXRlLWNvbnRlbnQgLmNvbHVtbnMge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5saWNlbnNlLXBsYXRlLWlubmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5saWNlbnNlLXBsYXRlLWlubmVyIC5wbGF0ZS1udW1iZXItaW5wdXQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDhweDsgfVxuICAgICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5saWNlbnNlLXBsYXRlLWlubmVyIC5lcnJvcjpub3QoLmxpY2Vuc2VQbGF0ZSkgPiAqIHtcbiAgICAgICAgICBtYXgtd2lkdGg6IDIzMnB4OyB9XG4gICAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAubGljZW5zZS1wbGF0ZS1jb250ZW50IC5mb3JtLXJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLmxpY2Vuc2UtcGxhdGUtd3JhcHBlciAuZXJyb3ItdmluIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmUxYmU7XG4gICAgICBjb2xvcjogI2YwMDtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICBwYWRkaW5nOiA2cHg7IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5pbnB1dC1jdXN0b20ge1xuICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAub3ItYnJlYWsge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgcGFkZGluZzogMCAxMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgI2NhcmZheC1oaXN0b3J5LW1vZGFsIC5vci1icmVhazo6YmVmb3JlLFxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLm9yLWJyZWFrOjphZnRlciB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjI7XG4gICAgY29udGVudDogXCJcIjtcbiAgICBmbGV4OiAxIDE7XG4gICAgbWFyZ2luOiBhdXRvOyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAub3ItYnJlYWs6OmJlZm9yZSB7XG4gICAgbWFyZ2luLXJpZ2h0OiAxMHB4OyB9XG4gICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAub3ItYnJlYWs6OmFmdGVyIHtcbiAgICBtYXJnaW4tbGVmdDogMTBweDsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLnZpbi13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIHBhZGRpbmc6IDEycHggMTZweDsgfVxuICAgICNjYXJmYXgtaGlzdG9yeS1tb2RhbCAudmluLXdyYXBwZXIgLnZpbi1oZWFkZXIge1xuICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH1cbiAgICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLnZpbi13cmFwcGVyIC52aW4tbnVtYmVyLWlucHV0IHtcbiAgICAgIG1hcmdpbi10b3A6IDZweDsgfVxuICAjY2FyZmF4LWhpc3RvcnktbW9kYWwgLnZlaGljbGUtaW5mb3JtYXRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4jY2FyZmF4LWRlbGV0ZS1tb2RhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1heC13aWR0aDogMzEuMjVyZW07XG4gIHBhZGRpbmc6IDIwcHg7XG4gIHdpZHRoOiAxMDAlOyB9XG4gICNjYXJmYXgtZGVsZXRlLW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtOyB9XG4gICNjYXJmYXgtZGVsZXRlLW1vZGFsIC5tb2RhbC10ZXh0IHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gICNjYXJmYXgtZGVsZXRlLW1vZGFsIC5idXR0b25zLXdyYXAge1xuICAgIGNvbHVtbi1nYXA6IDYwcHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgICNjYXJmYXgtZGVsZXRlLW1vZGFsIC5idXR0b25zLXdyYXAgYnV0dG9uIHtcbiAgICAgIGZsZXg6IDUwJTsgfVxuXG4jY2FyZmF4LWhpc3RvcnktbW9kYWwgLmNhcmZheC1tb2RhbC1jbG9zZSxcbiNjYXJmYXgtZGVsZXRlLW1vZGFsIC5jYXJmYXgtbW9kYWwtY2xvc2Uge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtc2l6ZTogMzJweDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDFyZW07XG4gIHRvcDogMC41cmVtO1xuICB6LWluZGV4OiA1OyB9XG5cbiNjYXJmYXgtaGlzdG9yeS1tb2RhbCBidXR0b24sXG4jY2FyZmF4LWRlbGV0ZS1tb2RhbCBidXR0b24ge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBoZWlnaHQ6IDQycHg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG5cbiNjYXJmYXgtZGVsZXRlLWZvcm0sXG4jdmVoaWNsZS1maWVsZHNldCB7XG4gIG1pbi1oZWlnaHQ6IDQycHg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuXG4uZ3JleS1saW5lIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmMmYyZjI7XG4gIGNvbnRlbnQ6IFwiXCI7XG4gIG1hcmdpbjogMTJweCAwOyB9XG5cbi5maW5kLXZpbi13cmFwcGVyIC5pdGVtLWNvbnRlbnQge1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIC5maW5kLXZpbi13cmFwcGVyIC5pdGVtLWNvbnRlbnQgdWwge1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogZGlzYzsgfVxuXG4ubW9kYWwtYnV0dG9ucyB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luLXRvcDogMTZweDsgfVxuICAubW9kYWwtYnV0dG9ucyAuYnV0dG9uIHtcbiAgICB3aWR0aDogMjAwcHg7IH1cblxuLnNlcnZpY2UtdW5hdmFpbGFibGUtc2VjdGlvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIG1hcmdpbjogOHB4IDAgMjRweDtcbiAgcGFkZGluZzogMTJweCAxNnB4OyB9XG4gIC5zZXJ2aWNlLXVuYXZhaWxhYmxlLXNlY3Rpb24gLnNlY3Rpb24tdGl0bGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTsgfVxuICAuc2VydmljZS11bmF2YWlsYWJsZS1zZWN0aW9uIC51bmF2YWlsYWJsZS10ZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZlMWJlO1xuICAgIGNvbG9yOiAjZjAwO1xuICAgIHBhZGRpbmc6IDZweDsgfVxuXG4udmVoaWNsZS1kYXRhLXNlY3Rpb24ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDIwcHg7IH1cbiAgLnZlaGljbGUtZGF0YS1zZWN0aW9uIC5zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLnZlaGljbGUtZGF0YS1zZWN0aW9uIC5jaGVja2JveC1mb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gIC52ZWhpY2xlLWRhdGEtc2VjdGlvbiAudmVoaWNsZS1kYXRhLWNvbnRlbnQgLnNhdmUtdmVoaWNsZS1jb250YWluZXIge1xuICAgIG1hcmdpbi10b3A6IDlweDsgfVxuICAgIC52ZWhpY2xlLWRhdGEtc2VjdGlvbiAudmVoaWNsZS1kYXRhLWNvbnRlbnQgLnNhdmUtdmVoaWNsZS1jb250YWluZXIgLnNhdmUtdmVoaWNsZS1jaGVja2JveCB7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuNSk7IH1cblxuLm1vZGFsLWJ1dHRvbnMgLmNhcmZsZXgtbG9nbyB7XG4gIGhlaWdodDogNTBweDtcbiAgd2lkdGg6IDE2MHB4OyB9XG5cbi5tb2RhbC1idXR0b25zICNjYXJmYXgtc2VhcmNoLWJ1dHRvbiB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gIGJvcmRlcjogM3B4IHNvbGlkICMyMDIwMjA7XG4gIGhlaWdodDogNDVweDtcbiAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gIG1heC13aWR0aDogMTUwcHg7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm1vZGFsLWJ1dHRvbnMgI2NhcmZheC1zZXJ2aWNlLWJ1dHRvbiB7XG4gIGhlaWdodDogNDVweDtcbiAgbWFyZ2luLWxlZnQ6IDE0cHg7XG4gIG1heC13aWR0aDogMjM1cHg7XG4gIHBhZGRpbmc6IDA7IH1cblxuLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cbiAgLm5vLXNlcnZpY2UtaGlzdG9yeSAuc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5uby1zZXJ2aWNlLWhpc3RvcnkgcCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICAubm8tc2VydmljZS1oaXN0b3J5IC5uby1zZXJ2aWNlLWJ1dHRvbiB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLnB0X2NhcmZheCAucm93LmF0cm9vdCAuY29udGVudC1jb2x1bW4ge1xuICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwOyB9IH1cblxuLnB0X2NhcmZheCAucGFnZS1kZXNjcmlwdGlvbiB7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuXG4ucHRfY2FyZmF4IC5hYm91dC1jYXJmYXgtd3JhcHBlciAuYWJvdXQtY2FyZmF4LXRpdGxlIHtcbiAgbWFyZ2luLXRvcDogMy4xMjVyZW07IH1cblxuLnB0X2NhcmZheCAuYWJvdXQtY2FyZmF4LXdyYXBwZXIgLnRvZ2dsZS1pdGVtIC5pdGVtLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnB0X2NhcmZheCAuYWJvdXQtY2FyZmF4LXdyYXBwZXIgLnRvZ2dsZS1pdGVtIC5pdGVtLWNvbnRlbnQgYSB7XG4gICAgei1pbmRleDogMjsgfVxuXG4ucHRfY2FyZmF4IC5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfVxuXG4uc2VydmljZS1oaXN0b3J5LXdyYXBbdG9nZ2xlLXN0YXRlPVwiaW5pdGlhbFwiXSAuc2VydmljZS1oaXN0b3J5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VydmljZS1oaXN0b3J5LXdyYXBbdG9nZ2xlLXN0YXRlPVwiaW5pdGlhbFwiXSAubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VydmljZS1oaXN0b3J5LXdyYXBbdG9nZ2xlLXN0YXRlPVwibm8tc2VydmljZVwiXSAuc2VydmljZS1oaXN0b3J5IHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VydmljZS1oaXN0b3J5LXdyYXBbdG9nZ2xlLXN0YXRlPVwiaGFzLXNlcnZpY2VcIl0gLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLnNlcnZpY2UtaGlzdG9yeSB7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtOyB9IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciAuaGVhZGVyLWNvbnRlbnQge1xuICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAxO1xuICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS1oZWFkZXIgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4OiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS1oZWFkZXIgLmxvZ28tY29udGFpbmVyIHtcbiAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7IH0gfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktaGVhZGVyIC5jYXJmYXgtbG9nbyB7XG4gICAgICBib3R0b206IDEuMjVyZW07XG4gICAgICBoZWlnaHQ6IGF1dG87IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LWhlYWRlciAuZGVsZXRlLWJ1dHRvbiB7XG4gICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgIGZsZXg6IDE7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG4gIC5zZXJ2aWNlLWhpc3RvcnkgLmhpc3RvcnktdGFibGUge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSAudGFibGUtaGVhZGVyIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNWU1ZTU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LXRhYmxlIC50YWJsZS1oZWFkZXIgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSAudGFibGUtaGVhZGVyIC50YWJsZS1yb3cge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwOyB9XG4gICAgLnNlcnZpY2UtaGlzdG9yeSAuaGlzdG9yeS10YWJsZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuc2VydmljZS1oaXN0b3J5IC5oaXN0b3J5LXRhYmxlIGIge1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1yb3cge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1yb3cge1xuICAgICAgICBnYXA6IDAuNjI1cmVtO1xuICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTsgfSB9XG4gIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbiB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbiB7XG4gICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbiBwOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgZmxleDogMjsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgICAgIG1pbi13aWR0aDogMTAwJTsgfVxuICAgICAgICAgIC5zZXJ2aWNlLWhpc3RvcnkgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQgYi5tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTsgfSB9XG4gICAgICAuc2VydmljZS1oaXN0b3J5IC50YWJsZS1jb2x1bW4uc2VydmljZXMtcGVyZm9ybWVkIC5tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfVxuXG4uc2VsLWluZm8ubGVmdC1hcnJvdyB7XG4gIG1pbi1oZWlnaHQ6IDEyNnB4OyB9XG5cbi5icmFrZXMtZGV0YWlscyB7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgbWFyZ2luOiA1MHB4IGF1dG87IH1cbiAgLmJyYWtlcy1kZXRhaWxzIGgyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWRldGFpbHMtd3JhcHBlciB7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogMzBweCAxNXB4OyB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIGgyIHtcbiAgICAgIG1pbi13aWR0aDogMjkwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgaDIge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDsgfSB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5ncmlkLW1ha2VyIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmdyaWQtbWFrZXIgc3BhbiB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMnB4OyB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtZ3JpZCB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCg1MHB4LCAxZnIpKTtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWdyaWQgLmdyaWQtaXRlbSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNjY2M7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1ncmlkIC5ncmlkLWl0ZW0ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWdyaWQgLmdyaWQtaGVhZGVyLFxuICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtZ3JpZCAuZ3JpZC12ZWhpY2xlLXR5cGUge1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWRpc2NsYWltZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgIHdpZHRoOiA5MCU7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWRpc2NsYWltZXIgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLW5vLXJlc3VsdHMge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZjtcbiAgICAgIG1hcmdpbjogMjBweCAwO1xuICAgICAgcGFkZGluZzogMTBweDsgfVxuICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtZ3JpZC13cmFwcGVyIC5icmFrZXMtbm8tcmVzdWx0cyBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgICAgcGFkZGluZzogMTVweDsgfVxuICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWluY2x1ZGVkIHtcbiAgICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWluY2x1ZGVkIC5pbmNsdWRlZC1ibG9jayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWluY2x1ZGVkIHAge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiA1cHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWdyaWQtd3JhcHBlciAuYnJha2VzLWluY2x1ZGVkIHVsIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDsgfVxuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1ncmlkLXdyYXBwZXIgLmJyYWtlcy1pbmNsdWRlZCB1bCBpIHtcbiAgICAgICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cbiAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBwYWRkaW5nOiAzMHB4IDI1cHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjVweDsgfVxuICAgICAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgaDIge1xuICAgICAgICAgIHRleHQtd3JhcDogbm93cmFwOyB9XG4gICAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciBpbWcge1xuICAgICAgICAgIG1heC13aWR0aDogOTAlOyB9IH1cbiAgICAuYnJha2VzLWRldGFpbHMgLmJyYWtlcy1pbnNwZWN0aW9uLXdyYXBwZXIgcCB7XG4gICAgICB3aWR0aDogOTUlOyB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDc1JTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgLmJyYWtlcy1kZXRhaWxzIC5icmFrZXMtaW5zcGVjdGlvbi13cmFwcGVyIC5icmFrZXMtaW1hZ2UtY29udGFpbmVyIHtcbiAgICAgIG1hcmdpbi10b3A6IDUwcHg7IH1cbiAgICAgIC5icmFrZXMtZGV0YWlscyAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciAuYnJha2VzLWltYWdlLWNvbnRhaW5lciBwIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cblxuLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ludGVyZmFjZS90aXJlLW1hcmsucG5nXCIpO1xuICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgYmFja2dyb3VuZC1zaXplOiA1MCU7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDE1cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIHtcbiAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDsgfSB9XG4gIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciBoMiB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciAuYnJha2VzLXBhY2thZ2VzIHtcbiAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciAuYnJha2VzLXBhY2thZ2VzIC5wYWNrYWdlcy1ibG9jayB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgIHdpZHRoOiAzMyU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sge1xuICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgICB3aWR0aDogMTAwJTsgfSB9XG4gICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sgcCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sgcCB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAgICAgICAuYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIgLmJyYWtlcy1wYWNrYWdlcyAucGFja2FnZXMtYmxvY2sgcC5wYWNrYWdlcy10aXRsZSB7XG4gICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG4gICAgICAgIC5icmFrZXMtcGFja2FnZXMtd3JhcHBlciAuYnJha2VzLXBhY2thZ2VzIC5wYWNrYWdlcy1ibG9jayBwLnBhY2thZ2VzLXRpdGxlIHtcbiAgICAgICAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAgICAgLmJyYWtlcy1wYWNrYWdlcy13cmFwcGVyIC5icmFrZXMtcGFja2FnZXMgLnBhY2thZ2VzLWJsb2NrIGkge1xuICAgICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgICAgZm9udC1zaXplOiA1MHB4OyB9XG5cbiNzdGlja3lDVEEge1xuICBib3R0b206IC0xMDAlO1xuICBib3gtc2hhZG93OiAwIDAgMTBweCAycHggIzIwMjAyMDtcbiAgbGVmdDogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB0cmFuc2l0aW9uOiBib3R0b20gMC40cztcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDU7IH1cbiAgI3N0aWNreUNUQS5zbGlkZSB7XG4gICAgYm90dG9tOiAwOyB9XG4gICNzdGlja3lDVEEgYSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB3aWR0aDogMTAwJTsgfVxuXG4uY2FydC1lbXB0eSB7XG4gIG1hcmdpbi10b3A6IDRyZW07IH1cbiAgLmNhcnQtZW1wdHkgaDEge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5jYXJ0LWVtcHR5IC5jYXJ0LWFjdGlvbi1jb250aW51ZS1zaG9wcGluZyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWJvdHRvbTogNHJlbTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNhcnQtcGFnZSB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1wYWdlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9IH1cbiAgLmNhcnQtcGFnZSAucGFnZS10aXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLmNhcnQtcGFnZSAucGFnZS10aXRsZSBoMSB7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2FydC1wYWdlIC5wYWdlLXRpdGxlIGgxIHtcbiAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtOyB9IH1cbiAgLmNhcnQtcGFnZSAudmVoaWNsZS1pbmZvIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gICAgLmNhcnQtcGFnZSAudmVoaWNsZS1pbmZvIC5lZGl0VmVoaWNsZUNhcnQge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIC5jYXJ0LXBhZ2UgLnZlaGljbGUtaW5mbyBhIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgLmNhcnQtcGFnZSAuY2FydC10ZWNobmljYWwtZGlmZmljdWx0aWVzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jYXJ0LXBhZ2UgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcyAuc21hbGwtMTIge1xuICAgICAgcGFkZGluZzogMzBweCAxMHB4IDIwcHg7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcyAuc21hbGwtMTIgcCBzcGFuIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuY2FydC1wYWdlIC5jYXJ0LXRlY2huaWNhbC1kaWZmaWN1bHRpZXMuaGVhZGVyIC5yb3cge1xuICAgIG1hcmdpbjogLTQwcHggMCAxMHB4OyB9XG4gIC5jYXJ0LXBhZ2UgLmhlYWRlci1wcm9kdWN0LWRldGFpbHMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1hcmdpbjogMXJlbSAwOyB9XG4gIC5jYXJ0LXBhZ2UgLml0ZW0tbGlzdCB7XG4gICAgYm9yZGVyOiA0cHggc29saWQgI2YyZjJmMztcbiAgICBtYXJnaW46IDAgMCAxLjU2MjVyZW07XG4gICAgcGFkZGluZzogMS4yNXJlbSAwOyB9XG4gICAgLmNhcnQtcGFnZSAuaXRlbS1saXN0IC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1wYWdlIC5tYWluLXNlY3Rpb24taGVhZGVyIC5xdHktaGVhZGVyIHtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIC5jYXJ0LXBhZ2UgLm1haW4tc2VjdGlvbi1oZWFkZXIgLnRvdGFsLXByaWNlLWhlYWRlciB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1wYWdlIC5jYXJ0LXJvdyAuaXRlbS1xdWFudGl0eSxcbiAgICAuY2FydC1wYWdlIC5zZXJ2aWNlLXJvdyAuaXRlbS1xdWFudGl0eSB7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY2FydC1wYWdlIC5jYXJ0LXJvdyAuaXRlbS10b3RhbCxcbiAgICAuY2FydC1wYWdlIC5jYXJ0LXJvdyAuc2VydmljZS1pdGVtLXRvdGFsLFxuICAgIC5jYXJ0LXBhZ2UgLnNlcnZpY2Utcm93IC5pdGVtLXRvdGFsLFxuICAgIC5jYXJ0LXBhZ2UgLnNlcnZpY2Utcm93IC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuY2FydC1wYWdlIC5jYXJ0LWxpbmUtc2VwYXJhdG9yOjpiZWZvcmUge1xuICAgIGJhY2tncm91bmQ6ICNlOGU4ZTk7XG4gICAgYm90dG9tOiAwO1xuICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgaGVpZ2h0OiAycHg7XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IGF1dG8gMDtcbiAgICByaWdodDogMDtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmNhcnQtcGFnZSAub3JkZXItc3VtbWFyeS1yb3cge1xuICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAub3JkZXItc3VtbWFyeS1yb3cge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAub3JkZXItc3VtbWFyeS1yb3cgLmNhcnQtbGluZS1zZXBhcmF0b3Ige1xuICAgICAgICBvcmRlcjogMzsgfSB9XG4gIC5jYXJ0LXBhZ2UgLmRpc2NsYWltZXItY2FydCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfVxuICAgIC5jYXJ0LXBhZ2UgLmRpc2NsYWltZXItY2FydCBwIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICAuY2FydC1wYWdlIC5kaXNjbGFpbWVyLWNhcnQgcC5sZXZ5LW1lc3NhZ2UtY2FydCB7XG4gICAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1wYWdlIC5vcmRlci1zdW1tYXJ5IHtcbiAgICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtOyB9IH1cbiAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSAwOyB9XG4gICAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRkIHtcbiAgICAgICAgcGFkZGluZzogMCAwIDAuOTM3NXJlbTsgfVxuICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuOTM3NXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNhcnQtcGFnZSAub3JkZXItdG90YWxzLXRhYmxlIHRyLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5vcmRlci10b3RhbCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgICAgIC5jYXJ0LXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5vcmRlci10b3RhbCB0ZCB7XG4gICAgICAgICAgcGFkZGluZy1ib3R0b206IDA7IH1cbiAgLmNhcnQtcGFnZSAub3V0LW9mLXN0b2NrLW1lc3NhZ2UtYm94IHtcbiAgICBmbG9hdDogcmlnaHQ7XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgd2lkdGg6IDMwMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAub3V0LW9mLXN0b2NrLW1lc3NhZ2UtYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMy4xMjVyZW07IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLm91dC1vZi1zdG9jay1tZXNzYWdlLWJveCBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY2FydC1wYWdlIC5vdXQtb2Ytc3RvY2stbWVzc2FnZS1ib3ggYSB7XG4gICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAuY2FydC1wYWdlIC5jYXJ0LWZpbmFuY2luZyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAwLjkzNzVyZW07XG4gICAgbWluLWhlaWdodDogNDVweDsgfVxuICAgIC5jYXJ0LXBhZ2UgLmNhcnQtZmluYW5jaW5nIHAge1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgLmNhcnQtcGFnZSAuY2FydC1maW5hbmNpbmcgLmNhcnQtZmluYW5jaW5nLWxpbmsge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLWxlZnQ6IDZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAuY2FydC1hY3Rpb24tY2hlY2tvdXQtYm94IHtcbiAgICAgIG9yZGVyOiAyOyB9IH1cbiAgLmNhcnQtcGFnZSAuY2FydC1hY3Rpb24tY2hlY2tvdXQge1xuICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLmNhcnQtYWN0aW9uLWNoZWNrb3V0IHtcbiAgICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgICAuY2FydC1wYWdlIC5jYXJ0LWFjdGlvbi1jaGVja291dCAuYnV0dG9uIHtcbiAgICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMS4xMjVyZW07XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgLmNhcnQtcGFnZSAuY2FydC1hY3Rpb24tY2hlY2tvdXQgLmJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogXCJcXGYwMjNcIjtcbiAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1cHg7IH1cbiAgLmNhcnQtcGFnZSAubmVlZC1oZWxwLWNhcnQgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgLmNhcnQtcGFnZSAubmVlZC1oZWxwLWNhcnQgcCB7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAuY2FydC1wYWdlIC5uZWVkLWhlbHAtY2FydCBhIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIHtcbiAgICBib3JkZXI6IDRweCBzb2xpZCAjZjJmMmYzO1xuICAgIG1hcmdpbjogMXJlbSAwIDA7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAxLjEyNXJlbTsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgLmxlZnQtYm94LFxuICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgLnJpZ2h0LWJveCB7XG4gICAgICAgIHdpZHRoOiA0MS42NjY2NyU7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5sZWZ0LWJveCB7XG4gICAgICAgIGZsb2F0OiBsZWZ0OyB9XG4gICAgICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSAucmlnaHQtYm94IHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTYuNjY2NjclO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG4gICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2FydC1wYWdlIC52ZXJpZnktdmVoaWNsZSBwIHtcbiAgICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAgIC5jYXJ0LXBhZ2UgLnZlcmlmeS12ZWhpY2xlIC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmNhcnQtcGFnZSAudmVyaWZ5LXZlaGljbGUgLmJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5pY29uLWJveCB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZy1yaWdodDogMS4zMTNyZW07XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAyNyU7IH1cbiAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLnRleHQtYm94IHtcbiAgICB3aWR0aDogNzMlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLnRleHQtYm94IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuaWNvbi1hbGVydCB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC1zaXplOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5pY29uLWFsZXJ0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAwIDA7IH0gfVxuICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuZmEtY2hlY2sge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5mYS1jaGVjayB7XG4gICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwOyB9IH1cbiAgICAuY2FydC1wYWdlIC52ZXJpZmllZC1yZXNwb25zZSAuZmEtY2hlY2s6OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjYzc1MzAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLmxlZnQtYm94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9IH1cbiAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLnJpZ2h0LWJveCBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYXJ0LXBhZ2UgLnZlcmlmaWVkLXJlc3BvbnNlIC5yaWdodC1ib3ggcCB7XG4gICAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMDsgfSB9XG4gICAgLmNhcnQtcGFnZSAudmVyaWZpZWQtcmVzcG9uc2UgLnJpZ2h0LWJveCBwIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciB7XG4gICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgdG9wOiAxMDBweDsgfSB9XG4gIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm9yZGVyLXN1bW1hcnktd3JhcHBlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBwYWRkaW5nOiAwLjkzNzVyZW07IH1cbiAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWNhcmQge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbnRlcmZhY2UvdGlyZS1tYXJrLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9XG4gICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWNhcmQgLmxlYXJuLW1vcmUtd3JhcHBlciB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICBwYWRkaW5nLXRvcDogMC45Mzc1cmVtOyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctY2FyZCAubGVhcm4tbW9yZS13cmFwcGVyIC5sZWFybi1tb3JlLWxpbmsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1jYXJkIC5sZWFybi1tb3JlLXdyYXBwZXIgLmxlYXJuLW1vcmUtbGluazpob3ZlciA+IC5tb3JlLWluZm8tdGV4dCB7XG4gICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1jYXJkIC5sZWFybi1tb3JlLXdyYXBwZXIgLm1vcmUtaW5mby10ZXh0IHtcbiAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIge1xuICAgIGJvcmRlcjogNHB4IHNvbGlkICNmMmYyZjM7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy10aXRsZSBzcGFuIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICAuY2FydC1wYWdlIC5zdGlja3ktc2VjdGlvbi13cmFwcGVyIC5tYXJrZXRpbmctaW5mby13cmFwcGVyIC5tYXJrZXRpbmctaW5mby1zZWN0aW9uIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuMjVyZW07IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaDQge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH1cbiAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gcCB7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICAgICAgLmNhcnQtcGFnZSAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciAubWFya2V0aW5nLWluZm8td3JhcHBlciAubWFya2V0aW5nLWluZm8tc2VjdGlvbiBpIHtcbiAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEuODc1cmVtOyB9XG4gICAgICAgIC5jYXJ0LXBhZ2UgLnN0aWNreS1zZWN0aW9uLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24gaTo6YmVmb3JlIHtcbiAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgcGFkZGluZzogMDsgfVxuXG4uY2FydC1yb3cge1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gIC5jYXJ0LXJvdyAuc2VydmljZS1yb3cge1xuICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1yb3cgLnByb2R1Y3QtbGlzdC1pdGVtIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTsgfSB9XG4gIC5jYXJ0LXJvdyAuaXRlbS1pbWFnZSB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAxMDBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuaXRlbS1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMTIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuaXRlbS1pbWFnZSB7XG4gICAgICAgIG1heC13aWR0aDogMTkwcHg7IH0gfVxuICAuY2FydC1yb3cgLnByb2R1Y3QtbmFtZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICAuY2FydC1yb3cgLnByb2R1Y3QtYnJhbmQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcm93IC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgZm9udC1zaXplOiAxcmVtOyB9IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLmF0dHJpYnV0ZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDA7IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWF0dHJpYnV0ZXMuY2F0ZWdvcnktYXR0cmlidXRlcyAubmFtZSB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgbWluLWhlaWdodDogMThweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gIC5jYXJ0LXJvdyAucHJvZHVjdC1hdHRyaWJ1dGVzIC5uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgLmNhcnQtcm93IC5wcm9kdWN0LWF0dHJpYnV0ZXMgLnZhbHVlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLmNhcnQtcm93IC5hdmFpbGFiaWxpdHktYXR0cmlidXRlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDAuMzEyNXJlbSAwOyB9XG4gICAgLmNhcnQtcm93IC5hdmFpbGFiaWxpdHktYXR0cmlidXRlIC5hdmFpbGFiaWxpdHktbGFiZWwge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7IH1cbiAgICAuY2FydC1yb3cgLmF2YWlsYWJpbGl0eS1hdHRyaWJ1dGUgLnByb2R1Y3QtYXZhaWxhYmlsaXR5LWxpc3Qge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1yb3cgLml0ZW0tcXR5LXByaWNlLXNlY3Rpb24ge1xuICAgICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXJvdyAuc2VjdGlvbi1oZWFkZXIucXR5LWhlYWRlcixcbiAgICAuY2FydC1yb3cgLnNlY3Rpb24taGVhZGVyLml0ZW0tcHJpY2UtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAuY2FydC1yb3cgLml0ZW0tcHJpY2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuaXRlbS1wcmljZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0OyB9IH1cbiAgICAuY2FydC1yb3cgLml0ZW0tcHJpY2UgLm9sZC1wcmljZSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7IH1cbiAgLmNhcnQtcm93IC5pdGVtLXRvdGFsIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLXRvcDogMi4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNhcnQtcm93IC5pdGVtLXRvdGFsIHtcbiAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwOyB9IH1cbiAgLmNhcnQtcm93IC5wcmljZS10b3RhbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTsgfVxuICAuY2FydC1yb3cgLnByb2R1Y3QtY2FyZC1xdWFudGl0eS5pdGVtLXF1YW50aXR5IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgLmNhcnQtcm93IC5wcm9kdWN0LWNhcmQtcXVhbnRpdHkuaXRlbS1xdWFudGl0eSAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXgtd2lkdGg6IDU1cHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY2FydC1yb3cgLnByb2R1Y3QtY2FyZC1xdWFudGl0eS5pdGVtLXF1YW50aXR5IC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG4gICAgLmNhcnQtcm93IC5wcm9kdWN0LWNhcmQtcXVhbnRpdHkuaXRlbS1xdWFudGl0eSAucHJvZHVjdFF1YW50aXR5IHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY2FydC1yb3cgLnJlbW92ZS1idG4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAucmVtb3ZlLWJ0biB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH0gfVxuICAuY2FydC1yb3cgLnJlYmF0ZS1ib3gge1xuICAgIG1hcmdpbjogMS4yNXJlbSAwIDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2FydC1yb3cgLnJlYmF0ZS1ib3gge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuODc1cmVtOyB9IH1cbiAgLmNhcnQtcm93IC5yZWJhdGUtYmFkZ2Uge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNhcnQtcm93IC5yZWJhdGUtYmFkZ2Uge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAuY2FydC1yb3cgLnJlYmF0ZS1iYWRnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9IH1cbiAgICAuY2FydC1yb3cgLnJlYmF0ZS1iYWRnZTo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9yZWJhdGVfaWNvbi5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogMjVweDtcbiAgICAgIHdpZHRoOiAzMHB4OyB9XG4gIC5jYXJ0LXJvdyAucmViYXRlLXRleHQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcm93LmZpcnN0LXBzZXQge1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuICAuY2FydC1yb3cuc2Vjb25kLXBzZXQgLml0ZW0taW1hZ2Uge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgLmNhcnQtcm93LnNlY29uZC1wc2V0IC5yZW1vdmUtYnRuIHtcbiAgICBtYXJnaW46IDAuOTM3NXJlbSAwIDA7IH1cbiAgLmNhcnQtcm93IC5mcm9udC1iYWNrLXNldC1sYWJlbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYXJ0LXJvdyAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICAgICAgICBmb250LXNpemU6IDAuNjg3NXJlbTsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzLnJlcXVpcmVkLXNlcnZpY2VzIHtcbiAgbWFyZ2luLXRvcDogMi41cmVtOyB9XG4gIC5jYXJ0LXNlcnZpY2VzLnJlcXVpcmVkLXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gICAgcGFkZGluZzogMC45Mzc1cmVtIDAgMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcy5yZXF1aXJlZC1zZXJ2aWNlcyAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgICAgbWFyZ2luLXRvcDogMC45Mzc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMucmVxdWlyZWQtc2VydmljZXMgLml0ZW0tcHJpY2Uge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIC5jYXJ0LXNlcnZpY2VzLnJlcXVpcmVkLXNlcnZpY2VzIC5zZXJ2aWNlLWluZm8td3JhcHBlciB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7IH1cblxuLmNhcnQtc2VydmljZXMuaW5jbHVkZWQtc2VydmljZXMgLml0ZW0tcHJpY2Uge1xuICBmb250LXNpemU6IDFyZW07XG4gIGZvbnQtd2VpZ2h0OiA1MDA7IH1cblxuLmNhcnQtc2VydmljZXMuaW5jbHVkZWQtc2VydmljZXMgLnNlcnZpY2Utcm93IHtcbiAgYm9yZGVyOiA0cHggc29saWQgI2YyZjJmMzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMuaW5jbHVkZWQtc2VydmljZXMgLnNlcnZpY2Utcm93IHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNhcnQtc2VydmljZXMuaW5jbHVkZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpOyB9IH1cblxuLmNhcnQtc2VydmljZXMuZ3JvdXBlZC1zZXJ2aWNlcyAucmVjb21tZW5kZWQtc2VydmljZSB7XG4gIGZvbnQtc2l6ZTogMC42MjVyZW07XG4gIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnJlY29tbWVuZGVkLXNlcnZpY2Uge1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7IH0gfVxuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5yZWNvbW1lbmRlZC1zZXJ2aWNlIHNwYW4ge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG5cbi5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnNlcnZpY2Utcm93IHtcbiAgYm9yZGVyOiA0cHggc29saWQgI2YyZjJmMzsgfVxuXG4uY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWdyb3VwLW5hbWUge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDIuNXJlbSAwIDAuOTM3NXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICBmb250LXdlaWdodDogNTAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcy5ncm91cGVkLXNlcnZpY2VzIC5pdGVtLXByaWNlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICBtYXgtaGVpZ2h0OiAxLjI1cmVtOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzLmdyb3VwZWQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS1wcmljZSB7XG4gICAgZGlzcGxheTogZmxleDsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLXJvdyB7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDA7IH1cblxuLmNhcnQtc2VydmljZXMgLmJvdHRvbS1tYXJnaW4ge1xuICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pdGVtLWRldGFpbHMge1xuICAgIHBhZGRpbmctbGVmdDogNjBweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWluZm8td3JhcHBlciB7XG4gICAgICBtYXJnaW4tbGVmdDogMS41NjI1cmVtOyB9IH1cbiAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaW5mby13cmFwcGVyIC5zZXJ2aWNlLWltYWdlIHtcbiAgICBmbGV4OiAxOyB9XG4gIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWluZm8td3JhcHBlciAuc2VydmljZS1kZXNjcmlwdGlvbiB7XG4gICAgZmxleDogMTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxMHB4OyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLW5hbWUtYm94IHtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2VydmljZS1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtbGFiZWwge1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAuc2hvcnQtZGVzY3JpcHRpb24ge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5zaG9ydC1kZXNjcmlwdGlvbiB7XG4gICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLWltYWdlIHtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIG1heC13aWR0aDogNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaW1hZ2Uge1xuICAgICAgbWF4LXdpZHRoOiA2MHB4OyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gIC5jYXJ0LXNlcnZpY2VzIC5zZXJ2aWNlLXRvdGFsLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDAgMCAwIDAuNzVyZW07IH0gfVxuXG4uY2FydC1zZXJ2aWNlcyAubW9yZS1pbmZvLWxpbmsge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jYXJ0LXNlcnZpY2VzIC5tb3JlLWluZm8tbGluayB7XG4gICAgICBtYXJnaW4tdG9wOiAwLjYyNXJlbTsgfSB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5tb3JlLWluZm8tdGV4dCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNTAwO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2FydC1zZXJ2aWNlcyAubW9yZS1pbmZvLXRleHQ6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lOyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5zZWN0aW9uLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG5cbi5jYXJ0LXNlcnZpY2VzIC5tYWluLWhlYWRlciB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIG1hcmdpbjogMCAwIDIuMTg4cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAubWFpbi1oZWFkZXIge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cblxuLmNhcnQtc2VydmljZXMgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICBtYXJnaW4tYm90dG9tOiAyLjVyZW07IH1cblxuLmNhcnQtc2VydmljZXMgLnNlcnZpY2UtaXRlbS10b3RhbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbi1ib3R0b206IDAuNXJlbTsgfVxuXG4uY2FydC1zZXJ2aWNlcyAuaXRlbS1wcmljZSB7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBmb250LXdlaWdodDogbm9ybWFsOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC1zZXJ2aWNlcyAuaXRlbS1wcmljZSB7XG4gICAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5yZXZlYWxbaWQqPVwic2VydmljZXBvcHVwXCJdLFxuI3NlcnZpY2VpbmZvbW9kYWwge1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucmV2ZWFsW2lkKj1cInNlcnZpY2Vwb3B1cFwiXSxcbiAgICAjc2VydmljZWluZm9tb2RhbCB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG4gIC5yZXZlYWxbaWQqPVwic2VydmljZXBvcHVwXCJdIC5jbG9zZS1idXR0b24sXG4gICNzZXJ2aWNlaW5mb21vZGFsIC5jbG9zZS1idXR0b24ge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIHJpZ2h0OiAxLjEyNXJlbTtcbiAgICB0b3A6IDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yZXZlYWxbaWQqPVwic2VydmljZXBvcHVwXCJdIC5jbG9zZS1idXR0b24sXG4gICAgICAjc2VydmljZWluZm9tb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgcmlnaHQ6IDEuNzVyZW07XG4gICAgICAgIHRvcDogMS40MzhyZW07IH0gfVxuXG4uc2VydmljZS1tb2RhbC1jb250ZW50IC5zZXJ2aWNlLW5hbWUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgd2lkdGg6IDkwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlcnZpY2UtbW9kYWwtY29udGVudCAuc2VydmljZS1uYW1lIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtOyB9IH1cblxuLnNlcnZpY2UtbW9kYWwtY29udGVudCAuc2VydmljZS1pbWFnZSB7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnNlcnZpY2UtbW9kYWwtY29udGVudCAuc2VydmljZS1pbWFnZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbjogMDtcbiAgICAgIHdpZHRoOiAzNSU7IH0gfVxuXG4uc2VydmljZS1tb2RhbC1jb250ZW50IC5sb25nLWRlc2NyaXB0aW9uIHtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMS40O1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5zZXJ2aWNlLW1vZGFsLWNvbnRlbnQgLmxvbmctZGVzY3JpcHRpb24ge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgcGFkZGluZzogMCAwIDAgMS44NzVyZW07XG4gICAgICB3aWR0aDogNjUlOyB9IH1cblxuLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbTsgfSB9XG5cbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIC50aXRsZSxcbiNzZXJ2aWNlaW5mb21vZGFsIC50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuICB3aWR0aDogOTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAudGl0bGUsXG4gICAgI3NlcnZpY2VpbmZvbW9kYWwgLnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfSB9XG5cbi5jYXJ0LXZlcmlmeS12ZWhpY2xlLW1vZGFsIC5kZXNjcmlwdGlvbiBwLFxuI3NlcnZpY2VpbmZvbW9kYWwgLmRlc2NyaXB0aW9uIHAge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS40OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAuYnV0dG9ucy1ib3gsXG4gICNzZXJ2aWNlaW5mb21vZGFsIC5idXR0b25zLWJveCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAuYnV0dG9ucy1ib3gsXG4gICNzZXJ2aWNlaW5mb21vZGFsIC5idXR0b25zLWJveCB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4OyB9IH1cblxuLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94IC5idXR0b24sXG4jc2VydmljZWluZm9tb2RhbCAuYnV0dG9ucy1ib3ggLmJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwgLmJ1dHRvbnMtYm94IC5idXR0b24sXG4gICAgI3NlcnZpY2VpbmZvbW9kYWwgLmJ1dHRvbnMtYm94IC5idXR0b24ge1xuICAgICAgbWFyZ2luOiAwIDEuMjVyZW0gMCAwO1xuICAgICAgd2lkdGg6IGF1dG87IH0gfVxuXG4uY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCAuYnV0dG9ucy1ib3ggYSxcbiNzZXJ2aWNlaW5mb21vZGFsIC5idXR0b25zLWJveCBhIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cblxuI2luc2lkZV9ob2xkZXIgI2luc2lkZV9saXZlQ2hhdFRhYiB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY2FydC1wc21vZGFsLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIG1hcmdpbjogMjBweCAwIDAgMzBweDtcbiAgd2lkdGg6IDg1JTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtcHNtb2RhbC10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLnRvdGFscy1zdGlja3ktYnV0dG9uIHtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgYm90dG9tOiAwO1xuICBib3gtc2hhZG93OiAwIC00cHggMTBweCAjODA4MDgwO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHBhZGRpbmc6IDAuNjI1cmVtIDAuNXJlbTtcbiAgcG9zaXRpb246IHN0aWNreTtcbiAgei1pbmRleDogMTA7IH1cbiAgLnRvdGFscy1zdGlja3ktYnV0dG9uIC5wcmljZS10b3RhbCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAzcHg7XG4gICAgcGFkZGluZzogMC4zMTI1cmVtOyB9XG4gIC50b3RhbHMtc3RpY2t5LWJ1dHRvbiAucHJpY2UtdG90YWwtdGV4dCB7XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtOyB9XG5cbiNwc21vZGFsLmNhcnQtcHNtb2RhbCAuY2xvc2UtYnV0dG9uIHtcbiAgcmlnaHQ6IDI1cHg7IH1cblxuI2NhcnRRdWFudGl0eU1vZGFsIHtcbiAgYm9yZGVyOiAwO1xuICBtYXgtd2lkdGg6IDM4MHB4O1xuICBwYWRkaW5nOiAwOyB9XG4gICNjYXJ0UXVhbnRpdHlNb2RhbCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tncm91bmQ6ICNjNzUzMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICNjYXJ0UXVhbnRpdHlNb2RhbCBwIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgcGFkZGluZzogMCAxNXB4OyB9XG4gICNjYXJ0UXVhbnRpdHlNb2RhbCAuY2FydFF1YW50aXR5TW9kYWxDdGEge1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBwYWRkaW5nOiAwIDE1cHggMTVweDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuXG4jd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsIHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsIHtcbiAgICAgIGhlaWdodDogZml0LWNvbnRlbnQ7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIG1heC1oZWlnaHQ6IDEwMCU7XG4gICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0OyB9IH1cbiAgI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbC5yZXZlYWwge1xuICAgIGxlZnQ6IDUwJTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiA1MCUgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwucmV2ZWFsIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2OTBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAjd2h5LWNob29zZS1rYWx0aXJlLW1vZGFsIC5tb2RhbC10aXRsZSB7XG4gICAgcGFkZGluZy1ib3R0b206IDEuMjVyZW07IH1cbiAgI3doeS1jaG9vc2Uta2FsdGlyZS1tb2RhbCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gICN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgdG9wOiAwLjc1cmVtOyB9XG5cbi5jb250YXQtdXMtZm9vdGVyIHtcbiAgbWFyZ2luLXRvcDogNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29udGF0LXVzLWZvb3RlciB7XG4gICAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfSB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5oZXJlLXRvLWhlbHAge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2Q4ZDhkODtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMCAxLjU2MjVyZW07IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLmNhcnQtZm9vdGVyLWltYWdlIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAuY29udGF0LXVzLWZvb3RlciAuY2FydC1mb290ZXItaW1hZ2UgaW1nIHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIG1heC1oZWlnaHQ6IDE4Ljc1cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5jb250YWN0LXVzLWNvbnRlbnQge1xuICAgIHBhZGRpbmctdG9wOiAxLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNvbnRhdC11cy1mb290ZXIgLmNvbnRhY3QtdXMtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMDsgfSB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMDYyNXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAuY29udGFjdC1pbmZvLXNlY3Rpb24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb250YXQtdXMtZm9vdGVyIC5jb250YWN0LWluZm8tc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjkzNzVyZW07IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuYWN0aW9uLWJveC1jb250ZW50IHAge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjg7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5jb250YXQtdXMtZm9vdGVyIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICBwYWRkaW5nOiAwLjMxMjVyZW07IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuc2VjdGlvbi10aXRsZS1ib3ggaDMge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5waG9uZS1udW1iZXIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBwYWRkaW5nLXRvcDogMC42MjVyZW07IH1cbiAgLmNvbnRhdC11cy1mb290ZXIgLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNvbnRhdC11cy1mb290ZXIgLm9yZGVyU3VtbWFyeUxpdmVDaGF0IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuICAuY29udGF0LXVzLWZvb3RlciAuYWN0aW9uLWljb24gLmNhcmQtaWNvbiB7XG4gICAgbWF4LWhlaWdodDogMXJlbTsgfVxuICAuY29udGF0LXVzLWZvb3RlciAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgIG1pbi1oZWlnaHQ6IDEuMzc1cmVtOyB9XG4gIC5jb250YXQtdXMtZm9vdGVyIC5jYXJkLWljb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi1yaWdodDogMC41cmVtO1xuICAgIHdpZHRoOiAxcmVtOyB9XG5cbi5tYW51ZmFjdHVyZXItbnVtYmVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICBtYXJnaW46IDAgMCAwLjkzNzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5tYW51ZmFjdHVyZXItbnVtYmVyIHtcbiAgICAgIG1hcmdpbjogMCAwIDEuMzc1cmVtOyB9IH1cblxuI2FkZHRvY2FydHBvcHVwIHtcbiAgcGFkZGluZzogMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICNhZGR0b2NhcnRwb3B1cCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgI2FkZHRvY2FydHBvcHVwIC5jYXRlZ29yaWVzLWJveCxcbiAgI2FkZHRvY2FydHBvcHVwIC5hdmFpbGFiaWxpdHktbXNnLFxuICAjYWRkdG9jYXJ0cG9wdXAgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb21vLWJhZGdlLFxuICAjYWRkdG9jYXJ0cG9wdXAgLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgZGlzcGxheTogbm9uZTsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3Qtc2l6ZSAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnBvcHVwLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgIHBhZGRpbmctcmlnaHQ6IDFyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLnBvcHVwLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5wb3B1cC1zdWJ0aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAubmV3LWNhcnQtaXRlbSB7XG4gICAgbWFyZ2luOiAzMHB4IDAgMjVweDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZS1ib3g6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZS1ib3g6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgIG1hcmdpbjogMCAyJSAwIDA7IH0gfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZTo6YmVmb3JlLCAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZTo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtdGlsZTo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1uYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1uYW1lIC5icmFuZC1uYW1lIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5wcm9kdWN0LW5hbWUgYSB7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAjYWRkdG9jYXJ0cG9wdXAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgcGFkZGluZzogMCAwIDAgMTVweDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5ib3gtc3BhY2luZyB7XG4gICAgICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5wcm9kdWN0LXByaWNlOjpiZWZvcmUsICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5wcm9kdWN0LXByaWNlOjphZnRlciB7XG4gICAgICBjb250ZW50OiAnICc7XG4gICAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5wcm9kdWN0LXByaWNlOjphZnRlciB7XG4gICAgICBjbGVhcjogYm90aDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAucHJvZHVjdC1wcmljaW5nIC5yZWJhdGUge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyB7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgcGFkZGluZzogMCAwIDI1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5hY3Rpb25zLm5vLWJvcmRlciB7XG4gICAgICBib3JkZXI6IDAgIWltcG9ydGFudDsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICB3aWR0aDogMTAwJTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyAuY2FuY2VsIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAwLjY4NzVyZW07IH1cbiAgI2FkZHRvY2FydHBvcHVwIC5hY3Rpb25zLW1hcmdpbiB7XG4gICAgbWFyZ2luOiAxLjVyZW0gMCAwOyB9XG4gICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IHtcbiAgICBtYXJnaW46IDI1cHggMCAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQge1xuICAgICAgICBtYXJnaW46IDQwcHggMCAwOyB9IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC1iYWRnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnBvcHVwLXN1YnRpdGxlIHtcbiAgICAgIG1hcmdpbjogMCAwIDE1cHg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC10aWxlIHtcbiAgICAgIGJvcmRlcjogNnB4IHNvbGlkICNmMmYyZjI7XG4gICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgICAgcGFkZGluZzogMjBweDsgfSB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3Qtc2l6ZSxcbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC1pbWFnZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5jdXJyZW50LWNhcnQgLnByb2R1Y3QtbmFtZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHdpZHRoOiA2MCU7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLmN1cnJlbnQtY2FydCAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIHdpZHRoOiA0MCU7IH1cbiAgICAgICNhZGR0b2NhcnRwb3B1cCAuY3VycmVudC1jYXJ0IC5wcm9kdWN0LXByaWNpbmcgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9XG5cbiNjYXJ0LXBvcHVwLWNvbnRhaW5lciAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuI2NhcnQtcG9wdXAtY29udGFpbmVyIC5wcm9kdWN0LWJhZGdlIHtcbiAgbWF4LXdpZHRoOiAyNSU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAjY2FydC1wb3B1cC1jb250YWluZXIgLnByb2R1Y3QtYmFkZ2Ugc3BhbiB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNhZGR0b2NhcnRwb3B1cCB7XG4gICAgd2lkdGg6IDcwMHB4OyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5uZXctY2FydC1pdGVtIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzJTtcbiAgICAgIG1heC13aWR0aDogMjUlOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5uZXctY2FydC1pdGVtIC5wcm9kdWN0LWJveCB7XG4gICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgZmxleDogMCAwIDY2LjY2NjY3JTtcbiAgICAgIG1heC13aWR0aDogNjYuNjY2NjclOyB9XG4gICAgI2FkZHRvY2FydHBvcHVwIC5uZXctY2FydC1pdGVtIC5wcm9kdWN0LXRpbGUge1xuICAgICAgYm9yZGVyOiA2cHggc29saWQgI2YyZjJmMjtcbiAgICAgIHBhZGRpbmc6IDIwcHg7IH1cbiAgICAjYWRkdG9jYXJ0cG9wdXAgLm5ldy1jYXJ0LWl0ZW0gLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICAgIGRpc3BsYXk6IGZsZXhib3g7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgIGZsZXgtZmxvdzogcm93IHdyYXA7XG4gICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgIG1heC13aWR0aDogODIuNXJlbTsgfVxuICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIHBhZGRpbmc6IDAgMCA0MHB4OyB9XG4gICAgICAjYWRkdG9jYXJ0cG9wdXAgLmFjdGlvbnMgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAgICNhZGR0b2NhcnRwb3B1cCAuYWN0aW9ucyAuY2FuY2VsIHtcbiAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwOyB9IH1cblxuLmNiLWJvcmRlcmVkLWNvbnRlbnQge1xuICBib3JkZXI6IDdweCBzb2xpZCAjZjJmMmYyO1xuICBwYWRkaW5nOiAxNXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYi1ib3JkZXJlZC1jb250ZW50IHtcbiAgICAgIHBhZGRpbmc6IDMwcHggMDsgfSB9XG5cbi5jYi1wYWdlLWhlYWRlciB7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IDUwJSA1MCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW4tYm90dG9tOiA0MHB4O1xuICBwYWRkaW5nOiAxMDBweCAwIDEyMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItcGFnZS1oZWFkZXIge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgICBwYWRkaW5nOiAxMTVweCAwOyB9IH1cbiAgLmNiLXBhZ2UtaGVhZGVyIGgxIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiA0MnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLXBhZ2UtaGVhZGVyIGgxIHtcbiAgICAgICAgZm9udC1zaXplOiA2NnB4OyB9IH1cbiAgLmNiLXBhZ2UtaGVhZGVyIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1wYWdlLWhlYWRlciBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLmNiLXBhZ2UtaGVhZGVyIC5jYi1jdGEge1xuICAgIG1hcmdpbi10b3A6IDEwcHg7IH1cblxuLmNiLWN0YSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjYzc1MzAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGZvbnQtc2l6ZTogMTNweDtcbiAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICBtYXJnaW4tdG9wOiAxMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItY3RhIHtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDsgfSB9XG4gIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy13aGl0ZSB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA3cHggMzBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4zcyBlYXNlLWluLW91dDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy13aGl0ZSB7XG4gICAgICAgIHBhZGRpbmc6IDlweCAzMHB4OyB9IH1cbiAgICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctd2hpdGU6aG92ZXIsIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy13aGl0ZTpmb2N1cyB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjMDAwOyB9XG4gIC5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjayB7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2ZmNjkwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogYmFja2dyb3VuZCwgY29sb3I7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgICAgICBwYWRkaW5nOiA5cHggMzBweDsgfSB9XG4gICAgLmNiLWN0YS5idXR0b24taG9sbG93LWJsYWNrOmhvdmVyLCAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2s6Zm9jdXMge1xuICAgICAgYmFja2dyb3VuZDogI2Y2YTU4MztcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDsgfVxuICAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgcGFkZGluZzogN3B4IDMwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jdGEuYnV0dG9uLWZ1bGwtd2hpdGUge1xuICAgICAgICBwYWRkaW5nOiA5cHggMzBweDsgfSB9XG4gICAgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZS5maW5hbmNpbmdMaW5rIHtcbiAgICAgIG1hcmdpbjogMCAwIDEwcHg7IH1cbiAgICAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlOmhvdmVyLCAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlOmZvY3VzIHtcbiAgICAgIGJhY2tncm91bmQ6ICNmZmE1NjY7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmZhNTY2OyB9XG4gIC5jYi1jdGEubGluayB7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItY3RhLmxpbmsge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9IH1cbiAgICAuY2ItY3RhLmxpbms6aG92ZXIge1xuICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY2ItY3RhLmxpbmsgLmFycm93IHtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG5cbi5jYi1jdGEtc2Vjb25kYXJ5IHtcbiAgbWFyZ2luLXJpZ2h0OiAwOyB9XG5cbi5jYi1zZWN0aW9uLWhlYWRlciB7XG4gIG1hcmdpbjogMCBhdXRvIDI1cHg7IH1cbiAgLmNiLXNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLXNlY3Rpb24taGVhZGVyIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICBtYXgtd2lkdGg6IDkwMHB4OyB9IH1cbiAgLmNiLXNlY3Rpb24taGVhZGVyIHAsXG4gIC5jYi1zZWN0aW9uLWhlYWRlciBsaSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS4zMTI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLXNlY3Rpb24taGVhZGVyIHAsXG4gICAgICAuY2Itc2VjdGlvbi1oZWFkZXIgbGkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICAuY2Itc2VjdGlvbi1oZWFkZXIgbGkge1xuICAgIG1hcmdpbi1ib3R0b206IDFyZW07IH1cblxuLmNiLWNvbHVtbiB7XG4gIG1hcmdpbjogNXB4IDAgMDsgfVxuICAuY2ItY29sdW1uIC5jYi1jb2x1bW4tY2hpbGQtY29weSB7XG4gICAgcGFkZGluZzogMjBweCAwIDA7IH1cbiAgLmNiLWNvbHVtbiAuZmluYW5jaW5nLWJsb2Nrcy10aXRsZSB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAzcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogODIuNXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYi1jb2x1bW4gLmZpbmFuY2luZy1ibG9ja3MtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7IH0gfVxuXG4uY2ItY29sdW1uLWNoaWxkIHtcbiAgbWFyZ2luOiAwIDAgNDBweDsgfVxuICAuY2ItY29sdW1uLWNoaWxkIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1jb2x1bW4tY2hpbGQgaDIge1xuICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAuY2ItY29sdW1uLWNoaWxkIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTtcbiAgICBtYXJnaW46IDAgMCAxM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWNvbHVtbi1jaGlsZCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4OyB9IH1cbiAgLmNiLWNvbHVtbi1jaGlsZCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYi1jb2x1bW4tY2hpbGQgLmNiLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNiLWNvbHVtbi1jaGlsZCAuY2ItY29sdW1uLWNoaWxkLWNvcHkge1xuICAgICAgcGFkZGluZzogMjBweCAxMHB4IDA7IH0gfVxuXG4uY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiB7XG4gIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgLmNiLWltYWdlLWFsdGVybmF0ZS1jb2x1bW4gLmNiLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBwYWRkaW5nOiA3cHggMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1pbWFnZS1hbHRlcm5hdGUtY29sdW1uIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiA1cHg7IH0gfVxuICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBpbWcge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiBoMiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC5jYi1pbWFnZS1hbHRlcm5hdGUtY29sdW1uIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi1pbWFnZS1hbHRlcm5hdGUtY29sdW1uIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuXG4uY2ItMS1jb2x1bW4tY3RhIHtcbiAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gIGNvbG9yOiAjZmZmO1xuICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICBtaW4taGVpZ2h0OiAzMDJweDtcbiAgcGFkZGluZzogNjBweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2ItMS1jb2x1bW4tY3RhIHtcbiAgICAgIHBhZGRpbmc6IDc1cHggMCA1MHB4OyB9IH1cbiAgLmNiLTEtY29sdW1uLWN0YSA+IC5yb3cge1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYi0xLWNvbHVtbi1jdGEgaDIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzNHB4O1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItMS1jb2x1bW4tY3RhIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiAyNnB4OyB9IH1cbiAgLmNiLTEtY29sdW1uLWN0YSBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItMS1jb2x1bW4tY3RhIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2ItMS1jb2x1bW4tY3RhIC5jYi1jdGEge1xuICAgICAgbWFyZ2luOiAxMHB4OyB9IH1cblxuLmNiLXRlc3RpbW9uaWFsIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbjogMCBhdXRvO1xuICBwYWRkaW5nOiA2NXB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYi10ZXN0aW1vbmlhbCB7XG4gICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIHBhZGRpbmc6IDgwcHggMDsgfSB9XG4gIC5jYi10ZXN0aW1vbmlhbCBoMiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7IH1cbiAgLmNiLXRlc3RpbW9uaWFsIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDE2cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzEyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jYi10ZXN0aW1vbmlhbCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgLmNiLXRlc3RpbW9uaWFsIC5jYi10ZXN0aW1vbmlhbC1hdmF0YXIge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICAuY2ItdGVzdGltb25pYWwgLmNiLXRlc3RpbW9uaWFsLWF2YXRhciBpbWcge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAxNXB4O1xuICAgICAgbWF4LXdpZHRoOiA0OHB4OyB9XG4gICAgLmNiLXRlc3RpbW9uaWFsIC5jYi10ZXN0aW1vbmlhbC1hdmF0YXIgcCB7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgIG1hcmdpbjogMDsgfVxuXG4uY2ItMy1jb2x1bW4tZmVhdHVyZSB7XG4gIG1hcmdpbi1ib3R0b206IDQwcHg7IH1cbiAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLXNlY3Rpb24taGVhZGVyIHtcbiAgICBtYXJnaW46IDAgYXV0byAyMHB4OyB9XG4gIC5jYi0zLWNvbHVtbi1mZWF0dXJlIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gICAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IGgyIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgICAgZm9udC1zaXplOiAxOHB4OyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItMy1jb2x1bW4tZmVhdHVyZSAuY2ItY29sdW1uLWNoaWxkLWNvcHkgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMjBweDsgfSB9XG4gICAgLmNiLTMtY29sdW1uLWZlYXR1cmUgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IC5jYi1jdGEge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgIG1hcmdpbi10b3A6IDA7IH1cblxuLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIHtcbiAgbWFyZ2luOiAwIDAgMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIHtcbiAgICAgIG1hcmdpbjogMCAwIDYwcHg7IH0gfVxuICAuY2ItZmVhdHVyZWQtcHJvZHVjdHMtY2FyZHMgLmNiLWN0YSB7XG4gICAgbWFyZ2luLXRvcDogMzBweDsgfVxuICAuY2ItZmVhdHVyZWQtcHJvZHVjdHMtY2FyZHMgaDQge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIGg0IHtcbiAgICAgICAgZm9udC1zaXplOiAyMnB4OyB9IH1cbiAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIHAge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIHAge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7IH0gfVxuICAuY2ItZmVhdHVyZWQtcHJvZHVjdHMtY2FyZHMgLnByb2R1Y3QtdGlsZSB7XG4gICAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBoZWlnaHQ6IGluaXRpYWwgIWltcG9ydGFudDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNiLWZlYXR1cmVkLXByb2R1Y3RzLWNhcmRzIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBtYXJnaW46IDA7IH0gfVxuXG4uY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQge1xuICBtYXJnaW46IDAgMCAzMHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQge1xuICAgICAgbWFyZ2luOiAwIDAgNTBweDsgfSB9XG4gIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCBpbWcucHJvZEltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCBpbWcucHJvZEltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7IH0gfVxuICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgcCB7XG4gICAgZm9udC1zaXplOiAxM3B4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7IH0gfVxuICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI0cHg7IH0gfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3MgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIGg0IHtcbiAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3MgaDQge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDsgfSB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyBoMiB7XG4gICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWhlYWRpbmdzIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtaGVhZGluZ3MgaDUge1xuICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW4tYm90dG9tOiAwOyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRoZWFkIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIHBhZGRpbmc6IDVweCAwIDIwcHg7IH1cbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB0YWJsZSB0aGVhZCB0aCB7XG4gICAgICAgIHBhZGRpbmc6IDVweCAwIDIwcHg7IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgdGFibGUgdGgsXG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRkIHtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy10b3A6IDA7IH1cbiAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgdGFibGUgdGJvZHkge1xuICAgICAgYm9yZGVyOiAwOyB9XG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIHRhYmxlIHRyIHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDsgfVxuICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YS13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1jdGEtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtY3RhLXdyYXBwZXIgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YXMge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtY3RhLXdyYXBwZXIgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YXMgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7IH0gfVxuXG4uY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCB7XG4gICAgYm9yZGVyOiAxMHB4IHNvbGlkICNmMmYyZjI7XG4gICAgcGFkZGluZzogOHB4IDQwcHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWNoaWxkIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG4gICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCBoNCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdmlnYXRpb24gLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCBoNCB7XG4gICAgICAgICAgZm9udC1zaXplOiAyMHB4OyB9IH1cbiAgICAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWNoaWxkIC5jYi1zZWNvbmRhcnktcGFnZS1uYXYtaWNvbiB7XG4gICAgICBoZWlnaHQ6IDEwMHB4O1xuICAgICAgd2lkdGg6IGF1dG87IH1cbiAgICAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiAuY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2LWNoaWxkIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBjb2xvcjogIzk5OTtcbiAgICAgIGZvbnQtc2l6ZTogMTZweDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLmNiLWNvbHVtbi10YWJzIC5jb2x1bW4taW1hZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfSB9XG5cbi5jYi1jb2x1bW4tdGFicyAudGFicyB7XG4gIGJvcmRlcjogMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpIGE6aG92ZXIsXG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaS5pcy1hY3RpdmUge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhOmhvdmVyOjphZnRlcixcbiAgICAuY2ItY29sdW1uLXRhYnMgLnRhYnMgbGkuaXMtYWN0aXZlOjphZnRlciB7XG4gICAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgY29udGVudDogXCJcIjtcbiAgICAgIGhlaWdodDogNXB4O1xuICAgICAgbGVmdDogMDtcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIHdpZHRoOiAxMDAlOyB9XG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyAudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyAudGFicy10aXRsZSA+IGFbYXJpYS1zZWxlY3RlZD1cInRydWVcIl0ge1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgY29sb3I6ICMwMDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpIHtcbiAgICAgIHdpZHRoOiAzMy4yJTsgfSB9XG4gIC5jYi1jb2x1bW4tdGFicyAudGFicyBsaSBhIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICM5OTk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpIGEge1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggNjBweDsgfSB9XG4gICAgLmNiLWNvbHVtbi10YWJzIC50YWJzIGxpIGE6aG92ZXIge1xuICAgICAgY29sb3I6ICMwMDA7IH1cblxuLmNiLWNvbHVtbi10YWJzIC50YWJzLWNvbnRlbnQge1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci10b3A6IDVweCBzb2xpZCAjZjJmMmYyO1xuICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICBwYWRkaW5nOiA0MHB4IDAgMDsgfVxuICAuY2ItY29sdW1uLXRhYnMgLnRhYnMtY29udGVudCAudGFicy1wYW5lbCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIGgyIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZm9udC1zaXplOiAxOHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jYi1jb2x1bW4tdGFicyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIGgyIHtcbiAgICAgICAgICBmb250LXNpemU6IDIycHg7IH0gfVxuICAgIC5jYi1jb2x1bW4tdGFicyAudGFicy1jb250ZW50IC50YWJzLXBhbmVsIHAge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cblxuLmNiLTEtY29sdW1uLWRldGFpbHMge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9XG4gIC5jYi0xLWNvbHVtbi1kZXRhaWxzIGg0IHtcbiAgICBmb250LXNpemU6IDE4cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2ItMS1jb2x1bW4tZGV0YWlscyBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjJweDsgfSB9XG4gIC5jYi0xLWNvbHVtbi1kZXRhaWxzIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7IH1cbiAgLmNiLTEtY29sdW1uLWRldGFpbHMgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uY2ItYWNjb3JkaW9uIHtcbiAgbWFyZ2luOiAxLjMxMjVyZW0gMDsgfVxuICAuY2ItYWNjb3JkaW9uIC50b2dnbGUtaXRlbSBzdW1tYXJ5IHtcbiAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9XG4gIC5jYi1hY2NvcmRpb24gLnRvZ2dsZS1pdGVtIC5pdGVtLWNvbnRlbnQge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgICAuY2ItYWNjb3JkaW9uIC50b2dnbGUtaXRlbSAuaXRlbS1jb250ZW50ICoge1xuICAgICAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5wdF9xdWViZWNsYW5kaW5ncGFnZSAuc2ltcGxlLWhlYWRlci13cmFwcGVyIHtcbiAgbWF4LXdpZHRoOiAxODAwcHg7XG4gIG1pbi1oZWlnaHQ6IDk2cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5zaW1wbGUtaGVhZGVyLXdyYXBwZXIge1xuICAgICAgbWluLWhlaWdodDogYXV0bzsgfSB9XG4gIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAuc2ltcGxlLWhlYWRlci13cmFwcGVyIC5yb3cge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgaGVpZ2h0OiA5NnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnNpbXBsZS1oZWFkZXItd3JhcHBlciAucm93IHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4OyB9IH1cbiAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5zaW1wbGUtaGVhZGVyLXdyYXBwZXIgLnNpbXBsZS1oZWFkZXItbG9nbyB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgbWF4LXdpZHRoOiAxMDhweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDEwcHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuXG4ucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLmNiLXBhZ2UtaGVhZGVyIHtcbiAgbWFyZ2luLWJvdHRvbTogNjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLmNiLXBhZ2UtaGVhZGVyIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7IH0gfVxuICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLmNiLXBhZ2UtaGVhZGVyIC5jYi1wYWdlLWhlYWRlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuXG4ucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXRleHQge1xuICBjb2x1bW5zOiAyO1xuICBtYXJnaW46IDAgYXV0byA2MHB4O1xuICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgcGFkZGluZzogMCA1MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDgyLjQzNzVlbSkge1xuICAgIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2UtdGV4dCB7XG4gICAgICBwYWRkaW5nOiAwIDQwcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXRleHQge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZzogMCAzMHB4OyB9IH1cbiAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS10ZXh0IHAge1xuICAgIGNvbG9yOiAjMWQxZDFkO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7IH1cbiAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS10ZXh0ICoge1xuICAgIGZvbnQtc2l6ZTogMThweDsgfVxuXG4ucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXN0b3Jlcy1jb250YWluZXIge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyO1xuICBwYWRkaW5nOiA1MHB4IDMwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogODIuNDM3NWVtKSB7XG4gICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIHtcbiAgICAgIHBhZGRpbmc6IDUwIDM1cHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXN0b3Jlcy1jb250YWluZXIge1xuICAgICAgcGFkZGluZzogNTBweCAzMHB4OyB9IH1cbiAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIC5xdWViZWMtc3RvcmUtdGl0bGUge1xuICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgbWF4LXdpZHRoOiAxMjMwcHg7IH1cbiAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIGgzIHtcbiAgICBmb250LXNpemU6IDM1cHg7IH1cbiAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIC5xdWViZWMtc3RvcmVzLWRldGFpbHMge1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZ2FwOiAycmVtO1xuICAgIG1hcmdpbjogMCBhdXRvO1xuICAgIG1heC13aWR0aDogMTIzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXN0b3Jlcy1jb250YWluZXIgLnF1ZWJlYy1zdG9yZXMtZGV0YWlscyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH0gfVxuICAgIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciAucXVlYmVjLXN0b3Jlcy1kZXRhaWxzIC5xdWViZWMtc3RvcmUtZGV0YWlsIHtcbiAgICAgIG1heC13aWR0aDogNDAwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXN0b3Jlcy1jb250YWluZXIgLnF1ZWJlYy1zdG9yZXMtZGV0YWlscyAucXVlYmVjLXN0b3JlLWRldGFpbCB7XG4gICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgICAgIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciAucXVlYmVjLXN0b3Jlcy1kZXRhaWxzIC5xdWViZWMtc3RvcmUtZGV0YWlsIGg1IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gICAgICAucHRfcXVlYmVjbGFuZGluZ3BhZ2UgLnF1ZWJlYy1wYWdlLXN0b3Jlcy1jb250YWluZXIgLnF1ZWJlYy1zdG9yZXMtZGV0YWlscyAucXVlYmVjLXN0b3JlLWRldGFpbCAucXVlYmVjLXN0b3JlLWFkZHJlc3Mge1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuICAgICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIC5xdWViZWMtc3RvcmVzLWRldGFpbHMgLnF1ZWJlYy1zdG9yZS1kZXRhaWwgLnF1ZWJlYy1zdG9yZS1waG9uZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICAgLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIC5xdWViZWMtcGFnZS1zdG9yZXMtY29udGFpbmVyIC5xdWViZWMtc3RvcmVzLWRldGFpbHMgLnF1ZWJlYy1zdG9yZS1kZXRhaWwgLnF1ZWJlYy1zdG9yZS1waG9uZSBpbWcge1xuICAgICAgICAgIHdpZHRoOiAxN3B4OyB9XG4gICAgICAgIC5wdF9xdWViZWNsYW5kaW5ncGFnZSAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciAucXVlYmVjLXN0b3Jlcy1kZXRhaWxzIC5xdWViZWMtc3RvcmUtZGV0YWlsIC5xdWViZWMtc3RvcmUtcGhvbmUgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4OyB9XG5cbi5wdF9xdWViZWNsYW5kaW5ncGFnZSAuZm9vdGVyLWNvcHktd3JhcHBlciAucm93IHtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG5cbi5mb290ZXItZmFxLXdyYXBwZXIge1xuICBtYXJnaW46IDAgMCA1MHB4OyB9XG4gIC5mb290ZXItZmFxLXdyYXBwZXIgaHIge1xuICAgIGJvcmRlci1ib3R0b20tY29sb3I6ICNlMGUxZTE7XG4gICAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICAuZm9vdGVyLWZhcS13cmFwcGVyIGgyIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuZm9vdGVyLWZhcS13cmFwcGVyIGg1IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDsgfVxuICAuZm9vdGVyLWZhcS13cmFwcGVyIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLmZvb3Rlci1mYXEtd3JhcHBlciBhLmZhcS1jdGEge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5mb290ZXItZmFxLXdyYXBwZXIgLmNvbHVtbnMge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDsgfSB9XG5cbi5ndWVzdC1jaGVja291dC10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbWFyZ2luLXRvcDogMjNweDsgfVxuICAuZ3Vlc3QtY2hlY2tvdXQtdGV4dCBwIHtcbiAgICBtYXJnaW46IDAuMTg3NXJlbSAwIDEuNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuZ3Vlc3QtY2hlY2tvdXQtdGV4dCBwIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMTg3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44NzVyZW07IH0gfVxuXG4uY2hlY2tvdXQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDE4cHg7XG4gIGxpbmUtaGVpZ2h0OiAxZW07XG4gIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cblxuLnB0X2NoZWNrb3V0IGxlZ2VuZCB7XG4gIG1hcmdpbjogMDsgfVxuXG4ucHRfY2hlY2tvdXQgc2VsZWN0IHtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wdF9jaGVja291dCAuZGlhbG9nLXJlcXVpcmVkIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHRleHQtYWxpZ246IHJpZ2h0OyB9XG5cbi5wdF9jaGVja291dCAuc3RlcC1iYWNrLWxpbmsge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDIwcHggMDsgfVxuXG4ucHRfY2hlY2tvdXQgLmZvcm0tcm93LWJ1dHRvbiB7XG4gIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLnB0X2NoZWNrb3V0IC5mb3JtLXJvdy1idXR0b24ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLnB0X2NoZWNrb3V0IC5mb3JtLXJvdy1idXR0b24gYnV0dG9uIHtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAucHRfY2hlY2tvdXQgLmZvcm0tcm93LWJ1dHRvbiBidXR0b24ge1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG5cbi5wYXltZW50LWZvcm0ge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIC5wYXltZW50LWZvcm0uYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG4uY2hlY2tvdXQtbWFpbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtbWFpbi10aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTsgfSB9XG5cbi5jaGVja291dC1zdGVwIGgyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjI1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICAuY2hlY2tvdXQtc3RlcCBoMiBzcGFuIHtcbiAgICBjb2xvcjogI2M3NTMwMDsgfVxuXG5wLnNlbGVjdC12ZWhpY2xlIHtcbiAgcGFkZGluZy10b3A6IDAuNjI1cmVtOyB9XG5cbi5oZWFkZXItdGl0bGUtd3JhcHBlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7IH1cbiAgLmhlYWRlci10aXRsZS13cmFwcGVyIC5jaGVja291dC1zdGVwLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5oZWFkZXItdGl0bGUtd3JhcHBlciAuY2hlY2tvdXQtc3RlcC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7IH0gfVxuICAuaGVhZGVyLXRpdGxlLXdyYXBwZXIgLmZvcm0tcm93LWJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jaGVja291dC1tYWluLXJvdyB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jaGVja291dC1tYWluLXJvdyB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7IH0gfVxuXG4uY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIHtcbiAgbWFyZ2luLWJvdHRvbTogNjVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA4N3B4OyB9IH1cbiAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuY2hlY2tvdXQtbWFpbi10aXRsZSB7XG4gICAgcGFkZGluZzogNDVweCAwIDE1cHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7IH1cbiAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcHMtd3JhcHBlciB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LXdpZHRoOiAyNzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXBzLXdyYXBwZXIge1xuICAgICAgICBtYXgtd2lkdGg6IDQ1NHB4OyB9IH1cbiAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcHMge1xuICAgIGFsaWduLWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9XG4gIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAge1xuICAgIGJhY2tncm91bmQ6ICNlN2U3ZTc7XG4gICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgd2lkdGg6IDMycHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwIHtcbiAgICAgICAgaGVpZ2h0OiA0NnB4O1xuICAgICAgICB3aWR0aDogNDZweDsgfSB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDo6YmVmb3JlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlN2U3ZTc7XG4gICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICByaWdodDogMzJweDtcbiAgICAgIHRvcDogMTZweDtcbiAgICAgIHdpZHRoOiA0OHB4O1xuICAgICAgei1pbmRleDogLTE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcDo6YmVmb3JlIHtcbiAgICAgICAgICByaWdodDogNDZweDtcbiAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgd2lkdGg6IDU0cHg7IH0gfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXA6Zmlyc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tbGVmdDogNTRweDsgfVxuICAgICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgICAgIHdpZHRoOiA1NHB4OyB9IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmZpcnN0LWNoaWxkOjpiZWZvcmUge1xuICAgICAgd2lkdGg6IDI0cHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwOmxhc3QtY2hpbGQge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDU0cHg7IH0gfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2U3ZTdlNztcbiAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICBoZWlnaHQ6IDJweDtcbiAgICAgIGxlZnQ6IDMycHg7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDE2cHg7XG4gICAgICB3aWR0aDogMjRweDtcbiAgICAgIHotaW5kZXg6IC0xOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXA6bGFzdC1jaGlsZDo6YWZ0ZXIge1xuICAgICAgICAgIGxlZnQ6IDQ2cHg7XG4gICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgIHdpZHRoOiA1NHB4OyB9IH1cbiAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLmFjdGl2ZSwgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5wYXNzZWQge1xuICAgICAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLmFjdGl2ZTo6YmVmb3JlLCAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLnBhc3NlZDo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDsgfVxuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5hY3RpdmU6bGFzdC1jaGlsZDo6YWZ0ZXIsIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAucGFzc2VkOmxhc3QtY2hpbGQ6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMDsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLnN0ZXAucGFzc2VkIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICBib3gtc2hhZG93OiAwIDAgMCAycHggI2ZmNjkwMCBpbnNldDtcbiAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLnBhc3NlZCAuaWNvbiB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwOyB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuc3RlcC5pbmFjdGl2ZSB7XG4gICAgICBjb2xvcjogI2M5YzljOTsgfVxuICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLW5hbWUge1xuICAgIGJvdHRvbTogLTE1cHg7XG4gICAgZm9udC1zaXplOiA4cHg7XG4gICAgbGVmdDogLTUwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IC01MCU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtcHJvZ3Jlc3MtaW5kaWNhdG9yIC5zdGVwLW5hbWUge1xuICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICBmb250LXNpemU6IDAuNjI1cmVtOyB9IH1cbiAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuaWNvbiB7XG4gICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuaWNvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4zNzVyZW07IH0gfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb246OmJlZm9yZSB7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuaWNvbi1hcHBvaW50bWVudDo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxmMjcxXCI7XG4gICAgICBwYWRkaW5nLWxlZnQ6IDFweDsgfVxuICAgIC5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3IgLmljb24taW5mb3JtYXRpb246OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjAwN1wiOyB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuaWNvbi12ZXJpZmljYXRpb246OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjA5ZFwiOyB9XG4gICAgLmNoZWNrb3V0LXByb2dyZXNzLWluZGljYXRvciAuaWNvbi1yZXZpZXc6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiBcIlxcZjE1Y1wiOyB9XG5cbi5jaGVja291dC1zdW1tYXJ5IC5zZWN0aW9uLXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG5cbi5wcm9kdWN0LXNwZWNpZmljLW1lc3NhZ2VzIHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMztcbiAgbWFyZ2luOiAxLjI1cmVtO1xuICBwYWRkaW5nOiAwLjYyNXJlbSAxLjI1cmVtIDEuMjVyZW0gMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAucHJvZHVjdC1zcGVjaWZpYy1tZXNzYWdlcyB7XG4gICAgICBtYXJnaW46IDAuNjI1cmVtO1xuICAgICAgcGFkZGluZzogMC4xMjVyZW0gMC45Mzc1cmVtIDAuOTM3NXJlbSAwLjkzNzVyZW07IH0gfVxuXG4uY2hlY2tvdXQtb3JkZXItdG90YWxzIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2NjYztcbiAgbWFyZ2luOiAwIDAgMS41NjI1cmVtO1xuICBwYWRkaW5nOiAxcmVtIDEuMjVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1vcmRlci10b3RhbHMge1xuICAgICAgbWFyZ2luOiAwIDAgMi41cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5jaGVja291dC1vcmRlci10b3RhbHMge1xuICAgICAgbWFyZ2luOiAwIDAgMXJlbTsgfSB9XG4gIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRib2R5IHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50OyB9XG4gICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdGJvZHkgdGQge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMC42MjVyZW07IH1cbiAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyIHtcbiAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG4gICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIgdGQ6Zmlyc3QtY2hpbGQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyIHRkOmxhc3QtY2hpbGQge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDsgfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmJvbGQge1xuICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICBmb250LXdlaWdodDogNzAwOyB9XG4gICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXRvdGFsLXBhaWQge1xuICAgICAgICBib3JkZXItdG9wOiAycHggc29saWQgI2YyZjJmMzsgfVxuICAgICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXRvdGFsLXBhaWQgdGQge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci5hbW91bnQtc3RvcmUtdG90YWwuYm9sZCwgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC10b3RhbC1wYWlkLmJvbGQge1xuICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLmFtb3VudC1zdG9yZS10b3RhbC5ib2xkLCAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIuYW1vdW50LXRvdGFsLXBhaWQuYm9sZCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAub3JkZXItdG90YWxzLXRhYmxlIHRyLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jaGVja291dC1vcmRlci10b3RhbHMgLm9yZGVyLXRvdGFscy10YWJsZSB0ci52ZWhpY2xlLWluZm8ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAgICAgICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5vcmRlci10b3RhbHMtdGFibGUgdHIudmVoaWNsZS1pbmZvIHRkIHtcbiAgICAgICAgICBwYWRkaW5nOiAwIDAgMi4xODhyZW07XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAuY2hlY2tvdXQtb3JkZXItdG90YWxzIC5yZWJhdGUtbWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwLjYyNXJlbSAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAucmViYXRlLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDsgfSB9XG4gICAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAucmViYXRlLW1lc3NhZ2UgcCB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jaGVja291dC1vcmRlci10b3RhbHMgLmxldnktbWVzc2FnZS1taW5pc3VtbWFyeSB7XG4gICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgY29sb3I6ICM4YThhOGE7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbjogMS4xMjVyZW0gMCAwIDA7XG4gICAgcGFkZGluZy10b3A6IDFyZW07IH1cbiAgLmNoZWNrb3V0LW9yZGVyLXRvdGFscyAuc3RlcC1iYWNrLWxpbmsge1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAwOyB9XG5cbi5uZWVkLWhlbHAtY2hlY2tvdXQgaDMge1xuICBmb250LXNpemU6IDEuMTI1cmVtO1xuICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuXG4ubmVlZC1oZWxwLWNoZWNrb3V0IHAge1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuXG4ubmVlZC1oZWxwLWNoZWNrb3V0IGEge1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5jaGVja291dC1zaGlwcGluZyBsZWdlbmQge1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLmRpYWxvZy1yZXF1aXJlZCB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LXNoaXBwaW5nIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1zaGlwcGluZyAuc2F2ZS1mb3ItYmlsbGluZyB7XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtc2hpcHBpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIge1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLnNlbGVjdGlvbi1ib3gge1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IHtcbiAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTsgfSB9XG4gIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAuc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxLjEyNXJlbTsgfSB9XG4gIC5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveCAucmFkaW8tZm9ybSxcbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IC5jaGVja2JveC1mb3JtIHtcbiAgICBtYXJnaW46IDAgMCA4cHg7IH1cbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94IC5yYWRpby1mb3JtIC5maWVsZC13cmFwcGVyICsgbGFiZWwge1xuICAgIG1hcmdpbi1sZWZ0OiAycHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2hlY2tvdXQtc2hpcHBpbmcgLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciAuY29tbWVyY2lhbC1mbGVldC1mb3JtIHtcbiAgICB3aWR0aDogNTAlOyB9IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgLnNlY3Rpb24tdGl0bGUge1xuICBmb250LXdlaWdodDogYm9sZDsgfVxuXG4uY2hlY2tvdXQtc2hpcHBpbmcgLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciBoMSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGJhY2tncm91bmQ6ICNjNzUzMDA7XG4gIGNvbG9yOiAjZmZmO1xuICBmb250LXNpemU6IDEzcHg7XG4gIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICBtYXJnaW46IDA7XG4gIHBhZGRpbmc6IDdweCAxNXB4OyB9XG5cbi5jaGVja291dC1zaGlwcGluZyAuY29tbWVyY2lhbC1mbGVldC13cmFwcGVyIC5oYXMtdGlwIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgbGVmdDogOHB4O1xuICB0b3A6IDA7IH1cbiAgLmNoZWNrb3V0LXNoaXBwaW5nIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIgLmhhcy10aXAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgY29sb3I6ICNjNzUzMDA7IH1cblxuLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIHtcbiAgbWFyZ2luOiAyMHB4IDAgMzBweDtcbiAgbWF4LXdpZHRoOiA1OTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNoZWNrb3V0LXNoaXBwaW5nIC52ZWhpY2xlLWluZm9ybWF0aW9uIHtcbiAgICAgIG1hcmdpbjogMjBweCAwIDcwcHg7IH0gfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiAuaW5mb3JtYXRpb25zIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVyZW07XG4gICAgcGFkZGluZy1ib3R0b206IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmluZm9ybWF0aW9ucyB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDsgfSB9XG4gIC5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiAudmVoaWNsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmFkZC12ZWhpY2xlIHtcbiAgICBtYXJnaW46IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY2hlY2tvdXQtc2hpcHBpbmcgLnZlaGljbGUtaW5mb3JtYXRpb24gLmFkZC12ZWhpY2xlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDFweDsgfSB9XG4gIC5jaGVja291dC1zaGlwcGluZyAudmVoaWNsZS1pbmZvcm1hdGlvbiAuZWRpdC1idXR0b24ge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG5cbiNwc21vZGFsLndhcm5pbmctbW9kYWwge1xuICBwYWRkaW5nOiAzMHB4OyB9XG4gICNwc21vZGFsLndhcm5pbmctbW9kYWwgaDMge1xuICAgIGZvbnQtc2l6ZTogMS4zMTI1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuICAjcHNtb2RhbC53YXJuaW5nLW1vZGFsIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDEwcHggMCAzMHB4OyB9XG4gICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmNsb3NlLWJ1dHRvbiB7XG4gICAgdG9wOiAyM3B4OyB9XG4gICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3BzbW9kYWwud2FybmluZy1tb2RhbCAuYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyMTBweDsgfSB9XG4gICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmtlZXAtdmVoaWNsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNwc21vZGFsLndhcm5pbmctbW9kYWwgLmtlZXAtdmVoaWNsZSB7XG4gICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY2l0eS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93IHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07IH1cbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnN0YXRlLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNvdW50cnktcm93IHtcbiAgICBwYWRkaW5nLWxlZnQ6IDAuMzEyNXJlbTsgfSB9XG5cbi5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jaXR5LXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnN0YXRlLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnBvc3RhbC1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gIGZsb2F0OiBsZWZ0O1xuICB3aWR0aDogNTAlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY2l0eS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5zdGF0ZS1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5wb3N0YWwtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuY291bnRyeS1yb3cge1xuICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5wb3N0YWwtcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguc3RhdGUtcm93KSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2hlY2tib3gtZm9ybSksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNvdW50cnktcm93KSB7XG4gICAgd2lkdGg6IDUwJTsgfVxuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNpdHktcm93KTpudGgtY2hpbGQob2RkKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCgucG9zdGFsLXJvdyk6bnRoLWNoaWxkKG9kZCksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnN0YXRlLXJvdyk6bnRoLWNoaWxkKG9kZCksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLmNoZWNrYm94LWZvcm0pOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdyk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwOyB9XG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCgucG9zdGFsLXJvdyk6bnRoLWNoaWxkKGV2ZW4pLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2hlY2tib3gtZm9ybSk6bnRoLWNoaWxkKGV2ZW4pLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdyk6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgIHBhZGRpbmc6IDAgMCAwIDAuNjI1cmVtOyB9IH1cblxuLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNpdHktcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuc3RhdGUtcm93LCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cucG9zdGFsLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNvdW50cnktcm93IHtcbiAgZmxvYXQ6IGxlZnQ7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jaXR5LXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnN0YXRlLXJvdywgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnBvc3RhbC1yb3csIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gICAgICBjbGVhcjogbm9uZTtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgICB3aWR0aDogMjUlOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jaXR5LXJvdyksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdykge1xuICAgIHdpZHRoOiA1MCU7IH1cbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jaXR5LXJvdyk6bnRoLWNoaWxkKG9kZCksIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdzpub3QoLnBvc3RhbC1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpOm50aC1jaGlsZChvZGQpLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5jb3VudHJ5LXJvdyk6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwOyB9XG4gICAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY2l0eS1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCgucG9zdGFsLXJvdyk6bnRoLWNoaWxkKGV2ZW4pLCAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3c6bm90KC5zdGF0ZS1yb3cpOm50aC1jaGlsZChldmVuKSwgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93Om5vdCguY291bnRyeS1yb3cpOm50aC1jaGlsZChldmVuKSB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LmNpdHktcm93IHtcbiAgICBjbGVhcjogbGVmdDtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5mb3JtLXJvdy5jb3VudHJ5LXJvdyB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93LnBvc3RhbC1yb3cgLmZpZWxkLXdyYXBwZXIge1xuICAgIHdpZHRoOiA1MCU7IH0gfVxuXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cgLmZpZWxkLXdyYXBwZXIuaGFzLXRvb2x0aXAge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgLmZvcm0tcm93IC5maWVsZC13cmFwcGVyLmhhcy10b29sdGlwIGkge1xuICAgIGNvbG9yOiAjOGE4YThhO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwLjg3NXJlbTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgei1pbmRleDogMTsgfVxuXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuZm9ybS1pbmRlbnQuY2hlY2tib3gtZm9ybSB7XG4gIHBhZGRpbmc6IDA7XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5jaGVja291dC1iaWxsaW5nIC50b3AtcGF5bWVudC1pbmZvIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgcGFkZGluZzogMzBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY2hlY2tvdXQtYmlsbGluZyAudG9wLXBheW1lbnQtaW5mbyB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cbiAgLmNoZWNrb3V0LWJpbGxpbmcgLnRvcC1wYXltZW50LWluZm8gcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5jaGVja291dC1iaWxsaW5nIC50b3AtcGF5bWVudC1pbmZvIC5kdWUtcGF5bWVudC10aXRsZSB7XG4gICAgY29sb3I6ICNjNzUzMDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuY2hlY2tvdXQtYmlsbGluZyAudG9wLXBheW1lbnQtaW5mbyAuZHVlLXBheW1lbnQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMDYyNXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDM3NXJlbTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7IH0gfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jaGVja291dC1iaWxsaW5nIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY2hlY2tvdXQtYmlsbGluZyAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuZm9ybS1yb3cuYWRkcmVzcy1yb3cge1xuICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfSB9XG5cbi5jaGVja291dC1iaWxsaW5nIC5wYXltZW50LW1ldGhvZCB7XG4gIG1hcmdpbjogMCAwIDIuODEzcmVtOyB9XG5cbi5jaGVja291dC1iaWxsaW5nIC5jcmVkaXQtY2FyZC1sb2dvcyB7XG4gIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICBtYXgtd2lkdGg6IDE1MHB4OyB9XG5cbi5jaGVja291dC1iaWxsaW5nICNtb25lcmlzRnJhbWUge1xuICBoZWlnaHQ6IDIzNXB4O1xuICB3aWR0aDogMTAwJTsgfVxuXG4uY2hlY2tvdXQtYmlsbGluZyAjbW9uZXJpc01zZyB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZjAwO1xuICBmbG9hdDogbGVmdDtcbiAgZm9udC1zaXplOiAwLjc1cmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6IDEwMCU7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1icmFuZCxcbi5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtYnJhbmQge1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1icmFuZCxcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1uYW1lLFxuLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tZGV0YWlscyAucHJvZHVjdC1uYW1lIHtcbiAgbGluZS1oZWlnaHQ6IDE4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAubGluZS1pdGVtLWRldGFpbHMgLnByb2R1Y3QtbmFtZSxcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxpbmUtaXRlbS1kZXRhaWxzIC5wcm9kdWN0LW5hbWUge1xuICAgICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH0gfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmxpbmUtaXRlbS1wcmljZSxcbi5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLXByaWNlIHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcHJpY2UsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tcHJpY2Uge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmxpbmUtaXRlbS1xdWFudGl0eSAuaXRlbS1xdWFudGl0eSxcbi5jb25maXJtYXRpb24tcGFnZSAubGluZS1pdGVtLXF1YW50aXR5IC5pdGVtLXF1YW50aXR5IHtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5saW5lLWl0ZW0tcXVhbnRpdHkgLml0ZW0tcXVhbnRpdHksXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5saW5lLWl0ZW0tcXVhbnRpdHkgLml0ZW0tcXVhbnRpdHkge1xuICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmFkZHJlc3MxLFxuLmNvbmZpcm1hdGlvbi1wYWdlIC5hZGRyZXNzMSB7XG4gIGZsb2F0OiBsZWZ0OyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuemlwLWNvZGUsXG4uY29uZmlybWF0aW9uLXBhZ2UgLnppcC1jb2RlIHtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgYWRkcmVzcyB7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2YyZjJmMztcbiAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgcGFkZGluZzogMS41NjNyZW0gMCAwOyB9IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07IH0gfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07IH1cbiAgICAgICAgLm9yZGVyLXJldmlldy1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveC5jb2x1bW5zIHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNTYzcmVtO1xuICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYzcmVtOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCBwIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuYXBwb2ludG1lbnQtdGltZSB7XG4gICAgY29sb3I6ICM4MDgyODU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAucmlnaHQtaW5mby1ib3ggLnNlY3Rpb24tYm94IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07IH0gfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnZlaGljbGUtaW5mby13cmFwcGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxLjg3NXJlbTsgfVxuICAgIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAudmVoaWNsZS1pbmZvLXdyYXBwZXIgcCB7XG4gICAgICBsaW5lLWhlaWdodDogMjJweDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmRpc2NsYWltZXItY2hlY2tvdXQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5kaXNjbGFpbWVyLWNoZWNrb3V0IHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAub3JkZXItc3VtbWFyeS1mb290ZXIge1xuICBtYXJnaW46IDEuNTYzcmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAub3JkZXItc3VtbWFyeS1mb290ZXIge1xuICAgICAgbWFyZ2luOiAzLjEyNXJlbSAwIDA7IH0gfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmJ1dHRvbiB7XG4gIGZvbnQtc2l6ZTogMTRweDsgfVxuXG4uY29uZmlybWF0aW9uLXBhZ2Uge1xuICBtYXJnaW46IDEuMjVyZW0gMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLXBhZ2Uge1xuICAgICAgbWFyZ2luOiAzLjQzOHJlbSAwIDA7IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDAuOTM3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94IHtcbiAgICAgICAgcGFkZGluZzogMS41NjNyZW0gMS4yNXJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgLmxvZ2luLWJveC1maWVsZHNldCB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAubG9naW4tYm94LWZpZWxkc2V0IC5mb3JtLXJvdyB7XG4gICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IC5sb2dpbi1ib3gtZmllbGRzZXQgLmZvcm0tcm93IHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDMwJTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgZm9ybSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5sb2dpbi1ib3gubG9naW4tY3JlYXRlLWFjY291bnQgLmxvZ2luLWJveC1zdWJtaXQtYnV0dG9uIHtcbiAgICAgIGZsZXgtYmFzaXM6IDEwMCU7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveC5sb2dpbi1jcmVhdGUtYWNjb3VudCAucHJpdmFjeS1wb2xpY3kge1xuICAgICAgY29sb3I6ICM4MDgyODU7XG4gICAgICBmb250LXNpemU6IDEzcHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAubG9naW4tYm94LmxvZ2luLWNyZWF0ZS1hY2NvdW50IC5wcml2YWN5LXBvbGljeS5saW5rIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmxvZ2luLWJveCAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmNyZWF0ZS1hY2NvdW50LXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jcmVhdGUtYWNjb3VudC1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwIDAgMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNyZWF0ZS1hY2NvdW50LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlIHtcbiAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAgMCAyLjE4OHJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZSBoMSB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZSBoMSB7XG4gICAgICAgICAgZm9udC1zaXplOiAxLjM3NXJlbTtcbiAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZSBwIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2UgcCB7XG4gICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDAgMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveCAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94IC5lZGl0LXNlY3Rpb24tbGluayB7XG4gICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLWJveC5hY3Rpb24tYm94IHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS1ib3guYWN0aW9uLWJveCAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgY29sb3I6ICNjNzUzMDA7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZS1ib3guYWN0aW9uLWJveCAub3JkZXJTdW1tYXJ5TGl2ZUNoYXQge1xuICAgICAgICBjb2xvcjogI2M3NTMwMDtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tdGl0bGUtYm94LmFjdGlvbi1ib3ggLmFjdGlvbi1pY29uIC5jYXJkLWljb24ge1xuICAgICAgICBtYXgtaGVpZ2h0OiAxNnB4OyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi10aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLXRpdGxlLS10b3AtbWFyZ2luIHtcbiAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjU2M3JlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5zZWN0aW9uLWJveC13cmFwIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTsgfVxuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuc2VjdGlvbi1ib3guY29sdW1ucyB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNTYzcmVtO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMS41NjNyZW07IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgcCB7XG4gICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuc2VjdGlvbi1ib3gtd3JhcCAuYXBwb2ludG1lbnQtdGltZSB7XG4gICAgICBjb2xvcjogIzgwODI4NTsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLnNtcy1yZW1pbmRlci1ib3ggcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBtYXJnaW46IDAgMCAxLjU2M3JlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuc21zLXJlbWluZGVyLWJveCBwIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1saW5rcyBhIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3gge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYm9yZGVyOiAzcHggc29saWQgI2YyZjJmMztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCB7XG4gICAgICAgIGJvcmRlci13aWR0aDogNnB4O1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDAuOTM3NXJlbTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IC5pbWctYm94IHtcbiAgICAgIG1hcmdpbjogMCAwLjQzNzVyZW0gMCAwO1xuICAgICAgd2lkdGg6IDUwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IC5pbWctYm94IHtcbiAgICAgICAgICBtYXJnaW46IDAgMS4yNXJlbSAwIDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCAudGV4dC1ib3gge1xuICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU3cHgpOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwdC1pbmZvLWJveCAudGV4dC1ib3gge1xuICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHB0LWluZm8tYm94IGgzIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3ggaDMge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcHQtaW5mby1ib3ggcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luOiAwOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24ge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uIC5vcmRlci1kYXRlIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgICBtYXJnaW46IDAgMCAwIDAuNjI1cmVtOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLm9yZGVyLWRhdGUge1xuICAgICAgICAgIG1hcmdpbjogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1pbmZvcm1hdGlvbiAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgZmxleDogMSAxIGF1dG87XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH0gfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24gLnNlY3Rpb24tdGl0bGUtYm94IC5hbW91bnQtZHVlLWF0LXN0b3JlIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24tYmxvY2sge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24tbG9jYWxlIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDsgfSB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAuc2VjdGlvbi10aXRsZS1ib3ggLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWluZm9ybWF0aW9uLWxvY2FsZSAuc2VjdGlvbi10aXRsZS1ib3ggLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItaW5mb3JtYXRpb24tbG9jYWxlIC5zZWN0aW9uLXRpdGxlLWJveCBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jb25maXJtYXRpb24tcGFnZSAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jYXJ0LXN1bW1hcnktYm94OjpiZWZvcmUsIC5jb25maXJtYXRpb24tcGFnZSAuY2FydC1zdW1tYXJ5LWJveDo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiAnICc7XG4gICAgICAgIGRpc3BsYXk6IHRhYmxlOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNhcnQtc3VtbWFyeS1ib3g6OmFmdGVyIHtcbiAgICAgICAgY2xlYXI6IGJvdGg7IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLm1pbmktYmlsbGluZy1hZGRyZXNzIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWJpbGxpbmctYWRkcmVzcyArIC5zZWN0aW9uLWJveCB7XG4gICAgICBwYWRkaW5nOiAwOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgbWFyZ2luOiAyMHB4IGF1dG8gNTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG8gNTBweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC5oZWFkZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuY2hlY2tlZC1pY29uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgIGhlaWdodDogMjdweDtcbiAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgIHdpZHRoOiAyN3B4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuY2hlY2tlZC1pY29uIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgM3B4ICNjNzUzMDAgaW5zZXQ7XG4gICAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICAgIHdpZHRoOiAyOHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAuY2hlY2tlZC1pY29uOjpiZWZvcmUge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCAjYzc1MzAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB3aWR0aDogMjdweDsgfVxuICAgICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC5jaGVja2VkLWljb246OmJlZm9yZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgIHdpZHRoOiAyOHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLnRpdGxlIHtcbiAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgbWFyZ2luOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciAudGl0bGUge1xuICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICBmb250LXNpemU6IDEuNjI1cmVtO1xuICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzM3B4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmNvbmZpcm1hdGlvbi1tZXNzYWdlLXdyYXBwZXIgLnN1YnRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtO1xuICAgICAgbGluZS1oZWlnaHQ6IDI1cHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfSB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzNXB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuc2VjdGlvbi10aXRsZSB7XG4gICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuYXBwb2ludG1lbnQtZGF0YS10aW1lLWxvY2FsZSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LWRhdGEtdGltZSBwIHtcbiAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgY29sb3I6ICNjNzUzMDA7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAuYXBwb2ludG1lbnQtdGltZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmxvY2F0aW9uLWJveCB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmFwcG9pbnRtZW50LWRldGFpbHMtd3JhcHBlciAubG9jYXRpb24tYm94IHAge1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5hcHBvaW50bWVudC1idXR0b24gLmJ1dHRvbiB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LWJ1dHRvbiAuYWRkLXRvLWNhbGVuZGFyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LWJ1dHRvbiAuYWRkLXRvLWNhbGVuZGFyIHtcbiAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgbWF4LXdpZHRoOiAxOTZweDsgfSB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLmFwcG9pbnRtZW50LWJ1dHRvbiAucHJpbnQtbGluayB7XG4gICAgICAgIG1heC13aWR0aDogMjcwcHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIC5yZW1pbmRlci1pbmZvIHtcbiAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5hcHBvaW50bWVudC1kZXRhaWxzLXdyYXBwZXIgLm1haW4tc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7IH0gfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmN1c3RvbWVyLWNhcmUge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIHBhZGRpbmctdG9wOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jdXN0b21lci1jYXJlIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgcGFkZGluZy10b3A6IDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuY3VzdG9tZXItY2FyZSBoMyB7XG4gICAgICBmb250LXNpemU6IDE0cHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5jdXN0b21lci1jYXJlIGgzIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmN1c3RvbWVyLWNhcmUgcCB7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyBoMyB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIHAge1xuICAgICAgbGluZS1oZWlnaHQ6IDIycHg7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuYXBwdC1pbmZvIHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuYXBwdC1pbmZvIC5pbmZvcm1hdGlvbi1ib3gsXG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuYXBwdC1pbmZvIGRpdiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5hcHB0LWluZm8gZGl2IHAge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAuaW5mb3JtYXRpb24tYXNzZXRzIC5pbmZvcm1hdGlvbi1ib3gge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmluZm9ybWF0aW9uLWJveCBkaXYge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cyAuaW5mb3JtYXRpb24tYm94IHAge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDsgfVxuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmluZm9ybWF0aW9uLWJveCBpbWcge1xuICAgICAgICBtYXgtaGVpZ2h0OiA2MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDYwcHg7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5pbmZvcm1hdGlvbi1hc3NldHMgLmluZm9ybWF0aW9uLWJveDpsYXN0LWNoaWxkOm5vdCg6Zmlyc3QtY2hpbGQpIHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cy5hc3NldHMtcGRmIC5hcHB0LWluZm8tcGRmIHtcbiAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICM5Nzk3OTc7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLmluZm9ybWF0aW9uLWFzc2V0cy5hc3NldHMtcGRmIC5jdXN0b21lci1jYXJlIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjM7IH1cbiAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyB7XG4gICAgICAgIGJvcmRlcjogMDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItc3VtbWFyeS10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2U4ZThlOTtcbiAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDsgfSB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9IH1cbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAubGV2eS1tZXNzYWdlLW9yZGVyZGV0YWlscyB7XG4gICAgICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBtYXgtd2lkdGg6IDM2MHB4OyB9XG4gICAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSAubGV2eS1tZXNzYWdlLW9yZGVyZGV0YWlscyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjI1cmVtOyB9IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5vcmRlci1zdW1tYXJ5LWhlYWRlciB7XG4gICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW07IH1cbiAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLm9yZGVyLXN1bW1hcnktaGVhZGVyIHtcbiAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICAgIHBhZ2UtYnJlYWstYWZ0ZXI6IGFsd2F5czsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAubGluZS1pdGVtcyAucHJvZHVjdC1icmFuZCxcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLWNvbmZpcm1hdGlvbi1kZXRhaWxzIC5saW5lLWl0ZW1zIC5wcm9kdWN0LW5hbWUge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAubGluZS1pdGVtcyAucHJvZHVjdC1icmFuZCxcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAubGluZS1pdGVtcyAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAub3JkZXItY29uZmlybWF0aW9uLWRldGFpbHMgLnByb2R1Y3RuYW1lLWNvbHVtbiAubGluZS1pdGVtcy10aXRsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAucHJvZHVjdG5hbWUtY29sdW1uIC5vcmRlci1zdW1tYXJ5LXByb2R1Y3RzLXRpdGxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIHAge1xuICAgICAgZmxleDogMCAwIDEwMCU7IH1cbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAuZnVsbC1uYW1lIHtcbiAgICAgIG9yZGVyOiAwOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLmVtYWlsIHtcbiAgICAgIG9yZGVyOiAxOyB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLnBob25lLW51bWJlciB7XG4gICAgICBvcmRlcjogMjsgfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAubWluaS1hZGRyZXNzLWxvY2F0aW9uIC5wb3N0YWwtY29kZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgbWFyZ2luLXRvcDogMjBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAuaW5mb3JtYXRpb24tYm94IHtcbiAgICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMDsgfVxuICAgICAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5pbmZvcm1hdGlvbi1ib3gtLWZ1bGwtcGFkZGluZyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4OyB9XG4gICAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLmluZm9ybWF0aW9uLWJveC0tZ3JleS1iYWNrZ3JvdW5kIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjM7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5zZWN0aW9uLXRpdGxlLWJveC0tbm8tbWFyZ2luIHtcbiAgICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC50aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC50aXRsZS0tb3JhbmdlIHtcbiAgICAgIGNvbG9yOiAjYzc1MzAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAucGF5bWVudC12ZXJpZmljYXRpb24ge1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAwOyB9IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5jb25maXJtYXRpb24tcGFnZSAucGVyc29uYWwtcGF5bWVudC1pbmZvIC5wYXltZW50LXZlcmlmaWNhdGlvbiAuc2VjdGlvbi1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYzO1xuICAgICAgICBwYWRkaW5nOiAwIDEycHggMTVweDsgfSB9XG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wZXJzb25hbC1wYXltZW50LWluZm8gLm5lZWQtY2hhbmdlcyB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgZmxleC13cmFwOiB3cmFwOyB9XG4gICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnBlcnNvbmFsLXBheW1lbnQtaW5mbyAubmVlZC1jaGFuZ2VzIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5wYXltZW50LXZlcmlmaWNhdGlvbiBwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7IH1cbiAgLmNvbmZpcm1hdGlvbi1wYWdlIC5vcmRlci10b3RhbHMtdGFibGUgdHIge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuY29uZmlybWF0aW9uLXBhZ2UgLm9yZGVyLXRvdGFscy10YWJsZSB0ciB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC45Mzc1cmVtOyB9IH1cblxuLnByb2R1Y3QtZGV0YWlsZWQtaW5mbyB7XG4gIGxpbmUtaGVpZ2h0OiAxLjU7XG4gIG1hcmdpbi10b3A6IDEycHg7XG4gIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5wcm9kdWN0LWRldGFpbGVkLWluZm8gLmF0dHJpYnV0ZS1kYXRhIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuXG4uc2F2ZS1mb3ItYmlsbGluZyB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1vbmVyaXNJbnB1dCB7XG4gIGJvcmRlci1jb2xvcjogI2NjY2NjYztcbiAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBoZWlnaHQ6IDQwcHg7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gIHBhZGRpbmctdG9wOiAxMHB4OyB9XG5cbiNtb25lcmlzTmFtZUlucHV0IHtcbiAgd2lkdGg6IDI1NXB4OyB9XG5cbi5jaGVja291dC1iaWxsaW5nIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIGRpdjpmaXJzdC1jaGlsZCxcbi5jaGVja291dC1iaWxsaW5nIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIGRpdjpmaXJzdC1jaGlsZCArIGRpdiB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLm1pbmktaGVhZGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMzsgfVxuICAubWluaS1oZWFkZXIgLmhlYWRlci1sb2dvIHtcbiAgICBwYWRkaW5nOiAxNnB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAubWluaS1oZWFkZXIgLmhlYWRlci1sb2dvIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDA7IH0gfVxuXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mbyAuYWNjb3VudC1pbmZvLWNoZWNrb3V0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMXB4OyB9XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvIC5hY2NvdW50LWluZm8tY2hlY2tvdXQtbGFiZWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNTAwO1xuICBkaXNwbGF5OiBibG9jaztcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMjBweDtcbiAgbWFyZ2luLXRvcDogMjBweDsgfVxuXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mbyAuYWNjb3VudC1pbmZvLWZvcm0ge1xuICBkaXNwbGF5OiBub25lOyB9XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvLmV4cGFuZGVkIC5hY2NvdW50LWluZm8tZm9ybSB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvLmV4cGFuZGVkIC5hY2NvdW50LWluZm8tY2hlY2tvdXQsXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mby5leHBhbmRlZCAuYWNjb3VudC1pbmZvLWNoZWNrb3V0LWxhYmVsLFxuLmNoZWNrb3V0LXBlcnNvbmFsLWluZm8uZXhwYW5kZWQgLm5hbWUtbGVuZ3RoLWVycm9yIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4uY2hlY2tvdXQtcGVyc29uYWwtaW5mby5leHBhbmRlZCAuYWNjb3VudC1pbmZvLWZvcm0tdG9nZ2xlIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4udXBkYXRlLWNyZWRzLWxpbmsge1xuICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTsgfVxuXG4ucmVxdWlyZWQtZmllbGQ6OmFmdGVyIHtcbiAgY29udGVudDogXCIqXCI7XG4gIG1hcmdpbi1sZWZ0OiAzcHg7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLnNlY3Rpb24taGVhZGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBtYXJnaW46IDAgMCAxMHB4OyB9XG4gIC5jYXJ0LXN1bW1hcnktYm94IC5zZWN0aW9uLWhlYWRlci5xdHktaGVhZGVyIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cbiAgLmNhcnQtc3VtbWFyeS1ib3ggLnNlY3Rpb24taGVhZGVyLnRvdGFsLXByaWNlLWhlYWRlciB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtcyB7XG4gICAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtIDA7IH0gfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtIHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSB7XG4gICAgICBtYXJnaW4tYm90dG9tOiAxLjU2MjVyZW07IH0gfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLWRldGFpbHMge1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS1kZXRhaWxzIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5wcm9kdWN0LWJyYW5kIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmNhcnQtc3VtbWFyeS1ib3ggLnByb2R1Y3QtbmFtZSB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS1wcmljZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7IH1cbiAgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS1wcmljZSAub2xkLXByaWNlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0tcXVhbnRpdHkge1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLml0ZW0tcXVhbnRpdHksXG4uY2FydC1zdW1tYXJ5LWJveCAucHJpY2UtdG90YWwge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLXRvdGFsIHtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMztcbiAgcGFkZGluZzogMS41NjI1cmVtIDEuODc1cmVtOyB9XG4gIC5jYXJ0LXN1bW1hcnktYm94IC5tYWluLXNlY3Rpb24taGVhZGVyIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5jYXJ0LXN1bW1hcnktYm94IC5mcm9udC1iYWNrLXNldC1sYWJlbCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGNvbG9yOiAjODA4Mjg1O1xuICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAuZmlyc3QtcHNldCB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4uY2FydC1zdW1tYXJ5LWJveCAucmViYXRlLWJhZGdlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYXJ0LXN1bW1hcnktYm94IC5yZWJhdGUtYmFkZ2Uge1xuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkgYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5jYXJ0LXN1bW1hcnktYm94IC5yZWJhdGUtYmFkZ2Uge1xuICAgICAgbWFyZ2luOiAwLjMxMjVyZW0gMCAwOyB9IH1cbiAgLmNhcnQtc3VtbWFyeS1ib3ggLnJlYmF0ZS1iYWRnZTo6YmVmb3JlIHtcbiAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcmViYXRlX2ljb24ucG5nXCIpIG5vLXJlcGVhdDtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIGhlaWdodDogMjVweDtcbiAgICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7XG4gICAgd2lkdGg6IDI1cHg7IH1cblxuLmNhcnQtc3VtbWFyeS1ib3ggLnJlYmF0ZS10ZXh0IHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIGZvbnQtc3R5bGU6IGl0YWxpYzsgfVxuXG4uc2VydmljZS1yb3cgLnByb2R1Y3QtbmFtZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLm9yZGVyZGV0YWlscyAuY2FydC1zdW1tYXJ5LWJveCB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjM7XG4gIG1hcmdpbjogMCAwIDIwcHg7XG4gIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyZGV0YWlscyAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICBib3JkZXItYm90dG9tLXdpZHRoOiAxcHg7XG4gICAgICBtYXJnaW46IDA7XG4gICAgICBwYWRkaW5nOiAwOyB9IH1cblxuLm9yZGVyZGV0YWlscyAucmViYXRlLWJveCB7XG4gIGRpc3BsYXk6IG5vbmU7IH1cblxuLmNoZWNrb3V0LW1pbmktY2FydCB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNjY2M7XG4gIHBhZGRpbmc6IDMwcHggMjBweDsgfVxuICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5zZWN0aW9uLXRpdGxlIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLmNoZWNrb3V0LW1pbmktY2FydCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAgIC5jaGVja291dC1taW5pLWNhcnQgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMCAxLjI1cmVtOyB9XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBtYXJnaW46IDA7IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbXMge1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2YyZjJmMztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtOyB9XG4gICAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbSA+IGRpdiB7XG4gICAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLmxpbmUtaXRlbS5maXJzdC1wc2V0IHtcbiAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07IH1cbiAgICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAubGluZS1pdGVtLnNlY29uZC1wc2V0IHtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtOyB9XG4gICAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IC5jYXJ0LXN1bW1hcnktYm94IC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIG1hcmdpbjogMCAwIDNweDsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuY2FydC1zdW1tYXJ5LWJveCAucHJvZHVjdC1icmFuZCxcbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgICAgIC5jaGVja291dC1taW5pLWNhcnQgLmNhcnQtc3VtbWFyeS1ib3ggLnByaWNlLXRvdGFsIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAgIC5jaGVja291dC1taW5pLWNhcnQgLmxpbmUtaXRlbS1xdWFudGl0eSAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAubGluZS1pdGVtLXF1YW50aXR5IC5zZWN0aW9uLWhlYWRlcjo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIjpcIjsgfVxuICAgIC5jaGVja291dC1taW5pLWNhcnQgLnNlcnZpY2Utcm93IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAgICAgLmNoZWNrb3V0LW1pbmktY2FydCAuc2VydmljZS1yb3cgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgLm9yZGVyLXJldmlldy1wYWdlIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgIHBhZGRpbmc6IDAgMC42MjVyZW07IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMzsgfSB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAuYXBwb2ludG1lbnQtZGF0YS10aW1lIHAge1xuICBsaW5lLWhlaWdodDogMjJweDtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmFwcC1pbmZvLXdyYXBwZXIgcCB7XG4gIGRpc3BsYXk6IGlubGluZTtcbiAgbGluZS1oZWlnaHQ6IDIycHg7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5sb2NhdGlvbi1ib3ggLnNlY3Rpb24tdGl0bGUsXG4ub3JkZXItcmV2aWV3LXBhZ2UgLmxvY2F0aW9uLWJveCBwIHtcbiAgbGluZS1oZWlnaHQ6IDIycHg7XG4gIG1hcmdpbjogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gIC5vcmRlci1yZXZpZXctcGFnZSAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgIHBhZGRpbmc6IDUwcHggMCAwOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7IH0gfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnNlY3Rpb24tYm94LXdyYXAgLmVkaXQtc2VjdGlvbi1saW5rIHtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICBsaW5lLWhlaWdodDogMTNweDtcbiAgcGFkZGluZy10b3A6IDEwcHg7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gcCB7XG4gICAgZmxleDogMCAwIDEwMCU7IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLmZ1bGwtbmFtZSB7XG4gICAgb3JkZXI6IDA7IH1cbiAgLm9yZGVyLXJldmlldy1wYWdlIC5taW5pLWFkZHJlc3MtbG9jYXRpb24gLmVtYWlsIHtcbiAgICBvcmRlcjogMTsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAucGhvbmUtbnVtYmVyIHtcbiAgICBvcmRlcjogMjsgfVxuICAub3JkZXItcmV2aWV3LXBhZ2UgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiAucG9zdGFsLWNvZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuLm9yZGVyLXJldmlldy1wYWdlIC5kaXNjbGFpbWVyLWNoZWNrb3V0IHtcbiAgbWFyZ2luLWJvdHRvbTogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLm9yZGVyLXJldmlldy1wYWdlIC5kaXNjbGFpbWVyLWNoZWNrb3V0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206IDA7IH0gfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnJlYmF0ZS10ZXh0LFxuLmNvbmZpcm1hdGlvbi1wYWdlIC5yZWJhdGUtdGV4dCB7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG5cbi5vcmRlci1yZXZpZXctcGFnZSAucmViYXRlLWJveCxcbi5jb25maXJtYXRpb24tcGFnZSAucmViYXRlLWJveCB7XG4gIGZsb2F0OiByaWdodDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gIHdpZHRoOiA4MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5vcmRlci1yZXZpZXctcGFnZSAucmViYXRlLWJveCxcbiAgICAuY29uZmlybWF0aW9uLXBhZ2UgLnJlYmF0ZS1ib3gge1xuICAgICAgd2lkdGg6IDI1JTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgICAub3JkZXItcmV2aWV3LXBhZ2UgLnJlYmF0ZS1ib3gsXG4gICAgLmNvbmZpcm1hdGlvbi1wYWdlIC5yZWJhdGUtYm94IHtcbiAgICAgIHdpZHRoOiAyNyU7IH0gfVxuXG4ub3JkZXItcmV2aWV3LXBhZ2UgLnJlYmF0ZS1iYWRnZSxcbi5jb25maXJtYXRpb24tcGFnZSAucmViYXRlLWJhZGdlIHtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDsgfVxuXG4uYXBwb2ludG1lbnRzLmFwcG9pbnRtZW50cy13cmFwIHtcbiAgbWFyZ2luOiAwIDAgMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMuYXBwb2ludG1lbnRzLXdyYXAge1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgbWFyZ2luOiA1MHB4IDAgNzVweDtcbiAgICAgIHBhZGRpbmctbGVmdDogNDRweDsgfSB9XG5cbi5hcHBvaW50bWVudHMgLm1haW4tdGl0bGUge1xuICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMTtcbiAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gIHBhZGRpbmctdG9wOiA1MHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5tYWluLXRpdGxlIHtcbiAgICAgIGJvcmRlcjogMDtcbiAgICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgICBwYWRkaW5nLXRvcDogMDsgfSB9XG5cbi5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWR1cmF0aW9uIHtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMCAwIDEuNTYzcmVtOyB9XG5cbi5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWNhbGVuZGFyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWNhbGVuZGFyIC5sb2FkZXIge1xuICAgIGJvdHRvbTogLTRlbTtcbiAgICB0b3A6IGF1dG87IH1cblxuLmFwcG9pbnRtZW50cyAuY2xuZHIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZTdlN2U3O1xuICBwYWRkaW5nLWJvdHRvbTogMThweDsgfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci1jb250cm9scyB7XG4gIGJvcmRlci1ib3R0b20td2lkdGg6IDA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAwIDEuMjVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci1jb250cm9sczo6YmVmb3JlLCAuYXBwb2ludG1lbnRzIC5jbG5kci1jb250cm9sczo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci1jb250cm9sczo6YWZ0ZXIge1xuICAgIGNsZWFyOiBib3RoOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLWNvbnRyb2xzIC5tb250aCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cblxuLmFwcG9pbnRtZW50cyAuY2xuZHItcHJldmlvdXMtYnV0dG9uLFxuLmFwcG9pbnRtZW50cyAuY2xuZHItbmV4dC1idXR0b24ge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZsb2F0OiBsZWZ0O1xuICB0ZXh0LWluZGVudDogLTk5OTlweDsgfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci1wcmV2aW91cy1idXR0b24sXG4uYXBwb2ludG1lbnRzIC5jbG5kci1uZXh0LWJ1dHRvbiB7XG4gIHdpZHRoOiAyMHB4OyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbjo6YmVmb3JlLFxuICAuYXBwb2ludG1lbnRzIC5jbG5kci1uZXh0LWJ1dHRvbjo6YmVmb3JlIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0ZXh0LWluZGVudDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbjo6YmVmb3JlLFxuICAgICAgLmFwcG9pbnRtZW50cyAuY2xuZHItbmV4dC1idXR0b246OmJlZm9yZSB7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9IH1cblxuLmFwcG9pbnRtZW50cyAuY2xuZHItcHJldmlvdXMtYnV0dG9uOjpiZWZvcmUge1xuICBjb250ZW50OiBcIlxcZTgxM1wiO1xuICBsZWZ0OiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci1wcmV2aW91cy1idXR0b246OmJlZm9yZSB7XG4gICAgICBsZWZ0OiAyMHB4OyB9IH1cblxuLmFwcG9pbnRtZW50cyAuY2xuZHItbmV4dC1idXR0b246OmJlZm9yZSB7XG4gIGNvbnRlbnQ6IFwiXFxlODE0XCI7XG4gIHJpZ2h0OiAxNXB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci1uZXh0LWJ1dHRvbjo6YmVmb3JlIHtcbiAgICAgIHJpZ2h0OiAyMHB4OyB9IH1cblxuLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUge1xuICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICBtYXJnaW46IDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgdGhlYWQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGU7XG4gICAgYm9yZGVyLXRvcC13aWR0aDogMDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSB0Ym9keSB0ciB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgdGJvZHkgdGQge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIHRkIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuY2xuZHItY29udHJvbHMud2VlayB7XG4gICAgcGFkZGluZzogMjBweCAwIDE1cHg7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmhlYWRlci1kYXkge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuNjI1cmVtO1xuICAgIHBhZGRpbmc6IDAgMCAwLjYyNXJlbTsgfVxuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5oZWFkZXItZGF5OmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RkZGRkZTsgfVxuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5oZWFkZXItZGF5Omxhc3QtY2hpbGQge1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2RkZGRkZTsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZXZlbnQgLnctZGF5LFxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZXZlbnQgLm1vbnRoLWRheSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZGF5IC5tb250aC12aWV3IHtcbiAgICAgIHBhZGRpbmc6IDExcHg7IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA2NGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheSAubW9udGgtdmlldyB7XG4gICAgICBmb250LXNpemU6IDEuMTI1cmVtO1xuICAgICAgcGFkZGluZzogMTVweDsgfSB9XG4gIEBtZWRpYSBvbmx5IHNjcmVlbiBhbmQgKG1pbi13aWR0aDogMTAyNHB4KSBhbmQgKG1heC13aWR0aDogMTEwMHB4KSB7XG4gICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheSAubW9udGgtdmlldyB7XG4gICAgICBwYWRkaW5nOiA3cHg7IH0gfVxuICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDExMDBweCkgYW5kIChtYXgtd2lkdGg6IDEzMTlweCkge1xuICAgIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXkgLm1vbnRoLXZpZXcge1xuICAgICAgcGFkZGluZzogOXB4OyB9IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheS5ldmVudDpob3ZlciAuZGF5LWNvbnRlbnRzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzc1MzAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5kYXk6bm90KC5ldmVudCkge1xuICAgIGNvbG9yOiAjODA4Mjg1O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheS5hY3RpdmUtZXZlbnQgLmRheS1jb250ZW50cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2M3NTMwMDtcbiAgICBib3JkZXItY29sb3I6ICNjNzUzMDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgcGFkZGluZzogMDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAuZmlyc3QtZGF5IHtcbiAgICBwYWRkaW5nOiAwOyB9XG4gIC5hcHBvaW50bWVudHMgLmNsbmRyLXRhYmxlIC5tb250aC1kYXkge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IDEwMCU7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheS1jb250ZW50cyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBoZWlnaHQ6IDI5cHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luOiBhdXRvO1xuICAgIHdpZHRoOiAyOXB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLmRheS1jb250ZW50cyB7XG4gICAgICAgIGhlaWdodDogMzNweDtcbiAgICAgICAgd2lkdGg6IDMzcHg7IH0gfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJsZSAudy1kYXkge1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBtYXJnaW46IDA7IH1cbiAgLmFwcG9pbnRtZW50cyAuY2xuZHItdGFibGUgLndlZWstdmlldyAuY29udHJvbGwtd3JhcHBlciB7XG4gICAgcGFkZGluZzogMDsgfVxuXG4uYXBwb2ludG1lbnRzIC5jbG5kci10YWJzIHtcbiAgZGlzcGxheTogZmxleDsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJzIC50YWIge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2U3ZTdlNztcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZmxleDogMCAwIDUwJTtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJzIC50YWIuYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7XG4gICAgICBib3JkZXItY29sb3I6ICNjNzUzMDA7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAuYXBwb2ludG1lbnRzIC5jbG5kci10YWJzIC5tb250aC10YWIge1xuICAgIGJvcmRlci1sZWZ0OiAwOyB9XG5cbi5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWVycm9yLW1lc3NhZ2UgcCB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGNvbG9yOiAjZjAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4yOyB9XG5cbi5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyxcbi5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSxcbi5hcHBvaW50bWVudHMgLm5vLWF2YWlsYWJsZS1hcHBvaW50bWVudHMge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRlO1xuICBib3JkZXItdG9wLXdpZHRoOiAwO1xuICBwYWRkaW5nOiAxLjU2M3JlbSAxLjI1cmVtIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyxcbiAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUsXG4gICAgLmFwcG9pbnRtZW50cyAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyB7XG4gICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwOyB9IH1cbiAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlLFxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUsXG4gIC5hcHBvaW50bWVudHMgLm5vLWF2YWlsYWJsZS1hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlLFxuICAgICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlLFxuICAgICAgLmFwcG9pbnRtZW50cyAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSksXG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSksXG4gIC5hcHBvaW50bWVudHMgLm5vLWF2YWlsYWJsZS1hcHBvaW50bWVudHMgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSksXG4gICAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpLFxuICAgICAgLmFwcG9pbnRtZW50cyAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyBzcGFuOm5vdCguYXBwb2ludG1lbnQtZGF0ZS10aXRsZSkge1xuICAgICAgICBmb250LXNpemU6IDFyZW07IH0gfVxuXG4uYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSB7XG4gIGJvcmRlcjogMXB4IHNvbGlkICNmZmY7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxvYXQ6IGxlZnQ7XG4gIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgcGFkZGluZzogMC42MjVyZW0gMC45Mzc1cmVtO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHdpZHRoOiA1MCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcbiAgICAgIHdpZHRoOiAxNi42JTsgfSB9XG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpOmhvdmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjYzc1MzAwOyB9XG5cbi5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgcGFkZGluZzogMjBweDsgfVxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUge1xuICAgIGZsZXg6IDAgMCAxMDAlOyB9XG4gIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyBzcGFuIHtcbiAgICBmbGV4OiAwIDAgMzMlO1xuICAgIHBhZGRpbmc6IDEwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUgLmFwcG9pbnRtZW50cyBzcGFuIHtcbiAgICAgICAgZmxleDogMCAwIDI1JTsgfSB9XG4gICAgLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZSAuYXBwb2ludG1lbnRzIHNwYW4uYXBwb2ludG1lbnQtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNzUzMDA7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjYzc1MzAwO1xuICAgICAgY29sb3I6ICNmZmY7IH1cblxuLmFwcG9pbnRtZW50cyAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZy1ib3R0b206IDEuNTYzcmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMS44NzVyZW0gMCAwLjkzNzVyZW07IH0gfVxuICAuYXBwb2ludG1lbnRzIC5hcHBvaW50bWVudC1kYXRlLXRpbWUgLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudHMgLmFwcG9pbnRtZW50LWRhdGUtdGltZSAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgfSB9XG5cbi5hcHBvaW50bWVudHMgLmVkaXQtYXBwb2ludG1lbnQge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50cyAuZWRpdC1hcHBvaW50bWVudCB7XG4gICAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfSB9XG5cbi5hcHBvaW50bWVudHMgLmFwcHQtZXhwaXJ5IHtcbiAgbWFyZ2luOiAxLjI1cmVtIDAgMDsgfVxuICAuYXBwb2ludG1lbnRzIC5hcHB0LWV4cGlyeSBwIHtcbiAgICBjb2xvcjogIzgwODI4NTtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbjogMDsgfVxuXG4uYXBwb2ludG1lbnRzIC5uZWVkLWhlbHAtY2hlY2tvdXQtYXBwb2ludG1lbnQge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogNTBweCAwIDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudHMgLm5lZWQtaGVscC1jaGVja291dC1hcHBvaW50bWVudCB7XG4gICAgICBtYXJnaW46IDIwcHggMCAwOyB9IH1cbiAgLmFwcG9pbnRtZW50cyAubmVlZC1oZWxwLWNoZWNrb3V0LWFwcG9pbnRtZW50IHAge1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnRzIC5uZWVkLWhlbHAtY2hlY2tvdXQtYXBwb2ludG1lbnQgcCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNXB4OyB9IH1cbiAgLmFwcG9pbnRtZW50cyAubmVlZC1oZWxwLWNoZWNrb3V0LWFwcG9pbnRtZW50IGEge1xuICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG5cbi5hcHBvaW50bWVudC1idXR0b25zLWJveCB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgbWFyZ2luOiAwIDAgNTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNjRlbSkge1xuICAgIC5hcHBvaW50bWVudC1idXR0b25zLWJveCB7XG4gICAgICBtYXJnaW46IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3ggLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3gud2l0aC1hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgIG1hcmdpbi1yaWdodDogYXV0bzsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtYnV0dG9ucy1ib3ggLmFwcG9pbnRtZW50LWNvbnRpbnVlIHtcbiAgICAgIHdpZHRoOiAxMDAlOyB9IH1cbiAgLmFwcG9pbnRtZW50LWJ1dHRvbnMtYm94IC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgbWF4LXdpZHRoOiAzNzZweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1idXR0b25zLWJveCAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1idXR0b25zLWJveCAuYXBwdC1leHBpcnkgcCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDA7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmFwcG9pbnRtZW50LXBhZ2UtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBtYXJnaW46IDAgMCAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5hcHBvaW50bWVudC1wYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuYXBwb2ludG1lbnQtcGFnZS10aXRsZSB7XG4gICAgICBtYXJnaW46IDAgMCAxMHB4OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnZlcnRpY2FsLWFsaWduIHtcbiAgZmxleC13cmFwOiB3cmFwOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5zdGFydF9sb2NhdGlvbiB7XG4gIGJvcmRlci1yaWdodDogMDtcbiAgZmxleDogMTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgICAgIGhlaWdodDogNDVweDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5zZWFyY2gtc3RvcmUge1xuICBtYXJnaW46IDA7XG4gIG1heC13aWR0aDogNDBweDtcbiAgcGFkZGluZzogMTNweCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuc2VhcmNoLXN0b3JlIHtcbiAgICAgIGhlaWdodDogNDVweDtcbiAgICAgIG1heC13aWR0aDogMTM0cHg7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAjbWFwLWJveCB7XG4gIG1hcmdpbjogMC42MjVyZW0gMDtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlICNtYXAtYm94IHtcbiAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDAuNjI1cmVtOyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnRvZ2dsZS1tYXAge1xuICBmbGV4OiAwIDAgMTAwJTtcbiAgbGluZS1oZWlnaHQ6IDM5cHg7XG4gIG1hcmdpbjogMTVweCAwIDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLnRvZ2dsZS1tYXAge1xuICAgICAgbWFyZ2luOiAwIDAgMCAxNXB4O1xuICAgICAgbWF4LXdpZHRoOiAxMzlweDtcbiAgICAgIHBhZGRpbmc6IDAgMTVweDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5tYXAtdmlldyB7XG4gIG1heC1oZWlnaHQ6IDM2MHB4ICFpbXBvcnRhbnQ7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5tYXAtdmlldyB7XG4gICAgICBtYXgtaGVpZ2h0OiA1MDBweCAhaW1wb3J0YW50OyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAubG9jYXRpb24taXRlbSB7XG4gIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZDlkOWRhO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAubG9jYXRpb24taXRlbS13cmFwcGVyIHtcbiAgcGFkZGluZzogNTBweCAwIDU1cHg7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAubW9yZS10aW1lcyAuYnV0dG9uLFxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuYm9vay1ub3cgLmJ1dHRvbiB7XG4gIG1hcmdpbi10b3A6IDIwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLm1vcmUtdGltZXMgLmJ1dHRvbixcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5ib29rLW5vdyAuYnV0dG9uIHtcbiAgICAgIG1hcmdpbjogMTVweCAwIDA7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5tb3JlLXRpbWVzOm5vdCguc3RvcmVkLWhlcmUtYnRuKSB7XG4gIHBhZGRpbmctbGVmdDogN3B4OyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLm1vcmUtdGltZXMgLmhvbGxvdyB7XG4gIHBhZGRpbmc6IDEzcHggMTVweDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5zdG9yZWQtaGVyZS1idG4ge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICBtYXJnaW46IDIwcHggMCAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5zdG9yZWQtaGVyZS1idG4ge1xuICAgICAgbWFyZ2luOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuc3RvcmVkLWhlcmUtYnRuIC5idXR0b24ge1xuICAgIG1hcmdpbjogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnN0b3JlZC1oZXJlLWJ0biAuYnV0dG9uIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNDFweDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLnN0b3JlZC10aXJlcyB7XG4gIGFsaWduLXNlbGY6IGNlbnRlcjsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5ib29rLW5vdyB7XG4gIHBhZGRpbmctcmlnaHQ6IDdweDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5zaG93LXN0b3JlLWJveCB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyAuc2hvdy1zdG9yZS1pbmZvIHtcbiAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvbGlzdHZpZXdBcnJvdy5wbmdcIik7XG4gIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGNlbnRlcjtcbiAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgaGVpZ2h0OiAxNnB4O1xuICB3aWR0aDogMTBweDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubGlzdC12aWV3LWl0ZW1zIC5oaWdobGlnaHQtb3V0b2ZzdG9jay1zdG9yZSB7XG4gIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gIHRyYW5zaXRpb246IGJvcmRlci13aWR0aCAwLjNzIGVhc2UtaW4tb3V0OyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgLmhpZ2hsaWdodC1vdXRvZnN0b2NrLXN0b3JlLnRyYW5zaXRpb24tdG8tZW5kIHtcbiAgICBib3JkZXItd2lkdGg6IDA7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxpc3Qtdmlldy1pdGVtcyBwLFxuLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW46IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5saXN0LXZpZXctaXRlbXMgcCxcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggcCB7XG4gICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24taXRlbS1uYW1lIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBsaW5lLWhlaWdodDogMS4zOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAubG9jYXRpb24taXRlbS1uYW1lIHtcbiAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTsgfSB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1pdGVtLW5hbWUgLm5pY2tuYW1lIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWl0ZW0tZGlzdGFuY2Uge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbi10b3A6IDVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWl0ZW0tZGlzdGFuY2Uge1xuICAgICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgICAgbWFyZ2luLXRvcDogMDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1hdmFpbGFiaWxpdHkge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBsaW5lLWhlaWdodDogMS4zO1xuICBtYXJnaW46IDAuNjI1cmVtIDAgMDsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtYXZhaWxhYmlsaXR5IC5hdmFpbGFiaWxpdHktbWVzc2FnZSB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWF2YWlsYWJpbGl0eSAuZWFybGllc3QtYXZhaWxhYmxlIC5zbG90LWluZm8ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtYXZhaWxhYmlsaXR5IC5lYXJsaWVzdC1hdmFpbGFibGUgLnNlYXJjaGluZy1mb3ItYXZhaWxhYmlsaXR5IHtcbiAgICBjb2xvcjogI2YwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXdlaWdodDogYm9sZDsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtYXZhaWxhYmlsaXR5IC5lYXJsaWVzdC1hdmFpbGFibGUgLmZsb2F0LWNsZWFyLWJvdGgge1xuICAgIGNsZWFyOiBib3RoOyB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5uby10cmFpbGVyLXNlcnZpY2Uge1xuICBjb2xvcjogIzgwODI4NTtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07XG4gIGxpbmUtaGVpZ2h0OiAxLjM7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAuYXBwb2ludG1lbnQtcGFnZSAucmF0aW5nLWRpc3RhbmNlLWJveCB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDsgfSB9XG5cbi5hcHBvaW50bWVudC1wYWdlIC5iYWNrLWFuZC1wYWdpbmF0aW9uLXdyYXBwZXIge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgbWFyZ2luOiAxLjg3NXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuYmFjay1hbmQtcGFnaW5hdGlvbi13cmFwcGVyIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgIG1hcmdpbjogMS44NzVyZW0gMCAtMS44NzVyZW07IH0gfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmJhY2stYW5kLXBhZ2luYXRpb24td3JhcHBlciB7XG4gICAgICBtYXJnaW4tYm90dG9tOiA1MHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5iYWNrLWFuZC1wYWdpbmF0aW9uLXdyYXBwZXIgLnN0ZXAtYmFjay1saW5rIHtcbiAgICAgIG1hcmdpbjogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5iYWNrLWFuZC1wYWdpbmF0aW9uLXdyYXBwZXIgLnBhZ2luYXRpb24ge1xuICAgIG1hcmdpbjogMDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubWFwLWluZm9ib3ggLnN0b3JlLWJhY2stYm94IHtcbiAgbWFyZ2luOiAyMHB4IDAgMDsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAubWFwLWluZm9ib3ggLnN0b3JlLWJhY2sge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDAuODEyNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3gge1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAubG9jYXRpb24tZGlzdGFuY2Uge1xuICAgIHBhZGRpbmc6IDIwcHggMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAubG9jYXRpb24tZGlzdGFuY2Uge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLm1vcmUtaW5mby1ib3gge1xuICAgIG1hcmdpbjogMC42MjVyZW0gMCAxLjg3NXJlbTsgfVxuICAgIC5hcHBvaW50bWVudC1wYWdlIC5zdG9yZS1kZXRhaWxzLWJveCAubW9yZS1pbmZvLWJveCAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgIGJvcmRlcjogMDsgfVxuICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLm1vcmUtaW5mby10aXRsZSB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nOiAwIDAgMCAxLjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5tb3JlLWluZm8tdGl0bGU6OmFmdGVyIHtcbiAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICBsZWZ0OiAwO1xuICAgICAgcmlnaHQ6IGF1dG87IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLnN0b3JlLWRldGFpbHMtYm94IC5zdWJtZW51IHtcbiAgICBtYXJnaW46IDAuNjI1cmVtIDAgMCAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZSAuc3RvcmUtZGV0YWlscy1ib3ggLnBob25lLW51bWJlciB7XG4gICAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDA7IH0gfVxuXG4uYXBwb2ludG1lbnQtcGFnZSAuYm9va2luZy1ub3QtYXZhaWxhYmxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gIG1hcmdpbjogMCAwIDIuMTg4cmVtO1xuICBwYWRkaW5nOiAwIDAgMS44NzVyZW07IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1wYWdlIC5ib29raW5nLW5vdC1hdmFpbGFibGUge1xuICAgICAgYm9yZGVyOiAwO1xuICAgICAgcGFkZGluZzogMDsgfSB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5ib29raW5nLW5vdC1hdmFpbGFibGUgaDMge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1wYWdlIC5ib29raW5nLW5vdC1hdmFpbGFibGUgaDMge1xuICAgICAgICBmb250LXNpemU6IDEuMTI1cmVtOyB9IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWZpbHRlcnMge1xuICBwYWRkaW5nLXRvcDogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWZpbHRlcnMge1xuICAgICAgbWF4LXdpZHRoOiAyMzZweDsgfSB9XG4gIC5hcHBvaW50bWVudC1wYWdlIC5sb2NhdGlvbi1maWx0ZXJzIGxhYmVsIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTNweCAwIDAgMTZweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgLmFwcG9pbnRtZW50LXBhZ2UgLmxvY2F0aW9uLWZpbHRlcnMgc2VsZWN0IHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7IH1cblxuLmFwcG9pbnRtZW50LXBhZ2UgLnNlbGVjdC1sb2NhdGlvbi13cmFwcGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG5cbi5hcHBvaW50bWVudC1wb3B1cC13cmFwIHtcbiAgcGFkZGluZzogMS4yNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAge1xuICAgICAgcGFkZGluZzogMS44NzVyZW07IH0gfVxuICAuYXBwb2ludG1lbnQtcG9wdXAtd3JhcCAuY2xvc2UtYnV0dG9uIHtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICByaWdodDogMS4xMjVyZW07XG4gICAgdG9wOiAwLjkzNzVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtcG9wdXAtd3JhcCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgcmlnaHQ6IDEuNzVyZW07XG4gICAgICAgIHRvcDogMS40MzhyZW07IH0gfVxuICAuYXBwb2ludG1lbnQtcG9wdXAtd3JhcCBoMyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGZvbnQtc2l6ZTogMS4xMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICB3aWR0aDogODAlOyB9XG4gIC5hcHBvaW50bWVudC1wb3B1cC13cmFwIHAge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwIDAgMS41NjNyZW07IH1cbiAgLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAgLmJ1dHRvbiB7XG4gICAgbWFyZ2luOiAwOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtcG9wdXAtd3JhcCAuYnV0dG9uIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNzdG9yYWdlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4sXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5icmluZ2luZy10cmFsZXItYnRuIHtcbiAgICBvcmRlcjogMTsgfVxuICAjc3RvcmFnZU1vZGFsIC5icmluZ2luZy13aGVlbC1idG4sXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5icmluZ2luZy13aGVlbC1idG4ge1xuICAgIG9yZGVyOiAyOyB9IH1cblxuI3N0b3JhZ2VNb2RhbC50cmFpbGVyLWFwcG9pbnRtZW50LW1vZGFsLFxuI3RyYWlsZXJUaXJlTW9kYWwudHJhaWxlci1hcHBvaW50bWVudC1tb2RhbCB7XG4gIGhlaWdodDogYXV0bztcbiAgbWF4LWhlaWdodDogdW5zZXQ7XG4gIG1pbi1oZWlnaHQ6IHVuc2V0OyB9XG5cbiNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQsXG4jdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDMwcHggMjBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudCxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudCB7XG4gICAgICBwYWRkaW5nOiAzMHB4IDA7IH0gfVxuICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCxcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IHtcbiAgICBwYWRkaW5nLXRvcDogMDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZS5zdGVwLXRpdGxlLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZS5zdGVwLXRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGNvbG9yOiAjMDAwOyB9IH1cbiAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuY2xvc2UtYnV0dG9uLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuY2xvc2UtYnV0dG9uIHtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZSxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgY29sb3I6ICMwMDA7XG4gICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZSxcbiAgICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogI2M0YzRjNDtcbiAgICAgICAgICBjb2xvcjogI2ZmZjtcbiAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdW5zZXQ7IH0gfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnRpdGxlLWxhcmdlLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZS50aXRsZS1sYXJnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZS50aXRsZS1zbWFsbCxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAudGl0bGUudGl0bGUtc21hbGwge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnRpdGxlLnNlY29uZC1zdGVwLW1vZGFsLXRpdGxlLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC50aXRsZS5zZWNvbmQtc3RlcC1tb2RhbC10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZmZmO1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICNzdG9yYWdlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5jbG9zZS1idXR0b24sXG4gICAgICAjc3RvcmFnZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAucmV0dXJuLXN0ZXAtYnV0dG9uLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5jbG9zZS1idXR0b24sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnJldHVybi1zdGVwLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjNGM0YzQ7XG4gICAgICAgIGNvbG9yOiAjZmZmOyB9IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjc3RvcmFnZU1vZGFsIC5tYWluLW1vZGFsLXRpdGxlLnNlY29uZC1zdGVwLFxuICAjdHJhaWxlclRpcmVNb2RhbCAubWFpbi1tb2RhbC10aXRsZS5zZWNvbmQtc3RlcCB7XG4gICAgZGlzcGxheTogbm9uZTsgfSB9XG5cbiNzdG9yYWdlTW9kYWwgLnNlY29uZGFyeS1tb2RhbC10aXRsZSxcbiN0cmFpbGVyVGlyZU1vZGFsIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjc3RvcmFnZU1vZGFsIC5zZWNvbmRhcnktbW9kYWwtdGl0bGUuc2Vjb25kLXN0ZXAsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnNlY29uZGFyeS1tb2RhbC10aXRsZS5zZWNvbmQtc3RlcCB7XG4gICAgICBkaXNwbGF5OiBibG9jazsgfSB9XG5cbiNzdG9yYWdlTW9kYWwgaW1nOm5vdCgudHJhaWxlci1pbWFnZSksXG4jdHJhaWxlclRpcmVNb2RhbCBpbWc6bm90KC50cmFpbGVyLWltYWdlKSB7XG4gIG1heC13aWR0aDogNjhweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3N0b3JhZ2VNb2RhbCBpbWc6bm90KC50cmFpbGVyLWltYWdlKSxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCBpbWc6bm90KC50cmFpbGVyLWltYWdlKSB7XG4gICAgICBtYXgtd2lkdGg6IDg2cHg7IH0gfVxuXG4jc3RvcmFnZU1vZGFsIHAsXG4jdHJhaWxlclRpcmVNb2RhbCBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBwYWRkaW5nOiAxMHB4IDAgMjBweDsgfVxuXG4jc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlcixcbiN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlciB7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtd3JhcDogd3JhcDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH0gfVxuICAjc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlciAuaW5mby1idG4sXG4gICN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlciAuaW5mby1idG4ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZDhkOGQ4O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBtYXJnaW46IDEwcHggMDtcbiAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3N0b3JhZ2VNb2RhbCAuYnV0dG9uLXdyYXBwZXIgLmluZm8tYnRuLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLmJ1dHRvbi13cmFwcGVyIC5pbmZvLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogYXV0bzsgfSB9XG4gICNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uLFxuICAjdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgbWluLWhlaWdodDogMjMzcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbiB7XG4gICAgICAgIGhlaWdodDogMjMzcHg7IH0gfVxuICAgICNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uLnRyYWlsZXItaW5mby1idXR0b25zLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5idXR0b24td3JhcHBlci50cmFpbGVyLWJ1dHRvbi50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgIzk3OTc5NztcbiAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICBwYWRkaW5nOiAwIDM1cHg7XG4gICAgICB0ZXh0LWFsaWduOiBsZWZ0OyB9XG4gICAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAgICNzdG9yYWdlTW9kYWwgLmJ1dHRvbi13cmFwcGVyLnRyYWlsZXItYnV0dG9uLnRyYWlsZXItaW5mby1idXR0b25zLFxuICAgICAgICAjdHJhaWxlclRpcmVNb2RhbCAuYnV0dG9uLXdyYXBwZXIudHJhaWxlci1idXR0b24udHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTVweDsgfSB9XG5cbiNzdG9yYWdlTW9kYWwgLmFyZS1zdG9yZWQtYnRuLFxuI3RyYWlsZXJUaXJlTW9kYWwgLmFyZS1zdG9yZWQtYnRuIHtcbiAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3N0b3JhZ2VNb2RhbCAuYXJlLXN0b3JlZC1idG4sXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLmFyZS1zdG9yZWQtYnRuIHtcbiAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgIG1heC13aWR0aDogMTUycHg7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNzdG9yYWdlTW9kYWwgLm5vdC1zdG9yZWQtYnRuLFxuICAjdHJhaWxlclRpcmVNb2RhbCAubm90LXN0b3JlZC1idG4ge1xuICAgIG1heC13aWR0aDogMjI1cHg7IH0gfVxuXG4jc3RvcmFnZU1vZGFsIC5icmluZ2luZy10cmFsZXItYnRuLFxuI3N0b3JhZ2VNb2RhbCAuYnJpbmdpbmctd2hlZWwtYnRuLFxuI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4sXG4jdHJhaWxlclRpcmVNb2RhbCAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2M3NTMwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDE2cHggMTBweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3N0b3JhZ2VNb2RhbCAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAjc3RvcmFnZU1vZGFsIC5icmluZ2luZy13aGVlbC1idG4sXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXRyYWxlci1idG4sXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgIGJvcmRlci1jb2xvcjogIzgwODI4NTtcbiAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgbWF4LWhlaWdodDogNDhweDtcbiAgICAgIG1heC13aWR0aDogMjM2cHg7XG4gICAgICBwYWRkaW5nOiA3cHggMTBweDsgfSB9XG5cbiNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcCxcbiN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAge1xuICBkaXNwbGF5OiBub25lOyB9XG4gICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50LFxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLnJldHVybi1zdGVwLWJ1dHRvbixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAucmV0dXJuLXN0ZXAtYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTsgfSB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLnRpdGxlLnRpdGxlLXNtYWxsLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAudGl0bGUudGl0bGUtc21hbGwge1xuICAgICAgY29sb3I6ICNjNzUzMDA7IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAubW9kYWwtaGVhZGVyLFxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5idXR0b24td3JhcHBlcixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLm1vZGFsLWhlYWRlcixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLmN1cnJlbnQgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgIGRpc3BsYXk6IGZsZXg7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5tb2RhbC1oZWFkZXIubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZSxcbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5idXR0b24td3JhcHBlci5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5jdXJyZW50IC5tb2RhbC1oZWFkZXIubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZSxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAuY3VycmVudCAuYnV0dG9uLXdyYXBwZXIubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwIC5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlLFxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwIC5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjYzc1MzAwO1xuICAgIGNvbG9yOiAjZmZmOyB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwIC5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlLnNlY29uZC1zdGVwLWFjdGl2ZSxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwIC5tb2JpbGUtdGl0bGUtdGVsbC11cy1tb3JlLnNlY29uZC1zdGVwLWFjdGl2ZSB7XG4gICAgICBkaXNwbGF5OiBmbGV4OyB9XG4gICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5uZXh0LXN0ZXAudHJhaWxlci1pbmZvLFxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8ge1xuICAgIGRpc3BsYXk6IGJsb2NrOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8sXG4gICAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAubmV4dC1zdGVwLnRyYWlsZXItaW5mbyAudGl0bGUudGl0bGUtc21hbGwsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5uZXh0LXN0ZXAudHJhaWxlci1pbmZvIC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICBjb2xvcjogIzk3OTc5NzsgfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5uZXh0LXN0ZXAudHJhaWxlci1pbmZvIC50cmFpbGVyLWluZm8tYnV0dG9ucyxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLm5leHQtc3RlcC50cmFpbGVyLWluZm8gLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7IH1cbiAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAsXG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZy10b3A6IDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwLnRyYWlsZXItaW5mbyxcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAudHJhaWxlci1pbmZvIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwOyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcC50cmFpbGVyLWluZm8gLnRyYWlsZXItaW5mby1idXR0b25zLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwLnRyYWlsZXItaW5mbyAudHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgICBkaXNwbGF5OiBub25lOyB9XG4gICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLnRpdGxlLnRpdGxlLXNtYWxsLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAudGl0bGUudGl0bGUtc21hbGwge1xuICAgICAgY29sb3I6ICMwMDA7IH1cbiAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgaGVpZ2h0OiB1bnNldDsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC50cmFpbGVyLW1vZGFsLWJ0bixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLnRyYWlsZXItbW9kYWwtYnRuIHtcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctd2hlZWwtYnRuLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctdHJhbGVyLWJ0bixcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNlNGU0ZTQ7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6ICNmZmY7XG4gICAgICAgIG9yZGVyOiAxOyB9XG4gICAgICAgICNzdG9yYWdlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuYnJpbmdpbmctdHJhbGVyLWJ0bi5zZWxlY3RlZC1zdGVwLW9wdGlvbixcbiAgICAgICAgI3N0b3JhZ2VNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwLnByZXZpb3VzLXN0ZXAgLmJ1dHRvbi13cmFwcGVyIC5icmluZ2luZy13aGVlbC1idG4uc2VsZWN0ZWQtc3RlcC1vcHRpb24sXG4gICAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLmJyaW5naW5nLXRyYWxlci1idG4uc2VsZWN0ZWQtc3RlcC1vcHRpb24sXG4gICAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLmJyaW5naW5nLXdoZWVsLWJ0bi5zZWxlY3RlZC1zdGVwLW9wdGlvbiB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2M3NTMwMDtcbiAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuICAgICAgICAgIG9yZGVyOiAyOyB9XG4gICAgICAjc3RvcmFnZU1vZGFsIC50cmFpbGVyLW1vZGFsLXN0ZXAucHJldmlvdXMtc3RlcCAuYnV0dG9uLXdyYXBwZXIgLnNlbGVjdGVkLXN0ZXAtb3B0aW9uLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcC5wcmV2aW91cy1zdGVwIC5idXR0b24td3JhcHBlciAuc2VsZWN0ZWQtc3RlcC1vcHRpb24ge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cblxuI3N0b3JhZ2VNb2RhbCAucmV0dXJuLXN0ZXAtYnV0dG9uLFxuI3RyYWlsZXJUaXJlTW9kYWwgLnJldHVybi1zdGVwLWJ1dHRvbiB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAyZW07XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBwYWRkaW5nLXJpZ2h0OiAyN3B4O1xuICBwb3NpdGlvbjogdW5zZXQ7XG4gIHJpZ2h0OiAxcmVtO1xuICB0b3A6IDAuNXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgI3N0b3JhZ2VNb2RhbCAucmV0dXJuLXN0ZXAtYnV0dG9uLFxuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5yZXR1cm4tc3RlcC1idXR0b24ge1xuICAgICAgZGlzcGxheTogbm9uZTsgfVxuICAgICAgI3N0b3JhZ2VNb2RhbCAucmV0dXJuLXN0ZXAtYnV0dG9uLm5vdC1zdGVwLW9uZSxcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsIC5yZXR1cm4tc3RlcC1idXR0b24ubm90LXN0ZXAtb25lIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7IH0gfVxuXG4jbGljZW5zZVBsYXRlTW9kYWwgLm1vZGFsLWNvbnRlbnQge1xuICBwYWRkaW5nOiAwIDI1cHg7IH1cblxuI2xpY2Vuc2VQbGF0ZU1vZGFsICNsaWNlbnNlUGxhdGVTdWJtaXQge1xuICBtYXgtd2lkdGg6IDI1MHB4OyB9XG5cbiNsaWNlbnNlUGxhdGVNb2RhbCAjbGljZW5zZS1wbGF0ZS1udW1iZXIge1xuICBwYWRkaW5nOiAwIDY1cHg7IH1cblxuI2xpY2Vuc2VQbGF0ZU1vZGFsIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBmb250LXdlaWdodDogNDAwO1xuICBwYWRkaW5nOiAyMHB4IDA7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjdHJhaWxlclRpcmVNb2RhbC5yZXZlYWwge1xuICAgIHdpZHRoOiA3NzVweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWhlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbjogMzBweCAzMHB4IDA7IH0gfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci10aXJlLWhlYWRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjsgfVxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci10aXJlLWhlYWRlciAubW9kYWwtdGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMjJweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItdGlyZS1oZWFkZXIgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7IH0gfVxuICAjdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci10aXJlLWhlYWRlciAuY2xvc2UtYnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzAwMDsgfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLmFjdGl2ZS10aXRsZSAuc3RlcC1tZXNzYWdlIHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNmZjY5MDA7XG4gIGNvbG9yOiAjMDAwO1xuICBwYWRkaW5nOiA0cHggMCAycHg7IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5zZWNvbmRhcnktbW9kYWwtdGl0bGUuZGlzYWJsZWQge1xuICBjb2xvcjogIzgwODA4MDtcbiAgY3Vyc29yOiBhdXRvOyB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuc3RlcC10aXRsZSB7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1zaXplOiAxNnB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCAuc3RlcC10aXRsZSB7XG4gICAgICBwYWRkaW5nOiAyMHB4OyB9IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5zZWNvbmQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBkaXNwbGF5OiBub25lO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBsaW5lLWhlaWdodDogMThweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnNlY29uZC10aXRsZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfSB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAubW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQgLnNlY29uZC10aXRsZSB7XG4gICAgICBtYXJnaW46IDMwcHggMzBweCAwOyB9IH1cbiAgI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50IC5zZWNvbmQtdGl0bGUuYWN0aXZlIHtcbiAgICBkaXNwbGF5OiBibG9jazsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICN0cmFpbGVyVGlyZU1vZGFsIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudC50cmFpbGVyLW1vZGFsLWNvbnRlbnQge1xuICAgIGhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3cteTogaGlkZGVuOyB9IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLm1vZGFsLWNvbnRlbnQudHJhaWxlci1tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCBidXR0b24uY2xvc2UtYnV0dG9uIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjMDAwO1xuICBkaXNwbGF5OiBibG9jazsgfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1zdGVwIHtcbiAgZGlzcGxheTogYmxvY2s7IH1cbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtc3RlcCAudHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IG5vbmU7IH1cblxuI3RyYWlsZXJUaXJlTW9kYWwgLnNlY29uZGFyeS1tb2RhbC10aXRsZSB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZvbnQtc2l6ZTogMTZweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlIHtcbiAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyOyB9IH1cbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnNlY29uZGFyeS1tb2RhbC10aXRsZSAuc3RlcC1hcnJvdyB7XG4gICAgY29sb3I6ICM4MDgwODA7XG4gICAgcGFkZGluZzogMCAxM3B4OyB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsICN0cmFpbGVyVGlyZU1vZGFsRXhpdCB7XG4gIHBhZGRpbmctcmlnaHQ6IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsICN0cmFpbGVyVGlyZU1vZGFsRXhpdCB7XG4gICAgICBsZWZ0OiAzMDBweDtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIHRvcDogMDsgfSB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsIC5icmluZ2luZy10cmFsZXItYnRuLFxuI3RyYWlsZXJUaXJlTW9kYWwgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gIGNvbG9yOiAjMDAwOyB9XG5cbiN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXIsXG4jdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyV2hlZWwge1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBtYXgtaGVpZ2h0OiBub25lO1xuICBtYXgtd2lkdGg6IG5vbmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXIsXG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcldoZWVsIHtcbiAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIHRyYW5zcGFyZW50OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNDcuOTM3NWVtKSB7XG4gICAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcixcbiAgICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyV2hlZWwge1xuICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7IH0gfVxuICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyOmhvdmVyLFxuICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyV2hlZWw6aG92ZXIge1xuICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkICNmZjY5MDA7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAjdHJhaWxlclRpcmVNb2RhbCAjYnJpbmdpbmdUcmFpbGVyIGltZyxcbiAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcldoZWVsIGltZyB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAgICN0cmFpbGVyVGlyZU1vZGFsICNicmluZ2luZ1RyYWlsZXIgaW1nLFxuICAgICAgI3RyYWlsZXJUaXJlTW9kYWwgI2JyaW5naW5nVHJhaWxlcldoZWVsIGltZyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7IH0gfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlci1tb2RhbC1idG4ge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjdmN2Y3O1xuICBib3JkZXI6IDA7IH1cbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXItbW9kYWwtYnRuOmhvdmVyIHtcbiAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCAjZmY2OTAwO1xuICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAjdHJhaWxlclRpcmVNb2RhbCAuY2hvb3NlLWFjdGlvbi5jdXJyZW50IC5idXR0b24td3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAzNjBweCk7IH0gfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICN0cmFpbGVyVGlyZU1vZGFsIC50cmFpbGVyVHlwZS5jdXJyZW50IC5idXR0b24td3JhcHBlciB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAyNzBweCk7XG4gICAgZ3JpZC10ZW1wbGF0ZS1yb3dzOiByZXBlYXQoMiwgNzZweCk7IH0gfVxuXG4jdHJhaWxlclRpcmVNb2RhbCAudHJhaWxlckxlbmd0aC5jdXJyZW50IC5zZWNvbmQtdGl0bGUge1xuICBtYXJnaW4tdG9wOiAwOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI3RyYWlsZXJUaXJlTW9kYWwgLnRyYWlsZXJMZW5ndGguY3VycmVudCAuYnV0dG9uLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMTcwcHgpOyB9IH1cblxuI2FwcG9pbnRtZW50U2VjdXJlIC5tb2RhbC1jb250ZW50LFxuI3NlbGVjdGVOZXdBcHBvaW50bWVudCAubW9kYWwtY29udGVudCB7XG4gIHBhZGRpbmc6IDIwcHg7IH1cblxuI2FwcG9pbnRtZW50U2VjdXJlIC5jbG9zZS1idXR0b24sXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5jbG9zZS1idXR0b24ge1xuICBvdXRsaW5lOiBub25lOyB9XG5cbiNhcHBvaW50bWVudFNlY3VyZSAudGl0bGUsXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC50aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgaW1nLFxuI3NlbGVjdGVOZXdBcHBvaW50bWVudCBpbWcge1xuICBtYXgtd2lkdGg6IDY4cHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNhcHBvaW50bWVudFNlY3VyZSBpbWcsXG4gICAgI3NlbGVjdGVOZXdBcHBvaW50bWVudCBpbWcge1xuICAgICAgbWF4LXdpZHRoOiA4NnB4OyB9IH1cblxuI2FwcG9pbnRtZW50U2VjdXJlIHAsXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBmb250LXNpemU6IDAuODc1cmVtO1xuICBwYWRkaW5nOiAwIDAgMTBweDsgfVxuXG4jYXBwb2ludG1lbnRTZWN1cmUgLmJ1dHRvbi13cmFwcGVyLFxuI3NlbGVjdGVOZXdBcHBvaW50bWVudCAuYnV0dG9uLXdyYXBwZXIge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNhcHBvaW50bWVudFNlY3VyZSAuYnV0dG9uLXdyYXBwZXIsXG4gICAgI3NlbGVjdGVOZXdBcHBvaW50bWVudCAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfSB9XG5cbiNhcHBvaW50bWVudFNlY3VyZSAuYXJlLXN0b3JlZC1idG4sXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IC5hcmUtc3RvcmVkLWJ0biB7XG4gIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICNhcHBvaW50bWVudFNlY3VyZSAuYXJlLXN0b3JlZC1idG4sXG4gICAgI3NlbGVjdGVOZXdBcHBvaW50bWVudCAuYXJlLXN0b3JlZC1idG4ge1xuICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgbWF4LXdpZHRoOiAxNTJweDsgfSB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgI2FwcG9pbnRtZW50U2VjdXJlIC5ub3Qtc3RvcmVkLWJ0bixcbiAgI3NlbGVjdGVOZXdBcHBvaW50bWVudCAubm90LXN0b3JlZC1idG4ge1xuICAgIG1heC13aWR0aDogMjI1cHg7IH0gfVxuXG4uYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIHtcbiAgbWFyZ2luLXRvcDogNTBweDsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC50aXRsZS13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAudGl0bGUtd3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmY7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC50aXRsZSB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnNlY3VkcmVkLXRpdGxlIHtcbiAgICBwYWRkaW5nOiAxNHB4IDAgMTRweCAxMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuc2VjdWRyZWQtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAucmVzdGFydC1idXR0b24ge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogI2M3NTMwMDtcbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZy1yaWdodDogMTBweDsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5leHBpcnkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjOTc5Nzk3O1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICBwYWRkaW5nOiAwIDEwcHggMzBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmV4cGlyeSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDUwcHg7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1jb250ZW50IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtY29udGVudCB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwOyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1kYXRlLXRpbWUge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBwYWRkaW5nOiAwOyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtYWRkcmVzcy13cmFwcGVyIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBwYWRkaW5nOiAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1hZGRyZXNzLXdyYXBwZXIge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4OyB9IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmxvY2F0aW9uLWhlYWRlciB7XG4gICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuOyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuc2VsZWN0ZWQtYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGNvbG9yOiAjYzc1MzAwO1xuICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICBwYWRkaW5nOiAxMHB4IDA7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYXBwb2ludG1lbnQtYnV0dG9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1idXR0b25zIHtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLXRvcDogNjBweDsgfSB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmNvbmZpcm0tYnV0dG9uIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXJnaW46IDAgMCAyMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuY29uZmlybS1idXR0b24ge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMTk2cHg7XG4gICAgICAgIG9yZGVyOiAxOyB9IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuYmFjay1idXR0b24ge1xuICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIG1hcmdpbjogMCAwIDUwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5iYWNrLWJ1dHRvbiB7XG4gICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICAgICAgb3JkZXI6IDA7IH0gfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5hcHBvaW50bWVudC1kdXJhdGlvbiB7XG4gICAgY29sb3I6ICM4MDgyODU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDAgMCAxMHB4OyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmxvY2F0aW9uLWl0ZW0tbmFtZSxcbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAubG9jYXRpb24taXRlbS1hZGRyZXNzIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5sb2NhdGlvbi1pdGVtLW5hbWUge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplOyB9XG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLmxvY2F0aW9uLXRpdGxlIHtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDsgfVxuICAuYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIC5yZXN0YXJ0LWFwcG9pbnRtZW50IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuY2l0eSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7IH1cbiAgLmFwcG9pbnRtZW50LWNvbmZpcm1hdGlvbiAuemlwLWNvZGUsXG4gIC5hcHBvaW50bWVudC1jb25maXJtYXRpb24gLnN0YXRlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbkBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDY0ZW0pIHtcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubm8tcGFkZGluZy1sZWZ0LWxhcmdlIHtcbiAgICBwYWRkaW5nLWxlZnQ6IDA7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAubm8tcGFkZGluZy1yaWdodC1sYXJnZSB7XG4gICAgcGFkZGluZy1yaWdodDogMDsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJsYWNrIHtcbiAgY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC53aGl0ZSB7XG4gIGNvbG9yOiAjZmZmICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAub3JhbmdlIHtcbiAgY29sb3I6ICNmZjY5MDAgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5kYXJrZXItZ3JheSB7XG4gIGNvbG9yOiAjMjYyNjI2ICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuaGFzLXNoYWRkb3cge1xuICB0ZXh0LXNoYWRvdzogMCAwIDEycHggcmdiYSgwLCAwLCAwLCAwLjMpICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYmFja2dyb3VuZC1ibGFjayB7XG4gIGJhY2tncm91bmQtY29sb3I6ICMwMDAgIWltcG9ydGFudDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5iYWNrZ3JvdW5kLXdoaXRlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmZiAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJhY2tncm91bmQtb3JhbmdlIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2ZmNjkwMCAhaW1wb3J0YW50OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJhY2tncm91bmQtZGFya2VyLWdyYXkge1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNjI2ICFpbXBvcnRhbnQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBoNSBhIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGZvbnQtc2l6ZTogMS4xMjVyZW07IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWZpZ3VyZSB7XG4gIGNvbG9yOiAjZmZmO1xuICBoZWlnaHQ6IDEwMCU7XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIHAge1xuICAgIG1hcmdpbjogMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIC5iYW5uZXItdGl0bGUge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBmb250LXNpemU6IDMuNzVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDMuNzVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWZpZ3VyZSAuYmFubmVyLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyLjVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyLjVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4OyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWZpZ3VyZSAuYmFubmVyLXN1YnRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgZm9udC1zaXplOiAwLjgxMjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgcGFkZGluZy1sZWZ0OiAwLjI1cmVtOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb21wb25lbnQtZmlndXJlIC5iYW5uZXItc3VidGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMDsgfSB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbXBvbmVudC1maWd1cmUgZmlnY2FwdGlvbiB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlOyB9XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWZpZ3VyZSBmaWdjYXB0aW9uIC5yb3cge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29tcG9uZW50LWltYWdlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgb2JqZWN0LXBvc2l0aW9uOiB2YXIoLS1mb2NhbC1wb2ludC14KSB2YXIoLS1mb2NhbC1wb2ludC15KTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC52aWRlby1hcnRpY2xlIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnZpZGVvLWFydGljbGUgaSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLW1haW4taW1hZ2UgLnZpZGVvLWFydGljbGUgaSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAudmlkZW8tYXJ0aWNsZSBpLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLnZpZGVvLWFydGljbGUgaSB7XG4gICAgZm9udC1zaXplOiA2MHB4OyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZS1hcnRpY2xlLWltYWdlIHtcbiAgbWF4LWhlaWdodDogMTguNzVyZW07XG4gIHdpZHRoOiAxMDAlOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1leHBsb3JldG9waWMsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgcGFkZGluZzogNXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1leHBsb3JldG9waWMsXG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyB7XG4gICAgICBwYWRkaW5nOiAyLjVyZW0gMDsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWxpbmstdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDIuMTg3NXJlbTtcbiAgbGluZS1oZWlnaHQ6IDIuMTg3NXJlbTtcbiAgcGFkZGluZy1ib3R0b206IDAuOTM3NXJlbTtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA0Ny45Mzc1ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1saW5rLXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS4yNXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1cmVtO1xuICAgICAgcGFkZGluZy1ib3R0b206IDAuMzEyNXJlbTsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS50b3BpYy1saW5rIHtcbiAgY29sb3I6ICMwMDA7XG4gIGRpc3BsYXk6IGJsb2NrOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS50b3BpYy1saW5rOmhvdmVyIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEudG9waWMtbGluayAudG9waWMtbGluay1pbWFnZSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIHdpZHRoOiA0MHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgYS50b3BpYy1saW5rIGkge1xuICAgIGZvbnQtc2l6ZTogNDBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEudG9waWMtbGluayBwIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAwLjc1cmVtO1xuICAgIHBhZGRpbmctdG9wOiAwLjMxMjVyZW07IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucG9wdWxhci1yZWFkcyB7XG4gIG1hcmdpbjogNTBweCAwIDIwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZXMtaW5maW5pdGUge1xuICBtYXJnaW46IDIwcHggMDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZXMtaW5maW5pdGUge1xuICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweDsgfSB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnBvcHVsYXItcmVhZHMtdG9wLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucmVsYXRlZC1yZWFkcy10b3Age1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnBvcHVsYXItcmVhZHMtdGl0bGUge1xuICBib3JkZXItbGVmdDogM3B4IHNvbGlkICNmZjY5MDA7XG4gIGZvbnQtc2l6ZTogMXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGxpbmUtaGVpZ2h0OiAwLjg3NXJlbTtcbiAgcGFkZGluZy1sZWZ0OiA4cHg7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucG9wdWxhci1yZWFkcy1saW5rIHtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgdGV4dC1hbGlnbjogcmlnaHQ7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250YWluZXIge1xuICBib3JkZXI6IDFweCBzb2xpZCAjZjdmN2Y3O1xuICBtYXJnaW4tYm90dG9tOiAyMHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtaW5mbyB7XG4gIHBhZGRpbmc6IDE1cHggMTVweCA2cHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtdGFnIHtcbiAgZGlzcGxheTogbm9uZTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLXRpdGxlIHtcbiAgZm9udC1zaXplOiAxcmVtO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgaGVpZ2h0OiAzOHB4O1xuICBsaW5lLWhlaWdodDogMS4yNXJlbTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWxpbmsudGV4dC1saW5rIHtcbiAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gIGZvbnQtd2VpZ2h0OiBib2xkOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtbGluay50ZXh0LWxpbmsuYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAyMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtbGluay50ZXh0LWxpbms6OmFmdGVyIHtcbiAgICBjb250ZW50OiBcIiA+XCI7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1saW5rLnRleHQtbGluay50ZXh0LWxpbmstY3VzdG9tOjphZnRlciB7XG4gICAgY29udGVudDogXCJcIjsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRhaW5lcixcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1saW5rLWZ1bGwge1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGhlaWdodDogMTAwJTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlLFxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIHtcbiAgY29sb3I6ICNmZmY7XG4gIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS1pbmZvLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtaW5mbyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgcGFkZGluZzogNTBweCA1MHB4IDA7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmFydGljbGUtaW5mbyxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS1pbmZvIHtcbiAgICAgICAgcGFkZGluZzogMjBweCA0MHB4OyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuZmVhdHVyZWQtdGFnLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmZlYXR1cmVkLXRhZyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogIzQyNDI0MjtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgZm9udC1zaXplOiAwLjU2MjVyZW07XG4gICAgcGFkZGluZzogNHB4IDdweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmFydGljbGUtdGl0bGUsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS10aXRsZSB7XG4gICAgZm9udC1zaXplOiAxLjkzNzVyZW07XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbGluZS1oZWlnaHQ6IDJyZW07XG4gICAgcGFkZGluZzogMTZweCAwIDEwcHg7IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiA2My45Mzc1ZW0pIHtcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWFydGljbGUgLmFydGljbGUtdGl0bGUsXG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IDEuNDM3NXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5hcnRpY2xlLWRlc2NyaXB0aW9uLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtZGVzY3JpcHRpb24ge1xuICAgIGRpc3BsYXk6IC13ZWJraXQtYm94O1xuICAgIC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgbWF4LWhlaWdodDogMzZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuOyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1hcnRpY2xlIC5hcnRpY2xlLWRlc2NyaXB0aW9uLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgLXdlYmtpdC1saW5lLWNsYW1wOiAzO1xuICAgICAgICBtYXgtaGVpZ2h0OiA1NXB4OyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtYXJ0aWNsZSAuYXJ0aWNsZS1saW5rLmJ1dHRvbixcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLWxpbmsuYnV0dG9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICBwYWRkaW5nOiAxMnB4IDI0cHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZXMtbGF5b3V0IC5mZWF0dXJlLWFydGljbGUtaW1hZ2Uge1xuICBtYXgtaGVpZ2h0OiAxNnJlbTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuZmVhdHVyZWQtbGVmdC1hcnRpY2xlIC5hcnRpY2xlLWluZm8ge1xuICAgIHBhZGRpbmc6IDIycHggMzBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgLmFydGljbGUtdGl0bGUge1xuICAgIHBhZGRpbmc6IDI2cHggMCAxMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmZlYXR1cmVkLWxlZnQtYXJ0aWNsZSAuYXJ0aWNsZS1kZXNjcmlwdGlvbiB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIG1hcmdpbjogNXB4IDAgMjBweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUgYSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luLWJvdHRvbTogMTBweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1icmVhZGNydW1iIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzI2MjYyNjtcbiAgY29sb3I6ICNmZmY7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtYnJlYWRjcnVtYiAuYXJ0aWNsZS1icmVhZGNydW1icyB7XG4gICAgbWFyZ2luOiAxNXB4IDAgNXB4OyB9XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtYnJlYWRjcnVtYiAuYXJ0aWNsZS1icmVhZGNydW1icyBhLFxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRvcGljLWJyZWFkY3J1bWIgLmFydGljbGUtYnJlYWRjcnVtYnMgcCB7XG4gICAgICBjb2xvcjogI2ZmZjsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1icmVhZGNydW1iIC50b3BpYy10aXRsZSB7XG4gICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1icmVhZGNydW1iIC50b3BpYy10aXRsZS10ZXh0IHtcbiAgICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgbWFyZ2luOiAwIDAgMjVweCAxMHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtYnJlYWRjcnVtYnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LXdyYXA6IHdyYXA7XG4gIG1hcmdpbjogMTBweCAwIDIwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1icmVhZGNydW1icyBhLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWJyZWFkY3J1bWJzIHAge1xuICAgIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDAuNjg3NXJlbTtcbiAgICBsaW5lLWhlaWdodDogMC42ODc1cmVtOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJyZWFkY3J1bWItbGV2ZWwtMSxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJyZWFkY3J1bWItbGV2ZWwtMixcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJyZWFkY3J1bWItbGV2ZWwtMyB7XG4gIHBhZGRpbmctYm90dG9tOiAxMHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJyZWFkY3J1bWItbGV2ZWwtMSBhOjphZnRlcixcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJyZWFkY3J1bWItbGV2ZWwtMSBwOjphZnRlcixcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJyZWFkY3J1bWItbGV2ZWwtMiBhOjphZnRlcixcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJyZWFkY3J1bWItbGV2ZWwtMiBwOjphZnRlciB7XG4gIGNvbnRlbnQ6IFwiL1wiO1xuICBtYXJnaW46IDAgNnB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmJyZWFkY3J1bWItbGV2ZWwtMyBwIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgbWFyZ2luOiAwOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB7XG4gIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gIG1hcmdpbi10b3A6IDQwcHg7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyxcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB7XG4gICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBwIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY29udGVudHMgcCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyB1bCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBvbCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBoNCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgcCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgdWwsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIG9sLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBoNCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIG9sLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB1bCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgb2wge1xuICAgIGZvbnQtc2l6ZTogMC44NzVyZW07IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIG9sLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBwLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB1bCxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgb2wge1xuICAgIG1hcmdpbi1ib3R0b206IDI1cHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBoMSxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgaDEge1xuICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU2MjVyZW07IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBoMixcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgaDIge1xuICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyBoMyxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgaDMge1xuICAgIGNvbG9yOiAjMDAwO1xuICAgIGZvbnQtc2l6ZTogMXJlbTtcbiAgICBsaW5lLWhlaWdodDogMXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGg0LFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBoNCB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAxcmVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyAuYXJ0aWNsZS1wYWdlLXRpdGxlLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCAuYXJ0aWNsZS1wYWdlLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjU2MjVyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyAuYXJ0aWNsZS1wYWdlLXRpdGxlLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgLmFydGljbGUtcGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIC5hcnRpY2xlLW1haW4taW1hZ2UsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIC5hcnRpY2xlLW1haW4taW1hZ2Uge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1jb250ZW50cyAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtbWFya3VwIC5hcnRpY2xlLXBhZ2UtY29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogNzVweDsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIG9sLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCBvbCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIG9sLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgb2wge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5jb250ZW50LW1hcmt1cCB1bCB7XG4gICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICBmb250LXdlaWdodDogNDAwO1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG4gICAgcGFkZGluZy1sZWZ0OiAzMHB4OyB9XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogNjMuOTM3NWVtKSB7XG4gICAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIHVsLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgdWwge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7IH0gfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIGltZyxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW46IDAgYXV0bzsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvbnRlbnRzIC5wcm9kdWN0LWltYWdlLWJhZGdlIGltZyxcbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAgLnByb2R1Y3QtaW1hZ2UtYmFkZ2UgaW1nIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1tYXJrdXAge1xuICBtYXJnaW46IDA7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYm90dG9tLWJvcmRlci0ycC1ncmF5IHtcbiAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkOWQ5ZGE7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudmlkZW8tYXJ0aWNsZS1saW5rIHtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHdpZHRoOiAxMDAlO1xuICB6LWluZGV4OiAyOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtdmlkZW8ge1xuICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICBtYXJnaW4tdG9wOiA1MHB4OyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy11cC1jb250YWluZXIge1xuICBtYXJnaW46IDIwcHggMCA1MHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLXVwLXRpdGxlIHAge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMjVyZW07XG4gIG1hcmdpbjogMCAwIDRweDtcbiAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtc3VidGl0bGUgcCB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbjogMDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdHJpZ2dlcnMge1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcGFkZGluZy10b3A6IDIwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLXVwLXRyaWdnZXJzIGkge1xuICAgIGNvbG9yOiAjYjBiMWIzO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogMi42MjVyZW07IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLXVwLXRyaWdnZXJzIGkuYWN0aXZlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50aHVtYnMtdXAtdHJpZ2dlcixcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRodW1icy1kb3duLXRyaWdnZXIge1xuICBjdXJzb3I6IHBvaW50ZXI7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLXVwLXRyaWdnZXIge1xuICBtYXJnaW4tcmlnaHQ6IDEwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGh1bWJzLWRvd24tdHJpZ2dlciB7XG4gIG1hcmdpbi1sZWZ0OiAxMHB4O1xuICBwYWRkaW5nLXRvcDogMTJweDsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24ge1xuICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICBtaW4taGVpZ2h0OiAzMjBweDtcbiAgdGV4dC1hbGlnbjogY2VudGVyOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZXh0ZXJuYWwtc2VjdGlvbiAuYXJ0aWNsZS1leHRlcm5hbC1jb250ZW50IHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDQ3LjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1leHRlcm5hbC1zZWN0aW9uIC5hcnRpY2xlLWV4dGVybmFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4OyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1leHRlcm5hbC1zZWN0aW9uIC5hcnRpY2xlLWV4dGVybmFsLXRpdGxlIHtcbiAgICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgZm9udC1zaXplOiAxLjI1cmVtO1xuICAgIG1hcmdpbjogMTBweCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1leHRlcm5hbC1zZWN0aW9uIC5hcnRpY2xlLWV4dGVybmFsLXN1YnRpdGxlIHtcbiAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgIG1hcmdpbi1ib3R0b206IDEwcHg7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1leHRlcm5hbC1zZWN0aW9uIC5idXR0b24ge1xuICAgIG1hcmdpbi10b3A6IDIwcHg7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIHtcbiAgcGFkZGluZzogNTBweCAxMHB4IDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZmlsdGVycyB7XG4gICAgICBwYWRkaW5nOiA1MHB4IDMwcHggMCAxMHB4OyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIHAge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjY2NjO1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgIHBhZGRpbmctYm90dG9tOiAzMHB4OyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZmlsdGVycyBhIHtcbiAgICBjb2xvcjogIzAwMDtcbiAgICBmb250LXNpemU6IDAuOTM3NXJlbTsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWZpbHRlcnMgYTpob3ZlciB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIC5hY3RpdmUtbGluayB7XG4gICAgY29sb3I6ICNmZjY5MDA7IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuYXJ0aWNsZS1maWx0ZXJzIC5zdWJjYXRlZ29yeS1yZWdpb24ge1xuICAgIG1hcmdpbjogMCAwIDEwcHggMTBweDsgfVxuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtZmlsdGVycyAuc3ViY2F0ZWdvcnktcmVnaW9uIGEge1xuICAgICAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgICAgIGZvbnQtd2VpZ2h0OiA0MDA7XG4gICAgICBmb250LXNpemU6IDAuODc1cmVtOyB9XG5cbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmFydGljbGUtY291bnQge1xuICBkaXNwbGF5OiBub25lOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5hcnRpY2xlLWNvdW50IHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBwLmFydGljbGUtY291bnQtbW9iaWxlIHtcbiAgYm9yZGVyLWJvdHRvbTogMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMTBweCAwIDA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgcC5hcnRpY2xlLWNvdW50LW1vYmlsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnJlZmluZW1lbnQtZmlsdGVyLXRvZ2dsZSB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuNzVyZW07XG4gIG1hcmdpbjogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnJlZmluZW1lbnQtZmlsdGVyLXRvZ2dsZSB7XG4gICAgICBkaXNwbGF5OiBub25lOyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSBhLnJlZmluZW1lbnQtZmlsdGVyLXRvZ2dsZS5hY3RpdmUge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7IH1cbiAgICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIGEucmVmaW5lbWVudC1maWx0ZXItdG9nZ2xlLmFjdGl2ZSA6OmFmdGVyIHtcbiAgICAgIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG4gICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTsgfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50b3BpYy1maWx0ZXJzIHtcbiAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNjY2M7XG4gIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2NjYztcbiAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgI2NjYztcbiAgZGlzcGxheTogbm9uZTtcbiAgcGFkZGluZzogMTVweDsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudG9waWMtZmlsdGVycyB7XG4gICAgICBib3JkZXI6IDA7XG4gICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIHBhZGRpbmc6IDA7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCB7XG4gIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCAuY29sdW1uLWNvbnRlbnQge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMTBweDsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgLmNvbHVtbi1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogNHB4OyB9IH1cbiAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgcCB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IHVsIHtcbiAgICBsaXN0LXN0eWxlOiBkaXNjOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IG9sIHtcbiAgICBsaXN0LXN0eWxlOiBkZWNpbWFsOyB9XG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IHAsXG4gIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IHVsLFxuICAucGFnZS1kZXNpZ25lci1rYWx0aXJlIC50YWJsZS1ncmlkLWNvbXBvbmVudCBvbCB7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgcCxcbiAgICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLnRhYmxlLWdyaWQtY29tcG9uZW50IHVsLFxuICAgICAgLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAudGFibGUtZ3JpZC1jb21wb25lbnQgb2wge1xuICAgICAgICBmb250LXNpemU6IDAuNzVyZW07IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5mbGV4LWNlbnRlciB7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGhlaWdodDogMTAwJTtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAuY29udGVudC1vcHRpb25hbC10aXRsZSB7XG4gIGZvbnQtZmFtaWx5OiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG4gIGZvbnQtd2VpZ2h0OiA3MDA7XG4gIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICBsaW5lLWhlaWdodDogMS41NjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyNHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtYXgtd2lkdGg6IDYzLjkzNzVlbSkge1xuICAgIC5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmNvbnRlbnQtb3B0aW9uYWwtdGl0bGUge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH0gfVxuXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5leHBlcmllbmNlLWxheW91dHMtcHJvZHVjdGNhcmRyaWdodCxcbi5wYWdlLWRlc2lnbmVyLWthbHRpcmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wcm9kdWN0Y2FyZGxlZnQsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIC5leHBlcmllbmNlLWxheW91dHMtcHJvZHVjdGNhcmRzY2VudGVyZWQge1xuICBtYXJnaW46IDEuODc1cmVtIDA7IH1cblxuLnBhZ2UtZGVzaWduZXIta2FsdGlyZSAucG93ZXJyZXZpZXdzLWNvbnRhaW5lciB7XG4gIG1pbi1oZWlnaHQ6IDMzcHg7IH1cblxuLnZpZGVvLWFydGljbGUtcG9wdXAgLnVpLWRpYWxvZy10aXRsZWJhci1jbG9zZSB7XG4gIHJpZ2h0OiAxNnB4O1xuICB0b3A6IC0yOHB4OyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAudmlkZW8tYXJ0aWNsZS1wb3B1cCAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgICAgIHJpZ2h0OiAxNnB4O1xuICAgICAgdG9wOiAtMjhweDsgfSB9XG5cbi52aWRlby1hcnRpY2xlLXBvcHVwICNkaWFsb2ctY29udGFpbmVyIHtcbiAgcGFkZGluZzogMDsgfVxuXG5AbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWhlYWRsaW5lYmFubmVyZnVsbHdpZHRoIHtcbiAgICBoZWlnaHQ6IDM3MXB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjsgfVxuICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWhlYWRsaW5lYmFubmVyZnVsbHdpZHRoIC50aXRsZS1yb3cge1xuICAgICAgbWFyZ2luOiAwIDAgMCAzNDVweDtcbiAgICAgIHRleHQtYWxpZ246IGp1c3RpZnk7IH1cbiAgICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWhlYWRsaW5lYmFubmVyZnVsbHdpZHRoIC50aXRsZS1yb3cgLmJhbm5lci10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDsgfVxuICAgICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGggLnRpdGxlLXJvdyAuYmFubmVyLXN1YnRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBwYWRkaW5nOiAwOyB9XG4gICAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1oZWFkbGluZWJhbm5lcmZ1bGx3aWR0aCAudGl0bGUtcm93IC5zdWJ0aXRsZS1yb3cge1xuICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGggLnRpdGxlLXJvdyAuc3VidGl0bGUtcm93IC5zdWJ0aXRsZS1jb2x1bW4ge1xuICAgICAgICAgIHBhZGRpbmc6IDA7IH1cbiAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyB7XG4gICAgaGVpZ2h0OiA0MDhweDtcbiAgICBwYWRkaW5nOiAxMjBweCAwOyB9XG4gICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyAudG9waWMtbGluay10aXRsZSB7XG4gICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7IH1cbiAgICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIC50b3BpYy1jb2x1bW4ge1xuICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICBtYXJnaW46IDAgMjRweDtcbiAgICAgIHBhZGRpbmc6IDA7IH1cbiAgICAgICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3MgLnRvcGljLWNvbHVtbiAudG9waWMtbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47IH1cbiAgICAgICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyAudG9waWMtY29sdW1uIC50b3BpYy1saW5rIGkge1xuICAgICAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgICAgICBtYXJnaW46IDA7IH1cbiAgICAgICAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1hc3NldHMtZXhwbG9yZXRvcGljcyAudG9waWMtY29sdW1uIC50b3BpYy1saW5rIHAge1xuICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICBwYWRkaW5nLXRvcDogMjJweDsgfVxuICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWxheW91dHMtcG9wdWxhcnJlYWRzIC5wb3B1bGFyLXJlYWRzIHtcbiAgICBtYXJnaW46IDEwMHB4IDAgNzBweDsgfVxuICAjcmVzb3VyY2UtY2VudHJlIC5leHBlcmllbmNlLWxheW91dHMtcG9wdWxhcnJlYWRzIC5wb3B1bGFyLXJlYWRzLXRpdGxlIHtcbiAgICBmb250LXNpemU6IDI2cHg7XG4gICAgaGVpZ2h0OiAyM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMXB4OyB9XG4gICNyZXNvdXJjZS1jZW50cmUgLmV4cGVyaWVuY2UtbGF5b3V0cy1wb3B1bGFycmVhZHMgLmZlYXR1cmVkLWFydGljbGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH1cbiAgI3Jlc291cmNlLWNlbnRyZSAuZXhwZXJpZW5jZS1sYXlvdXRzLXBvcHVsYXJyZWFkcyAuYXJ0aWNsZS1jb250YWluZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7IH0gfVxuXG4uc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LXRpdGxlIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgZm9udC1zaXplOiAxLjMxMjVyZW07XG4gIG1hcmdpbjogMS44NzVyZW0gMCAxLjI1cmVtO1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LXRpdGxlIHtcbiAgICAgIGZvbnQtc2l6ZTogMS42MjVyZW07XG4gICAgICBtYXJnaW46IDMuMTI1cmVtIDA7IH0gfVxuXG4uc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LW9yZGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlOyB9XG4gIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtb3JkZXIgaW5wdXRbdHlwZT1cIm51bWJlclwiXSB7XG4gICAgYXBwZWFyYW5jZTogdGV4dGZpZWxkOyB9XG4gIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtb3JkZXIgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gIC5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtb3JkZXIgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgIGFwcGVhcmFuY2U6IG5vbmU7XG4gICAgbWFyZ2luOiAwOyB9XG5cbi5zZWxmLXNlcnZpY2UtZW50cnktcG9pbnQtd3JhcHBlciB7XG4gIG1hcmdpbi1ib3R0b206IDYuMjVyZW07XG4gIHBhZGRpbmc6IDAuMzEyNXJlbSAwOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LXdyYXBwZXIge1xuICAgICAgYm9yZGVyOiAwLjMxMjVyZW0gc29saWQgcmdiYSgyNDIsIDI0MiwgMjQyLCAwLjgpO1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIHBhZGRpbmc6IDVyZW0gMCAyLjVyZW07IH0gfVxuICAuc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LXdyYXBwZXIgLmhhcy10aXAtY3VzdG9tIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWFyZ2luLWxlZnQ6IDAuNDM3NXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAtMC4xMjVyZW07IH1cbiAgLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC13cmFwcGVyIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7XG4gICAgY29sb3I6ICNmZmY7XG4gICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgd2lkdGg6IDEuMTI1cmVtOyB9XG5cbi5maW5kLW15LWFwcG9pbnRtZW50IHtcbiAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmZpbmQtbXktYXBwb2ludG1lbnQge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cblxuLnNlYXNvbi10aXJlLXBvcHVwIHtcbiAgd2lkdGg6IDYwMHB4ICFpbXBvcnRhbnQ7IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC5kaWFsb2ctY29udGVudCB7XG4gICAgcGFkZGluZzogMDsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLnNlYXNvbi10aXJlLXBvcHVwLXRpdGxlIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmY2OTAwO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAzLjc1cmVtIDEuNTYyNXJlbSAxLjU2MjVyZW07IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnk6OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBmb250LXNpemU6IDEuMjVyZW07IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2UgLnVpLWJ1dHRvbi1pY29uLXByaW1hcnk6aG92ZXI6OmFmdGVyIHtcbiAgICBjb2xvcjogI2ZmZjsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgLnNlYXNvbi10aXJlLXBvcHVwLXdyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1mbG93OiBjb2x1bW4tcmV2ZXJzZTtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMy43NXJlbSAxLjU2MjVyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLnNlYXNvbi10aXJlLXBvcHVwLXdyYXBwZXIge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdztcbiAgICAgICAgcGFkZGluZzogMS41NjI1cmVtIDMuNzVyZW0gMS41NjI1cmVtIDAuOTM3NXJlbTsgfSB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMC42MjVyZW07IH1cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAwLjkzNzVyZW07IH0gfVxuICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuY29uZmlybS1jYW5jZWxhdGlvbi13cmFwcGVyIC5idXR0b24ge1xuICAgICAgd2lkdGg6IDEwMCU7IH1cbiAgICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgICAgLnNlYXNvbi10aXJlLXBvcHVwIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIgLmJ1dHRvbiB7XG4gICAgICAgICAgd2lkdGg6IGluaGVyaXQ7IH0gfVxuICAgICAgLnNlYXNvbi10aXJlLXBvcHVwIC5jb25maXJtLWNhbmNlbGF0aW9uLXdyYXBwZXIgLmJ1dHRvbjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZjY5MDA7IH1cbiAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciAua2VlcC1hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICAgIGJvcmRlcjogMC4xODc1cmVtIHNvbGlkICNmZjY5MDA7XG4gICAgICBjb2xvcjogIzAwMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgcGFkZGluZzogMC44MTI1cmVtIDAuOTM3NXJlbTsgfVxuICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgICAgICAuc2Vhc29uLXRpcmUtcG9wdXAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciAua2VlcC1hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTsgfSB9XG4gIC5zZWFzb24tdGlyZS1wb3B1cCAuYXBpZmFpbGVkLXBvcHVwLXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAwLjYyNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCAuYXBpZmFpbGVkLXBvcHVwLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMC45Mzc1cmVtOyB9IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICBiYWNrZ3JvdW5kOiAjYmZjMGMyO1xuICAgIG9wYWNpdHk6IDE7IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIC5pbnB1dC1jdXN0b20sXG4gIC5zZWFzb24tdGlyZS1wb3B1cCBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjOWM5Yzk7XG4gICAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICB3aWR0aDogMS4xMjVyZW07IH1cbiAgLnNlYXNvbi10aXJlLXBvcHVwIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBib3JkZXI6IDAuMjVyZW0gc29saWQgI2ZmNjkwMDsgfVxuICAuc2Vhc29uLXRpcmUtcG9wdXAgaW1nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICBtYXgtd2lkdGg6IDcuNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5zZWFzb24tdGlyZS1wb3B1cCBpbWcge1xuICAgICAgICBmbG9hdDogcmlnaHQ7IH0gfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIC5maWVsZC13cmFwcGVyIHtcbiAgZm9udC1mYW1pbHk6IFwiR290aGFtIEFcIiwgXCJHb3RoYW0gQlwiLCBBcmlhbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgZm9udC1zaXplOiAwLjkzNzVyZW07IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciAucmFkaW8tZm9ybSB7XG4gIG1hcmdpbi1ib3R0b206IDAuNjI1cmVtOyB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgLmlucHV0LWN1c3RvbSxcbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgYm9yZGVyOiAxcHggc29saWQgI2M5YzljOTtcbiAgaGVpZ2h0OiAxLjEyNXJlbTtcbiAgd2lkdGg6IDEuMTI1cmVtOyB9XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIgaW5wdXRbdHlwZT1cInJhZGlvXCJdOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAwLjI1cmVtIHNvbGlkICNmZjY5MDA7IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciAuY2FuY2VsLWFwcG9pbnRtZW50LXdoeSB7XG4gIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1cnZleS13cmFwcGVyIC5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXN1Ym1pdCB7XG4gIG1hcmdpbi10b3A6IDEuODc1cmVtO1xuICBwYWRkaW5nOiAwLjkzNzVyZW0gMy4xMjVyZW07IH1cblxuLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktd3JhcHBlciAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gIGJhY2tncm91bmQ6ICNiZmMwYzI7XG4gIG9wYWNpdHk6IDE7IH1cblxuLnRvb2x0aXAgLnNlYXNvbi10aXJlLXBvcHVwLW9yZGVyIHtcbiAgYmFja2dyb3VuZDogI2ZmNjkwMDtcbiAgY29sb3I6ICNmZmY7XG4gIHBhZGRpbmc6IDAuOTM3NXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIG1hcmdpbjogMCAwLjYyNXJlbSAxLjI1cmVtO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAxLjg3NXJlbSAzLjc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94IHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDMuNzVyZW07IH0gfVxuICAuYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveCAuZmEtY2hlY2stY2lyY2xlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGVmdDogMS44NzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94IC5mYS1jaGVjayB7XG4gICAgY29sb3I6ICNmZjY5MDA7XG4gICAgZm9udC1zaXplOiAwLjY4NzVyZW07XG4gICAgbGVmdDogMS44NzVyZW07XG4gICAgbWFyZ2luLXRvcDogMC4zMTI1cmVtO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTsgfVxuICAgIC5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94IC5mYS1jaGVjazo6YmVmb3JlIHtcbiAgICAgIGJvcmRlcjogM3B4IHNvbGlkICNmZjY5MDA7XG4gICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICBwYWRkaW5nOiAwLjE4NzVyZW07IH1cblxuLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3gta2VlcCB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIG1hcmdpbjogMCAwLjYyNXJlbSAxLjI1cmVtO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAxLjI1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtcmVzY2hlZHVsZS1tZXNzYWdlLWJveC1rZWVwIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtOyB9IH1cblxuLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMjtcbiAgbWFyZ2luOiAwIDAuNjI1cmVtIDEuMjVyZW07XG4gIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDEuODc1cmVtIDMuNzVyZW07XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTsgfVxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOiA0OGVtKSB7XG4gICAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDMuNzVyZW07IH0gfVxuICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLmZhLWV4Y2xhbWF0aW9uLXRyaWFuZ2xlLFxuICAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIgLmZhLWNoZWNrIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBmb250LXNpemU6IDEuMjVyZW07XG4gICAgbGVmdDogMS44NzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlOyB9XG4gIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAuZmEtY2hlY2sge1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTsgfVxuICAgIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAuZmEtY2hlY2s6OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgcGFkZGluZzogMC4xODc1cmVtOyB9XG4gIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAuY29udGFjdC11cyxcbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC50YWxrLW1lbWJlciB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7IH1cbiAgLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci13cmFwcGVyIC50YWxrLW1lbWJlciB7XG4gICAgbWFyZ2luOiAwOyB9XG4gIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciAucGhvbmUtbnVtYmVyIHtcbiAgICBjb2xvcjogIzgwODI4NTsgfVxuXG4uY2FuY2VsLWFwcG9pbnRtZW50LXN1Y2Nlc3Mtd3JhcHBlciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gIG1hcmdpbjogMS41NjI1cmVtIDAgMi4xODc1cmVtO1xuICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAxLjg3NXJlbSAzLjc1cmVtO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5jYW5jZWwtYXBwb2ludG1lbnQtc3VjY2Vzcy13cmFwcGVyIHtcbiAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDMuNzVyZW07IH0gfVxuICAuY2FuY2VsLWFwcG9pbnRtZW50LXN1Y2Nlc3Mtd3JhcHBlciAuZmEtY2hlY2sge1xuICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgIGZvbnQtc2l6ZTogMC42ODc1cmVtO1xuICAgIGxlZnQ6IDEuODc1cmVtO1xuICAgIG1hcmdpbi10b3A6IDAuMzEyNXJlbTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7IH1cbiAgICAuY2FuY2VsLWFwcG9pbnRtZW50LXN1Y2Nlc3Mtd3JhcHBlciAuZmEtY2hlY2s6OmJlZm9yZSB7XG4gICAgICBib3JkZXI6IDNweCBzb2xpZCAjZmY2OTAwO1xuICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgcGFkZGluZzogMC4xODc1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtdGl0bGUge1xuICBmb250LWZhbWlseTogXCJHb3RoYW0gQVwiLCBcIkdvdGhhbSBCXCIsIEFyaWFsO1xuICBmb250LXdlaWdodDogNzAwO1xuICBmb250LXNpemU6IDEuMzEyNXJlbTtcbiAgbWFyZ2luOiAxLjg3NXJlbSAwIDEuMjVyZW07XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1kYXNoYm9hcmQtdGl0bGUge1xuICAgICAgZm9udC1zaXplOiAxLjYyNXJlbTtcbiAgICAgIG1hcmdpbjogMy4xMjVyZW0gMCAxLjI1cmVtOyB9IH1cbiAgLmFwcG9pbnRtZW50LWRhc2hib2FyZC10aXRsZTo6YmVmb3JlIHtcbiAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICBjb250ZW50OiBcInxcIjtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLW9yZGVyLXN1bW1hcnkge1xuICBtYXJnaW46IDEuMjVyZW0gMDsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXN0YXJ0dGltZSB7XG4gIGNvbG9yOiAjZmY2OTAwO1xuICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtc3RhcnR0aW1lLWRheSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jb25maXJtIHtcbiAgbWFyZ2luLWJvdHRvbTogMC4zMTI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY29uZmlybS1wcm92aW5jZSB7XG4gIG1hcmdpbi1ib3R0b206IDIuNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uIHtcbiAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gIHdoaXRlLXNwYWNlOiBwcmUtbGluZTsgfVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWxvY2F0aW9uLWRpc3RhbmNlIHtcbiAgY29sb3I6ICM4MDgyODU7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgcGFkZGluZzogMC4zMTI1cmVtIDAgMC42MjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1zcGFjZSB7XG4gIG1hcmdpbjogMC42MjVyZW0gMCAxLjI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtcmVzY2hlZHVsZSB7XG4gIG1hcmdpbi10b3A6IDEuMjVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1jYW5jZWwge1xuICBjb2xvcjogI2ZmNjkwMDtcbiAgZGlzcGxheTogYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBtYXJnaW4tYm90dG9tOiA2LjI1cmVtO1xuICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1kYXNoYm9hcmQtY2FuY2VsIHtcbiAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgIG1hcmdpbi1sZWZ0OiAwLjkzNzVyZW07IH0gfVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItc2VsZWN0LW5ldy1kYXRlIHtcbiAgZm9udC1zaXplOiAxLjEyNXJlbTtcbiAgbWFyZ2luLWJvdHRvbTogMDtcbiAgbWFyZ2luLXRvcDogMS44NzVyZW07IH1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jYWxlbmRhci1uYW1lIHtcbiAgZm9udC1zaXplOiAxcmVtOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tY2FsZW5kYXItYWRkcmVzcyB7XG4gIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gIG1hcmdpbi1ib3R0b206IDA7XG4gIG1hcmdpbi10b3A6IDAuNjI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1kcm9wIHtcbiAgY29sb3I6ICNmZjY5MDA7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICBmb250LXNpemU6IDAuODc1cmVtOyB9XG4gIC5hcHBvaW50bWVudC1jYWxlbmRhci1kcm9wOmhvdmVyIHtcbiAgICBjb2xvcjogI2RiNWEwMDsgfVxuXG4uc3RvcmUtZGV0YWlscy1ib3gtd3JhcHBlciB7XG4gIG1hcmdpbi10b3A6IDIuNXJlbTsgfVxuICAuc3RvcmUtZGV0YWlscy1ib3gtd3JhcHBlciAuc3RvcmUtZGV0YWlscy1ib3gge1xuICAgIG1hcmdpbi10b3A6IDA7IH1cbiAgICAuc3RvcmUtZGV0YWlscy1ib3gtd3JhcHBlciAuc3RvcmUtZGV0YWlscy1ib3ggLm1vcmUtaW5mby10aXRsZSB7XG4gICAgICBjb2xvcjogI2ZmNjkwMDtcbiAgICAgIGZvbnQtc2l6ZTogMC44MTI1cmVtOyB9XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1wbGFpbi10ZXh0IHtcbiAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTsgfVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItYnV0dG9uLXdyYXBwZXIgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICBiYWNrZ3JvdW5kOiAjYmZjMGMyO1xuICBvcGFjaXR5OiAxOyB9XG5cbi5hcHBvaW50bWVudC1jYWxlbmRhci1idXR0b24td3JhcHBlciAuYnV0dG9uIHtcbiAgd2lkdGg6IDEwMCU7IH1cbiAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDogNDhlbSkge1xuICAgIC5hcHBvaW50bWVudC1jYWxlbmRhci1idXR0b24td3JhcHBlciAuYnV0dG9uIHtcbiAgICAgIHdpZHRoOiBpbmhlcml0OyB9IH1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLWJ1dHRvbi13cmFwcGVyIC5hcHBvaW50bWVudC1jYWxlbmRhci1rZWVwIHtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm9yZGVyOiAwLjE4NzVyZW0gc29saWQgI2ZmNjkwMDtcbiAgY29sb3I6ICMwMDA7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBwYWRkaW5nOiAwLjY4NzVyZW0gMC45Mzc1cmVtOyB9XG4gIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAuYXBwb2ludG1lbnQtY2FsZW5kYXItYnV0dG9uLXdyYXBwZXIgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWtlZXAge1xuICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtOyB9IH1cblxuLmFwcG9pbnRtZW50LWFjdGl2ZSB7XG4gIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7IH1cblxuLmFwcG9pbnRtZW50LWRhdGUge1xuICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlOyB9XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtZGF0ZSB7XG4gIGZsZXg6IDAgMCAxMDAlO1xuICBtYXJnaW4tbGVmdDogMC42MjVyZW07XG4gIHBhZGRpbmc6IDA7XG4gIHRleHQtdHJhbnNmb3JtOiBub25lOyB9XG5cbi5yZXZlYWwuYXBwb2ludG1lbnQtY2FsZW5kYXItbW9kYWwge1xuICBoZWlnaHQ6IGF1dG87XG4gIG1pbi1oZWlnaHQ6IGF1dG87IH1cbiAgLnJldmVhbC5hcHBvaW50bWVudC1jYWxlbmRhci1tb2RhbCAuYXBwb2ludG1lbnQtY2FsZW5kYXIta2VlcCB7XG4gICAgbWFyZ2luLXRvcDogMS4yNXJlbTsgfVxuICAgIEBtZWRpYSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDQ4ZW0pIHtcbiAgICAgIC5yZXZlYWwuYXBwb2ludG1lbnQtY2FsZW5kYXItbW9kYWwgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWtlZXAge1xuICAgICAgICBtYXJnaW4tdG9wOiAwOyB9IH1cblxuLmFwcG9pbnRtZW50LWZpbmRlci1lcnJvci1ibG9jayAuYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIge1xuICBtYXJnaW46IDA7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgLmluZm9ybWF0aW9uLWJveCBoMyB7XG4gICAgd2lkdGg6IDEwMCU7IH0gfVxuXG4uc2VhcmNoLXJlc3VsdC1jb250ZW50IC5wcm9kdWN0LXRpbGUgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50OyB9XG5cbi5jaGVja291dC1zaGlwcGluZyAuc2VsZWN0aW9uLWJveC5yZW1pbmRlZC1hcHBvaW50bWVudCB7XG4gIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDsgfVxuXG4uY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciAuY291bnRyeS1yb3cgLmlucHV0LXNlbGVjdCB7XG4gIGJhY2tncm91bmQtaW1hZ2U6IG5vbmU7IH1cblxuQG1lZGlhIHByaW50IHtcbiAgI2luc2lkZV9ob2xkZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7IH0gfVxuIiwiLyoqXG4gKiBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4gKiBWZXJzaW9uIDYuMi4zXG4gKiBmb3VuZGF0aW9uLnp1cmIuY29tXG4gKiBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcbiAqL1xuXG4vLyBTYXNzIHV0aWxpdGllc1xuQGltcG9ydCAndXRpbC91dGlsJztcblxuLy8gR2xvYmFsIHZhcmlhYmxlcyBhbmQgc3R5bGVzXG5AaW1wb3J0ICdnbG9iYWwnO1xuXG4vLyBDb21wb25lbnRzXG5AaW1wb3J0ICdncmlkL2dyaWQnO1xuQGltcG9ydCAndHlwb2dyYXBoeS90eXBvZ3JhcGh5JztcbkBpbXBvcnQgJ2Zvcm1zL2Zvcm1zJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdmlzaWJpbGl0eSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Zsb2F0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYnV0dG9uLWdyb3VwJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvYWNjb3JkaW9uLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9hY2NvcmRpb24nO1xuQGltcG9ydCAnY29tcG9uZW50cy9iYWRnZSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2JyZWFkY3J1bWJzJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvY2FsbG91dCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Nsb3NlLWJ1dHRvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2RyaWxsZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2Ryb3Bkb3duLW1lbnUnO1xuQGltcG9ydCAnY29tcG9uZW50cy9kcm9wZG93bic7XG5AaW1wb3J0ICdjb21wb25lbnRzL2ZsZXgnO1xuQGltcG9ydCAnY29tcG9uZW50cy9mbGV4LXZpZGVvJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbGFiZWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZWRpYS1vYmplY3QnO1xuQGltcG9ydCAnY29tcG9uZW50cy9tZW51JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvbWVudS1pY29uJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvb2ZmLWNhbnZhcyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL29yYml0JztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvcGFnaW5hdGlvbic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3Byb2dyZXNzLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3JldmVhbCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3NsaWRlcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N0aWNreSc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3N3aXRjaCc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RhYmxlJztcbkBpbXBvcnQgJ2NvbXBvbmVudHMvdGFicyc7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RpdGxlLWJhcic7XG5AaW1wb3J0ICdjb21wb25lbnRzL3RvcC1iYXInO1xuQGltcG9ydCAnY29tcG9uZW50cy90aHVtYm5haWwnO1xuQGltcG9ydCAnY29tcG9uZW50cy90b29sdGlwJztcblxuQG1peGluIGZvdW5kYXRpb24tZXZlcnl0aGluZygkZmxleDogZmFsc2UpIHtcbiAgQGlmICRmbGV4IHtcbiAgICAkZ2xvYmFsLWZsZXhib3g6IHRydWUgIWdsb2JhbDtcbiAgfVxuXG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcztcbiAgQGlmIG5vdCAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1ncmlkO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAaW5jbHVkZSBmb3VuZGF0aW9uLWZsZXgtZ3JpZDtcbiAgfVxuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXR5cG9ncmFwaHk7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZm9ybXM7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tYnV0dG9uO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWFjY29yZGlvbjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1iYWRnZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1icmVhZGNydW1icztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1idXR0b24tZ3JvdXA7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tY2FsbG91dDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1jbG9zZS1idXR0b247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1tZW51LWljb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJpbGxkb3duLW1lbnU7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LXZpZGVvO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLWxhYmVsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW1lZGlhLW9iamVjdDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1vZmYtY2FudmFzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLW9yYml0O1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXBhZ2luYXRpb247XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcHJvZ3Jlc3MtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXNsaWRlcjtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1zdGlja3k7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tcmV2ZWFsO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXN3aXRjaDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJsZTtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10YWJzO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXRodW1ibmFpbDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10aXRsZS1iYXI7XG4gIEBpbmNsdWRlIGZvdW5kYXRpb24tdG9vbHRpcDtcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi10b3AtYmFyO1xuICBAaW5jbHVkZSBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcztcbiAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbG9hdC1jbGFzc2VzO1xuXG4gIEBpZiAkZmxleCB7XG4gICAgQGluY2x1ZGUgZm91bmRhdGlvbi1mbGV4LWNsYXNzZXM7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBDb2xvclZhcmlhYmxlLCBRdWFsaWZ5aW5nRWxlbWVudCwgVmVuZG9yUHJlZml4XG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4vLy8vXG5cbi8vLyBGb250IHNpemUgYXR0cmlidXRlIGFwcGxpZWQgdG8gYDxodG1sPmAgYW5kIGA8Ym9keT5gLiBXZSB1c2UgMTAwJSBieSBkZWZhdWx0IHNvIHRoZSB2YWx1ZSBpcyBpbmhlcml0ZWQgZnJvbSB0aGUgdXNlcidzIGJyb3dzZXIgc2V0dGluZ3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWZvbnQtc2l6ZTogMTAwJSAhZGVmYXVsdDtcblxuLy8vIEdsb2JhbCB3aWR0aCBvZiB5b3VyIHNpdGUuIFVzZWQgYnkgdGhlIGdyaWQgdG8gZGV0ZXJtaW5lIHJvdyB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRnbG9iYWwtd2lkdGg6IHJlbS1jYWxjKDEyMDApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgYWxsIHR5cGUuIGAkZ2xvYmFsLWxpbmVoZWlnaHRgIGlzIDI0cHggd2hpbGUgYCRnbG9iYWwtZm9udC1zaXplYCBpcyAxNnB4XG4vLy8gQHR5cGUgTnVtYmVyXG4kZ2xvYmFsLWxpbmVoZWlnaHQ6IDEuNSAhZGVmYXVsdDtcblxuLy8vIENvbG9ycyB1c2VkIGZvciBidXR0b25zLCBjYWxsb3V0cywgbGlua3MsIGV0Yy4gVGhlcmUgbXVzdCBhbHdheXMgYmUgYSBjb2xvciBjYWxsZWQgYHByaW1hcnlgLlxuLy8vIEB0eXBlIE1hcFxuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICBwcmltYXJ5OiAjMjE5OWU4LFxuICBwcmltYXJ5LWFjY2Vzc2libGU6ICNjNzUzMDAsXG4gIHNlY29uZGFyeTogIzc3NyxcbiAgc3VjY2VzczogIzNhZGI3NixcbiAgd2FybmluZzogI2ZmYWUwMCxcbiAgYWxlcnQ6ICNlYzU4NDAsXG4pICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgbGlnaHQgZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJGxpZ2h0LWdyYXk6ICNlNmU2ZTYgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciB1c2VkIGZvciBtZWRpdW0gZ3JheSBVSSBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJG1lZGl1bS1ncmF5OiAjY2FjYWNhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgZGFyayBncmF5IFVJIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kZGFyay1ncmF5OiAjOGE4YThhICFkZWZhdWx0O1xuXG4vLy8gQ29sb3IgdXNlZCBmb3IgYmxhY2sgdWkgaXRlbXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRibGFjazogIzBhMGEwYSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHVzZWQgZm9yIHdoaXRlIHVpIGl0ZW1zLlxuLy8vIEB0eXBlIENvbG9yXG4kd2hpdGU6ICNmZWZlZmUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIENvbG9yXG4kYm9keS1mb250LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHN0YWNrIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIExpc3RcbiRib2R5LWZvbnQtZmFtaWx5OiAnSGVsdmV0aWNhIE5ldWUnLCBIZWx2ZXRpY2EsIFJvYm90bywgQXJpYWwsIHNhbnMtc2VyaWYgIWRlZmF1bHQ7XG5cbi8vLyBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSBhbnRpYWxpYXNlZCB0eXBlLCB1c2luZyB0aGUgYC13ZWJraXQtZm9udC1zbW9vdGhpbmdgIGFuZCBgLW1vei1vc3gtZm9udC1zbW9vdGhpbmdgIENTUyBwcm9wZXJ0aWVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIG1hcmdpbiBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBHbG9iYWwgdmFsdWUgdXNlZCBmb3IgcGFkZGluZyBvbiBjb21wb25lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIG5vcm1hbCB0eXBlLlxuLy8vIEB0eXBlIEtleXdvcmQgfCBOdW1iZXJcbiRnbG9iYWwtd2VpZ2h0LW5vcm1hbDogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIGZvbnQgd2VpZ2h0IHVzZWQgZm9yIGJvbGQgdHlwZS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kZ2xvYmFsLXdlaWdodC1ib2xkOiBib2xkICFkZWZhdWx0O1xuXG4vLy8gR2xvYmFsIHZhbHVlIHVzZWQgZm9yIGFsbCBlbGVtZW50cyB0aGF0IGhhdmUgYSBib3JkZXIgcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGdsb2JhbC1yYWRpdXM6IDAgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIHRoZSB0ZXh0IGRpcmVjdGlvbiBvZiB0aGUgQ1NTLiBDYW4gYmUgZWl0aGVyIGBsdHJgIG9yIGBydGxgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0ciAhZGVmYXVsdDtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBmb3IgY29tcG9uZW50cyB0aGF0IHN1cHBvcnQgaXQuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGdsb2JhbC1mbGV4Ym94OiBmYWxzZSAhZGVmYXVsdDtcblxuQGlmIG5vdCBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpIHtcbiAgQGVycm9yICdJbiAkZm91bmRhdGlvbi1wYWxldHRlLCB5b3UgbXVzdCBoYXZlIGEgY29sb3IgbmFtZWQgXCJwcmltYXJ5XCIuJztcbn1cblxuLy8gSW50ZXJuYWwgdmFyaWFibGVzIHVzZWQgZm9yIHRleHQgZGlyZWN0aW9uXG4kZ2xvYmFsLWxlZnQ6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCByaWdodCwgbGVmdCk7XG4kZ2xvYmFsLXJpZ2h0OiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgbGVmdCwgcmlnaHQpO1xuXG4vLyBJbnRlcm5hbCB2YXJpYWJsZXMgdXNlZCBmb3IgY29sb3JzXG4kcHJpbWFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiRzZWNvbmRhcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiRzdWNjZXNzLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpO1xuJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZyk7XG4kYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuXG4vLyBSZW1vdmUgdGhpcyBpbiA2LjNcbiQtemYtbWVudS1pY29uLWltcG9ydGVkOiBmYWxzZTtcbiQtemYtZmxleC1jbGFzc2VzLWltcG9ydGVkOiBmYWxzZTtcblxuQG1peGluIGZvdW5kYXRpb24tZ2xvYmFsLXN0eWxlcyB7XG4gIEBpbmNsdWRlIC16Zi1ub3JtYWxpemU7XG5cbiAgLy8gVGhlc2Ugc3R5bGVzIGFyZSBhcHBsaWVkIHRvIGEgPG1ldGE+IHRhZywgd2hpY2ggaXMgcmVhZCBieSB0aGUgRm91bmRhdGlvbiBKYXZhU2NyaXB0XG4gIC5mb3VuZGF0aW9uLW1xIHtcbiAgICBmb250LWZhbWlseTogJyN7LXpmLWJwLXNlcmlhbGl6ZSgkYnJlYWtwb2ludHMpfSc7XG4gIH1cblxuICBodG1sIHtcbiAgICBmb250LXNpemU6ICRnbG9iYWwtZm9udC1zaXplO1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBTZXQgYm94LXNpemluZyBnbG9iYWxseSB0byBoYW5kbGUgcGFkZGluZyBhbmQgYm9yZGVyIHdpZHRoc1xuICAqLFxuICAqOjpiZWZvcmUsXG4gICo6OmFmdGVyIHtcbiAgICBib3gtc2l6aW5nOiBpbmhlcml0O1xuICB9XG5cbiAgLy8gRGVmYXVsdCBib2R5IHN0eWxlc1xuICBib2R5IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICBwYWRkaW5nOiAwO1xuICAgIG1hcmdpbjogMDtcbiAgICBsaW5lLWhlaWdodDogJGdsb2JhbC1saW5laGVpZ2h0O1xuICAgIGNvbG9yOiAkYm9keS1mb250LWNvbG9yO1xuICAgIGJhY2tncm91bmQ6ICRib2R5LWJhY2tncm91bmQ7XG5cbiAgICBAaWYgKCRib2R5LWFudGlhbGlhc2VkKSB7XG4gICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgfVxuICB9XG5cbiAgaW1nIHtcbiAgICAvLyBHcmlkIGRlZmF1bHRzIHRvIGdldCBpbWFnZXMgYW5kIGVtYmVkcyB0byB3b3JrIHByb3Blcmx5XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICAtbXMtaW50ZXJwb2xhdGlvbi1tb2RlOiBiaWN1YmljO1xuXG4gICAgLy8gR2V0IHJpZCBvZiBnYXAgdW5kZXIgaW1hZ2VzIGJ5IG1ha2luZyB0aGVtIGRpc3BsYXk6IGlubGluZS1ibG9jazsgYnkgZGVmYXVsdFxuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICB9XG5cbiAgLy8gTWFrZSBzdXJlIHRleHRhcmVhIHRha2VzIG9uIGhlaWdodCBhdXRvbWF0aWNhbGx5XG4gIHRleHRhcmVhIHtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgbWluLWhlaWdodDogNTBweDtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIE1ha2Ugc2VsZWN0IGVsZW1lbnRzIGFyZSAxMDAlIHdpZHRoIGJ5IGRlZmF1bHRcbiAgc2VsZWN0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiAgfVxuXG4gIC8vIFN0eWxlcyBHb29nbGUgTWFwcyBhbmQgTWFwUXVlc3QgZW1iZWRzIHByb3Blcmx5XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIElkU2VsZWN0b3JcbiAgI21hcF9jYW52YXMsXG4gIC5tYXBfY2FudmFzLFxuICAubXFhLWRpc3BsYXkge1xuICAgIGltZyxcbiAgICBlbWJlZCxcbiAgICBvYmplY3Qge1xuICAgICAgbWF4LXdpZHRoOiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgLy8gUmVzZXQgPGJ1dHRvbj4gc3R5bGVzIGNyZWF0ZWQgYnkgbW9zdCBicm93c2Vyc1xuICBidXR0b24ge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgLW1vei1hcHBlYXJhbmNlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICB9XG5cbiAgLy8gSW50ZXJuYWwgY2xhc3NlcyB0byBzaG93L2hpZGUgZWxlbWVudHMgaW4gSmF2YVNjcmlwdFxuICAuaXMtdmlzaWJsZSB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5pcy1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gTG9hZHMgbm9ybWFsaXplLmNzcy5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbkBtaXhpbiAtemYtbm9ybWFsaXplIHtcbiAgLyohIG5vcm1hbGl6ZS5jc3MgdjMuMC4zIHwgTUlUIExpY2Vuc2UgfCBnaXRodWIuY29tL25lY29sYXMvbm9ybWFsaXplLmNzcyAqL1xuXG4gIC8qKlxuICAgKiAxLiBTZXQgZGVmYXVsdCBmb250IGZhbWlseSB0byBzYW5zLXNlcmlmLlxuICAgKiAyLiBQcmV2ZW50IGlPUyBhbmQgSUUgdGV4dCBzaXplIGFkanVzdCBhZnRlciBkZXZpY2Ugb3JpZW50YXRpb24gY2hhbmdlLFxuICAgKiAgICB3aXRob3V0IGRpc2FibGluZyB1c2VyIHpvb20uXG4gICAqL1xuXG4gIGh0bWwge1xuICAgIGZvbnQtZmFtaWx5OiBzYW5zLXNlcmlmOyAvKiAxICovXG4gICAgLW1zLXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgICAtd2Via2l0LXRleHQtc2l6ZS1hZGp1c3Q6IDEwMCU7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBSZW1vdmUgZGVmYXVsdCBtYXJnaW4uXG4gICAqL1xuXG4gIGJvZHkge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8qIEhUTUw1IGRpc3BsYXkgZGVmaW5pdGlvbnNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGFueSBIVE1MNSBlbGVtZW50IGluIElFIDgvOS5cbiAgICogQ29ycmVjdCBgYmxvY2tgIGRpc3BsYXkgbm90IGRlZmluZWQgZm9yIGBkZXRhaWxzYCBvciBgc3VtbWFyeWAgaW4gSUUgMTAvMTFcbiAgICogYW5kIEZpcmVmb3guXG4gICAqIENvcnJlY3QgYGJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGZvciBgbWFpbmAgaW4gSUUgMTEuXG4gICAqL1xuXG4gIGFydGljbGUsXG4gIGFzaWRlLFxuICBkZXRhaWxzLFxuICBmaWdjYXB0aW9uLFxuICBmaWd1cmUsXG4gIGZvb3RlcixcbiAgaGVhZGVyLFxuICBoZ3JvdXAsXG4gIG1haW4sXG4gIG1lbnUsXG4gIG5hdixcbiAgc2VjdGlvbixcbiAgc3VtbWFyeSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBgaW5saW5lLWJsb2NrYCBkaXNwbGF5IG5vdCBkZWZpbmVkIGluIElFIDgvOS5cbiAgICogMi4gTm9ybWFsaXplIHZlcnRpY2FsIGFsaWdubWVudCBvZiBgcHJvZ3Jlc3NgIGluIENocm9tZSwgRmlyZWZveCwgYW5kIE9wZXJhLlxuICAgKi9cblxuICBhdWRpbyxcbiAgY2FudmFzLFxuICBwcm9ncmVzcyxcbiAgdmlkZW8ge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jazsgLyogMSAqL1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFByZXZlbnQgbW9kZXJuIGJyb3dzZXJzIGZyb20gZGlzcGxheWluZyBgYXVkaW9gIHdpdGhvdXQgY29udHJvbHMuXG4gICAqIFJlbW92ZSBleGNlc3MgaGVpZ2h0IGluIGlPUyA1IGRldmljZXMuXG4gICAqL1xuXG4gIGF1ZGlvOm5vdChbY29udHJvbHNdKSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBgW2hpZGRlbl1gIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLlxuICAgKiBIaWRlIHRoZSBgdGVtcGxhdGVgIGVsZW1lbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBGaXJlZm94IDwgMjIuXG4gICAqL1xuXG4gIFtoaWRkZW5dLFxuICB0ZW1wbGF0ZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxuXG4gIC8qIExpbmtzXG4gICAgID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09ICovXG5cbiAgLyoqXG4gICAqIFJlbW92ZSB0aGUgZ3JheSBiYWNrZ3JvdW5kIGNvbG9yIGZyb20gYWN0aXZlIGxpbmtzIGluIElFIDEwLlxuICAgKi9cblxuICBhIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXByb3ZlIHJlYWRhYmlsaXR5IG9mIGZvY3VzZWQgZWxlbWVudHMgd2hlbiB0aGV5IGFyZSBhbHNvIGluIGFuXG4gICAqIGFjdGl2ZS9ob3ZlciBzdGF0ZS5cbiAgICovXG5cbiAgYTphY3RpdmUsXG4gIGE6aG92ZXIge1xuICAgIG91dGxpbmU6IDA7XG4gIH1cblxuICAvKiBUZXh0LWxldmVsIHNlbWFudGljc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LzEwLzExLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGFiYnJbdGl0bGVdIHtcbiAgICBib3JkZXItYm90dG9tOiAxcHggZG90dGVkO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3Mgc3R5bGUgc2V0IHRvIGBib2xkZXJgIGluIEZpcmVmb3ggNCssIFNhZmFyaSwgYW5kIENocm9tZS5cbiAgICovXG5cbiAgYixcbiAgc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gU2FmYXJpIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGRmbiB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgdmFyaWFibGUgYGgxYCBmb250LXNpemUgYW5kIG1hcmdpbiB3aXRoaW4gYHNlY3Rpb25gIGFuZCBgYXJ0aWNsZWBcbiAgICogY29udGV4dHMgaW4gRmlyZWZveCA0KywgU2FmYXJpLCBhbmQgQ2hyb21lLlxuICAgKi9cblxuICBoMSB7XG4gICAgZm9udC1zaXplOiAyZW07XG4gICAgbWFyZ2luOiAwLjY3ZW0gMDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIHN0eWxpbmcgbm90IHByZXNlbnQgaW4gSUUgOC85LlxuICAgKi9cblxuICBtYXJrIHtcbiAgICBiYWNrZ3JvdW5kOiAjZmYwO1xuICAgIGNvbG9yOiAjMDAwO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZHJlc3MgaW5jb25zaXN0ZW50IGFuZCB2YXJpYWJsZSBmb250IHNpemUgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzbWFsbCB7XG4gICAgZm9udC1zaXplOiA4MCU7XG4gIH1cblxuICAvKipcbiAgICogUHJldmVudCBgc3ViYCBhbmQgYHN1cGAgYWZmZWN0aW5nIGBsaW5lLWhlaWdodGAgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBzdWIsXG4gIHN1cCB7XG4gICAgZm9udC1zaXplOiA3NSU7XG4gICAgbGluZS1oZWlnaHQ6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbiAgfVxuXG4gIHN1cCB7XG4gICAgdG9wOiAtMC41ZW07XG4gIH1cblxuICBzdWIge1xuICAgIGJvdHRvbTogLTAuMjVlbTtcbiAgfVxuXG4gIC8qIEVtYmVkZGVkIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogUmVtb3ZlIGJvcmRlciB3aGVuIGluc2lkZSBgYWAgZWxlbWVudCBpbiBJRSA4LzkvMTAuXG4gICAqL1xuXG4gIGltZyB7XG4gICAgYm9yZGVyOiAwO1xuICB9XG5cbiAgLyoqXG4gICAqIENvcnJlY3Qgb3ZlcmZsb3cgbm90IGhpZGRlbiBpbiBJRSA5LzEwLzExLlxuICAgKi9cblxuICBzdmc6bm90KDpyb290KSB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuXG4gIC8qIEdyb3VwaW5nIGNvbnRlbnRcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogQWRkcmVzcyBtYXJnaW4gbm90IHByZXNlbnQgaW4gSUUgOC85IGFuZCBTYWZhcmkuXG4gICAqL1xuXG4gIGZpZ3VyZSB7XG4gICAgbWFyZ2luOiAxZW0gNDBweDtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGRpZmZlcmVuY2VzIGJldHdlZW4gRmlyZWZveCBhbmQgb3RoZXIgYnJvd3NlcnMuXG4gICAqL1xuXG4gIGhyIHtcbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDtcbiAgICBoZWlnaHQ6IDA7XG4gIH1cblxuICAvKipcbiAgICogQ29udGFpbiBvdmVyZmxvdyBpbiBhbGwgYnJvd3NlcnMuXG4gICAqL1xuXG4gIHByZSB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBvZGQgYGVtYC11bml0IGZvbnQgc2l6ZSByZW5kZXJpbmcgaW4gYWxsIGJyb3dzZXJzLlxuICAgKi9cblxuICBjb2RlLFxuICBrYmQsXG4gIHByZSxcbiAgc2FtcCB7XG4gICAgZm9udC1mYW1pbHk6IG1vbm9zcGFjZSwgbW9ub3NwYWNlO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xuICB9XG5cbiAgLyogRm9ybXNcbiAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cblxuICAvKipcbiAgICogS25vd24gbGltaXRhdGlvbjogYnkgZGVmYXVsdCwgQ2hyb21lIGFuZCBTYWZhcmkgb24gT1MgWCBhbGxvdyB2ZXJ5IGxpbWl0ZWRcbiAgICogc3R5bGluZyBvZiBgc2VsZWN0YCwgdW5sZXNzIGEgYGJvcmRlcmAgcHJvcGVydHkgaXMgc2V0LlxuICAgKi9cblxuICAvKipcbiAgICogMS4gQ29ycmVjdCBjb2xvciBub3QgYmVpbmcgaW5oZXJpdGVkLlxuICAgKiAgICBLbm93biBpc3N1ZTogYWZmZWN0cyBjb2xvciBvZiBkaXNhYmxlZCBlbGVtZW50cy5cbiAgICogMi4gQ29ycmVjdCBmb250IHByb3BlcnRpZXMgbm90IGJlaW5nIGluaGVyaXRlZC5cbiAgICogMy4gQWRkcmVzcyBtYXJnaW5zIHNldCBkaWZmZXJlbnRseSBpbiBGaXJlZm94IDQrLCBTYWZhcmksIGFuZCBDaHJvbWUuXG4gICAqL1xuXG4gIGJ1dHRvbixcbiAgaW5wdXQsXG4gIG9wdGdyb3VwLFxuICBzZWxlY3QsXG4gIHRleHRhcmVhIHtcbiAgICBjb2xvcjogaW5oZXJpdDsgLyogMSAqL1xuICAgIGZvbnQ6IGluaGVyaXQ7IC8qIDIgKi9cbiAgICBtYXJnaW46IDA7IC8qIDMgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGBvdmVyZmxvd2Agc2V0IHRvIGBoaWRkZW5gIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgYnV0dG9uIHtcbiAgICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRyZXNzIGluY29uc2lzdGVudCBgdGV4dC10cmFuc2Zvcm1gIGluaGVyaXRhbmNlIGZvciBgYnV0dG9uYCBhbmQgYHNlbGVjdGAuXG4gICAqIEFsbCBvdGhlciBmb3JtIGNvbnRyb2wgZWxlbWVudHMgZG8gbm90IGluaGVyaXQgYHRleHQtdHJhbnNmb3JtYCB2YWx1ZXMuXG4gICAqIENvcnJlY3QgYGJ1dHRvbmAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveCwgSUUgOC85LzEwLzExLCBhbmQgT3BlcmEuXG4gICAqIENvcnJlY3QgYHNlbGVjdGAgc3R5bGUgaW5oZXJpdGFuY2UgaW4gRmlyZWZveC5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBzZWxlY3Qge1xuICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIDEuIEF2b2lkIHRoZSBXZWJLaXQgYnVnIGluIEFuZHJvaWQgNC4wLiogd2hlcmUgKDIpIGRlc3Ryb3lzIG5hdGl2ZSBgYXVkaW9gXG4gICAqICAgIGFuZCBgdmlkZW9gIGNvbnRyb2xzLlxuICAgKiAyLiBDb3JyZWN0IGluYWJpbGl0eSB0byBzdHlsZSBjbGlja2FibGUgYGlucHV0YCB0eXBlcyBpbiBpT1MuXG4gICAqIDMuIEltcHJvdmUgdXNhYmlsaXR5IGFuZCBjb25zaXN0ZW5jeSBvZiBjdXJzb3Igc3R5bGUgYmV0d2VlbiBpbWFnZS10eXBlXG4gICAqICAgIGBpbnB1dGAgYW5kIG90aGVycy5cbiAgICovXG5cbiAgYnV0dG9uLFxuICBodG1sIGlucHV0W3R5cGU9XCJidXR0b25cIl0sIC8qIDEgKi9cbiAgaW5wdXRbdHlwZT1cInJlc2V0XCJdLFxuICBpbnB1dFt0eXBlPVwic3VibWl0XCJdIHtcbiAgICAtd2Via2l0LWFwcGVhcmFuY2U6IGJ1dHRvbjsgLyogMiAqL1xuICAgIGN1cnNvcjogcG9pbnRlcjsgLyogMyAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLXNldCBkZWZhdWx0IGN1cnNvciBmb3IgZGlzYWJsZWQgZWxlbWVudHMuXG4gICAqL1xuXG4gIGJ1dHRvbltkaXNhYmxlZF0sXG4gIGh0bWwgaW5wdXRbZGlzYWJsZWRdIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBib3JkZXIgaW4gRmlyZWZveCA0Ky5cbiAgICovXG5cbiAgYnV0dG9uOjotbW96LWZvY3VzLWlubmVyLFxuICBpbnB1dDo6LW1vei1mb2N1cy1pbm5lciB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvKipcbiAgICogQWRkcmVzcyBGaXJlZm94IDQrIHNldHRpbmcgYGxpbmUtaGVpZ2h0YCBvbiBgaW5wdXRgIHVzaW5nIGAhaW1wb3J0YW50YCBpblxuICAgKiB0aGUgVUEgc3R5bGVzaGVldC5cbiAgICovXG5cbiAgaW5wdXQge1xuICAgIGxpbmUtaGVpZ2h0OiBub3JtYWw7XG4gIH1cblxuICAvKipcbiAgICogSXQncyByZWNvbW1lbmRlZCB0aGF0IHlvdSBkb24ndCBhdHRlbXB0IHRvIHN0eWxlIHRoZXNlIGVsZW1lbnRzLlxuICAgKiBGaXJlZm94J3MgaW1wbGVtZW50YXRpb24gZG9lc24ndCByZXNwZWN0IGJveC1zaXppbmcsIHBhZGRpbmcsIG9yIHdpZHRoLlxuICAgKlxuICAgKiAxLiBBZGRyZXNzIGJveCBzaXppbmcgc2V0IHRvIGBjb250ZW50LWJveGAgaW4gSUUgOC85LzEwLlxuICAgKiAyLiBSZW1vdmUgZXhjZXNzIHBhZGRpbmcgaW4gSUUgOC85LzEwLlxuICAgKi9cblxuICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDsgLyogMSAqL1xuICAgIHBhZGRpbmc6IDA7IC8qIDIgKi9cbiAgfVxuXG4gIC8qKlxuICAgKiBGaXggdGhlIGN1cnNvciBzdHlsZSBmb3IgQ2hyb21lJ3MgaW5jcmVtZW50L2RlY3JlbWVudCBidXR0b25zLiBGb3IgY2VydGFpblxuICAgKiBgZm9udC1zaXplYCB2YWx1ZXMgb2YgdGhlIGBpbnB1dGAsIGl0IGNhdXNlcyB0aGUgY3Vyc29yIHN0eWxlIG9mIHRoZVxuICAgKiBkZWNyZW1lbnQgYnV0dG9uIHRvIGNoYW5nZSBmcm9tIGBkZWZhdWx0YCB0byBgdGV4dGAuXG4gICAqL1xuXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gIGlucHV0W3R5cGU9XCJudW1iZXJcIl06Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgIGhlaWdodDogYXV0bztcbiAgfVxuXG4gIC8qKlxuICAgKiAxLiBBZGRyZXNzIGBhcHBlYXJhbmNlYCBzZXQgdG8gYHNlYXJjaGZpZWxkYCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICogMi4gQWRkcmVzcyBgYm94LXNpemluZ2Agc2V0IHRvIGBib3JkZXItYm94YCBpbiBTYWZhcmkgYW5kIENocm9tZS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXSB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7IC8qIDEgKi9cbiAgICBib3gtc2l6aW5nOiBjb250ZW50LWJveDsgLyogMiAqL1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBpbm5lciBwYWRkaW5nIGFuZCBzZWFyY2ggY2FuY2VsIGJ1dHRvbiBpbiBTYWZhcmkgYW5kIENocm9tZSBvbiBPUyBYLlxuICAgKiBTYWZhcmkgKGJ1dCBub3QgQ2hyb21lKSBjbGlwcyB0aGUgY2FuY2VsIGJ1dHRvbiB3aGVuIHRoZSBzZWFyY2ggaW5wdXQgaGFzXG4gICAqIHBhZGRpbmcgKGFuZCBgdGV4dGZpZWxkYCBhcHBlYXJhbmNlKS5cbiAgICovXG5cbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtY2FuY2VsLWJ1dHRvbixcbiAgaW5wdXRbdHlwZT1cInNlYXJjaFwiXTo6LXdlYmtpdC1zZWFyY2gtZGVjb3JhdGlvbiB7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBjb25zaXN0ZW50IGJvcmRlciwgbWFyZ2luLCBhbmQgcGFkZGluZy5cbiAgICogW05PVEVdIFdlIGRvbid0IGVuYWJsZSB0aGlzIHJ1bGVzZXQgaW4gRm91bmRhdGlvbiwgYmVjYXVzZSB3ZSB3YW50IHRoZSA8ZmllbGRzZXQ+IGVsZW1lbnQgdG8gaGF2ZSBwbGFpbiBzdHlsaW5nLlxuICAgKi9cblxuICAvKiBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2MwYzBjMDtcbiAgICBtYXJnaW46IDAgMnB4O1xuICAgIHBhZGRpbmc6IDAuMzVlbSAwLjYyNWVtIDAuNzVlbTtcbiAgfSAqL1xuXG4gIC8qKlxuICAgKiAxLiBDb3JyZWN0IGBjb2xvcmAgbm90IGJlaW5nIGluaGVyaXRlZCBpbiBJRSA4LzkvMTAvMTEuXG4gICAqIDIuIFJlbW92ZSBwYWRkaW5nIHNvIHBlb3BsZSBhcmVuJ3QgY2F1Z2h0IG91dCBpZiB0aGV5IHplcm8gb3V0IGZpZWxkc2V0cy5cbiAgICovXG5cbiAgbGVnZW5kIHtcbiAgICBib3JkZXI6IDA7IC8qIDEgKi9cbiAgICBwYWRkaW5nOiAwOyAvKiAyICovXG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGRlZmF1bHQgdmVydGljYWwgc2Nyb2xsYmFyIGluIElFIDgvOS8xMC8xMS5cbiAgICovXG5cbiAgdGV4dGFyZWEge1xuICAgIG92ZXJmbG93OiBhdXRvO1xuICB9XG5cbiAgLyoqXG4gICAqIERvbid0IGluaGVyaXQgdGhlIGBmb250LXdlaWdodGAgKGFwcGxpZWQgYnkgYSBydWxlIGFib3ZlKS5cbiAgICogTk9URTogdGhlIGRlZmF1bHQgY2Fubm90IHNhZmVseSBiZSBjaGFuZ2VkIGluIENocm9tZSBhbmQgU2FmYXJpIG9uIE9TIFguXG4gICAqL1xuXG4gIG9wdGdyb3VwIHtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgfVxuXG4gIC8qIFRhYmxlc1xuICAgICA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PSAqL1xuXG4gIC8qKlxuICAgKiBSZW1vdmUgbW9zdCBzcGFjaW5nIGJldHdlZW4gdGFibGUgY2VsbHMuXG4gICAqL1xuXG4gIHRhYmxlIHtcbiAgICBib3JkZXItY29sbGFwc2U6IGNvbGxhcHNlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICB9XG5cbiAgdGQsXG4gIHRoIHtcbiAgICBwYWRkaW5nOiAwO1xuICB9XG59XG4iLCIvLyAgRm91bmRhdGlvbiBmb3IgU2l0ZXMgU2V0dGluZ3Ncbi8vICAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuLy9cbi8vICBUYWJsZSBvZiBDb250ZW50czpcbi8vXG4vLyAgIDEuIEdsb2JhbFxuLy8gICAyLiBCcmVha3BvaW50c1xuLy8gICAzLiBUaGUgR3JpZFxuLy8gICA0LiBCYXNlIFR5cG9ncmFwaHlcbi8vICAgNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAgIDYuIEFiaWRlXG4vLyAgIDcuIEFjY29yZGlvblxuLy8gICA4LiBBY2NvcmRpb24gTWVudVxuLy8gICA5LiBCYWRnZVxuLy8gIDEwLiBCcmVhZGNydW1ic1xuLy8gIDExLiBCdXR0b25cbi8vICAxMi4gQnV0dG9uIEdyb3VwXG4vLyAgMTMuIENhbGxvdXRcbi8vICAxNC4gQ2xvc2UgQnV0dG9uXG4vLyAgMTUuIERyaWxsZG93blxuLy8gIDE2LiBEcm9wZG93blxuLy8gIDE3LiBEcm9wZG93biBNZW51XG4vLyAgMTguIEZsZXggVmlkZW9cbi8vICAxOS4gRm9ybXNcbi8vICAyMC4gTGFiZWxcbi8vICAyMS4gTWVkaWEgT2JqZWN0XG4vLyAgMjIuIE1lbnVcbi8vICAyMy4gTWV0ZXJcbi8vICAyNC4gT2ZmLWNhbnZhc1xuLy8gIDI1LiBPcmJpdFxuLy8gIDI2LiBQYWdpbmF0aW9uXG4vLyAgMjcuIFByb2dyZXNzIEJhclxuLy8gIDI4LiBSZXZlYWxcbi8vICAyOS4gU2xpZGVyXG4vLyAgMzAuIFN3aXRjaFxuLy8gIDMxLiBUYWJsZVxuLy8gIDMyLiBUYWJzXG4vLyAgMzMuIFRodW1ibmFpbFxuLy8gIDM0LiBUaXRsZSBCYXJcbi8vICAzNS4gVG9vbHRpcFxuLy8gIDM2LiBUb3AgQmFyXG5cbkBpbXBvcnQgXCJ1dGlsL3V0aWxcIjtcblxuLy8gMS4gR2xvYmFsXG4vLyAtLS0tLS0tLS1cblxuJGdsb2JhbC1mb250LXNpemU6IDEwMCU7XG4kZ2xvYmFsLXdpZHRoOiByZW0tY2FsYygxMzIwKTtcbiRnbG9iYWwtbGluZWhlaWdodDogMS41O1xuJGZvdW5kYXRpb24tcGFsZXR0ZTogKFxuICAgIHByaW1hcnk6ICNmZjY5MDAsXG4gICAgcHJpbWFyeS1hY2Nlc3NpYmxlOiAjYzc1MzAwLFxuICAgIHByaW1hcnktZGFyay1ob3ZlcjogIzk5NDAwMCxcbiAgICBzZWNvbmRhcnk6ICMwMDAsXG4gICAgc3RhbmRhcmQtYmxhY2s6ICMxZDFkMWQsXG4gICAgZGFya2dyZXkxOiAjMjAyMDIwLFxuICAgIG1lZGl1bS1ncmF5OiAjMzMzLFxuICAgIG1pZGdyZXk6ICM4MDgyODUsXG4gICAgbGlnaHQtZ3JheTogI2YyZjJmMixcbiAgICB0aGluLWdyYXk6ICNmOGY4ZjgsXG4gICAgYm9yZGVyLWdyZXk6ICNjY2MsXG4gICAgdmVyeS1saWdodC1ncmV5OiAjYzljOWM5LFxuICAgIGJyaWdodC1ncmV5OiAjZThlOGU5LFxuICAgIGRpc2FibGVkLWdyZXk6ICM4MDgwODAsXG4gICAgd2hpdGUtZGVmYXVsdDogI2ZmZixcbiAgICB3aGl0ZS1naG9zdDojZjJmMmYzLFxuICAgIHdoaXRlLXNtb2tlOiAjZTdlN2U3LFxuICAgIHN1Y2Nlc3M6ICMzYWRiNzYsXG4gICAgd2FybmluZzogI2ZmYWUwMCxcbiAgICBhbGVydDogI2VjNTg0MCxcbiAgICBlcnJvcjogI2YwMCxcbiAgICB1bmF2YWlsYWJsZTogI2ZmZTFiZSxcbiAgICBub2JlbDogIzk3OTc5NyxcbiAgICBsaWdodC1ncmF5LW15LWdhcmFnZTogI2FkYjViZCxcbiAgICB1bmF2YWlsYWJsZS10ZXh0OiAjZGUxYzIyLFxuICAgIGdyZWVuLWFjY2Vzc2libGU6ICMxNTdmMTAsXG4gICAgcmVkLWFjY2Vzc2libGU6ICNjNjE3NTJcbik7XG4kYnV0dG9uLWhvdmVyOiAjZmZhNTY2O1xuJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyOiAjZjZhNTgzO1xuJGJ1dHRvbi1kYXJrOiAjMDAwO1xuJGJ1dHRvbi1ob3Zlci1kYXJrOiAjNjY2O1xuJGxpZ2h0LWdyYXk6ICNlNmU2ZTY7XG4kZXh0cmEtbGlnaHQtZ3JheTogI2U1ZTVlNTtcbiRsaWdodC1ncmF5LW92ZXI6ICNkOWQ5ZGE7XG4kZGFyay1ncmF5LW92ZXI6ICNkOGQ4ZDg7XG4kZGFya2VyLWdyYXktb3ZlcjogIzc1NzU3NTtcbiRsaWdodGVyLWdyYXk6ICNmN2Y3Zjc7XG4kbWVkaXVtLWdyYXk6ICNjY2M7XG4kdGh1bWJzLWdyYXk6ICNiMGIxYjM7XG4kYm9yZGVyLWxpZ2h0LWdyYXk6ICNiZWJlYmU7XG4kZGFyay1ncmF5OiAjOGE4YThhO1xuJGRhcmstZ3JheS1mZWF0dXJlOiAjNDI0MjQyO1xuJGRhcmtlci1ncmF5OiAjMjYyNjI2O1xuJG1lZGl1bS1kYXJrLWdyYXk6ICM5MTkxOTE7XG4kbWVkaXVtLWxpZ2h0LWdyYXk6ICNjNGM0YzQ7XG4kbWVkaXVtLWxpZ2h0LWxpZ2h0LWdyYXk6ICNlNGU0ZTQ7XG4kY29tcGFyZS1ncmF5OiAjOTk5O1xuJG1hcC1iYWNrZ3JvdW5kLWdyZXk6ICNlNWUzZGY7XG4kYmxhY2s6ICMwMDA7XG4kd2hpdGU6ICNmZmY7XG4kZ3JleS1kaXNhYmxlZDogI2JmYzBjMjtcbiRib2R5LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRib2R5LWZvbnQtY29sb3I6ICRibGFjaztcbiRib2R5LWFudGlhbGlhc2VkOiB0cnVlO1xuJGdsb2JhbC1tYXJnaW46IDFyZW07XG4kZ2xvYmFsLXBhZGRpbmc6IDFyZW07XG4kZ2xvYmFsLXdlaWdodC1ub3JtYWw6IG5vcm1hbDtcbiRnbG9iYWwtd2VpZ2h0LWJvbGQ6IGJvbGQ7XG4kZ2xvYmFsLXJhZGl1czogMDtcbiRnbG9iYWwtdGV4dC1kaXJlY3Rpb246IGx0cjtcbiRnbG9iYWwtZmxleGJveDogZmFsc2U7XG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWU7XG4kb2xkLXNpbHZlcjogIzg0ODQ4NDtcbiRwdXJwbGU6ICNiZjFhOGQ7XG4kcHVycGxlLWRhcmtlcjogIzYzNTNhMztcbiRibHVlLXdoaXRlcjogIzIwYzNmMztcbiRvcmFuZ2UteWVsbG93OiAjZmJiMTE2O1xuJGdyZWVuOiAjMDBhNjUxO1xuJGdyZWVuLXdoaXRlcjogIzllY2Y3YztcbiRicm93bjogIzdhNTIyNjtcbiRicm93bi1kYXJrZXI6ICM0MjI4MDA7XG4kZ3JleS0wMTogI2E3YTlhYztcbiRncmV5LTAyOiAjYTQ5OWNhO1xuJHJlZDogI2YwMDtcbiR3aGl0ZS1ncmV5OiAjZjVmNWY1O1xuXG5AaW5jbHVkZSBhZGQtZm91bmRhdGlvbi1jb2xvcnM7XG5cbi8vIDIuIEJyZWFrcG9pbnRzXG4vLyAtLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWtwb2ludHM6IChcbiAgICBzbWFsbDogMCxcbiAgICBtZWRpdW06IDc2OHB4LFxuICAgIGxhcmdlOiAxMDI0cHgsXG4gICAgeGxhcmdlOiAxMzIwcHgsXG4gICAgeHhsYXJnZTogMTQ0MHB4LFxuKTtcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpO1xuXG4vLyAzLiBUaGUgR3JpZFxuLy8gLS0tLS0tLS0tLS1cblxuJGdyaWQtcm93LXdpZHRoOiAkZ2xvYmFsLXdpZHRoO1xuJGdyaWQtY29sdW1uLWNvdW50OiAxMjtcbiRncmlkLWNvbHVtbi1ndXR0ZXI6IChcbiAgICBzbWFsbDogMzBweCxcbiAgICBtZWRpdW06IDIwcHgsXG4pO1xuJGdyaWQtY29sdW1uLWFsaWduLWVkZ2U6IHRydWU7XG4kYmxvY2stZ3JpZC1tYXg6IDg7XG5cbi8vIDQuIEJhc2UgVHlwb2dyYXBoeVxuLy8gLS0tLS0tLS0tLS0tLS0tLS0tXG5cbiRmb250LWZhbWlseS1tb25vc3BhY2U6IENvbnNvbGFzLCBcIkxpYmVyYXRpb24gTW9ub1wiLCBDb3VyaWVyLCBtb25vc3BhY2U7XG4kaGVhZGVyLXNpemVzOiAoXG4gICAgc21hbGw6IChcbiAgICAgICAgXCJoMVwiOiA0MCxcbiAgICAgICAgXCJoMlwiOiAzMixcbiAgICAgICAgXCJoM1wiOiAyNixcbiAgICAgICAgXCJoNFwiOiAyMixcbiAgICAgICAgXCJoNVwiOiAxNyxcbiAgICAgICAgXCJoNlwiOiAxNCxcbiAgICApLFxuICAgIG1lZGl1bTogKFxuICAgICAgICBcImgxXCI6IDQxLFxuICAgICAgICBcImgyXCI6IDM0LFxuICAgICAgICBcImgzXCI6IDI2LFxuICAgICAgICBcImg0XCI6IDIxLFxuICAgICAgICBcImg1XCI6IDE3LFxuICAgICAgICBcImg2XCI6IDE0LFxuICAgICksXG4gICAgbGFyZ2U6IChcbiAgICAgICAgXCJoMVwiOiA0MixcbiAgICAgICAgXCJoMlwiOiAzNSxcbiAgICAgICAgXCJoM1wiOiAyNixcbiAgICAgICAgXCJoNFwiOiAyMixcbiAgICAgICAgXCJoNVwiOiAxOCxcbiAgICAgICAgXCJoNlwiOiAxNSxcbiAgICApLFxuKTtcbiRoZWFkZXItY29sb3I6IGluaGVyaXQ7XG4kaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJGhlYWRlci10ZXh0LXJlbmRlcmluZzogb3B0aW1pemVMZWdpYmlsaXR5O1xuJHNtYWxsLWZvbnQtc2l6ZTogODAlO1xuJGhlYWRlci1zbWFsbC1mb250LWNvbG9yOiAkbWVkaXVtLWdyYXk7XG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNjtcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbTtcbiRwYXJhZ3JhcGgtdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eTtcbiRjb2RlLWNvbG9yOiAkYmxhY2s7XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTtcbiRjb2RlLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKTtcbiRhbmNob3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiRhbmNob3ItY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRhbmNob3ItY29sb3IsICRsaWdodG5lc3M6IC0xNCUpO1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb246IG5vbmU7XG4kYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3Zlcjogbm9uZTtcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aDtcbiRoci1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kaHItbWFyZ2luOiByZW0tY2FsYygyMCkgYXV0bztcbiRsaXN0LWxpbmVoZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiRsaXN0LW1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4kbGlzdC1zdHlsZS1wb3NpdGlvbjogb3V0c2lkZTtcbiRsaXN0LXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtO1xuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW07XG4kZGVmbmxpc3QtdGVybS13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4kZGVmbmxpc3QtdGVybS1tYXJnaW4tYm90dG9tOiAwLjNyZW07XG4kYmxvY2txdW90ZS1jb2xvcjogJGRhcmstZ3JheTtcbiRibG9ja3F1b3RlLXBhZGRpbmc6IHJlbS1jYWxjKDkgMjAgMCAxOSk7XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4kY2l0ZS1mb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiRjaXRlLWNvbG9yOiAkZGFyay1ncmF5O1xuJGtleXN0cm9rZS1mb250OiAkZm9udC1mYW1pbHktbW9ub3NwYWNlO1xuJGtleXN0cm9rZS1jb2xvcjogJGJsYWNrO1xuJGtleXN0cm9rZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRrZXlzdHJva2UtcGFkZGluZzogcmVtLWNhbGMoMiA0IDApO1xuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjaztcblxuLy8gNS4gVHlwb2dyYXBoeSBIZWxwZXJzXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS1cblxuJGxlYWQtZm9udC1zaXplOiAkZ2xvYmFsLWZvbnQtc2l6ZSAqIDEuMjU7XG4kbGVhZC1saW5laGVpZ2h0OiAxLjY7XG4kc3ViaGVhZGVyLWxpbmVoZWlnaHQ6IDEuNDtcbiRzdWJoZWFkZXItY29sb3I6ICRkYXJrLWdyYXk7XG4kc3ViaGVhZGVyLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ub3JtYWw7XG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbTtcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuJHN0YXQtZm9udC1zaXplOiAyLjVyZW07XG5cbi8vIDYuIEFiaWRlXG4vLyAtLS0tLS0tLVxuXG4kYWJpZGUtaW5wdXRzOiB0cnVlO1xuJGFiaWRlLWxhYmVsczogdHJ1ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWludmFsaWQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGZvcm0tbGFiZWwtY29sb3ItaW52YWxpZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBhbGVydCk7XG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpO1xuJGlucHV0LWVycm9yLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkO1xuXG4vLyA3LiBBY2NvcmRpb25cbi8vIC0tLS0tLS0tLS0tLVxuXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRhY2NvcmRpb24tcGx1c21pbnVzOiB0cnVlO1xuJGFjY29yZGlvbi1pdGVtLWNvbG9yOiBmb3JlZ3JvdW5kKCRhY2NvcmRpb24tYmFja2dyb3VuZCwgJHByaW1hcnktY29sb3IpO1xuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5O1xuJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc6IDEuMjVyZW0gMXJlbTtcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyOiAxcHggc29saWQgJGxpZ2h0LWdyYXk7XG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcik7XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbTtcblxuLy8gOC4gQWNjb3JkaW9uIE1lbnVcbi8vIC0tLS0tLS0tLS0tLS0tLS0tXG5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZTtcbiRhY2NvcmRpb25tZW51LWFycm93LWNvbG9yOiAkcHJpbWFyeS1jb2xvcjtcblxuLy8gOS4gQmFkZ2Vcbi8vIC0tLS0tLS0tXG5cbiRiYWRnZS1iYWNrZ3JvdW5kOiAkcHJpbWFyeS1jb2xvcjtcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCk7XG4kYmFkZ2UtcGFkZGluZzogMC4zZW07XG4kYmFkZ2UtbWlud2lkdGg6IDIuMWVtO1xuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtO1xuXG4vLyAxMC4gQnJlYWRjcnVtYnNcbi8vIC0tLS0tLS0tLS0tLS0tLVxuXG4kYnJlYWRjcnVtYnMtbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItY3VycmVudDogJGJsYWNrO1xuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3ItZGlzYWJsZWQ6ICRtZWRpdW0tZ3JheTtcbiRicmVhZGNydW1icy1pdGVtLW1hcmdpbjogMC43NXJlbTtcbiRicmVhZGNydW1icy1pdGVtLXVwcGVyY2FzZTogdHJ1ZTtcbiRicmVhZGNydW1icy1pdGVtLXNsYXNoOiB0cnVlO1xuXG4vLyAxMS4gQnV0dG9uXG4vLyAtLS0tLS0tLS0tXG5cbiRidXR0b24tcGFkZGluZzogMC44NWVtIDFlbTtcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMDtcbiRidXR0b24tZmlsbDogc29saWQ7XG4kYnV0dG9uLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGJ1dHRvbi1iYWNrZ3JvdW5kLWhvdmVyOiBzY2FsZS1jb2xvcigkYnV0dG9uLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuJGJ1dHRvbi1jb2xvcjogJGJsYWNrO1xuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjaztcbiRidXR0b24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRidXR0b24tc2l6ZXM6IChcbiAgICB0aW55OiAwLjZyZW0sXG4gICAgc21hbGw6IDAuNzVyZW0sXG4gICAgZGVmYXVsdDogMC45cmVtLFxuICAgIGxhcmdlOiAxLjI1cmVtLFxuKTtcbiRidXR0b24tb3BhY2l0eS1kaXNhYmxlZDogMC4yNTtcblxuLy8gMTIuIEJ1dHRvbiBHcm91cFxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kYnV0dG9uZ3JvdXAtbWFyZ2luOiAxcmVtO1xuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweDtcbiRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvcjogXCIuYnV0dG9uXCI7XG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNjtcblxuLy8gMTMuIENhbGxvdXRcbi8vIC0tLS0tLS0tLS0tXG5cbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlO1xuJGNhbGxvdXQtYm9yZGVyOiAxcHggc29saWQgcmdiYSgkYmxhY2ssIDAuMjUpO1xuJGNhbGxvdXQtbWFyZ2luOiAwIDAgMXJlbSAwO1xuJGNhbGxvdXQtcGFkZGluZzogMXJlbTtcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kY2FsbG91dC1mb250LWNvbG9yLWFsdDogJGJvZHktYmFja2dyb3VuZDtcbiRjYWxsb3V0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJTtcblxuLy8gMTQuIENsb3NlIEJ1dHRvblxuLy8gLS0tLS0tLS0tLS0tLS0tLVxuXG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcDtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtaG9yaXpvbnRhbDogMXJlbTtcbiRjbG9zZWJ1dHRvbi1vZmZzZXQtdmVydGljYWw6IDAuNXJlbTtcbiRjbG9zZWJ1dHRvbi1zaXplOiAyZW07XG4kY2xvc2VidXR0b24tbGluZWhlaWdodDogMTtcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheTtcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrO1xuXG4vLyAxNS4gRHJpbGxkb3duXG4vLyAtLS0tLS0tLS0tLS0tXG5cbiRkcmlsbGRvd24tdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMTVzIGxpbmVhcjtcbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlO1xuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3I7XG4kZHJpbGxkb3duLWJhY2tncm91bmQ6ICR3aGl0ZTtcblxuLy8gMTYuIERyb3Bkb3duXG4vLyAtLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3duLXBhZGRpbmc6IDFyZW07XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGRyb3Bkb3duLWZvbnQtc2l6ZTogMXJlbTtcbiRkcm9wZG93bi13aWR0aDogMzAwcHg7XG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRkcm9wZG93bi1zaXplczogKFxuICAgIHRpbnk6IDEwMHB4LFxuICAgIHNtYWxsOiAyMDBweCxcbiAgICBsYXJnZTogNDAwcHgsXG4pO1xuXG4vLyAxNy4gRHJvcGRvd24gTWVudVxuLy8gLS0tLS0tLS0tLS0tLS0tLS1cblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWU7XG4kZHJvcGRvd25tZW51LWFycm93LWNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4O1xuJGRyb3Bkb3dubWVudS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kZHJvcGRvd25tZW51LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcblxuLy8gMTguIEZsZXggVmlkZW9cbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRmbGV4dmlkZW8tbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTYpO1xuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzO1xuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5O1xuXG4vLyAxOS4gRm9ybXNcbi8vIC0tLS0tLS0tLVxuXG4kZmllbGRzZXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGZpZWxkc2V0LXBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiRmaWVsZHNldC1tYXJnaW46IHJlbS1jYWxjKDE4IDApO1xuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpO1xuJGZvcm0tc3BhY2luZzogcmVtLWNhbGMoMTYpO1xuJGhlbHB0ZXh0LWNvbG9yOiAkYmxhY2s7XG4kaGVscHRleHQtZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4kaGVscHRleHQtZm9udC1zdHlsZTogaXRhbGljO1xuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrO1xuJGlucHV0LXByZWZpeC1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LXByZWZpeC1wYWRkaW5nOiAxcmVtO1xuJGZvcm0tbGFiZWwtY29sb3I6ICRibGFjaztcbiRmb3JtLWxhYmVsLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbDtcbiRmb3JtLWxhYmVsLWxpbmUtaGVpZ2h0OiAxLjg7XG4kc2VsZWN0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzZWxlY3QtdHJpYW5nbGUtY29sb3I6ICRkYXJrLWdyYXk7XG4kc2VsZWN0LXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kaW5wdXQtY29sb3I6ICRibGFjaztcbiRpbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogJG1lZGl1bS1ncmF5O1xuJGlucHV0LWZvbnQtZmFtaWx5OiBpbmhlcml0O1xuJGlucHV0LWZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuJGlucHV0LWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGU7XG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXk7XG4kaW5wdXQtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXk7XG4kaW5wdXQtc2hhZG93OiAwO1xuJGlucHV0LXNoYWRvdy1mb2N1czogMDtcbiRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ6IGRlZmF1bHQ7XG4kaW5wdXQtdHJhbnNpdGlvbjogaW5pdGlhbDtcbiRpbnB1dC1udW1iZXItc3Bpbm5lcnM6IHRydWU7XG4kaW5wdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjAuIExhYmVsXG4vLyAtLS0tLS0tLS1cblxuJGxhYmVsLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKTtcbiRsYWJlbC1mb250LXNpemU6IDAuOHJlbTtcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbTtcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAyMS4gTWVkaWEgT2JqZWN0XG4vLyAtLS0tLS0tLS0tLS0tLS0tXG5cbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlO1xuXG4vLyAyMi4gTWVudVxuLy8gLS0tLS0tLS1cblxuJG1lbnUtbWFyZ2luOiAwO1xuJG1lbnUtbWFyZ2luLW5lc3RlZDogMXJlbTtcbiRtZW51LWl0ZW0tcGFkZGluZzogMC43cmVtIDAgMCAzOHB4O1xuJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU6ICR3aGl0ZTtcbiRtZW51LWl0ZW0tYmFja2dyb3VuZC1hY3RpdmU6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDIzLiBNZXRlclxuLy8gLS0tLS0tLS0tXG5cbiRtZXRlci1oZWlnaHQ6IDFyZW07XG4kbWV0ZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRtZXRlci1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kbWV0ZXItZmlsbC1nb29kOiAkc3VjY2Vzcy1jb2xvcjtcbiRtZXRlci1maWxsLW1lZGl1bTogJHdhcm5pbmctY29sb3I7XG4kbWV0ZXItZmlsbC1iYWQ6ICRhbGVydC1jb2xvcjtcblxuLy8gMjQuIE9mZi1jYW52YXNcbi8vIC0tLS0tLS0tLS0tLS0tXG5cbiRvZmZjYW52YXMtc2l6ZTogMjUwcHg7XG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJG9mZmNhbnZhcy16aW5kZXg6IC0xO1xuJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aDogMC41cztcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2U7XG4kb2ZmY2FudmFzLWZpeGVkLXJldmVhbDogdHJ1ZTtcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSk7XG4kbWFpbmNvbnRlbnQtY2xhc3M6IFwib2ZmLWNhbnZhcy1jb250ZW50XCI7XG4kbWFpbmNvbnRlbnQtc2hhZG93OiAwIDAgMTBweCByZ2JhKCRibGFjaywgMC41KTtcblxuLy8gMjUuIE9yYml0XG4vLyAtLS0tLS0tLS1cblxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlOiAkZGFyay1ncmF5O1xuJG9yYml0LWJ1bGxldC1kaWFtZXRlcjogMS4ycmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbTtcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtO1xuJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tOiAwLjhyZW07XG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jYXB0aW9uLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC1iYWNrZ3JvdW5kLWhvdmVyOiByZ2JhKCRibGFjaywgMC41KTtcbiRvcmJpdC1jb250cm9sLXBhZGRpbmc6IDFyZW07XG4kb3JiaXQtY29udHJvbC16aW5kZXg6IDEwO1xuXG4vLyAyNi4gUGFnaW5hdGlvblxuLy8gLS0tLS0tLS0tLS0tLS1cblxuJHBhZ2luYXRpb24tZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbiRwYWdpbmF0aW9uLWl0ZW0tY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCk7XG4kcGFnaW5hdGlvbi1pdGVtLXNwYWNpbmc6IHJlbS1jYWxjKDEpO1xuJHBhZ2luYXRpb24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXk7XG4kcGFnaW5hdGlvbi1pdGVtLWJhY2tncm91bmQtY3VycmVudDogJHByaW1hcnktY29sb3I7XG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpO1xuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5O1xuJHBhZ2luYXRpb24tZWxsaXBzaXMtY29sb3I6ICRibGFjaztcbiRwYWdpbmF0aW9uLW1vYmlsZS1pdGVtczogZmFsc2U7XG4kcGFnaW5hdGlvbi1hcnJvd3M6IHRydWU7XG5cbi8vIDI3LiBQcm9ncmVzcyBCYXJcbi8vIC0tLS0tLS0tLS0tLS0tLS1cblxuJHByb2dyZXNzLWhlaWdodDogMXJlbTtcbiRwcm9ncmVzcy1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXk7XG4kcHJvZ3Jlc3MtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4kcHJvZ3Jlc3MtbWV0ZXItYmFja2dyb3VuZDogJHByaW1hcnktY29sb3I7XG4kcHJvZ3Jlc3MtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMjguIFJldmVhbFxuLy8gLS0tLS0tLS0tLVxuXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRyZXZlYWwtd2lkdGg6IDYwMHB4O1xuJHJldmVhbC1tYXgtd2lkdGg6ICRnbG9iYWwtd2lkdGg7XG4kcmV2ZWFsLXBhZGRpbmc6ICRnbG9iYWwtcGFkZGluZztcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuJHJldmVhbC16aW5kZXg6IDEwMDU7XG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNSk7XG5cbi8vIDI5LiBTbGlkZXJcbi8vIC0tLS0tLS0tLS1cblxuJHNsaWRlci13aWR0aC12ZXJ0aWNhbDogMC41cmVtO1xuJHNsaWRlci10cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlLWluLW91dDtcbiRzbGlkZXItaGVpZ2h0OiAwLjVyZW07XG4kc2xpZGVyLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuJHNsaWRlci1maWxsLWJhY2tncm91bmQ6ICRtZWRpdW0tZ3JheTtcbiRzbGlkZXItaGFuZGxlLWhlaWdodDogMS40cmVtO1xuJHNsaWRlci1oYW5kbGUtd2lkdGg6IDEuNHJlbTtcbiRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkOiAwLjI1O1xuJHNsaWRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzMC4gU3dpdGNoXG4vLyAtLS0tLS0tLS0tXG5cbiRzd2l0Y2gtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5O1xuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3I7XG4kc3dpdGNoLWhlaWdodDogMnJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXRpbnk6IDEuNXJlbTtcbiRzd2l0Y2gtaGVpZ2h0LXNtYWxsOiAxLjc1cmVtO1xuJHN3aXRjaC1oZWlnaHQtbGFyZ2U6IDIuNXJlbTtcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbjtcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiRzd2l0Y2gtcGFkZGxlLW9mZnNldDogMC4yNXJlbTtcbiRzd2l0Y2gtcGFkZGxlLXJhZGl1czogJGdsb2JhbC1yYWRpdXM7XG4kc3dpdGNoLXBhZGRsZS10cmFuc2l0aW9uOiBhbGwgMC4yNXMgZWFzZS1vdXQ7XG5cbi8vIDMxLiBUYWJsZVxuLy8gLS0tLS0tLS0tXG5cbiR0YWJsZS1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFibGUtY29sb3Itc2NhbGU6IDUlO1xuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpO1xuJHRhYmxlLXBhZGRpbmc6IHJlbS1jYWxjKDggMTAgMTApO1xuJHRhYmxlLWhvdmVyLXNjYWxlOiAyJTtcbiR0YWJsZS1yb3ctaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWhvdmVyLXNjYWxlKTtcbiR0YWJsZS1yb3ctc3RyaXBlLWhvdmVyOiBkYXJrZW4oJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSArICR0YWJsZS1ob3Zlci1zY2FsZSk7XG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1zdHJpcGU6IGV2ZW47XG4kdGFibGUtaGVhZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlIC8gMik7XG4kdGFibGUtZm9vdC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKTtcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlO1xuXG4vLyAzMi4gVGFic1xuLy8gLS0tLS0tLS1cblxuJHRhYi1tYXJnaW46IDA7XG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZTtcbiR0YWItYmFja2dyb3VuZC1hY3RpdmU6ICRsaWdodC1ncmF5O1xuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuJHRhYi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICR3aGl0ZTtcbiR0YWItaXRlbS1wYWRkaW5nOiAxLjI1cmVtIDEuNXJlbTtcbiR0YWItZXhwYW5kLW1heDogNjtcbiR0YWItY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdGFiLWNvbnRlbnQtYm9yZGVyOiAkbGlnaHQtZ3JheTtcbiR0YWItY29udGVudC1jb2xvcjogZm9yZWdyb3VuZCgkdGFiLWJhY2tncm91bmQsICRwcmltYXJ5LWNvbG9yKTtcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtO1xuXG4vLyAzMy4gVGh1bWJuYWlsXG4vLyAtLS0tLS0tLS0tLS0tXG5cbi8vICR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlO1xuLy8gJHRodW1ibmFpbC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbjtcbi8vICR0aHVtYm5haWwtc2hhZG93OiAwIDAgMCAxcHggcmdiYSgkYmxhY2ssIDAuMik7XG4vLyAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjogMCAwIDZweCAxcHggcmdiYSgkcHJpbWFyeS1jb2xvciwgMC41KTtcbi8vICR0aHVtYm5haWwtdHJhbnNpdGlvbjogYm94LXNoYWRvdyAyMDBtcyBlYXNlLW91dDtcbi8vICR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuLy8gMzQuIFRpdGxlIEJhclxuLy8gLS0tLS0tLS0tLS0tLVxuXG4kdGl0bGViYXItYmFja2dyb3VuZDogJHdoaXRlO1xuJHRpdGxlYmFyLWNvbG9yOiAkYmxhY2s7XG4kdGl0bGViYXItcGFkZGluZzogMC41cmVtO1xuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQ7XG4kdGl0bGViYXItaWNvbi1jb2xvcjogJGJsYWNrO1xuJHRpdGxlYmFyLWljb24tY29sb3ItaG92ZXI6ICRtZWRpdW0tZ3JheTtcbiR0aXRsZWJhci1pY29uLXNwYWNpbmc6IDAuMjVyZW07XG5cbi8vIDM1LiBUb29sdGlwXG4vLyAtLS0tLS0tLS0tLVxuXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZDtcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheTtcbiR0b29sdGlwLWJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiR0b29sdGlwLWNvbG9yOiAkd2hpdGU7XG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtO1xuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplO1xuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtO1xuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjY7XG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4vLyAzNi4gVG9wIEJhclxuLy8gLS0tLS0tLS0tLS1cblxuJHRvcGJhci1wYWRkaW5nOiAwO1xuJHRvcGJhci1iYWNrZ3JvdW5kOiAkd2hpdGU7XG4kdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZDogJHRvcGJhci1iYWNrZ3JvdW5kO1xuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtO1xuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHg7XG4kdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludDogbWVkaXVtO1xuXG4vLyAzNy4gRm9udHNcbiRnb3RoYW0tYS1iOiBcIkdvdGhhbSBBXCIsIFwiR290aGFtIEJcIiwgQXJpYWw7XG5cbkBtaXhpbiBmb250LWdvdGhhbS1ib2xkIHtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuQG1peGluIGZvbnQtZ290aGFtLW1lZGl1bSB7XG4gICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbkBtaXhpbiBmb250LWdvdGhhbS1ib29rIHtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgZm9udC13ZWlnaHQ6IDQwMDtcbn1cblxuQG1peGluIGZvbnQtZ290aGFtLWxpZ2h0IHtcbiAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgZm9udC13ZWlnaHQ6IDMwMDtcbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZ1bmN0aW9uc1xuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIENTUyB0cmlhbmdsZSwgd2hpY2ggY2FuIGJlIHVzZWQgZm9yIGRyb3Bkb3duIGFycm93cywgZHJvcGRvd24gcGlwcywgYW5kIG1vcmUuIFVzZSB0aGlzIG1peGluIGluc2lkZSBhIGAmOjpiZWZvcmVgIG9yIGAmOjphZnRlcmAgc2VsZWN0b3IsIHRvIGF0dGFjaCB0aGUgdHJpYW5nbGUgdG8gYW4gZXhpc3RpbmcgZWxlbWVudC5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdHJpYW5nbGUtc2l6ZSAtIFdpZHRoIG9mIHRoZSB0cmlhbmdsZS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkdHJpYW5nbGUtY29sb3IgLSBDb2xvciBvZiB0aGUgdHJpYW5nbGUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHJpYW5nbGUtZGlyZWN0aW9uIC0gRGlyZWN0aW9uIHRoZSB0cmlhbmdsZSBwb2ludHMuIENhbiBiZSBgdXBgLCBgcmlnaHRgLCBgZG93bmAsIG9yIGBsZWZ0YC5cbkBtaXhpbiBjc3MtdHJpYW5nbGUoXG4gICR0cmlhbmdsZS1zaXplLFxuICAkdHJpYW5nbGUtY29sb3IsXG4gICR0cmlhbmdsZS1kaXJlY3Rpb25cbikge1xuICBjb250ZW50OiAnJztcbiAgZGlzcGxheTogYmxvY2s7XG4gIHdpZHRoOiAwO1xuICBoZWlnaHQ6IDA7XG4gIGJvcmRlcjogaW5zZXQgJHRyaWFuZ2xlLXNpemU7XG5cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IGRvd24pIHtcbiAgICBib3JkZXItY29sb3I6ICR0cmlhbmdsZS1jb2xvciB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItYm90dG9tLXdpZHRoOiAwO1xuICB9XG4gIEBpZiAoJHRyaWFuZ2xlLWRpcmVjdGlvbiA9PSB1cCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yO1xuICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gIH1cbiAgQGlmICgkdHJpYW5nbGUtZGlyZWN0aW9uID09IHJpZ2h0KSB7XG4gICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCAkdHJpYW5nbGUtY29sb3I7XG4gICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgIGJvcmRlci1yaWdodC13aWR0aDogMDtcbiAgfVxuICBAaWYgKCR0cmlhbmdsZS1kaXJlY3Rpb24gPT0gbGVmdCkge1xuICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgJHRyaWFuZ2xlLWNvbG9yIHRyYW5zcGFyZW50IHRyYW5zcGFyZW50O1xuICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgYm9yZGVyLWxlZnQtd2lkdGg6IDA7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBtZW51IGljb24gd2l0aCBhIHNldCB3aWR0aCwgaGVpZ2h0LCBudW1iZXIgb2YgYmFycywgYW5kIGNvbG9ycy4gVGhlIG1peGluIHVzZXMgdGhlIGhlaWdodCBvZiB0aGUgaWNvbiBhbmQgdGhlIHdlaWdodCBvZiB0aGUgYmFycyB0byBkZXRlcm1pbmUgc3BhY2luZy4gPGRpdiBjbGFzcz1cImRvY3MtZXhhbXBsZS1idXJnZXJcIj48L2Rpdj5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIGljb24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yLWhvdmVyIFskZGFyay1ncmF5XSAtIENvbG9yIHRvIHVzZSB3aGVuIHRoZSBpY29uIGlzIGhvdmVyZWQgb3Zlci5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdpZHRoIFsyMHB4XSAtIFdpZHRoIG9mIHRoZSBpY29uLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkaGVpZ2h0IFsxNnB4XSAtIEhlaWdodCBvZiB0aGUgaWNvbi5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHdlaWdodCBbMnB4XSAtIEhlaWdodCBvZiBpbmRpdmlkdWFsIGJhcnMgaW4gdGhlIGljb24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXJzIFszXSAtIE51bWJlciBvZiBiYXJzIGluIHRoZSBpY29uLlxuQG1peGluIGhhbWJ1cmdlcihcbiAgJGNvbG9yOiAkYmxhY2ssXG4gICRjb2xvci1ob3ZlcjogJGRhcmstZ3JheSxcbiAgJHdpZHRoOiAyMHB4LFxuICAkaGVpZ2h0OiAxNnB4LFxuICAkd2VpZ2h0OiAycHgsXG4gICRiYXJzOiAzXG4pIHtcbiAgLy8gYm94LXNoYWRvdyBDU1Mgb3V0cHV0XG4gICRzaGFkb3c6ICgpO1xuICAkaG92ZXItc2hhZG93OiAoKTtcblxuICAvLyBTcGFjaW5nIGJldHdlZW4gYmFycyBpcyBjYWxjdWxhdGVkIGJhc2VkIG9uIHRoZSB0b3RhbCBoZWlnaHQgb2YgdGhlIGljb24gYW5kIHRoZSB3ZWlnaHQgb2YgZWFjaCBiYXJcbiAgJHNwYWNpbmc6IGZsb29yKCgkaGVpZ2h0IC0gKCR3ZWlnaHQgKiAkYmFycykpIC8gKCRiYXJzIC0gMSkpO1xuXG4gIC8vIEljb24gY29udGFpbmVyXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHdpZHRoOiAkd2lkdGg7XG4gIGhlaWdodDogJGhlaWdodDtcblxuICAvLyBJY29uIGJhcnNcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6ICR3ZWlnaHQ7XG4gICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuXG4gICAgQGZvciAkaSBmcm9tIDIgdGhyb3VnaCAkYmFycyB7XG4gICAgICAkb2Zmc2V0OiAoJHdlaWdodCArICRzcGFjaW5nKSAqICgkaSAtIDEpO1xuICAgICAgJHNoYWRvdzogYXBwZW5kKCRzaGFkb3csIDAgJG9mZnNldCAwICRjb2xvciwgY29tbWEpO1xuICAgIH1cblxuICAgIGJveC1zaGFkb3c6ICRzaGFkb3c7XG4gIH1cblxuICAvLyBIb3ZlciBzdGF0ZVxuICBAaWYgJGNvbG9yLWhvdmVyIHtcbiAgICAvLyBHZW5lcmF0ZSBDU1NcbiAgICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRiYXJzIHtcbiAgICAgICRvZmZzZXQ6ICgkd2VpZ2h0ICsgJHNwYWNpbmcpICogKCRpIC0gMSk7XG4gICAgICAkaG92ZXItc2hhZG93OiBhcHBlbmQoJGhvdmVyLXNoYWRvdywgMCAkb2Zmc2V0IDAgJGNvbG9yLWhvdmVyLCBjb21tYSk7XG4gICAgfVxuXG4gICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgYmFja2dyb3VuZDogJGNvbG9yLWhvdmVyO1xuICAgICAgYm94LXNoYWRvdzogJGhvdmVyLXNoYWRvdztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgYSBkb3dud2FyZC1mYWNpbmcgdHJpYW5nbGUgYXMgYSBiYWNrZ3JvdW5kIGltYWdlIHRvIGFuIGVsZW1lbnQuIFRoZSBpbWFnZSBpcyBmb3JtYXR0ZWQgYXMgYW4gU1ZHLCBtYWtpbmcgaXQgZWFzeSB0byBjaGFuZ2UgdGhlIGNvbG9yLiBCZWNhdXNlIEludGVybmV0IEV4cGxvcmVyIGRvZXNuJ3Qgc3VwcG9ydCBlbmNvZGVkIFNWR3MgYXMgYmFja2dyb3VuZCBpbWFnZXMsIGEgUE5HIGZhbGxiYWNrIGlzIGFsc28gaW5jbHVkZWQuXG4vLy8gVGhlcmUgYXJlIHR3byBQTkcgZmFsbGJhY2tzOiBhIGJsYWNrIHRyaWFuZ2xlIGFuZCBhIHdoaXRlIHRyaWFuZ2xlLiBUaGUgb25lIHVzZWQgZGVwZW5kcyBvbiB0aGUgbGlnaHRuZXNzIG9mIHRoZSBpbnB1dCBjb2xvci5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJsYWNrXSAtIENvbG9yIHRvIHVzZSBmb3IgdGhlIHRyaWFuZ2xlLlxuQG1peGluIGJhY2tncm91bmQtdHJpYW5nbGUoJGNvbG9yOiAkYmxhY2spIHtcbiAgJHJnYjogJ3JnYiUyOCN7cmVkKCRjb2xvcil9LCAje2dyZWVuKCRjb2xvcil9LCAje2JsdWUoJGNvbG9yKX0lMjknO1xuXG4gIGJhY2tncm91bmQtaW1hZ2U6IHVybChcImRhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9J2h0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnJyB2ZXJzaW9uPScxLjEnIHdpZHRoPSczMicgaGVpZ2h0PScyNCcgdmlld0JveD0nMCAwIDMyIDI0Jz48cG9seWdvbiBwb2ludHM9JzAsMCAzMiwwIDE2LDI0JyBzdHlsZT0nZmlsbDogI3skcmdifSc+PC9wb2x5Z29uPjwvc3ZnPlwiKTtcblxuICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICBAaWYgbGlnaHRuZXNzKCRjb2xvcikgPCA2MCUge1xuICAgICAgLy8gV2hpdGUgdHJpYW5nbGVcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybCgnZGF0YTppbWFnZS9wbmc7YmFzZTY0LGlWQk9SdzBLR2dvQUFBQU5TVWhFVWdBQUFDQUFBQUFZQ0FZQUFBQ2JVLzgwQUFBQUdYUkZXSFJUYjJaMGQyRnlaUUJCWkc5aVpTQkpiV0ZuWlZKbFlXUjVjY2xsUEFBQUFJcEpSRUZVZU5yRWtja05nREFNQkJmUmtFdDBPYlJCQmRzR1hVRGdtUWZLNFhoSDJtOGN6UUFBeTI3UjN0c3c0UWZlMng4dU9PNm9ZTGI2R2xPb3IzR0Yrc3dVUkFPbVVKK1J3dEVKczlXdlRHRVl4QlhxSTFNUUFaaENmVVFLUnpETVZqK1R3ckFJVjZqdlNVRWtZQXIxTFNrY3lUQmIvVitLWWZYN3hBZXVzcTNzTER0R0gza0VHQUNQV0lmbE5aZmhSUUFBQUFCSlJVNUVya0pnZ2c9PScpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAvLyBCbGFjayB0cmlhbmdsZVxuICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKCdkYXRhOmltYWdlL3BuZztiYXNlNjQsaVZCT1J3MEtHZ29BQUFBTlNVaEVVZ0FBQUNBQUFBQVlDQVlBQUFDYlUvODBBQUFBR1hSRldIUlRiMlowZDJGeVpRQkJaRzlpWlNCSmJXRm5aVkpsWVdSNWNjbGxQQUFBQU1CSlJFRlVlTnJFbGxzT2hDQU1SVnN6QzlJbHpVN0tDbVZIVEpzb01XWU1VdHB5djlCZ2J1WFFCNVpTZGdCWVlZNHljZ0Jpdms4S1lGc1FNZk1pVFRCUDRvM25VekNLek9hYkxKYkx5Mi9nMzFldkdrQWdpblI0L1plZ0tINXFYM2JKQ3NjQTN0MHgza2dPNXRRRnloaEZmNTB4UnFGTGJ5TVVOSlF6Z3lqR1Mvd2dDcHZLcWtSQnB1V3JFNFY5ZCsxRTRkUFVYcUlnMTA3U1FPRS8yRFJReE13VER5Z0lJblZERVQ5VDNsQ29qLzZqL1ZDbUdqWk9sMmxLcFo4QUF3RFFQN3pJaW1ER0ZRQUFBQUJKUlU1RXJrSmdnZz09Jyk7XG4gICAgfVxuICB9XG59XG5cbi8vLyBBcHBsaWVzIHRoZSBtaWNybyBjbGVhcmZpeCBoYWNrIHBvcHVsYXJpemVkIGJ5IE5pY29sYXMgR2FsbGFnaGVyLiBJbmNsdWRlIHRoaXMgbWl4aW4gb24gYSBjb250YWluZXIgaWYgaXRzIGNoaWxkcmVuIGFyZSBhbGwgZmxvYXRlZCwgdG8gZ2l2ZSB0aGUgY29udGFpbmVyIGEgcHJvcGVyIGhlaWdodC5cbi8vLyBUaGUgY2xlYXJmaXggaXMgYXVnbWVudGVkIHdpdGggc3BlY2lmaWMgc3R5bGVzIHRvIHByZXZlbnQgYm9yZGVycyBpbiBmbGV4Ym94IGVudmlyb25tZW50c1xuLy8vIEBsaW5rIGh0dHA6Ly9uaWNvbGFzZ2FsbGFnaGVyLmNvbS9taWNyby1jbGVhcmZpeC1oYWNrLyBNaWNybyBDbGVhcmZpeCBIYWNrXG4vLy8gQGxpbmsgaHR0cDovL2RhbmlzYWRlc2lnbmVyLmNvbS9ibG9nL2ZsZXhib3gtY2xlYXItZml4LXBzZXVkby1lbGVtZW50cy8gRmxleGJveCBmaXhcbkBtaXhpbiBjbGVhcmZpeCB7XG4gICY6OmJlZm9yZSxcbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcgJztcbiAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtYmFzaXM6IDA7XG4gICAgICBvcmRlcjogMTtcbiAgICB9XG4gIH1cblxuICAmOjphZnRlciB7XG4gICAgY2xlYXI6IGJvdGg7XG4gIH1cbn1cblxuLy8vIEFkZHMgQ1NTIGZvciBhIFwicXVhbnRpdHkgcXVlcnlcIiBzZWxlY3RvciB0aGF0IGF1dG9tYXRpY2FsbHkgc2l6ZXMgZWxlbWVudHMgYmFzZWQgb24gaG93IG1hbnkgdGhlcmUgYXJlIGluc2lkZSBhIGNvbnRhaW5lci5cbi8vLyBAbGluayBodHRwOi8vYWxpc3RhcGFydC5jb20vYXJ0aWNsZS9xdWFudGl0eS1xdWVyaWVzLWZvci1jc3MgUXVhbnRpdHkgUXVlcmllcyBmb3IgQ1NTXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heCAtIE1heGltdW0gbnVtYmVyIG9mIGl0ZW1zIHRvIGRldGVjdC4gVGhlIGhpZ2hlciB0aGlzIG51bWJlciBpcywgdGhlIG1vcmUgQ1NTIHRoYXQncyByZXF1aXJlZCB0byBjb3ZlciBlYWNoIG51bWJlciBvZiBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRlbGVtIFtsaV0gLSBUYWcgdG8gdXNlIGZvciBzaWJsaW5nIHNlbGVjdG9ycy5cbkBtaXhpbiBhdXRvLXdpZHRoKCRtYXgsICRlbGVtOiBsaSkge1xuICBAZm9yICRpIGZyb20gMiB0aHJvdWdoICRtYXgge1xuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkLFxuICAgICY6bnRoLWxhc3QtY2hpbGQoI3skaX0pOmZpcnN0LWNoaWxkIH4gI3skZWxlbX0ge1xuICAgICAgd2lkdGg6IHBlcmNlbnRhZ2UoMSAvICRpKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFJlbW92ZXMgdGhlIGZvY3VzIHJpbmcgYXJvdW5kIGFuIGVsZW1lbnQgd2hlbiBhIG1vdXNlIGlucHV0IGlzIGRldGVjdGVkLlxuQG1peGluIGRpc2FibGUtbW91c2Utb3V0bGluZSB7XG4gIFtkYXRhLXdoYXRpbnB1dD0nbW91c2UnXSAmIHtcbiAgICBvdXRsaW5lOiAwO1xuICB9XG59XG5cbi8vLyBNYWtlcyBhbiBlbGVtZW50IHZpc3VhbGx5IGhpZGRlbiwgYnV0IHN0aWxsIGFjY2Vzc2libGUgdG8ga2V5Ym9hcmRzIGFuZCBhc3Npc3RpdmUgZGV2aWNlcy5cbi8vLyBAbGluayBodHRwOi8vc25vb2suY2EvYXJjaGl2ZXMvaHRtbF9hbmRfY3NzL2hpZGluZy1jb250ZW50LWZvci1hY2Nlc3NpYmlsaXR5IEhpZGluZyBDb250ZW50IGZvciBBY2Nlc3NpYmlsaXR5XG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUge1xuICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgd2lkdGg6IDFweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIGNsaXA6IHJlY3QoMCwgMCwgMCwgMCk7XG59XG5cbi8vLyBSZXZlcnNlcyB0aGUgQ1NTIG91dHB1dCBjcmVhdGVkIGJ5IHRoZSBgZWxlbWVudC1pbnZpc2libGUoKWAgbWl4aW4uXG5AbWl4aW4gZWxlbWVudC1pbnZpc2libGUtb2ZmIHtcbiAgcG9zaXRpb246IHN0YXRpYyAhaW1wb3J0YW50O1xuICBoZWlnaHQ6IGF1dG87XG4gIHdpZHRoOiBhdXRvO1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgY2xpcDogYXV0bztcbn1cblxuLy8vIFZlcnRpY2FsbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gdmVydGljYWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IGNlbnRlcnMgdGhlIGVsZW1lbnQgaW5zaWRlIG9mIGl0cyBmaXJzdCBub24tc3RhdGljIHBhcmVudCxcbi8vLyBAbGluayBodHRwOi8vd3d3LnNpdGVwb2ludC5jb20vY2VudGVyaW5nLXdpdGgtc2Fzcy8gQ2VudGVyaW5nIFdpdGggU2Fzc1xuQG1peGluIGhvcml6b250YWwtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbn1cblxuLy8vIEFic29sdXRlbHkgY2VudGVycyB0aGUgZWxlbWVudCBpbnNpZGUgb2YgaXRzIGZpcnN0IG5vbi1zdGF0aWMgcGFyZW50LFxuLy8vIEBsaW5rIGh0dHA6Ly93d3cuc2l0ZXBvaW50LmNvbS9jZW50ZXJpbmctd2l0aC1zYXNzLyBDZW50ZXJpbmcgV2l0aCBTYXNzXG5AbWl4aW4gYWJzb2x1dGUtY2VudGVyIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IDUwJTtcbiAgbGVmdDogNTAlO1xuICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAtNTAlKTtcbn1cblxuLy8vIEl0ZXJhdGVzIHRocm91Z2ggYnJlYWtwb2ludHMgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnQtY2xhc3Nlc2AgYW5kIHByaW50cyB0aGUgQ1NTIGluc2lkZSB0aGUgbWl4aW4gYXQgZWFjaCBicmVha3BvaW50J3MgbWVkaWEgcXVlcnkuIFVzZSB0aGlzIHdpdGggdGhlIGdyaWQsIG9yIGFueSBvdGhlciBjb21wb25lbnQgdGhhdCBoYXMgcmVzcG9uc2l2ZSBjbGFzc2VzLlxuLy8vXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkc21hbGwgW3RydWVdIC0gSWYgYGZhbHNlYCwgdGhlIG1peGluIHdpbGwgc2tpcCB0aGUgYHNtYWxsYCBicmVha3BvaW50LiBVc2UgdGhpcyB3aXRoIGNvbXBvbmVudHMgdGhhdCBkb24ndCBwcmVmaXggY2xhc3NlcyB3aXRoIGBzbWFsbC1gLCBvbmx5IGBtZWRpdW0tYCBhbmQgdXAuXG5AbWl4aW4gLXpmLWVhY2gtYnJlYWtwb2ludCgkc21hbGw6IHRydWUpIHtcbiAgJG1hcDogJGJyZWFrcG9pbnQtY2xhc3NlcztcblxuICBAaWYgbm90ICRzbWFsbCB7XG4gICAgJG1hcDogbWFwLXJlbW92ZSgkbWFwLCAkLXpmLXplcm8tYnJlYWtwb2ludCk7XG4gIH1cblxuICBAZWFjaCAkc2l6ZSBpbiAkbWFwIHtcbiAgICAkLXpmLXNpemU6ICRzaXplICFnbG9iYWw7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsZXgtZ3JpZFxuLy8vL1xuXG4vLy8gQ3JlYXRlcyBhIGNvbnRhaW5lciBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfExpc3R9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIFtudWxsXSAtIE51bWJlciBvZiBjb2x1bW5zIHRvIHVzZSBmb3IgdGhpcyByb3cuIElmIHNldCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSwgdGhlIGdsb2JhbCBjb2x1bW4gY291bnQgd2lsbCBiZSB1c2VkLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGJhc2UgW3RydWVdIC0gU2V0IHRvIGBmYWxzZWAgdG8gcHJldmVudCBiYXNpYyBzdHlsZXMgZnJvbSBiZWluZyBvdXRwdXQuIFVzZWZ1bCBpZiB5b3UncmUgY2FsbGluZyB0aGlzIG1peGluIG9uIHRoZSBzYW1lIGVsZW1lbnQgdHdpY2UsIGFzIGl0IHByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgb3V0cHV0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93KFxuICAkYmVoYXZpb3I6IG51bGwsXG4gICR3aWR0aDogJGdyaWQtcm93LXdpZHRoLFxuICAkY29sdW1uczogbnVsbCxcbiAgJGJhc2U6IHRydWUsXG4gICRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXJcbikge1xuICAkbWFyZ2luOiBhdXRvO1xuXG4gIEBpZiBpbmRleCgkYmVoYXZpb3IsIG5lc3QpICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtcm93LW5lc3QoJGd1dHRlcik7XG5cbiAgICBAaWYgaW5kZXgoJGJlaGF2aW9yLCBjb2xsYXBzZSkgIT0gbnVsbCB7XG4gICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIG1heC13aWR0aDogJHdpZHRoO1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgfVxuXG4gIEBpZiAkYmFzZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICB9XG5cbiAgQGlmICRjb2x1bW5zICE9IG51bGwge1xuICAgIEBpbmNsdWRlIGdyaWQtY29udGV4dCgkY29sdW1ucywgJGJhc2UpIHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgYGZsZXhgIHByb3BlcnR5IGZvciBhIGZsZXggZ3JpZCBjb2x1bW4uIEl0IGFjY2VwdHMgYWxsIG9mIHRoZSBzYW1lIHZhbHVlcyBhcyB0aGUgYmFzaWMgYGdyaWQtY29sdW1uKClgIGZ1bmN0aW9uLCBhbG9uZyB3aXRoIHR3byBleHRyYXM6XG4vLy8gICAtIGBudWxsYCAodGhlIGRlZmF1bHQpIHdpbGwgbWFrZSB0aGUgY29sdW1uIGV4cGFuZCB0byBmaWxsIHNwYWNlLlxuLy8vICAgLSBgc2hyaW5rYCB3aWxsIG1ha2UgdGhlIGNvbHVtbiBjb250cmFjdCwgc28gaXQgb25seSB0YWtlcyB1cCB0aGUgaG9yaXpvbnRhbCBzcGFjZSBpdCBuZWVkcy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uXG5AZnVuY3Rpb24gZmxleC1ncmlkLWNvbHVtbigkY29sdW1uczogbnVsbCkge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuICAkZmxleDogMSAxIDBweDtcblxuICBAaWYgJGNvbHVtbnMgPT0gc2hyaW5rIHtcbiAgICAkZmxleDogMCAwIGF1dG87XG4gIH1cbiAgQGVsc2UgaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgJGZsZXg6IDAgMCBncmlkLWNvbHVtbigkY29sdW1ucyk7XG4gIH1cblxuICBAcmV0dXJuICRmbGV4O1xufVxuXG4vLy8gQ3JlYXRlcyBhIGNvbHVtbiBmb3IgYSBmbGV4IGdyaWQuIEJ5IGRlZmF1bHQsIHRoZSBjb2x1bW4gd2lsbCBzdHJldGNoIHRvIHRoZSBmdWxsIHdpZHRoIG9mIGl0cyBjb250YWluZXIsIGJ1dCB0aGlzIGNhbiBiZSBvdmVycmlkZGVuIHdpdGggc2l6aW5nIGNsYXNzZXMsIG9yIGJ5IHVzaW5nIHRoZSBgdW5zdGFja2AgY2xhc3Mgb24gdGhlIHBhcmVudCBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7TWl4ZWR9ICRjb2x1bW5zIFtudWxsXSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZmxleC1ncmlkLWNvbHVtbigpYCBmdW5jdGlvbiB0byBzZWUgcG9zc2libGUgdmFsdWVzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIFNwYWNlIGJldHdlZW4gY29sdW1ucywgYWRkZWQgYXMgYSBsZWZ0IGFuZCByaWdodCBwYWRkaW5nLlxuQG1peGluIGZsZXgtZ3JpZC1jb2x1bW4oXG4gICRjb2x1bW5zOiBudWxsLFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgLy8gQmFzZSBwcm9wZXJ0aWVzXG4gIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBmaXhlcyByZWNlbnQgQ2hyb21lIHZlcnNpb24gbm90IGxpbWl0aW5nIGNoaWxkIHdpZHRoXG4gIC8vIGh0dHBzOi8vc3RhY2tvdmVyZmxvdy5jb20vcXVlc3Rpb25zLzM0OTM0NTg2L3doaXRlLXNwYWNlLW5vd3JhcC1hbmQtZmxleGJveC1kaWQtbm90LXdvcmstaW4tY2hyb21lXG4gIEBpZiAkY29sdW1ucyA9PSBudWxsIHtcbiAgICBtaW4td2lkdGg6IGluaXRpYWw7XG4gIH1cbiAgLy8gbWF4LXdpZHRoIGZpeGVzIElFIDEwLzExIG5vdCByZXNwZWN0aW5nIHRoZSBmbGV4LWJhc2lzIHByb3BlcnR5XG4gIEBpZiAkY29sdW1ucyAhPSBudWxsIGFuZCAkY29sdW1ucyAhPSBzaHJpbmsge1xuICAgIG1heC13aWR0aDogZ3JpZC1jb2x1bW4oJGNvbHVtbnMpO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgYmxvY2sgZ3JpZCBmb3IgYSBmbGV4IGdyaWQgcm93LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRuIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gZGlzcGxheSBvbiBlYWNoIHJvdy5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIC0gU2VsZWN0b3IgdG8gdXNlIHRvIHRhcmdldCBjb2x1bW5zIHdpdGhpbiB0aGUgcm93LlxuQG1peGluIGZsZXgtZ3JpZC1sYXlvdXQoXG4gICRuLFxuICAkc2VsZWN0b3I6ICcuY29sdW1uJ1xuKSB7XG4gIGZsZXgtd3JhcDogd3JhcDtcblxuICA+ICN7JHNlbGVjdG9yfSB7XG4gICAgJHBjdDogcGVyY2VudGFnZSgxLyRuKTtcblxuICAgIGZsZXg6IDAgMCAkcGN0O1xuICAgIG1heC13aWR0aDogJHBjdDtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBncmlkIGNvbHVtbi4gQ29sdW1ucyB3aXRoIGxvd2VyIG51bWJlcnMgYXBwZWFyIGZpcnN0IGluIHRoZSBsYXlvdXQuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRvcmRlciBbMF0gLSBPcmRlciBudW1iZXIgdG8gYXBwbHkuXG5AbWl4aW4gZmxleC1ncmlkLW9yZGVyKCRvcmRlcjogMCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LW9yZGVyKCkuIGZsZXgtZ3JpZC1vcmRlcigpIHdpbGwgYmUgcmVtb3ZlZCBpbiBGb3VuZGF0aW9uIDYuMy4nO1xuICBAaW5jbHVkZSBmbGV4LW9yZGVyKCRvcmRlcik7XG59XG5cbi8vLyBIb3Jpem9udGFsbHkgb3IgdmVydGljYWxseSBhbGlnbnMgdGhlIGNvbHVtbnMgd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IHJvdy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtcm93LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAd2FybiAnVGhpcyBtaXhpbiBpcyBiZWluZyByZXBsYWNlZCBieSBmbGV4LWFsaWduKCkuIGZsZXgtZ3JpZC1yb3ctYWxpZ24oKSB3aWxsIGJlIHJlbW92ZWQgaW4gRm91bmRhdGlvbiA2LjMuJztcbiAgQGluY2x1ZGUgZmxleC1hbGlnbigkeCwgJHkpO1xufVxuXG4vLy8gVmVydGljYWxseSBhbGlnbiBhIHNpbmdsZSBjb2x1bW4gd2l0aGluIGEgZmxleCByb3cuIEFwcGx5IHRoaXMgbWl4aW4gdG8gYSBmbGV4IGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCR5OiBudWxsKSB7XG4gIEB3YXJuICdUaGlzIG1peGluIGlzIGJlaW5nIHJlcGxhY2VkIGJ5IGZsZXgtYWxpZ24tc2VsZigpLiBmbGV4LWdyaWQtY29sdW1uLWFsaWduKCkgd2lsbCBiZSByZW1vdmVkIGluIEZvdW5kYXRpb24gNi4zLic7XG4gIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeSk7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsZXgtZ3JpZCB7XG4gIC8vIFJvd1xuICAucm93IHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93O1xuXG4gICAgLy8gTmVzdGluZyBiZWhhdmlvclxuICAgICYgJiB7XG4gICAgICBAaW5jbHVkZSBmbGV4LWdyaWQtcm93KG5lc3QsICRiYXNlOiBmYWxzZSk7XG4gICAgfVxuXG4gICAgLy8gRXhwYW5kZWQgcm93XG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5jb2xsYXBzZSB7XG4gICAgICA+IC5jb2x1bW4geyBAaW5jbHVkZSBncmlkLWNvbC1jb2xsYXBzZTsgfVxuICAgIH1cbiAgfVxuXG4gIC8vIENvbHVtblxuICAuY29sdW1uIHtcbiAgICBAaW5jbHVkZSBmbGV4LWdyaWQtY29sdW1uO1xuICB9XG5cbiAgLy8gQ29sdW1uIHJvd1xuICAvLyBUaGUgZG91YmxlIC5yb3cgY2xhc3MgaXMgbmVlZGVkIHRvIGJ1bXAgdXAgdGhlIHNwZWNpZmljaXR5XG4gIC5jb2x1bW4ucm93LnJvdyB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAvLyBUbyBwcm9wZXJseSBuZXN0IGEgY29sdW1uIHJvdywgcGFkZGluZyBhbmQgbWFyZ2luIGlzIHJlbW92ZWRcbiAgICAucm93ICYge1xuICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIC16Zi1lYWNoLWJyZWFrcG9pbnQge1xuICAgIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGdyaWQtY29sdW1uLWNvdW50IHtcbiAgICAgIC8vIFNpemluZyAocGVyY2VudGFnZSlcbiAgICAgIC4jeyQtemYtc2l6ZX0tI3skaX0ge1xuICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCRpKTtcbiAgICAgICAgbWF4LXdpZHRoOiBncmlkLWNvbHVtbigkaSk7XG4gICAgICB9XG5cbiAgICAgIC8vIE9mZnNldHNcbiAgICAgICRvOiAkaSAtIDE7XG5cbiAgICAgIC4jeyQtemYtc2l6ZX0tb2Zmc2V0LSN7JG99IHtcbiAgICAgICAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tb2Zmc2V0KCRvKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTb3VyY2Ugb3JkZXJpbmdcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEJsb2NrIGdyaWRcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoICRibG9jay1ncmlkLW1heCB7XG4gICAgICAuI3skLXpmLXNpemV9LXVwLSN7JGl9IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1ncmlkLWxheW91dCgkaSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICQtemYtc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAvLyBTaXppbmcgKGV4cGFuZClcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgIC4jeyQtemYtc2l6ZX0tZXhwYW5kIHtcbiAgICAgICAgICBmbGV4OiBmbGV4LWdyaWQtY29sdW1uKCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLy8gQXV0by1zdGFja2luZy91bnN0YWNraW5nXG4gICAgICBAYXQtcm9vdCAod2l0aG91dDogbWVkaWEpIHtcbiAgICAgICAgLnJvdy4jeyQtemYtc2l6ZX0tdW5zdGFjayB7XG4gICAgICAgICAgPiAuY29sdW1uIHtcbiAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oMTAwJSk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi1zaXplKSB7XG4gICAgICAgICAgICAgIGZsZXg6IGZsZXgtZ3JpZC1jb2x1bW4oKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZXNwb25zaXZlIGNvbGxhcHNpbmdcbiAgICAuI3skLXpmLXNpemV9LWNvbGxhcHNlIHtcbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLWNvbGxhcHNlOyB9XG4gICAgfVxuXG4gICAgLiN7JC16Zi1zaXplfS11bmNvbGxhcHNlIHtcbiAgICAgICRndXR0ZXI6IC16Zi1nZXQtYnAtdmFsKCRncmlkLWNvbHVtbi1ndXR0ZXIsICQtemYtc2l6ZSk7XG5cbiAgICAgID4gLmNvbHVtbiB7IEBpbmNsdWRlIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcik7IH1cbiAgICB9XG4gIH1cblxuICAvLyBTaXppbmcgKHNocmluaylcbiAgLnNocmluayB7XG4gICAgZmxleDogZmxleC1ncmlkLWNvbHVtbihzaHJpbmspO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICAvLyBSZW1vdmUgdGhlc2UgaW4gNi4zXG4gIEBlYWNoICR2ZGlyLCAkcHJvcCBpbiAkLXpmLWZsZXgtYWxpZ24ge1xuICAgIC5jb2x1bW4uYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbi1zZWxmKCR2ZGlyKTtcbiAgICB9XG4gIH1cblxuICAuY29sdW1ucyB7XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgUGxhY2Vob2xkZXJJbkV4dGVuZFxuICAgIEBleHRlbmQgLmNvbHVtbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZnVuY3Rpb25zXG4vLy8vXG5cbiRnbG9iYWwtZm9udC1zaXplOiAxMDAlICFkZWZhdWx0O1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gUmVtb3ZlcyB0aGUgdW5pdCAoZS5nLiBweCwgZW0sIHJlbSkgZnJvbSBhIHZhbHVlLCByZXR1cm5pbmcgdGhlIG51bWJlciBvbmx5LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRudW0gLSBOdW1iZXIgdG8gc3RyaXAgdW5pdCBmcm9tLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gVGhlIHNhbWUgbnVtYmVyLCBzYW5zIHVuaXQuXG5AZnVuY3Rpb24gc3RyaXAtdW5pdCgkbnVtKSB7XG4gIEByZXR1cm4gJG51bSAvICgkbnVtICogMCArIDEpO1xufVxuXG4vLy8gQ29udmVydHMgb25lIG9yIG1vcmUgcGl4ZWwgdmFsdWVzIGludG8gbWF0Y2hpbmcgcmVtIHZhbHVlcy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICR2YWx1ZXMgLSBPbmUgb3IgbW9yZSB2YWx1ZXMgdG8gY29udmVydC4gQmUgc3VyZSB0byBzZXBhcmF0ZSB0aGVtIHdpdGggc3BhY2VzIGFuZCBub3QgY29tbWFzLiBJZiB5b3UgbmVlZCB0byBjb252ZXJ0IGEgY29tbWEtc2VwYXJhdGVkIGxpc3QsIHdyYXAgdGhlIGxpc3QgaW4gcGFyZW50aGVzZXMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYXNlIFtudWxsXSAtIFRoZSBiYXNlIHZhbHVlIHRvIHVzZSB3aGVuIGNhbGN1bGF0aW5nIHRoZSBgcmVtYC4gSWYgeW91J3JlIHVzaW5nIEZvdW5kYXRpb24gb3V0IG9mIHRoZSBib3gsIHRoaXMgaXMgMTZweC4gSWYgdGhpcyBwYXJhbWV0ZXIgaXMgYG51bGxgLCB0aGUgZnVuY3Rpb24gd2lsbCByZWZlcmVuY2UgdGhlIGAkYmFzZS1mb250LXNpemVgIHZhcmlhYmxlIGFzIHRoZSBiYXNlLlxuLy8vXG4vLy8gQHJldHVybnMge0xpc3R9IEEgbGlzdCBvZiBjb252ZXJ0ZWQgdmFsdWVzLlxuQGZ1bmN0aW9uIHJlbS1jYWxjKCR2YWx1ZXMsICRiYXNlOiBudWxsKSB7XG4gICRyZW0tdmFsdWVzOiAoKTtcbiAgJGNvdW50OiBsZW5ndGgoJHZhbHVlcyk7XG5cbiAgLy8gSWYgbm8gYmFzZSBpcyBkZWZpbmVkLCBkZWZlciB0byB0aGUgZ2xvYmFsIGZvbnQgc2l6ZVxuICBAaWYgJGJhc2UgPT0gbnVsbCB7XG4gICAgJGJhc2U6ICRnbG9iYWwtZm9udC1zaXplO1xuICB9XG5cbiAgLy8gSWYgdGhlIGJhc2UgZm9udCBzaXplIGlzIGEgJSwgdGhlbiBtdWx0aXBseSBpdCBieSAxNnB4XG4gIC8vIFRoaXMgaXMgYmVjYXVzZSAxMDAlIGZvbnQgc2l6ZSA9IDE2cHggaW4gbW9zdCBhbGwgYnJvd3NlcnNcbiAgQGlmIHVuaXQoJGJhc2UpID09ICclJyB7XG4gICAgJGJhc2U6ICgkYmFzZSAvIDEwMCUpICogMTZweDtcbiAgfVxuXG4gIEBpZiAkY291bnQgPT0gMSB7XG4gICAgQHJldHVybiAtemYtdG8tcmVtKCR2YWx1ZXMsICRiYXNlKTtcbiAgfVxuXG4gIEBmb3IgJGkgZnJvbSAxIHRocm91Z2ggJGNvdW50IHtcbiAgICAkcmVtLXZhbHVlczogYXBwZW5kKCRyZW0tdmFsdWVzLCAtemYtdG8tcmVtKG50aCgkdmFsdWVzLCAkaSksICRiYXNlKSk7XG4gIH1cblxuICBAcmV0dXJuICRyZW0tdmFsdWVzO1xufVxuXG4vLyBDb252ZXJ0cyBhIHVuaXRsZXNzLCBwaXhlbCwgb3IgcmVtIHZhbHVlIHRvIGVtLCBmb3IgdXNlIGluIGJyZWFrcG9pbnRzLlxuQGZ1bmN0aW9uIC16Zi1icC10by1lbSgkdmFsdWUpIHtcbiAgLy8gUGl4ZWwgYW5kIHVuaXRsZXNzIHZhbHVlcyBhcmUgY29udmVydGVkIHRvIHJlbXNcbiAgQGlmIHVuaXQoJHZhbHVlKSA9PSAncHgnIG9yIHVuaXRsZXNzKCR2YWx1ZSkge1xuICAgICR2YWx1ZTogcmVtLWNhbGMoJHZhbHVlLCAkYmFzZTogMTZweCk7XG4gIH1cblxuICAvLyBUaGVuIHRoZSB2YWx1ZSBpcyBjb252ZXJ0ZWQgdG8gZW1zXG4gIEByZXR1cm4gc3RyaXAtdW5pdCgkdmFsdWUpICogMWVtO1xufVxuXG4vLy8gQ29udmVydHMgYSBwaXhlbCB2YWx1ZSB0byBtYXRjaGluZyByZW0gdmFsdWUuICpBbnkqIHZhbHVlIHBhc3NlZCwgcmVnYXJkbGVzcyBvZiB1bml0LCBpcyBhc3N1bWVkIHRvIGJlIGEgcGl4ZWwgdmFsdWUuIEJ5IGRlZmF1bHQsIHRoZSBiYXNlIHBpeGVsIHZhbHVlIHVzZWQgdG8gY2FsY3VsYXRlIHRoZSByZW0gdmFsdWUgaXMgdGFrZW4gZnJvbSB0aGUgYCRnbG9iYWwtZm9udC1zaXplYCB2YXJpYWJsZS5cbi8vLyBAYWNjZXNzIHByaXZhdGVcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkdmFsdWUgLSBQaXhlbCB2YWx1ZSB0byBjb252ZXJ0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkYmFzZSBbbnVsbF0gLSBCYXNlIGZvciBwaXhlbCBjb252ZXJzaW9uLlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBudW1iZXIgaW4gcmVtcywgY2FsY3VsYXRlZCBiYXNlZCBvbiB0aGUgZ2l2ZW4gdmFsdWUgYW5kIHRoZSBiYXNlIHBpeGVsIHZhbHVlLiByZW0gdmFsdWVzIGFyZSBwYXNzZWQgdGhyb3VnaCBhcyBpcy5cbkBmdW5jdGlvbiAtemYtdG8tcmVtKCR2YWx1ZSwgJGJhc2U6IG51bGwpIHtcbiAgLy8gQ2hlY2sgaWYgdGhlIHZhbHVlIGlzIGEgbnVtYmVyXG4gIEBpZiB0eXBlLW9mKCR2YWx1ZSkgIT0gJ251bWJlcicge1xuICAgIEB3YXJuIGluc3BlY3QoJHZhbHVlKSArICcgd2FzIHBhc3NlZCB0byByZW0tY2FsYygpLCB3aGljaCBpcyBub3QgYSBudW1iZXIuJztcbiAgICBAcmV0dXJuICR2YWx1ZTtcbiAgfVxuXG4gIC8vIENhbGN1bGF0ZSByZW0gaWYgdW5pdHMgZm9yICR2YWx1ZSBpcyBub3QgcmVtXG4gIEBpZiB1bml0KCR2YWx1ZSkgIT0gJ3JlbScge1xuICAgICR2YWx1ZTogc3RyaXAtdW5pdCgkdmFsdWUpIC8gc3RyaXAtdW5pdCgkYmFzZSkgKiAxcmVtO1xuICB9XG5cbiAgLy8gVHVybiAwcmVtIGludG8gMFxuICBAaWYgJHZhbHVlID09IDByZW0ge1xuICAgICR2YWx1ZTogMDtcbiAgfVxuXG4gIEByZXR1cm4gJHZhbHVlO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2hhbmdlIHRoZSBiZWhhdmlvciBvZiBjb2x1bW5zIGRlZmluZWQgaW5zaWRlIHRoaXMgbWl4aW4gdG8gdXNlIGEgZGlmZmVyZW50IGNvbHVtbiBjb3VudC5cbi8vLyBAY29udGVudFxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRjb2x1bW5zIC0gTnVtYmVyIG9mIGNvbHVtbnMgdG8gdXNlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJHJvb3QgW2ZhbHNlXVxuLy8vICAgSWYgYGZhbHNlYCwgc2VsZWN0b3JzIGluc2lkZSB0aGlzIG1peGluIHdpbGwgbmVzdCBpbnNpZGUgdGhlIHBhcmVudCBzZWxlY3Rvci5cbi8vLyAgIElmIGB0cnVlYCwgc2VsZWN0b3JzIHdpbGwgbm90IG5lc3QuXG5AbWl4aW4gZ3JpZC1jb250ZXh0KFxuICAkY29sdW1ucyxcbiAgJHJvb3Q6IGZhbHNlXG4pIHtcbiAgLy8gU3RvcmUgdGhlIGN1cnJlbnQgY29sdW1uIGNvdW50IHNvIGl0IGNhbiBiZSByZS1zZXQgbGF0ZXJcbiAgJG9sZC1ncmlkLWNvbHVtbi1jb3VudDogJGdyaWQtY29sdW1uLWNvdW50O1xuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRjb2x1bW5zICFnbG9iYWw7XG5cbiAgQGlmICRyb290IHtcbiAgICBAYXQtcm9vdCB7IEBjb250ZW50OyB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBjb250ZW50O1xuICB9XG5cbiAgLy8gUmVzdG9yZSB0aGUgb2xkIGNvbHVtbiBjb3VudFxuICAkZ3JpZC1jb2x1bW4tY291bnQ6ICRvbGQtZ3JpZC1jb2x1bW4tY291bnQ7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCByb3cuXG4vLy8gQGNvbnRlbnRcbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfSAkY29sdW1ucyBbbnVsbF0gLSBDb2x1bW4gY291bnQgZm9yIHRoaXMgcm93LiBgbnVsbGAgd2lsbCB1c2UgdGhlIGRlZmF1bHQgY29sdW1uIGNvdW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZHN9ICRiZWhhdmlvciBbbnVsbF1cbi8vLyAgIE1vZGlmaWNhdGlvbnMgdG8gdGhlIGRlZmF1bHQgZ3JpZCBzdHlsZXMuIGBuZXN0YCBpbmRpY2F0ZXMgdGhlIHJvdyB3aWxsIGJlIHBsYWNlZCBpbnNpZGUgYW5vdGhlciByb3cuIGBjb2xsYXBzZWAgaW5kaWNhdGVzIHRoYXQgdGhlIGNvbHVtbnMgaW5zaWRlIHRoaXMgcm93IHdpbGwgbm90IGhhdmUgcGFkZGluZy4gYG5lc3QgY29sbGFwc2VgIGNvbWJpbmVzIGJvdGggYmVoYXZpb3JzLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkd2lkdGggWyRncmlkLXJvdy13aWR0aF0gLSBNYXhpbXVtIHdpZHRoIG9mIHRoZSByb3cuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkY2YgW3RydWVdIC0gV2hldGhlciBvciBub3QgdG8gaW5jbHVkZSBhIGNsZWFyZml4LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkZ3V0dGVyIFskZ3JpZC1jb2x1bW4tZ3V0dGVyXSAtIEd1dHRlciB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgbWFyZ2lucywgaW4gY2FzZSB0aGUgcm93IGlzIG5lc3RlZC5cbkBtaXhpbiBncmlkLXJvdyhcbiAgJGNvbHVtbnM6IG51bGwsXG4gICRiZWhhdmlvcjogbnVsbCxcbiAgJHdpZHRoOiAkZ3JpZC1yb3ctd2lkdGgsXG4gICRjZjogdHJ1ZSxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gICRtYXJnaW46IGF1dG87XG5cbiAgQGlmIGluZGV4KCRiZWhhdmlvciwgbmVzdCkgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1yb3ctbmVzdCgkZ3V0dGVyKTtcblxuICAgIEBpZiBpbmRleCgkYmVoYXZpb3IsIGNvbGxhcHNlKSAhPSBudWxsIHtcbiAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgbWF4LXdpZHRoOiAkd2lkdGg7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG5cbiAgQGlmICRjZiB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIH1cblxuICBAaWYgJGNvbHVtbnMgIT0gbnVsbCB7XG4gICAgQGluY2x1ZGUgZ3JpZC1jb250ZXh0KCRjb2x1bW5zKSB7XG4gICAgICBAY29udGVudDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEludmVydHMgdGhlIG1hcmdpbnMgb2YgYSByb3cgdG8gbmVzdCBpdCBpbnNpZGUgb2YgYSBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01hcHxudWxsfSAkZ3V0dGVyIFtudWxsXSAtIEd1dHRlciB2YWx1ZSB0byB1c2Ugd2hlbiBpbnZlcnRpbmcgdGhlIG1hcmdpbnMuIFNldCB0byBgbnVsbGAgdG8gcmVmZXIgdG8gdGhlIHJlc3BvbnNpdmUgZ3V0dGVyIHNldHRpbmdzLlxuQG1peGluIGdyaWQtcm93LW5lc3QoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaWYgdHlwZS1vZigkZ3V0dGVyKSA9PSAnbnVtYmVyJyB7XG4gICAgJGd1dHRlcjogKCQtemYtemVyby1icmVha3BvaW50OiAkZ3V0dGVyKTtcbiAgfVxuICBtYXgtd2lkdGg6IG5vbmU7XG5cbiAgQGVhY2ggJGJyZWFrcG9pbnQsICR2YWx1ZSBpbiAkZ3V0dGVyIHtcbiAgICAkbWFyZ2luOiByZW0tY2FsYygkdmFsdWUpIC8gMiAqIC0xO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkYnJlYWtwb2ludCkge1xuICAgICAgbWFyZ2luLWxlZnQ6ICRtYXJnaW47XG4gICAgICBtYXJnaW4tcmlnaHQ6ICRtYXJnaW47XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBicmVha3BvaW50c1xuLy8vL1xuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBaZXJvVW5pdFxuXG4vLy8gQSBsaXN0IG9mIG5hbWVkIGJyZWFrcG9pbnRzLiBZb3UgY2FuIHVzZSB0aGVzZSB3aXRoIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBxdWlja2x5IGNyZWF0ZSBtZWRpYSBxdWVyaWVzLlxuLy8vIEB0eXBlIE1hcFxuJGJyZWFrcG9pbnRzOiAoXG4gIHNtYWxsOiAwLFxuICBtZWRpdW06IDY0MHB4LFxuICBsYXJnZTogMTAyNHB4LFxuICB4bGFyZ2U6IDEyMDBweCxcbiAgeHhsYXJnZTogMTQ0MHB4LFxuKSAhZGVmYXVsdDtcblxuJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IHNtYWxsICFkZWZhdWx0O1xuXG5AaWYgbnRoKG1hcC12YWx1ZXMoJGJyZWFrcG9pbnRzKSwgMSkgIT0gMCB7XG4gIEBlcnJvciAnWW91ciBzbWFsbGVzdCBicmVha3BvaW50IChkZWZpbmVkIGluICRicmVha3BvaW50cykgbXVzdCBiZSBzZXQgdG8gXCIwXCIuJztcbn1cbkBlbHNlIHtcbiAgJC16Zi16ZXJvLWJyZWFrcG9pbnQ6IG50aChtYXAta2V5cygkYnJlYWtwb2ludHMpLCAxKTtcbn1cblxuLy8vIEFsbCBvZiB0aGUgbmFtZXMgaW4gdGhpcyBsaXN0IHdpbGwgYmUgb3V0cHV0IGFzIGNsYXNzZXMgaW4geW91ciBDU1MsIGxpa2UgYC5zbWFsbC0xMmAsIGAubWVkaXVtLTZgLCBhbmQgc28gb24uIEVhY2ggdmFsdWUgaW4gdGhpcyBsaXN0IG11c3QgYWxzbyBiZSBpbiB0aGUgYCRicmVha3BvaW50c2AgbWFwLlxuLy8vIEB0eXBlIExpc3RcbiRicmVha3BvaW50LWNsYXNzZXM6IChzbWFsbCBtZWRpdW0gbGFyZ2UpICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGEgbWVkaWEgcXVlcnkgc3RyaW5nIG1hdGNoaW5nIHRoZSBpbnB1dCB2YWx1ZS4gUmVmZXIgdG8gdGhlIGRvY3VtZW50YXRpb24gZm9yIHRoZSBgYnJlYWtwb2ludCgpYCBtaXhpbiB0byBzZWUgd2hhdCB0aGUgcG9zc2libGUgaW5wdXRzIGFyZS5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWwgW3NtYWxsXSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbkBmdW5jdGlvbiBicmVha3BvaW50KCR2YWw6ICQtemYtemVyby1icmVha3BvaW50KSB7XG4gIC8vIFNpemUgb3Iga2V5d29yZFxuICAkYnA6IG50aCgkdmFsLCAxKTtcbiAgLy8gVmFsdWUgZm9yIG1heC13aWR0aCBtZWRpYSBxdWVyaWVzXG4gICRicC1tYXg6IDA7XG4gIC8vIERpcmVjdGlvbiBvZiBtZWRpYSBxdWVyeSAodXAsIGRvd24sIG9yIG9ubHkpXG4gICRkaXI6IGlmKGxlbmd0aCgkdmFsKSA+IDEsIG50aCgkdmFsLCAyKSwgdXApO1xuICAvLyBFdmVudHVhbCBvdXRwdXRcbiAgJHN0cjogJyc7XG4gIC8vIElzIGl0IGEgbmFtZWQgbWVkaWEgcXVlcnk/XG4gICRuYW1lZDogZmFsc2U7XG5cbiAgLy8gT3JpZW50YXRpb24gbWVkaWEgcXVlcmllcyBoYXZlIGEgdW5pcXVlIHN5bnRheFxuICBAaWYgJGJwID09ICdsYW5kc2NhcGUnIG9yICRicCA9PSAncG9ydHJhaXQnIHtcbiAgICBAcmV0dXJuICcob3JpZW50YXRpb246ICN7JGJwfSknO1xuICB9XG4gIEBlbHNlIGlmICRicCA9PSAncmV0aW5hJyB7XG4gICAgQHJldHVybiAnKC13ZWJraXQtbWluLWRldmljZS1waXhlbC1yYXRpbzogMiksIChtaW4tcmVzb2x1dGlvbjogMTkyZHBpKSc7XG4gIH1cblxuICAvLyBUcnkgdG8gcHVsbCBhIG5hbWVkIGJyZWFrcG9pbnQgb3V0IG9mIHRoZSAkYnJlYWtwb2ludHMgbWFwXG4gIEBpZiB0eXBlLW9mKCRicCkgPT0gJ3N0cmluZycge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsICRicCkge1xuICAgICAgQGlmICRkaXIgPT0gJ29ubHknIG9yICRkaXIgPT0gJ2Rvd24nIHtcbiAgICAgICAgJGJwLW1heDogLXpmLW1hcC1uZXh0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgIH1cblxuICAgICAgJGJwOiBtYXAtZ2V0KCRicmVha3BvaW50cywgJGJwKTtcbiAgICAgICRuYW1lZDogdHJ1ZTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJGJwOiAwO1xuICAgICAgQHdhcm4gJ2JyZWFrcG9pbnQoKTogXCIjeyR2YWx9XCIgaXMgbm90IGRlZmluZWQgaW4geW91ciAkYnJlYWtwb2ludHMgc2V0dGluZy4nO1xuICAgIH1cbiAgfVxuXG4gIC8vIENvbnZlcnQgYW55IHBpeGVsLCByZW0sIG9yIHVuaXRsZXNzIHZhbHVlIHRvIGVtXG4gICRicDogLXpmLWJwLXRvLWVtKCRicCk7XG4gIEBpZiAkYnAtbWF4IHtcbiAgICAkYnAtbWF4OiAtemYtYnAtdG8tZW0oJGJwLW1heCkgLSAoMS8xNik7XG4gIH1cblxuICAvLyBDb25kaXRpb25zIHRvIHNraXAgbWVkaWEgcXVlcnkgY3JlYXRpb25cbiAgLy8gLSBJdCdzIGEgbmFtZWQgYnJlYWtwb2ludCB0aGF0IHJlc29sdmVkIHRvIFwiMCBkb3duXCIgb3IgXCIwIHVwXCJcbiAgLy8gLSBJdCdzIGEgbnVtZXJpYyBicmVha3BvaW50IHRoYXQgcmVzb2x2ZWQgdG8gXCIwIFwiICsgYW55dGhpbmdcbiAgQGlmICRicCA+IDBlbSBvciAkZGlyID09ICdvbmx5JyBvciAkZGlyID09ICdkb3duJyB7XG4gICAgLy8gYG9ubHlgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbikgYW5kIChtYXgtd2lkdGg6IG4pYFxuICAgIEBpZiAkZGlyID09ICdvbmx5JyB7XG4gICAgICAvLyBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gXCJvbmx5XCIgcmFuZ2VcbiAgICAgIEBpZiAkbmFtZWQgPT0gdHJ1ZSB7XG4gICAgICAgIC8vIE9ubHkgdXNlIFwibWluLXdpZHRoXCIgaWYgdGhlIGZsb29yIGlzIGdyZWF0ZXIgdGhhbiAwXG4gICAgICAgIEBpZiAkYnAgPiAwZW0ge1xuICAgICAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG5cbiAgICAgICAgICAvLyBPbmx5IGFkZCBcImFuZFwiIHRvIHRoZSBtZWRpYSBxdWVyeSBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICAgIEBpZiAkYnAtbWF4ICE9IG51bGwge1xuICAgICAgICAgICAgJHN0cjogJHN0ciArICcgYW5kICc7XG4gICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLy8gT25seSB1c2UgXCJtYXgtd2lkdGhcIiBpZiB0aGVyZSdzIGEgY2VpbGluZ1xuICAgICAgICBAaWYgJGJwLW1heCAhPSBudWxsIHtcbiAgICAgICAgICAkc3RyOiAkc3RyICsgJyhtYXgtd2lkdGg6ICN7JGJwLW1heH0pJztcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICBAd2FybiAnYnJlYWtwb2ludCgpOiBPbmx5IG5hbWVkIG1lZGlhIHF1ZXJpZXMgY2FuIGhhdmUgYW4gYG9ubHlgIHJhbmdlLic7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gYGRvd25gIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1heC13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGRpciA9PSAnZG93bicge1xuICAgICAgJG1heDogaWYoJG5hbWVkLCAkYnAtbWF4LCAkYnApO1xuXG4gICAgICAvLyBTa2lwIG1lZGlhIHF1ZXJ5IGNyZWF0aW9uIGlmIGlucHV0IHZhbHVlIGlzIGV4YWN0bHkgXCIwIGRvd25cIixcbiAgICAgIC8vIHVubGVzcyB0aGUgZnVuY3Rpb24gd2FzIGNhbGxlZCBhcyBcInNtYWxsIGRvd25cIiwgaW4gd2hpY2ggY2FzZSBpdCdzIGp1c3QgXCJzbWFsbCBvbmx5XCJcbiAgICAgIEBpZiAkbmFtZWQgb3IgJGJwID4gMGVtIHtcbiAgICAgICAgQGlmICRtYXggIT0gbnVsbCB7XG4gICAgICAgICAgJHN0cjogJHN0ciArICcobWF4LXdpZHRoOiAjeyRtYXh9KSc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBgdXBgIHJhbmdlcyB1c2UgdGhlIGZvcm1hdCBgKG1pbi13aWR0aDogbilgXG4gICAgQGVsc2UgaWYgJGJwID4gMGVtIHtcbiAgICAgICRzdHI6ICRzdHIgKyAnKG1pbi13aWR0aDogI3skYnB9KSc7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkc3RyO1xufVxuXG4vLy8gV3JhcHMgYSBtZWRpYSBxdWVyeSBhcm91bmQgdGhlIGNvbnRlbnQgeW91IHB1dCBpbnNpZGUgdGhlIG1peGluLiBUaGlzIG1peGluIGFjY2VwdHMgYSBudW1iZXIgb2YgdmFsdWVzOlxuLy8vICAtIElmIGEgc3RyaW5nIGlzIHBhc3NlZCwgdGhlIG1peGluIHdpbGwgbG9vayBmb3IgaXQgaW4gdGhlIGAkYnJlYWtwb2ludHNgIG1hcCwgYW5kIHVzZSBhIG1lZGlhIHF1ZXJ5IHRoZXJlLlxuLy8vICAtIElmIGEgcGl4ZWwgdmFsdWUgaXMgcGFzc2VkLCBpdCB3aWxsIGJlIGNvbnZlcnRlZCB0byBhbiBlbSB2YWx1ZSB1c2luZyBgJGdsb2JhbC1mb250LXNpemVgIGFzIHRoZSBiYXNlLlxuLy8vICAtIElmIGEgcmVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHVuaXQgd2lsbCBiZSBjaGFuZ2VkIHRvIGVtLlxuLy8vICAtIElmIGFuIGVtIHZhbHVlIGlzIHBhc3NlZCwgdGhlIHZhbHVlIHdpbGwgYmUgdXNlZCBhcy1pcy5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICR2YWx1ZSAtIEJyZWFrcG9pbnQgbmFtZSwgb3IgcHgsIHJlbSwgb3IgZW0gdmFsdWUgdG8gcHJvY2Vzcy5cbi8vL1xuLy8vIEBvdXRwdXQgSWYgdGhlIGJyZWFrcG9pbnQgaXMgXCIwcHggYW5kIGxhcmdlclwiLCBvdXRwdXRzIHRoZSBjb250ZW50IGFzLWlzLiBPdGhlcndpc2UsIG91dHB1dHMgdGhlIGNvbnRlbnQgd3JhcHBlZCBpbiBhIG1lZGlhIHF1ZXJ5LlxuQG1peGluIGJyZWFrcG9pbnQoJHZhbHVlKSB7XG4gICRzdHI6IGJyZWFrcG9pbnQoJHZhbHVlKTtcblxuICAvLyBJZiAkc3RyIGlzIHN0aWxsIGFuIGVtcHR5IHN0cmluZywgbm8gbWVkaWEgcXVlcnkgaXMgbmVlZGVkXG4gIEBpZiAkc3RyID09ICcnIHtcbiAgICBAY29udGVudDtcbiAgfVxuXG4gIC8vIE90aGVyd2lzZSwgd3JhcCB0aGUgY29udGVudCBpbiBhIG1lZGlhIHF1ZXJ5XG4gIEBlbHNlIHtcbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAjeyRzdHJ9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ29udmVycyB0aGUgYnJlYWtwb2ludHMgbWFwIHRvIGEgVVJMLWVuY29kZWQgc3RyaW5nLCBsaWtlIHRoaXM6IGBrZXkxPXZhbHVlMSZrZXkyPXZhbHVlMmAuIFRoZSB2YWx1ZSBpcyB0aGVuIGRyb3BwZWQgaW50byB0aGUgQ1NTIGZvciBhIHNwZWNpYWwgYDxtZXRhPmAgdGFnLCB3aGljaCBpcyByZWFkIGJ5IHRoZSBGb3VuZGF0aW9uIEphdmFTY3JpcHQuIFRoaXMgaXMgaG93IHdlIHRyYW5zZmVyIHZhbHVlcyBmcm9tIFNhc3MgdG8gSmF2YVNjcmlwdCwgc28gdGhleSBjYW4gYmUgZGVmaW5lZCBpbiBvbmUgcGxhY2UuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG4vLy9cbi8vLyBAcGFyYW0ge01hcH0gJG1hcCAtIE1hcCB0byBjb252ZXJ0LlxuLy8vXG4vLy8gQHJldHVybnMge1N0cmluZ30gQSBzdHJpbmcgY29udGFpbmluZyB0aGUgbWFwJ3MgY29udGVudHMuXG5AZnVuY3Rpb24gLXpmLWJwLXNlcmlhbGl6ZSgkbWFwKSB7XG4gICRzdHI6ICcnO1xuICBAZWFjaCAka2V5LCAkdmFsdWUgaW4gJG1hcCB7XG4gICAgJHN0cjogJHN0ciArICRrZXkgKyAnPScgKyAtemYtYnAtdG8tZW0oJHZhbHVlKSArICcmJztcbiAgfVxuICAkc3RyOiBzdHItc2xpY2UoJHN0ciwgMSwgLTIpO1xuXG4gIEByZXR1cm4gJHN0cjtcbn1cblxuLy8vIEZpbmQgdGhlIG5leHQga2V5IGluIGEgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBNYXAgdG8gdHJhdmVyc2UuXG4vLy8gQHBhcmFtIHtNaXhlZH0gJGtleSAtIEtleSB0byB1c2UgYXMgYSBzdGFydGluZyBwb2ludC5cbi8vL1xuLy8vIEByZXR1cm5zIHtNaXhlZH0gVGhlIHZhbHVlIGZvciB0aGUga2V5IGFmdGVyIGAka2V5YCwgaWYgYCRrZXlgIHdhcyBmb3VuZC4gSWYgYCRrZXlgIHdhcyBub3QgZm91bmQsIG9yIGAka2V5YCB3YXMgdGhlIGxhc3QgdmFsdWUgaW4gdGhlIG1hcCwgcmV0dXJucyBgbnVsbGAuXG5AZnVuY3Rpb24gLXpmLW1hcC1uZXh0KCRtYXAsICRrZXkpIHtcbiAgLy8gU3RvcmUgdGhlIHZhbHVlcyBvZiB0aGUgbWFwIGFzIGEgbGlzdCwgc28gd2UgY2FuIGFjY2VzcyB0aGVtIHdpdGggbnRoXG4gICR2YWx1ZXM6IG1hcC12YWx1ZXMoJG1hcCk7XG5cbiAgLy8gR2hldHRvIGZvciBsb29wXG4gICRpOiAxO1xuICAkZm91bmQ6IGZhbHNlO1xuICBAZWFjaCAkdmFsIGluIG1hcC1rZXlzKCRtYXApIHtcbiAgICBAaWYgJGZvdW5kID09IGZhbHNlIHtcbiAgICAgIEBpZiAoJGtleSA9PSAkdmFsKSB7XG4gICAgICAgICRmb3VuZDogdHJ1ZTtcbiAgICAgIH1cbiAgICAgICRpOiAkaSArIDE7XG4gICAgfVxuICB9XG5cbiAgLy8gSWYgdGhlIGtleSBkb2Vzbid0IGV4aXN0LCBvciBpdCdzIHRoZSBsYXN0IGtleSBpbiB0aGUgbWFwLCByZXR1cm4gbnVsbFxuICBAaWYgJGkgPiBsZW5ndGgoJG1hcCkge1xuICAgIEByZXR1cm4gbnVsbDtcbiAgfVxuICAvLyBPdGhlcndpc2UsIHJldHVybiB0aGUgdmFsdWVcbiAgQGVsc2Uge1xuICAgIEByZXR1cm4gbnRoKCR2YWx1ZXMsICRpKTtcbiAgfVxufVxuXG4vLy8gR2V0IGEgdmFsdWUgZm9yIGEgYnJlYWtwb2ludCBmcm9tIGEgcmVzcG9uc2l2ZSBjb25maWcgbWFwLiBJZiB0aGUgY29uZmlnIG1hcCBoYXMgdGhlIGtleSBgJHZhbHVlYCwgdGhlIGV4YWN0IGJyZWFrcG9pbnQgdmFsdWUgaXMgcmV0dXJuZWQuIElmIHRoZSBjb25maWcgbWFwIGRvZXMgKm5vdCogaGF2ZSB0aGUgYnJlYWtwb2ludCwgdGhlIHZhbHVlIG1hdGNoaW5nIHRoZSBuZXh0IGxvd2VzdCBicmVha3BvaW50IGluIHRoZSBjb25maWcgbWFwIGlzIHJldHVybmVkLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuLy8vXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXAgLSBJbnB1dCBjb25maWcgbWFwLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHZhbHVlIC0gQnJlYWtwb2ludCBuYW1lIHRvIHVzZS5cbi8vL1xuLy8vIEByZXR1cm4ge01peGVkfSBUaGUgY29ycmVzcG9uZGluZyBicmVha3BvaW50IHZhbHVlLlxuQGZ1bmN0aW9uIC16Zi1nZXQtYnAtdmFsKCRtYXAsICR2YWx1ZSkge1xuICAvLyBDaGVjayBpZiB0aGUgYnJlYWtwb2ludCBuYW1lIGV4aXN0cyBnbG9iYWxseVxuICBAaWYgbm90IG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgJHZhbHVlKSB7XG4gICAgQHJldHVybiBudWxsO1xuICB9XG4gIC8vIENoZWNrIGlmIHRoZSBicmVha3BvaW50IG5hbWUgZXhpc3RzIGluIHRoZSBsb2NhbCBjb25maWcgbWFwXG4gIEBlbHNlIGlmIG1hcC1oYXMta2V5KCRtYXAsICR2YWx1ZSkge1xuICAgIC8vIElmIGl0IGRvZXMsIGp1c3QgcmV0dXJuIHRoZSB2YWx1ZVxuICAgIEByZXR1cm4gbWFwLWdldCgkbWFwLCAkdmFsdWUpO1xuICB9XG4gIC8vIE90aGVyd2lzZSwgZmluZCB0aGUgbmV4dCBsb3dlc3QgYnJlYWtwb2ludCBhbmQgcmV0dXJuIHRoYXQgdmFsdWVcbiAgQGVsc2Uge1xuICAgICRhbmNob3I6IG51bGw7XG4gICAgJGZvdW5kOiBmYWxzZTtcblxuICAgIEBlYWNoICRrZXksICR2YWwgaW4gJGJyZWFrcG9pbnRzIHtcbiAgICAgIEBpZiBub3QgJGZvdW5kIHtcbiAgICAgICAgQGlmIG1hcC1oYXMta2V5KCRtYXAsICRrZXkpIHtcbiAgICAgICAgICAkYW5jaG9yOiAka2V5O1xuICAgICAgICB9XG4gICAgICAgIEBpZiAka2V5ID09ICR2YWx1ZSB7XG4gICAgICAgICAgJGZvdW5kOiB0cnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgQHJldHVybiBtYXAtZ2V0KCRtYXAsICRhbmNob3IpO1xuICB9XG59XG5cbi8vIExlZ2FjeSBicmVha3BvaW50IHZhcmlhYmxlc1xuLy8gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGluIDYuM1xuJHNtYWxsLXVwOiBudWxsO1xuJHNtYWxsLW9ubHk6IG51bGw7XG4kbWVkaXVtLXVwOiBudWxsO1xuJG1lZGl1bS1vbmx5OiBudWxsO1xuJGxhcmdlLXVwOiBudWxsO1xuJGxhcmdlLW9ubHk6IG51bGw7XG4keGxhcmdlLXVwOiBudWxsO1xuJHhsYXJnZS1vbmx5OiBudWxsO1xuJHh4bGFyZ2UtdXA6IG51bGw7XG4keHhsYXJnZS1vbmx5OiBudWxsO1xuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBzbWFsbCkge1xuICAkc21hbGwtdXA6IHNjcmVlbjtcbiAgJHNtYWxsLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHNtYWxsIG9ubHkpfScpO1xufVxuXG5AaWYgbWFwLWhhcy1rZXkoJGJyZWFrcG9pbnRzLCBtZWRpdW0pIHtcbiAgJG1lZGl1bS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobWVkaXVtKX0nKTtcbiAgJG1lZGl1bS1vbmx5OiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludChtZWRpdW0gb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIGxhcmdlKSB7XG4gICRsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2UpfScpO1xuICAkbGFyZ2Utb25seTogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQobGFyZ2Ugb25seSl9Jyk7XG59XG5cbkBpZiBtYXAtaGFzLWtleSgkYnJlYWtwb2ludHMsIHhsYXJnZSkge1xuICAkeGxhcmdlLXVwOiB1bnF1b3RlKCdzY3JlZW4gYW5kICN7YnJlYWtwb2ludCh4bGFyZ2UpfScpO1xuICAkeGxhcmdlLW9ubHk6IHVucXVvdGUoJ3NjcmVlbiBhbmQgI3ticmVha3BvaW50KHhsYXJnZSBvbmx5KX0nKTtcbn1cblxuQGlmIG1hcC1oYXMta2V5KCRicmVha3BvaW50cywgeHhsYXJnZSkge1xuICAkeHhsYXJnZS11cDogdW5xdW90ZSgnc2NyZWVuIGFuZCAje2JyZWFrcG9pbnQoeHhsYXJnZSl9Jyk7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBncmlkXG4vLy8vXG5cbi8vLyBDb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZW1vdmluZyB0aGUgcGFkZGluZy4gKipOb3RlOioqIG9ubHkgdXNlIHRoaXMgbWl4aW4gd2l0aGluIGEgYnJlYWtwb2ludC4gVG8gY29sbGFwc2UgYSBjb2x1bW4ncyBndXR0ZXJzIG9uIGFsbCBzY3JlZW4gc2l6ZXMsIHVzZSB0aGUgYCRndXR0ZXJgIHBhcmFtZXRlciBvZiB0aGUgYGdyaWQtY29sdW1uKClgIG1peGluIGluc3RlYWQuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tY29sbGFwc2Uge1xuICBwYWRkaW5nLWxlZnQ6IDA7XG4gIHBhZGRpbmctcmlnaHQ6IDA7XG59XG5cbi8vLyBVbi1jb2xsYXBzZSB0aGUgZ3V0dGVycyBvbiBhIGNvbHVtbiBieSByZS1hZGRpbmcgdGhlIHBhZGRpbmcuXG4vLy9cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXI6ICRncmlkLWNvbHVtbi1ndXR0ZXIpIHtcbiAgJGd1dHRlcjogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICBwYWRkaW5nLWxlZnQ6ICRndXR0ZXI7XG4gIHBhZGRpbmctcmlnaHQ6ICRndXR0ZXI7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tY29sbGFwc2VcbkBtaXhpbiBncmlkLWNvbC1jb2xsYXBzZSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLWNvbGxhcHNlO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZSgpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tdW5jb2xsYXBzZVxuQG1peGluIGdyaWQtY29sLXVuY29sbGFwc2UoJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlcikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi11bmNvbGxhcHNlKCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gQ2FsY3VsYXRlcyB0aGUgd2lkdGggb2YgYSBjb2x1bW4gYmFzZWQgb24gYSBudW1iZXIgb2YgZmFjdG9ycy5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfExpc3R9ICRjb2x1bW5zXG4vLy8gICBXaWR0aCBvZiB0aGUgY29sdW1uLiBBY2NlcHRzIG11bHRpcGxlIHZhbHVlczpcbi8vLyAgIC0gQSBwZXJjZW50YWdlIHZhbHVlIHdpbGwgbWFrZSB0aGUgY29sdW1uIHRoYXQgZXhhY3Qgc2l6ZS5cbi8vLyAgIC0gQSBzaW5nbGUgZGlnaXQgd2lsbCBtYWtlIHRoZSBjb2x1bW4gc3BhbiB0aGF0IG51bWJlciBvZiBjb2x1bW5zIHdpZGUsIHRha2luZyBpbnRvIGFjY291bnQgdGhlIGNvbHVtbiBjb3VudCBvZiB0aGUgcGFyZW50IHJvdy5cbi8vLyAgIC0gQSBzdHJpbmcgb2YgdGhlIGZvcm1hdCBcInggb2YgeVwiIHdpbGwgbWFrZSBhIGNvbHVtbiB0aGF0IGlzICp4KiBjb2x1bW5zIHdpZGUsIGFzc3VtaW5nICp5KiB0b3RhbCBjb2x1bW5zIGZvciB0aGUgcGFyZW50LlxuLy8vXG4vLy8gQHJldHVybnMge051bWJlcn0gQSBjYWxjdWxhdGVkIHBlcmNlbnRhZ2UgdmFsdWUuXG5AZnVuY3Rpb24gZ3JpZC1jb2x1bW4oJGNvbHVtbnMpIHtcbiAgJHdpZHRoOiAwJTtcblxuICAvLyBQYXJzaW5nIHBlcmNlbnRzLCBkZWNpbWFscywgYW5kIGNvbHVtbiBjb3VudHNcbiAgQGlmIHR5cGUtb2YoJGNvbHVtbnMpID09ICdudW1iZXInIHtcbiAgICBAaWYgdW5pdCgkY29sdW1ucykgPT0gJyUnIHtcbiAgICAgICR3aWR0aDogJGNvbHVtbnM7XG4gICAgfVxuICAgIEBlbHNlIGlmICRjb2x1bW5zIDwgMSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAkd2lkdGg6IHBlcmNlbnRhZ2UoJGNvbHVtbnMgLyAkZ3JpZC1jb2x1bW4tY291bnQpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFBhcnNpbmcgXCJuIG9mIG5cIiBleHByZXNzaW9uc1xuICBAZWxzZSBpZiB0eXBlLW9mKCRjb2x1bW5zKSA9PSAnbGlzdCcge1xuICAgIEBpZiBsZW5ndGgoJGNvbHVtbnMpICE9IDMge1xuICAgICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSB0aGUgZm9ybWF0IFwibiBvZiBuXCIuJztcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgJHdpZHRoOiBwZXJjZW50YWdlKG50aCgkY29sdW1ucywgMSkgLyBudGgoJGNvbHVtbnMsIDMpKTtcbiAgICB9XG4gIH1cblxuICAvLyBBbnl0aGluZyBlbHNlIGlzIGluY29ycmVjdFxuICBAZWxzZSB7XG4gICAgQGVycm9yICdXcm9uZyBzeW50YXggZm9yIGdyaWQtY29sdW1uKCkuIFVzZSBhIG51bWJlciwgZGVjaW1hbCwgcGVyY2VudGFnZSwgb3IgXCJuIG9mIG5cIi4nO1xuICB9XG5cbiAgQHJldHVybiAkd2lkdGg7XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4uXG4vLy9cbi8vLyBAcGFyYW0ge01peGVkfSAkY29sdW1ucyBbJGdyaWQtY29sdW1uLWNvdW50XSAtIFdpZHRoIG9mIHRoZSBjb2x1bW4uIFJlZmVyIHRvIHRoZSBgZ3JpZC1jb2x1bW4oKWAgZnVuY3Rpb24gdG8gc2VlIHBvc3NpYmxlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGd1dHRlciBbJGdyaWQtY29sdW1uLWd1dHRlcl0gLSBTcGFjaW5nIGJldHdlZW4gY29sdW1ucy5cbkBtaXhpbiBncmlkLWNvbHVtbihcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXNpemUoJGNvbHVtbnMpO1xuICBmbG9hdDogJGdsb2JhbC1sZWZ0O1xuXG4gIC8vIEd1dHRlcnNcbiAgQGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ21hcCcge1xuICAgIEBlYWNoICRicmVha3BvaW50LCAkdmFsdWUgaW4gJGd1dHRlciB7XG4gICAgICAkcGFkZGluZzogcmVtLWNhbGMoJHZhbHVlKSAvIDI7XG5cbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJGJyZWFrcG9pbnQpIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbiAgICAgICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIGlmIHR5cGUtb2YoJGd1dHRlcikgPT0gJ251bWJlcicgYW5kIHN0cmlwLXVuaXQoJGd1dHRlcikgPiAwIHtcbiAgICAkcGFkZGluZzogcmVtLWNhbGMoJGd1dHRlcikgLyAyO1xuICAgIHBhZGRpbmctbGVmdDogJHBhZGRpbmc7XG4gICAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIH1cblxuICAvLyBMYXN0IGNvbHVtbiBhbGlnbm1lbnRcbiAgQGlmICRncmlkLWNvbHVtbi1hbGlnbi1lZGdlIHtcbiAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZ3JpZCBjb2x1bW4gcm93LiBUaGlzIGlzIHRoZSBlcXVpdmFsZW50IG9mIGFkZGluZyBgLnJvd2AgYW5kIGAuY29sdW1uYCB0byB0aGUgc2FtZSBlbGVtZW50LlxuLy8vXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRndXR0ZXIgWyRncmlkLWNvbHVtbi1ndXR0ZXJdIC0gV2lkdGggb2YgdGhlIGd1dHRlcnMgb24gZWl0aGVyIHNpZGUgb2YgdGhlIGNvbHVtbiByb3cuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1yb3c7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRndXR0ZXI6ICRndXR0ZXIpO1xuXG4gICYsXG4gICY6bGFzdC1jaGlsZCB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtblxuQGZ1bmN0aW9uIGdyaWQtY29sKFxuICAkY29sdW1uczogJGdyaWQtY29sdW1uLWNvdW50XG4pIHtcbiAgQHJldHVybiBncmlkLWNvbHVtbigkY29sdW1ucyk7XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbigpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW5cbkBtaXhpbiBncmlkLWNvbChcbiAgJGNvbHVtbnM6ICRncmlkLWNvbHVtbi1jb3VudCxcbiAgJGd1dHRlcjogJGdyaWQtY29sdW1uLWd1dHRlclxuKSB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uKCRjb2x1bW5zLCAkZ3V0dGVyKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXJvdygpYC5cbi8vLyBAYWxpYXMgZ3JpZC1jb2x1bW4tcm93XG5AbWl4aW4gZ3JpZC1jb2wtcm93KFxuICAkZ3V0dGVyOiAkZ3JpZC1jb2x1bW4tZ3V0dGVyXG4pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcm93KCRndXR0ZXIpO1xufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZ3JpZFxuLy8vL1xuXG4vLy8gUmVwb3NpdGlvbiBhIGNvbHVtbi5cbi8vL1xuLy8vIEBwYXJhbSB7TnVtYmVyfEtleXdvcmR9ICRwb3NpdGlvbiAtIERpcmVjdGlvbiBhbmQgYW1vdW50IHRvIG1vdmUuIFRoZSBjb2x1bW4gd2lsbCBtb3ZlIGVxdWFsIHRvIHRoZSB3aWR0aCBvZiB0aGUgY29sdW1uIGNvdW50IHNwZWNpZmllZC4gQSBwb3NpdGl2ZSBudW1iZXIgd2lsbCBwdXNoIHRoZSBjb2x1bW4gdG8gdGhlIHJpZ2h0LCB3aGlsZSBhIG5lZ2F0aXZlIG51bWJlciB3aWxsIHB1bGwgaXQgdG8gdGhlIGxlZnQuIFNldCB0byBjZW50ZXIgdG8gY2VudGVyIHRoZSBjb2x1bW4uXG5AbWl4aW4gZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKSB7XG4gIEBpZiB0eXBlLW9mKCRwb3NpdGlvbikgPT0gJ251bWJlcicge1xuICAgICRvZmZzZXQ6IHBlcmNlbnRhZ2UoJHBvc2l0aW9uIC8gJGdyaWQtY29sdW1uLWNvdW50KTtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRvZmZzZXQ7XG4gIH1cbiAgQGVsc2UgaWYgJHBvc2l0aW9uID09IGNlbnRlciB7XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAd2FybiAnV3Jvbmcgc3ludGF4IGZvciBncmlkLWNvbHVtbi1wb3NpdGlvbigpLiBFbnRlciBhIHBvc2l0aXZlIG9yIG5lZ2F0aXZlIG51bWJlciwgb3IgY2VudGVyLic7XG4gIH1cbn1cblxuLy8vIFJlc2V0IGEgcG9zaXRpb24gZGVmaW5pdGlvbi5cbkBtaXhpbiBncmlkLWNvbHVtbi11bnBvc2l0aW9uIHtcbiAgcG9zaXRpb246IHN0YXRpYztcbiAgbWFyZ2luLWxlZnQ6IDA7XG4gIG1hcmdpbi1yaWdodDogMDtcbiAgZmxvYXQ6IGxlZnQ7XG59XG5cbi8vLyBPZmZzZXRzIGEgY29sdW1uIHRvIHRoZSByaWdodCBieSBgJG5gIGNvbHVtbnMuXG4vLy8gQHBhcmFtIHtOdW1iZXJ8TGlzdH0gJG4gLSBXaWR0aCB0byBvZmZzZXQgYnkuIFlvdSBjYW4gcGFzcyBpbiBhbnkgdmFsdWUgYWNjZXB0ZWQgYnkgdGhlIGBncmlkLWNvbHVtbigpYCBtaXhpbiwgc3VjaCBhcyBgNmAsIGA1MCVgLCBvciBgMSBvZiAyYC5cbkBtaXhpbiBncmlkLWNvbHVtbi1vZmZzZXQoJG4pIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogZ3JpZC1jb2x1bW4oJG4pO1xufVxuXG4vLy8gRGlzYWJsZSB0aGUgZGVmYXVsdCBiZWhhdmlvciBvZiB0aGUgbGFzdCBjb2x1bW4gaW4gYSByb3cgYWxpZ25pbmcgdG8gdGhlIG9wcG9zaXRlIGVkZ2UuXG5AbWl4aW4gZ3JpZC1jb2x1bW4tZW5kIHtcbiAgLy8gVGhpcyBleHRyYSBzcGVjaWZpY2l0eSBpcyByZXF1aXJlZCBmb3IgdGhlIHByb3BlcnR5IHRvIGJlIGFwcGxpZWRcbiAgJjpsYXN0LWNoaWxkOmxhc3QtY2hpbGQge1xuICAgIGZsb2F0OiAkZ2xvYmFsLWxlZnQ7XG4gIH1cbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXBvc2l0aW9uKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1wb3NpdGlvblxuQG1peGluIGdyaWQtY29sLXBvcygkcG9zaXRpb24pIHtcbiAgQGluY2x1ZGUgZ3JpZC1jb2x1bW4tcG9zaXRpb24oJHBvc2l0aW9uKTtcbn1cblxuLy8vIFNob3J0aGFuZCBmb3IgYGdyaWQtY29sdW1uLXVucG9zaXRpb24oKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLXVucG9zaXRpb25cbkBtaXhpbiBncmlkLWNvbC11bnBvcyB7XG4gIEBpbmNsdWRlIGdyaWQtY29sdW1uLXVucG9zaXRpb247XG59XG5cbi8vLyBTaG9ydGhhbmQgZm9yIGBncmlkLWNvbHVtbi1vZmZzZXQoKWAuXG4vLy8gQGFsaWFzIGdyaWQtY29sdW1uLW9mZnNldFxuQG1peGluIGdyaWQtY29sLW9mZigkbikge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1vZmZzZXQoJG4pO1xufVxuXG4vLy8gU2hvcnRoYW5kIGZvciBgZ3JpZC1jb2x1bW4tZW5kKClgLlxuLy8vIEBhbGlhcyBncmlkLWNvbHVtbi1lbmRcbkBtaXhpbiBncmlkLWNvbC1lbmQge1xuICBAaW5jbHVkZSBncmlkLWNvbHVtbi1lbmQ7XG59XG4iLCIkLXpmLWZsZXgtanVzdGlmeTogKFxuICAnbGVmdCc6IGZsZXgtc3RhcnQsXG4gICdyaWdodCc6IGZsZXgtZW5kLFxuICAnY2VudGVyJzogY2VudGVyLFxuICAnanVzdGlmeSc6IHNwYWNlLWJldHdlZW4sXG4gICdzcGFjZWQnOiBzcGFjZS1hcm91bmQsXG4pO1xuXG4kLXpmLWZsZXgtYWxpZ246IChcbiAgJ3RvcCc6IGZsZXgtc3RhcnQsXG4gICdib3R0b20nOiBmbGV4LWVuZCxcbiAgJ21pZGRsZSc6IGNlbnRlcixcbiAgJ3N0cmV0Y2gnOiBzdHJldGNoLFxuKTtcblxuLy8vIEVuYWJsZXMgZmxleGJveCBieSBhZGRpbmcgYGRpc3BsYXk6IGZsZXhgIHRvIHRoZSBlbGVtZW50LlxuQG1peGluIGZsZXgge1xuICBkaXNwbGF5OiBmbGV4O1xufVxuXG4vLy8gSG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkgYWxpZ25zIHRoZSBpdGVtcyB3aXRoaW4gYSBmbGV4IGNvbnRhaW5lci5cbi8vL1xuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHggW251bGxdIC0gSG9yaXpvbnRhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYGxlZnRgLCBgcmlnaHRgLCBgY2VudGVyYCwgYGp1c3RpZnlgLCBvciBgc3BhY2VkYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IGhvcml6b250YWwgYWxpZ25tZW50LlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHkgW251bGxdIC0gVmVydGljYWwgYWxpZ25tZW50IHRvIHVzZS4gQ2FuIGJlIGB0b3BgLCBgYm90dG9tYCwgYG1pZGRsZWAsIG9yIGBzdHJldGNoYC4gT3IsIHNldCBpdCB0byBgbnVsbGAgKHRoZSBkZWZhdWx0KSB0byBub3Qgc2V0IHZlcnRpY2FsIGFsaWdubWVudC5cbkBtaXhpbiBmbGV4LWFsaWduKCR4OiBudWxsLCAkeTogbnVsbCkge1xuICBAaWYgJHgge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtanVzdGlmeSwgJHgpIHtcbiAgICAgICR4OiBtYXAtZ2V0KCQtemYtZmxleC1qdXN0aWZ5LCAkeCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHh9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciBob3Jpem9udGFsIGFsaWdubWVudC4gVXNlIGxlZnQsIHJpZ2h0LCBjZW50ZXIsIGp1c3RpZnksIG9yIHNwYWNlZC4nXG4gICAgfVxuICB9XG5cbiAgQGlmICR5IHtcbiAgICBAaWYgbWFwLWhhcy1rZXkoJC16Zi1mbGV4LWFsaWduLCAkeSkge1xuICAgICAgJHk6IG1hcC1nZXQoJC16Zi1mbGV4LWFsaWduLCAkeSk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEB3YXJuICdmbGV4LWdyaWQtcm93LWFsaWduKCk6ICN7JHl9IGlzIG5vdCBhIHZhbGlkIHZhbHVlIGZvciB2ZXJ0aWNhbCBhbGlnbm1lbnQuIFVzZSB0b3AsIGJvdHRvbSwgbWlkZGxlLCBvciBzdHJldGNoLidcbiAgICB9XG4gIH1cblxuICBqdXN0aWZ5LWNvbnRlbnQ6ICR4O1xuICBhbGlnbi1pdGVtczogJHk7XG59XG5cbi8vLyBWZXJ0aWNhbGx5IGFsaWduIGEgc2luZ2xlIGNvbHVtbiB3aXRoaW4gYSBmbGV4IHJvdy4gQXBwbHkgdGhpcyBtaXhpbiB0byBhIGZsZXggY29sdW1uLlxuLy8vXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkeSBbbnVsbF0gLSBWZXJ0aWNhbCBhbGlnbm1lbnQgdG8gdXNlLiBDYW4gYmUgYHRvcGAsIGBib3R0b21gLCBgbWlkZGxlYCwgb3IgYHN0cmV0Y2hgLiBPciwgc2V0IGl0IHRvIGBudWxsYCAodGhlIGRlZmF1bHQpIHRvIG5vdCBzZXQgdmVydGljYWwgYWxpZ25tZW50LlxuQG1peGluIGZsZXgtYWxpZ24tc2VsZigkeTogbnVsbCkge1xuICBAaWYgJHkge1xuICAgIEBpZiBtYXAtaGFzLWtleSgkLXpmLWZsZXgtYWxpZ24sICR5KSB7XG4gICAgICAkeTogbWFwLWdldCgkLXpmLWZsZXgtYWxpZ24sICR5KTtcbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgQHdhcm4gJ2ZsZXgtZ3JpZC1jb2x1bW4tYWxpZ24oKTogI3skeX0gaXMgbm90IGEgdmFsaWQgdmFsdWUgZm9yIGFsaWdubWVudC4gVXNlIHRvcCwgYm90dG9tLCBtaWRkbGUsIG9yIHN0cmV0Y2guJ1xuICAgIH1cbiAgfVxuXG4gIGFsaWduLXNlbGY6ICR5O1xufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc291cmNlIG9yZGVyIG9mIGEgZmxleCBjaGlsZC4gQ2hpbGRyZW4gd2l0aCBsb3dlciBudW1iZXJzIGFwcGVhciBmaXJzdCBpbiB0aGUgbGF5b3V0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb3JkZXIgWzBdIC0gT3JkZXIgbnVtYmVyIHRvIGFwcGx5LlxuQG1peGluIGZsZXgtb3JkZXIoJG9yZGVyOiAwKSB7XG4gIG9yZGVyOiAkb3JkZXI7XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0eXBvZ3JhcGh5LWJhc2Vcbi8vLy9cblxuLy8gQmFzZSBUeXBvZ3JhcGh5XG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuLy8gVGhlc2UgYXJlIHN0eWxlcyBhcHBsaWVkIHRvIGJhc2ljIEhUTUwgdGFncywgaW5jbHVkaW5nOlxuLy8gICAtIFBhcmFncmFwaHMgPHA+XG4vLyAgIC0gQm9sZC9pdGFsaWNzIDxiPiA8c3Ryb25nPiA8aT4gPGVtPlxuLy8gICAtIFNtYWxsIHRleHQgPHNtYWxsPlxuLy8gICAtIEhlYWRpbmdzIDxoMT7igJQ8aDY+XG4vLyAgIC0gQW5jaG9ycyA8YT5cbi8vICAgLSBEaXZpZGVycyA8aHI+XG4vLyAgIC0gTGlzdHMgPHVsPiA8b2w+IDxkbD5cbi8vICAgLSBCbG9ja3F1b3RlcyA8YmxvY2txdW90ZT5cbi8vICAgLSBDb2RlIGJsb2NrcyA8Y29kZT5cbi8vICAgLSBBYmJyZXZpYXRpb25zIDxhYmJyPlxuLy8gICAtIENpdGF0aW9ucyA8Y2l0ZT5cbi8vICAgLSBLZXlzdHJva2VzIDxrYmQ+XG5cbi8vLyBGb250IGZhbWlseSBmb3IgaGVhZGVyIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZyB8IExpc3RcbiRoZWFkZXItZm9udC1mYW1pbHk6ICRib2R5LWZvbnQtZmFtaWx5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCB3ZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc3R5bGUgKGUuZy4gaXRhbGljaXplZCkgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItZm9udC1zdHlsZTogbm9ybWFsICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzdGFjayB1c2VkIGZvciBlbGVtZW50cyB0aGF0IHVzZSBtb25vc3BhY2VkIHR5cGUsIHN1Y2ggYXMgY29kZSBzYW1wbGVzXG4vLy8gQHR5cGUgU3RyaW5nIHwgTGlzdFxuJGZvbnQtZmFtaWx5LW1vbm9zcGFjZTogQ29uc29sYXMsICdMaWJlcmF0aW9uIE1vbm8nLCBDb3VyaWVyLCBtb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBTaXplcyBvZiBoZWFkaW5ncyBhdCB2YXJpb3VzIHNjcmVlbiBzaXplcy4gRWFjaCBrZXkgaXMgYSBicmVha3BvaW50LCBhbmQgZWFjaCB2YWx1ZSBpcyBhIG1hcCBvZiBoZWFkaW5nIHNpemVzLlxuLy8vIEB0eXBlIE1hcFxuJGhlYWRlci1zaXplczogKFxuICBzbWFsbDogKFxuICAgICdoMSc6IDI0LFxuICAgICdoMic6IDIwLFxuICAgICdoMyc6IDE5LFxuICAgICdoNCc6IDE4LFxuICAgICdoNSc6IDE3LFxuICAgICdoNic6IDE2LFxuICApLFxuICBtZWRpdW06IChcbiAgICAnaDEnOiA0OCxcbiAgICAnaDInOiA0MCxcbiAgICAnaDMnOiAzMSxcbiAgICAnaDQnOiAyNSxcbiAgICAnaDUnOiAyMCxcbiAgICAnaDYnOiAxNixcbiAgKSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kaGVhZGVyLWNvbG9yOiBpbmhlcml0ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBoZWFkZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJGhlYWRlci1tYXJnaW4tYm90dG9tOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IHJlbmRlcmluZyBtZXRob2Qgb2YgaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRoZWFkZXItdGV4dC1yZW5kZXJpbmc6IG9wdGltaXplTGVnaWJpbGl0eSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiBgPHNtYWxsPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc21hbGwtZm9udC1zaXplOiA4MCUgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBgPHNtYWxsPmAgZWxlbWVudHMgd2hlbiBwbGFjZWQgaW5zaWRlIGhlYWRlcnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWFkZXItc21hbGwtZm9udC1jb2xvcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGluZSBoZWlnaHQgb2YgdGV4dCBpbnNpZGUgYDxwPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFyYWdyYXBoLWxpbmVoZWlnaHQ6IDEuNiAhZGVmYXVsdDtcblxuLy8vIEJvdHRvbSBtYXJnaW4gb2YgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTogMXJlbSAhZGVmYXVsdDtcblxuLy8vIFRleHQgcmVuZGVyaW5nIG1ldGhvZCBmb3IgcGFyYWdyYXBoIHRleHQuXG4vLy8gQHR5cGUgU3RyaW5nXG4kcGFyYWdyYXBoLXRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHkgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGNvZGUtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIGNvZGUgc2FtcGxlcy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4kY29kZS1mb250LWZhbWlseTogJGZvbnQtZmFtaWx5LW1vbm9zcGFjZSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW4gY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGNvZGUtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIENvbG9yXG4kY29kZS1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIExpc3RcbiRjb2RlLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgYXJvdW5kIHRleHQgb2YgY29kZSBzYW1wbGVzLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRjb2RlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNSAxKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yOiAkcHJpbWFyeS1jb2xvciAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3IgZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kYW5jaG9yLWNvbG9yLWhvdmVyOiBzY2FsZS1jb2xvcigkYW5jaG9yLWNvbG9yLCAkbGlnaHRuZXNzOiAtMTQlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBkZW9jcmF0aW9uIGZvciBsaW5rcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRhbmNob3ItdGV4dC1kZWNvcmF0aW9uOiBub25lICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGRlY29yYXRpb24gZm9yIGxpbmtzIG9uIGhvdmVyLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGFuY2hvci10ZXh0LWRlY29yYXRpb24taG92ZXI6IG5vbmUgIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIHdpZHRoIG9mIGEgZGl2aWRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoci13aWR0aDogJGdsb2JhbC13aWR0aCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJGhyLWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGZvciBhIGRpdmlkZXIuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGhyLW1hcmdpbjogcmVtLWNhbGMoMjApIGF1dG8gIWRlZmF1bHQ7XG5cbi8vLyBMaW5lIGhlaWdodCBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbGluZWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0ICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgaXRlbXMgaW4gYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbWFyZ2luLWJvdHRvbTogJHBhcmFncmFwaC1tYXJnaW4tYm90dG9tICFkZWZhdWx0O1xuXG4vLy8gQnVsbGV0IHR5cGUgdG8gdXNlIGZvciB1bm9yZGVyZWQgbGlzdHMgKGUuZy4sIGBzcXVhcmVgLCBgY2lyY2xlYCwgYGRpc2NgKS5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXR5cGU6IGRpc2MgIWRlZmF1bHQ7XG5cbi8vLyBQb3NpdGlvbmluZyBmb3IgYnVsbGV0cyBvbiB1bm9yZGVyZWQgbGlzdCBpdGVtcy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRsaXN0LXN0eWxlLXBvc2l0aW9uOiBvdXRzaWRlICFkZWZhdWx0O1xuXG4vLy8gTGVmdCAob3IgcmlnaHQpIG1hcmdpbiBmb3IgbGlzdHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGlzdC1zaWRlLW1hcmdpbjogMS4yNXJlbSAhZGVmYXVsdDtcblxuLy8vIExlZnQgKG9yIHJpZ2h0KSBtYXJnaW4gZm9yIGEgbGlzdCBpbnNpZGUgYSBsaXN0LlxuLy8vIEB0eXBlIE51bWJlclxuJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luOiAxLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgYDxkbD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LW1hcmdpbi1ib3R0b206IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgYDxkdD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGRlZm5saXN0LXRlcm0td2VpZ2h0OiAkZ2xvYmFsLXdlaWdodC1ib2xkICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGA8ZHQ+YCBhbmQgYDxkZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRlZm5saXN0LXRlcm0tbWFyZ2luLWJvdHRvbTogMC4zcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGJsb2NrcXVvdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGluc2lkZSBhIGA8YmxvY2txdW90ZT5gIGVsZW1lbnQuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGJsb2NrcXVvdGUtcGFkZGluZzogcmVtLWNhbGMoOSAyMCAwIDE5KSAhZGVmYXVsdDtcblxuLy8vIFNpZGUgYm9yZGVyIGZvciBgPGJsb2NrcXVvdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBMaXN0XG4kYmxvY2txdW90ZS1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGA8Y2l0ZT5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNpdGUtZm9udC1zaXplOiByZW0tY2FsYygxMykgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGNpdGU+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNpdGUtY29sb3I6ICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGZhbWlseSBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBTdHJpbmcgfCBMaXN0XG4ka2V5c3Ryb2tlLWZvbnQ6ICRmb250LWZhbWlseS1tb25vc3BhY2UgIWRlZmF1bHQ7XG5cbi8vLyBUZXh0IGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBgPGtiZD5gIGVsZW1lbnRzLlxuLy8vIEB0eXBlIENvbG9yXG4ka2V5c3Ryb2tlLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBmb3IgYDxrYmQ+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4ka2V5c3Ryb2tlLXBhZGRpbmc6IHJlbS1jYWxjKDIgNCAwKSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGA8a2JkPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTnVtYmVyIHwgTGlzdFxuJGtleXN0cm9rZS1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIGJvcmRlciBzdHlsZSBmb3IgYDxhYmJyPmAgZWxlbWVudHMuXG4vLy8gQHR5cGUgTGlzdFxuJGFiYnItdW5kZXJsaW5lOiAxcHggZG90dGVkICRibGFjayAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdHlwb2dyYXBoeS1iYXNlIHtcbiAgLy8gVHlwb2dyYXBoeSByZXNldHNcbiAgZGl2LFxuICBkbCxcbiAgZHQsXG4gIGRkLFxuICB1bCxcbiAgb2wsXG4gIGxpLFxuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2LFxuICBwcmUsXG4gIGZvcm0sXG4gIHAsXG4gIGJsb2NrcXVvdGUsXG4gIHRoLFxuICB0ZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gIH1cblxuICAvLyBQYXJhZ3JhcGhzXG4gIHAge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogJHBhcmFncmFwaC1saW5laGVpZ2h0O1xuICAgIG1hcmdpbi1ib3R0b206ICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICB0ZXh0LXJlbmRlcmluZzogJHBhcmFncmFwaC10ZXh0LXJlbmRlcmluZztcbiAgfVxuXG4gIC8vIEVtcGhhc2l6ZWQgdGV4dFxuICBlbSxcbiAgaSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICB9XG5cbiAgLy8gU3Ryb25nIHRleHRcbiAgc3Ryb25nLFxuICBiIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBTbWFsbCB0ZXh0XG4gIHNtYWxsIHtcbiAgICBmb250LXNpemU6ICRzbWFsbC1mb250LXNpemU7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gIH1cblxuICAvLyBIZWFkaW5nc1xuICBoMSxcbiAgaDIsXG4gIGgzLFxuICBoNCxcbiAgaDUsXG4gIGg2IHtcbiAgICBmb250LWZhbWlseTogJGhlYWRlci1mb250LWZhbWlseTtcbiAgICBmb250LXdlaWdodDogJGhlYWRlci1mb250LXdlaWdodDtcbiAgICBmb250LXN0eWxlOiAkaGVhZGVyLWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWFkZXItY29sb3I7XG4gICAgdGV4dC1yZW5kZXJpbmc6ICRoZWFkZXItdGV4dC1yZW5kZXJpbmc7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAkaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgbGluZS1oZWlnaHQ6ICRoZWFkZXItbGluZWhlaWdodDtcblxuICAgIHNtYWxsIHtcbiAgICAgIGNvbG9yOiAkaGVhZGVyLXNtYWxsLWZvbnQtY29sb3I7XG4gICAgICBsaW5lLWhlaWdodDogMDtcbiAgICB9XG4gIH1cblxuICAvLyBIZWFkaW5nIHNpemVzXG4gIEBlYWNoICRzaXplLCAkaGVhZGVycyBpbiAkaGVhZGVyLXNpemVzIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICBAZWFjaCAkaGVhZGVyLCAkZm9udC1zaXplIGluICRoZWFkZXJzIHtcbiAgICAgICAgI3skaGVhZGVyfSB7XG4gICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygkZm9udC1zaXplKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIExpbmtzXG4gIGEge1xuICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yO1xuICAgIHRleHQtZGVjb3JhdGlvbjogJGFuY2hvci10ZXh0LWRlY29yYXRpb247XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgJjpob3ZlcixcbiAgICAmOmZvY3VzIHtcbiAgICAgIGNvbG9yOiAkYW5jaG9yLWNvbG9yLWhvdmVyO1xuICAgICAgQGlmICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uLWhvdmVyICE9ICRhbmNob3ItdGV4dC1kZWNvcmF0aW9uIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiAkYW5jaG9yLXRleHQtZGVjb3JhdGlvbi1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgYm9yZGVyOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIEhvcml6b250YWwgcnVsZVxuICBociB7XG4gICAgbWF4LXdpZHRoOiAkaHItd2lkdGg7XG4gICAgaGVpZ2h0OiAwO1xuICAgIGJvcmRlci1yaWdodDogMDtcbiAgICBib3JkZXItdG9wOiAwO1xuICAgIGJvcmRlci1ib3R0b206ICRoci1ib3JkZXI7XG4gICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgbWFyZ2luOiAkaHItbWFyZ2luO1xuICAgIGNsZWFyOiBib3RoO1xuICB9XG5cbiAgLy8gTGlzdHNcbiAgdWwsXG4gIG9sLFxuICBkbCB7XG4gICAgbGluZS1oZWlnaHQ6ICRsaXN0LWxpbmVoZWlnaHQ7XG4gICAgbWFyZ2luLWJvdHRvbTogJGxpc3QtbWFyZ2luLWJvdHRvbTtcbiAgICBsaXN0LXN0eWxlLXBvc2l0aW9uOiAkbGlzdC1zdHlsZS1wb3NpdGlvbjtcbiAgfVxuXG4gIC8vIExpc3QgaXRlbXNcbiAgbGkge1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgfVxuXG4gIC8vIFVub3JkZXJlZCBsaXN0c1xuICB1bCB7XG4gICAgbGlzdC1zdHlsZS10eXBlOiAkbGlzdC1zdHlsZS10eXBlO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06ICRsaXN0LXNpZGUtbWFyZ2luO1xuICB9XG5cbiAgLy8gT3JkZXJlZCBsaXN0c1xuICBvbCB7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3Qtc2lkZS1tYXJnaW47XG4gIH1cblxuICAvLyBOZXN0ZWQgdW5vcmRlcmVkL29yZGVyZWQgbGlzdHNcbiAgdWwsIG9sIHtcbiAgICAmICYge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJGxpc3QtbmVzdGVkLXNpZGUtbWFyZ2luO1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cblxuICAvLyBEZWZpbml0aW9uIGxpc3RzXG4gIGRsIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZGVmbmxpc3QtbWFyZ2luLWJvdHRvbTtcblxuICAgIGR0IHtcbiAgICAgIG1hcmdpbi1ib3R0b206ICRkZWZubGlzdC10ZXJtLW1hcmdpbi1ib3R0b207XG4gICAgICBmb250LXdlaWdodDogJGRlZm5saXN0LXRlcm0td2VpZ2h0O1xuICAgIH1cbiAgfVxuXG4gIC8vIEJsb2NrcXVvdGVzXG4gIGJsb2NrcXVvdGUge1xuICAgIG1hcmdpbjogMCAwICRwYXJhZ3JhcGgtbWFyZ2luLWJvdHRvbTtcbiAgICBwYWRkaW5nOiAkYmxvY2txdW90ZS1wYWRkaW5nO1xuICAgIGJvcmRlci0jeyRnbG9iYWwtbGVmdH06ICRibG9ja3F1b3RlLWJvcmRlcjtcblxuICAgICYsIHAge1xuICAgICAgbGluZS1oZWlnaHQ6ICRwYXJhZ3JhcGgtbGluZWhlaWdodDtcbiAgICAgIGNvbG9yOiAkYmxvY2txdW90ZS1jb2xvcjtcbiAgICB9XG4gIH1cblxuICAvLyBDaXRhdGlvbnNcbiAgY2l0ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAkY2l0ZS1mb250LXNpemU7XG4gICAgY29sb3I6ICRjaXRlLWNvbG9yO1xuXG4gICAgJjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMjAxNCBcXDAwMjAnO1xuICAgIH1cbiAgfVxuXG4gIC8vIEFiYnJldmlhdGlvbnNcbiAgYWJiciB7XG4gICAgY29sb3I6ICRib2R5LWZvbnQtY29sb3I7XG4gICAgY3Vyc29yOiBoZWxwO1xuICAgIGJvcmRlci1ib3R0b206ICRhYmJyLXVuZGVybGluZTtcbiAgfVxuXG4gIC8vIENvZGVcbiAgY29kZSB7XG4gICAgZm9udC1mYW1pbHk6ICRjb2RlLWZvbnQtZmFtaWx5O1xuICAgIGZvbnQtd2VpZ2h0OiAkY29kZS1mb250LXdlaWdodDtcbiAgICBjb2xvcjogJGNvZGUtY29sb3I7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGNvZGUtYmFja2dyb3VuZDtcbiAgICBib3JkZXI6ICRjb2RlLWJvcmRlcjtcbiAgICBwYWRkaW5nOiAkY29kZS1wYWRkaW5nO1xuICB9XG5cbiAgLy8gS2V5c3Ryb2tlc1xuICBrYmQge1xuICAgIHBhZGRpbmc6ICRrZXlzdHJva2UtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGtleXN0cm9rZS1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAka2V5c3Ryb2tlLWNvbG9yO1xuICAgIGZvbnQtZmFtaWx5OiAka2V5c3Ryb2tlLWZvbnQ7XG5cbiAgICBAaWYgaGFzLXZhbHVlKCRrZXlzdHJva2UtcmFkaXVzKSB7XG4gICAgICBib3JkZXItcmFkaXVzOiAka2V5c3Ryb2tlLXJhZGl1cztcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHR5cG9ncmFwaHktaGVscGVyc1xuLy8vL1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGxlYWQgcGFyYWdyYXBocy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsZWFkLWZvbnQtc2l6ZTogJGdsb2JhbC1mb250LXNpemUgKiAxLjI1ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3IgbGVhZCBwYXJhZ3JhcGhzLlxuLy8vIEB0eXBlIFN0cmluZ1xuJGxlYWQtbGluZWhlaWdodDogMS42ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBsaW5lIGhlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbGluZWhlaWdodDogMS40ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBzdWJoZWFkZXJzLlxuLy8vIEB0eXBlIENvbG9yXG4kc3ViaGVhZGVyLWNvbG9yOiAkZGFyay1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHdlaWdodCBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBTdHJpbmdcbiRzdWJoZWFkZXItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdG9wIG1hcmdpbiBmb3Igc3ViaGhlYWRlcnMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3ViaGVhZGVyLW1hcmdpbi10b3A6IDAuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3Igc3ViaGVhZGVycy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzdWJoZWFkZXItbWFyZ2luLWJvdHRvbTogMC41cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIHN0YXRpc3RpYyBudW1iZXJzLlxuLy8vIEB0eXBlIE51bWJlclxuJHN0YXQtZm9udC1zaXplOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXR5cG9ncmFwaHktaGVscGVycyB7XG4gIC8vIFVzZSB0byBjcmVhdGUgYSBzdWJoZWFkaW5nIHVuZGVyIGEgbWFpbiBoZWFkZXJcbiAgLy8gTWFrZSBzdXJlIHlvdSBwYWlyIHRoZSB0d28gZWxlbWVudHMgaW4gYSA8aGVhZGVyPiBlbGVtZW50LCBsaWtlIHRoaXM6XG4gIC8vIDxoZWFkZXI+XG4gIC8vICAgPGgxPkhlYWRpbmc8L2gxPlxuICAvLyAgIDxoMj5TdWJoZWFkaW5nPC9oMj5cbiAgLy8gPC9oZWFkZXI+XG4gIC5zdWJoZWFkZXIge1xuICAgIG1hcmdpbi10b3A6ICRzdWJoZWFkZXItbWFyZ2luLXRvcDtcbiAgICBtYXJnaW4tYm90dG9tOiAkc3ViaGVhZGVyLW1hcmdpbi1ib3R0b207XG4gICAgZm9udC13ZWlnaHQ6ICRzdWJoZWFkZXItZm9udC13ZWlnaHQ7XG4gICAgbGluZS1oZWlnaHQ6ICRzdWJoZWFkZXItbGluZWhlaWdodDtcbiAgICBjb2xvcjogJHN1YmhlYWRlci1jb2xvcjtcbiAgfVxuXG4gIC8vIFVzZSB0byBzdHlsZSBhbiBpbnRyb2R1Y3RvcnkgbGVhZCwgZGVjaywgYmx1cmIsIGV0Yy5cbiAgLmxlYWQge1xuICAgIGZvbnQtc2l6ZTogJGxlYWQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAkbGVhZC1saW5laGVpZ2h0O1xuICB9XG5cbiAgLy8gVXNlIHRvIHN0eWxlIGEgbGFyZ2UgbnVtYmVyIHRvIGRpc3BsYXkgYSBzdGF0aXN0aWNcbiAgLnN0YXQge1xuICAgIGZvbnQtc2l6ZTogJHN0YXQtZm9udC1zaXplO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgcCArICYge1xuICAgICAgbWFyZ2luLXRvcDogLTFyZW07XG4gICAgfVxuICB9XG5cbiAgLy8gVXNlIHRvIHJlbW92ZSB0aGUgYnVsbGV0cyBmcm9tIGFuIHVub3JkZXJlZCBsaXN0XG4gIC5uby1idWxsZXQge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbkBtaXhpbiBmb3VuZGF0aW9uLXRleHQtYWxpZ25tZW50IHtcbiAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgQGVhY2ggJGFsaWduIGluIChsZWZ0LCByaWdodCwgY2VudGVyLCBqdXN0aWZ5KSB7XG4gICAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICAgLiN7JHNpemV9LXRleHQtI3skYWxpZ259IHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246ICRhbGlnbjtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgICAgQGVsc2Uge1xuICAgICAgICAgIC50ZXh0LSN7JGFsaWdufSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiAkYWxpZ247XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIElmIGB0cnVlYCwgYWxsIGVsZW1lbnRzIHdpbGwgaGF2ZSB0cmFuc3BhcmVudCBiYWNrZ3JvdW5kcyB3aGVuIHByaW50ZWQsIHRvIHNhdmUgb24gaW5rLlxuLy8vIEB0eXBlIEJvb2xlYW5cbi8vLyBAZ3JvdXAgZ2xvYmFsXG4kcHJpbnQtdHJhbnNwYXJlbnQtYmFja2dyb3VuZHM6IHRydWUgIWRlZmF1bHQ7XG5cbi8vIHNjc3MtbGludDpkaXNhYmxlIGFsbFxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcmludC1zdHlsZXMge1xuICAuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICBAbWVkaWEgcHJpbnQge1xuICAgICoge1xuICAgICAgQGlmICRwcmludC10cmFuc3BhcmVudC1iYWNrZ3JvdW5kcyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgIGNvbG9yOiBibGFjayAhaW1wb3J0YW50OyAvLyBCbGFjayBwcmludHMgZmFzdGVyOiBoNWJwLmNvbS9zXG4gICAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7IH1cbiAgICAuaGlkZS1mb3ItcHJpbnQgeyBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7IH1cblxuICAgIHRhYmxlLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUgIWltcG9ydGFudDsgfVxuICAgIHRoZWFkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtaGVhZGVyLWdyb3VwICFpbXBvcnRhbnQ7IH1cbiAgICB0Ym9keS5zaG93LWZvci1wcmludCB7IGRpc3BsYXk6IHRhYmxlLXJvdy1ncm91cCAhaW1wb3J0YW50OyB9XG4gICAgdHIuc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1yb3cgIWltcG9ydGFudDsgfVxuICAgIHRkLnNob3ctZm9yLXByaW50IHsgZGlzcGxheTogdGFibGUtY2VsbCAhaW1wb3J0YW50OyB9XG4gICAgdGguc2hvdy1mb3ItcHJpbnQgeyBkaXNwbGF5OiB0YWJsZS1jZWxsICFpbXBvcnRhbnQ7IH1cblxuICAgIC8vIERpc3BsYXkgdGhlIFVSTCBvZiBhIGxpbmsgYWZ0ZXIgdGhlIHRleHRcbiAgICBhLFxuICAgIGE6dmlzaXRlZCB7IHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO31cbiAgICBhW2hyZWZdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKGhyZWYpICcpJzsgfVxuXG4gICAgLy8gRG9uJ3QgZGlzcGxheSB0aGUgVVJMIGZvciBpbWFnZXMgb3IgSmF2YVNjcmlwdC9pbnRlcm5hbCBsaW5rc1xuICAgIC5pciBhOmFmdGVyLFxuICAgIGFbaHJlZl49J2phdmFzY3JpcHQ6J106YWZ0ZXIsXG4gICAgYVtocmVmXj0nIyddOmFmdGVyIHsgY29udGVudDogJyc7IH1cblxuICAgIC8vIERpc3BsYXkgd2hhdCBhbiBhYmJyZXZpYXRpb24gc3RhbmRzIGZvciBhZnRlciB0aGUgdGV4dFxuICAgIGFiYnJbdGl0bGVdOmFmdGVyIHsgY29udGVudDogJyAoJyBhdHRyKHRpdGxlKSAnKSc7IH1cblxuICAgIC8vIFByZXZlbnQgcGFnZSBicmVha3MgaW4gdGhlIG1pZGRsZSBvZiBhIGJsb2NrcXVvdGUgb3IgcHJlZm9ybWF0dGVkIHRleHQgYmxvY2tcbiAgICBwcmUsXG4gICAgYmxvY2txdW90ZSB7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCAkZGFyay1ncmF5O1xuICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC8vIGg1YnAuY29tL3RcbiAgICB0aGVhZCB7IGRpc3BsYXk6IHRhYmxlLWhlYWRlci1ncm91cDsgfVxuXG4gICAgdHIsXG4gICAgaW1nIHsgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkOyB9XG5cbiAgICBpbWcgeyBtYXgtd2lkdGg6IDEwMCUgIWltcG9ydGFudDsgfVxuXG4gICAgQHBhZ2UgeyBtYXJnaW46IDAuNWNtOyB9XG5cbiAgICBwLFxuICAgIGgyLFxuICAgIGgzIHtcbiAgICAgIG9ycGhhbnM6IDM7XG4gICAgICB3aWRvd3M6IDM7XG4gICAgfVxuXG4gICAgLy8gQXZvaWQgcGFnZSBicmVha3MgYWZ0ZXIgYSBoZWFkaW5nXG4gICAgaDIsXG4gICAgaDMgeyBwYWdlLWJyZWFrLWFmdGVyOiBhdm9pZDsgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b25cbi8vLy9cblxuLy8vIFBhZGRpbmcgaW5zaWRlIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1wYWRkaW5nOiAwLjg1ZW0gMWVtICFkZWZhdWx0O1xuXG4vLy8gTWFyZ2luIGFyb3VuZCBidXR0b25zLlxuLy8vIEB0eXBlIExpc3RcbiRidXR0b24tbWFyZ2luOiAwIDAgJGdsb2JhbC1tYXJnaW4gMCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmlsbCBmb3IgYnV0dG9ucy4gQ2FuIGVpdGhlciBiZSBgc29saWRgIG9yIGBob2xsb3dgLlxuLy8vIEB0eXBlIEtleXdvcmRcbiRidXR0b24tZmlsbDogc29saWQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZDogJHByaW1hcnktYWNjZXNzaWJsZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgQ29sb3JcbiRidXR0b24tYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJ1dHRvbi1iYWNrZ3JvdW5kLCAkbGlnaHRuZXNzOiAtMTUlKSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgY29sb3IgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRm9udCBjb2xvciBmb3IgYnV0dG9ucywgaWYgdGhlIGJhY2tncm91bmQgaXMgbGlnaHQuXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1jb2xvci1hbHQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZm9yIGJ1dHRvbnMsIGRlZmF1bHRlZCB0byBnbG9iYWwtcmFkaXVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJ1dHRvbi1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gU2l6ZXMgZm9yIGJ1dHRvbnMuXG4vLy8gQHR5cGUgTWFwXG4kYnV0dG9uLXNpemVzOiAoXG4gIHRpbnk6IDAuNnJlbSxcbiAgc21hbGw6IDAuNzVyZW0sXG4gIGRlZmF1bHQ6IDAuOXJlbSxcbiAgbGFyZ2U6IDEuMjVyZW0sXG4pICFkZWZhdWx0O1xuXG4vLy8gb3BhY2l0eSBmb3IgYSBkaXNhYmxlZCBidXR0b24uXG4vLy8gQHR5cGUgTGlzdFxuJGJ1dHRvbi1vcGFjaXR5LWRpc2FibGVkOiAwLjI1ICFkZWZhdWx0O1xuXG4vLyBJbnRlcm5hbDogZmxpcCBmcm9tIG1hcmdpbi1yaWdodCB0byBtYXJnaW4tbGVmdCBmb3IgZGVmYXVsdHNcbkBpZiAkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdydGwnIHtcbiAgJGJ1dHRvbi1tYXJnaW46IDAgMCAkZ2xvYmFsLW1hcmdpbiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgYnV0dG9uLWJhc2UoKSBtaXhpblxuQG1peGluIGJ1dHRvbi1iYXNlIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMjVzIGVhc2Utb3V0LCBjb2xvciAwLjI1cyBlYXNlLW91dDtcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgYm9yZGVyOiAxcHggc29saWQgdHJhbnNwYXJlbnQ7XG4gIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICBwYWRkaW5nOiAkYnV0dG9uLXBhZGRpbmc7XG4gIG1hcmdpbjogJGJ1dHRvbi1tYXJnaW47XG4gIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcbn1cblxuLy8vIEV4cGFuZHMgYSBidXR0b24gdG8gbWFrZSBpdCBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGV4cGFuZCBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGVuYWJsZSB0aGUgZXhwYW5kIGJlaGF2aW9yLiBTZXQgdG8gYGZhbHNlYCB0byByZXZlcnNlIHRoaXMgYmVoYXZpb3IuXG5AbWl4aW4gYnV0dG9uLWV4cGFuZCgkZXhwYW5kOiB0cnVlKSB7XG4gIEBpZiAkZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogYXV0bztcbiAgICBtYXJnaW46ICRidXR0b24tbWFyZ2luO1xuICB9XG59XG5cbi8vLyBTZXRzIHRoZSB2aXN1YWwgc3R5bGUgb2YgYSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRidXR0b24tYmFja2dyb3VuZF0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24uXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQtaG92ZXIgWyRidXR0b24tYmFja2dyb3VuZC1ob3Zlcl0gLSBCYWNrZ3JvdW5kIGNvbG9yIG9mIHRoZSBidXR0b24gb24gaG92ZXIuIFNldCB0byBgYXV0b2AgdG8gaGF2ZSB0aGUgbWl4aW4gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGhvdmVyIGNvbG9yLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbJGJ1dHRvbi1jb2xvcl0gLSBUZXh0IGNvbG9yIG9mIHRoZSBidXR0b24uIFNldCB0byBgYXV0b2AgdG8gYXV0b21hdGljYWxseSBnZW5lcmF0ZSBhIGNvbG9yIGJhc2VkIG9uIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGJ1dHRvbi1zdHlsZShcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yXG4pIHtcbiAgQGlmICRjb2xvciA9PSBhdXRvIHtcbiAgICAkY29sb3I6IGZvcmVncm91bmQoJGJhY2tncm91bmQsICRidXR0b24tY29sb3ItYWx0LCAkYnV0dG9uLWNvbG9yKTtcbiAgfVxuXG4gIEBpZiAkYmFja2dyb3VuZC1ob3ZlciA9PSBhdXRvIHtcbiAgICAkYmFja2dyb3VuZC1ob3Zlcjogc2NhbGUtY29sb3IoJGJhY2tncm91bmQsICRsaWdodG5lc3M6IC0yMCUpO1xuICB9XG5cbiAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQ7XG4gIGNvbG9yOiAkY29sb3I7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJhY2tncm91bmQtaG92ZXI7XG4gICAgY29sb3I6ICRjb2xvcjtcbiAgfVxufVxuXG4vLy8gUmVtb3ZlcyBiYWNrZ3JvdW5kIGZpbGwgb24gaG92ZXIgYW5kIGZvY3VzIGZvciBob2xsb3cgYnV0dG9ucy5cbkBtaXhpbiBidXR0b24taG9sbG93IHtcbiAgJixcbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gIH1cbn1cblxuQG1peGluIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yOiAkcHJpbWFyeS1jb2xvcikge1xuICAkY29sb3ItaG92ZXI6IHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogLTUwJSk7XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJGNvbG9yO1xuICBjb2xvcjogJGNvbG9yO1xuXG4gICY6aG92ZXIsICY6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogJGNvbG9yLWhvdmVyO1xuICAgIGNvbG9yOiAkY29sb3ItaG92ZXI7XG4gIH1cbn1cblxuLy8vIEFkZHMgZGlzYWJsZWQgc3R5bGVzIHRvIGEgYnV0dG9uIGJ5IGZhZGluZyB0aGUgZWxlbWVudCwgcmVzZXRpbmcgdGhlIGN1cnNvciwgYW5kIGRpc2FibGluZyBwb2ludGVyIGV2ZW50cy5cbkBtaXhpbiBidXR0b24tZGlzYWJsZWQge1xuICBvcGFjaXR5OiAkYnV0dG9uLW9wYWNpdHktZGlzYWJsZWQ7XG4gIGN1cnNvcjogbm90LWFsbG93ZWQ7XG5cbiAgJjpob3ZlciwgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgIGNvbG9yOiAkYnV0dG9uLWNvbG9yO1xuICB9XG59XG5cbi8vLyBBZGRzIGEgZHJvcGRvd24gYXJyb3cgdG8gYSBidXR0b24uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRzaXplIFswLjRlbV0gLSBTaXplIG9mIHRoZSBhcnJvdy4gV2UgcmVjb21tZW5kIHVzaW5nIGFuIGBlbWAgdmFsdWUgc28gdGhlIHRyaWFuZ2xlIHNjYWxlcyB3aGVuIHVzZWQgaW5zaWRlIGRpZmZlcmVudCBzaXplcyBvZiBidXR0b25zLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciBbd2hpdGVdIC0gQ29sb3Igb2YgdGhlIGFycm93LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkb2Zmc2V0IFskYnV0dG9uLXBhZGRpbmddIC0gRGlzdGFuY2UgYmV0d2VlbiB0aGUgYXJyb3cgYW5kIHRoZSB0ZXh0IG9mIHRoZSBidXR0b24uIERlZmF1bHRzIHRvIHdoYXRldmVyIHRoZSByaWdodCBwYWRkaW5nIG9mIGEgYnV0dG9uIGlzLlxuQG1peGluIGJ1dHRvbi1kcm9wZG93bihcbiAgJHNpemU6IDAuNGVtLFxuICAkY29sb3I6ICR3aGl0ZSxcbiAgJG9mZnNldDogZ2V0LXNpZGUoJGJ1dHRvbi1wYWRkaW5nLCByaWdodClcbikge1xuICAmOjphZnRlciB7XG4gICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKCRzaXplLCAkY29sb3IsIGRvd24pO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0b3A6IDAuNGVtOyAvLyBBbGlnbnMgdGhlIGFycm93IHdpdGggdGhlIHRleHQgb2YgdGhlIGJ1dHRvblxuICAgIGZsb2F0OiAjeyRnbG9iYWwtcmlnaHR9O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IGdldC1zaWRlKCRidXR0b24tcGFkZGluZywgcmlnaHQpO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgfVxufVxuXG4vLy8gQWRkcyBhbGwgc3R5bGVzIGZvciBhIGJ1dHRvbi4gRm9yIG1vcmUgZ3JhbnVsYXIgY29udHJvbCBvdmVyIHN0eWxlcywgdXNlIHRoZSBpbmRpdmlkdWFsIGJ1dHRvbiBtaXhpbnMuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZXhwYW5kIFtmYWxzZV0gLSBTZXQgdG8gYHRydWVgIHRvIG1ha2UgdGhlIGJ1dHRvbiBmdWxsLXdpZHRoLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kIFskYnV0dG9uLWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uLlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRiYWNrZ3JvdW5kLWhvdmVyIFskYnV0dG9uLWJhY2tncm91bmQtaG92ZXJdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgYnV0dG9uIG9uIGhvdmVyLiBTZXQgdG8gYGF1dG9gIHRvIGhhdmUgdGhlIG1peGluIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBob3ZlciBjb2xvci5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRidXR0b24tY29sb3JdIC0gVGV4dCBjb2xvciBvZiB0aGUgYnV0dG9uLiBTZXQgdG8gYGF1dG9gIHRvIGF1dG9tYXRpY2FsbHkgZ2VuZXJhdGUgYSBjb2xvciBiYXNlZCBvbiB0aGUgYmFja2dyb3VuZCBjb2xvci5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHlsZSBbc29saWRdIC0gU2V0IHRvIGBob2xsb3dgIHRvIGNyZWF0ZSBhIGhvbGxvdyBidXR0b24uIFRoZSBjb2xvciBkZWZpbmVkIGluIGAkYmFja2dyb3VuZGAgd2lsbCBiZSB1c2VkIGFzIHRoZSBwcmltYXJ5IGNvbG9yIG9mIHRoZSBidXR0b24uXG5AbWl4aW4gYnV0dG9uKFxuICAkZXhwYW5kOiBmYWxzZSxcbiAgJGJhY2tncm91bmQ6ICRidXR0b24tYmFja2dyb3VuZCxcbiAgJGJhY2tncm91bmQtaG92ZXI6ICRidXR0b24tYmFja2dyb3VuZC1ob3ZlcixcbiAgJGNvbG9yOiAkYnV0dG9uLWNvbG9yLFxuICAkc3R5bGU6ICRidXR0b24tZmlsbFxuKSB7XG4gIEBpbmNsdWRlIGJ1dHRvbi1iYXNlO1xuXG4gIEBpZiAkc3R5bGUgPT0gc29saWQge1xuICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtaG92ZXIsICRjb2xvcik7XG4gIH1cbiAgQGVsc2UgaWYgJHN0eWxlID09IGhvbGxvdyB7XG4gICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICBAaW5jbHVkZSBidXR0b24taG9sbG93LXN0eWxlKCRiYWNrZ3JvdW5kKTtcbiAgfVxuXG4gIEBpZiAkZXhwYW5kIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZXhwYW5kO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWJ1dHRvbiB7XG4gIC5idXR0b24ge1xuICAgIEBpbmNsdWRlIGJ1dHRvbjtcblxuICAgIC8vIFNpemVzXG4gICAgQGVhY2ggJHNpemUsICR2YWx1ZSBpbiBtYXAtcmVtb3ZlKCRidXR0b24tc2l6ZXMsIGRlZmF1bHQpIHtcbiAgICAgICYuI3skc2l6ZX0ge1xuICAgICAgICBmb250LXNpemU6ICR2YWx1ZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLXN0eWxlKCRjb2xvciwgYXV0bywgYXV0byk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICB9XG5cbiAgICAgICAgJi4jeyRuYW1lfS5kcm9wZG93bjo6YWZ0ZXIge1xuICAgICAgICAgIGJvcmRlci10b3AtY29sb3I6ICRjb2xvcjtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEhvbGxvdyBzdHlsZVxuICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICYuaG9sbG93IHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdztcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZTtcblxuICAgICAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgICAgICYuI3skbmFtZX0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWhvbGxvdy1zdHlsZSgkY29sb3IpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIERpc2FibGVkIHN0eWxlXG4gICAgJi5kaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICBAaW5jbHVkZSBidXR0b24tZGlzYWJsZWQ7XG4gICAgfVxuXG4gICAgLy8gRHJvcGRvd24gYXJyb3dcbiAgICAmLmRyb3Bkb3duIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1kcm9wZG93bjtcblxuICAgICAgQGlmICRidXR0b24tZmlsbCA9PSBob2xsb3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgYm9yZGVyLXRvcC1jb2xvcjogJGJ1dHRvbi1iYWNrZ3JvdW5kO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gQnV0dG9uIHdpdGggZHJvcGRvd24gYXJyb3cgb25seVxuICAgICYuYXJyb3ctb25seTo6YWZ0ZXIge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogMDtcbiAgICAgIGZsb2F0OiBub25lO1xuICAgICAgdG9wOiAtMC4xZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmb3Jtc1xuLy8vL1xuXG4vLy8gRm9udCBjb2xvciBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IGNvbG9yIG9mIHBsYWNlaG9sZGVyIHRleHQgd2l0aGluIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgZmFtaWx5IG9mIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEZvbnRcbiRpbnB1dC1mb250LWZhbWlseTogaW5oZXJpdCAhZGVmYXVsdDtcblxuLy8vIEZvbnQgc2l6ZSBvZiB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1mb250LXNpemU6IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGZvY3VzZWQgb2YgdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1iYWNrZ3JvdW5kLWZvY3VzOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIGRpc2FibGVkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIEJvcmRlclxuJGlucHV0LWJvcmRlcjogMXB4IHNvbGlkICRtZWRpdW0tZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBhcm91bmQgZm9jdXNlZCB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LWJvcmRlci1mb2N1czogMXB4IHNvbGlkICRkYXJrLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IGluc2lkZSB0ZXh0IGlucHV0cyB3aGVuIG5vdCBmb2N1c2VkLlxuLy8vIEB0eXBlIFNoYWRvd1xuJGlucHV0LXNoYWRvdzogaW5zZXQgMCAxcHggMnB4IHJnYmEoJGJsYWNrLCAwLjEpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyBvdXRzaWRlIHRleHQgaW5wdXRzIHdoZW4gZm9jdXNlZC5cbi8vLyBAdHlwZSBTaGFkb3dcbiRpbnB1dC1zaGFkb3ctZm9jdXM6IDAgMCA1cHggJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ3Vyc29yIHRvIHVzZSB3aGVuIGhvdmVyaW5nIG92ZXIgYSBkaXNhYmxlZCB0ZXh0IGlucHV0LlxuLy8vIEB0eXBlIEN1cnNvclxuJGlucHV0LWN1cnNvci1kaXNhYmxlZDogbm90LWFsbG93ZWQgIWRlZmF1bHQ7XG5cbi8vLyBQcm9wZXJ0aWVzIHRvIHRyYW5zaXRpb24gb24gdGV4dCBpbnB1dHMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGlucHV0LXRyYW5zaXRpb246IGJveC1zaGFkb3cgMC41cywgYm9yZGVyLWNvbG9yIDAuMjVzIGVhc2UtaW4tb3V0ICFkZWZhdWx0O1xuXG4vLy8gRW5hYmxlcyB0aGUgdXAvZG93biBidXR0b25zIHRoYXQgQ2hyb21lIGFuZCBGaXJlZm94IGFkZCB0byBgPGlucHV0IHR5cGU9J251bWJlcic+YCBlbGVtZW50cy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kaW5wdXQtbnVtYmVyLXNwaW5uZXJzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gUmFkaXVzIGZvciB0ZXh0IGlucHV0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gZm9ybS1lbGVtZW50IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgZGlzcGxheTogYmxvY2s7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6ICRoZWlnaHQ7XG4gIHBhZGRpbmc6ICRmb3JtLXNwYWNpbmcgLyAyO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG5cbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgZm9udC1zaXplOiAkaW5wdXQtZm9udC1zaXplO1xuICBjb2xvcjogJGlucHV0LWNvbG9yO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZDtcbiAgYm94LXNoYWRvdzogJGlucHV0LXNoYWRvdztcbiAgYm9yZGVyLXJhZGl1czogJGlucHV0LXJhZGl1cztcblxuICBAaWYgaGFzLXZhbHVlKCRpbnB1dC10cmFuc2l0aW9uKSB7XG4gICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gIH1cblxuICAvLyBGb2N1cyBzdGF0ZVxuICAmOmZvY3VzIHtcbiAgICBib3JkZXI6ICRpbnB1dC1ib3JkZXItZm9jdXM7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJGlucHV0LWJhY2tncm91bmQtZm9jdXM7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgICBib3gtc2hhZG93OiAkaW5wdXQtc2hhZG93LWZvY3VzO1xuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtdHJhbnNpdGlvbikge1xuICAgICAgdHJhbnNpdGlvbjogJGlucHV0LXRyYW5zaXRpb247XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tdGV4dCB7XG4gIC8vIFRleHQgaW5wdXRzXG4gICN7dGV4dC1pbnB1dHMoKX0sXG4gIHRleHRhcmVhIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVsZW1lbnQ7XG4gICAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAgIC1tb3otYXBwZWFyYW5jZTogbm9uZTtcbiAgfVxuXG4gIC8vIFRleHQgYXJlYXNcbiAgdGV4dGFyZWEge1xuICAgIG1heC13aWR0aDogMTAwJTtcblxuICAgICZbcm93c10ge1xuICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgIH1cbiAgfVxuXG4gIGlucHV0LFxuICB0ZXh0YXJlYSB7XG4gICAgLy8gUGxhY2Vob2xkZXIgdGV4dFxuICAgICY6OnBsYWNlaG9sZGVyIHtcbiAgICAgIGNvbG9yOiAkaW5wdXQtcGxhY2Vob2xkZXItY29sb3I7XG4gICAgfVxuXG4gICAgLy8gRGlzYWJsZWQvcmVhZG9ubHkgc3RhdGVcbiAgICAmOmRpc2FibGVkLFxuICAgICZbcmVhZG9ubHldIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRpbnB1dC1iYWNrZ3JvdW5kLWRpc2FibGVkO1xuICAgICAgY3Vyc29yOiAkaW5wdXQtY3Vyc29yLWRpc2FibGVkO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvbiBidXR0b24tbGlrZSBpbnB1dHNcbiAgW3R5cGU9J3N1Ym1pdCddLFxuICBbdHlwZT0nYnV0dG9uJ10ge1xuICAgIGJvcmRlci1yYWRpdXM6ICRidXR0b24tcmFkaXVzO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG4gIH1cblxuICAvLyBSZXNldCBOb3JtYWxpemUgc2V0dGluZyBjb250ZW50LWJveCB0byBzZWFyY2ggZWxlbWVudHNcbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgaW5wdXRbdHlwZT0nc2VhcmNoJ10ge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIH1cblxuICAvLyBOdW1iZXIgaW5wdXQgc3R5bGVzXG4gIFt0eXBlPSdudW1iZXInXSB7XG4gICAgQGlmIG5vdCAkaW5wdXQtbnVtYmVyLXNwaW5uZXJzIHtcbiAgICAgIC1tb3otYXBwZWFyYW5jZTogdGV4dGZpZWxkO1xuXG4gICAgICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24sXG4gICAgICBbdHlwZT0nbnVtYmVyJ106Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24ge1xuICAgICAgICAtd2Via2l0LWFwcGVhcmFuY2U6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tY2hlY2tib3gge1xuICBbdHlwZT0nZmlsZSddLFxuICBbdHlwZT0nY2hlY2tib3gnXSxcbiAgW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0L2xhYmVsIHNpYmxpbmdzXG4gIFt0eXBlPSdjaGVja2JveCddICsgbGFiZWwsXG4gIFt0eXBlPSdyYWRpbyddICsgbGFiZWwge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgdmVydGljYWwtYWxpZ246IGJhc2VsaW5lO1xuXG4gICAgJltmb3JdIHtcbiAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB9XG4gIH1cblxuICAvLyBTdHlsZXMgZm9yIGlucHV0cyBpbnNpZGUgbGFiZWxzXG4gIGxhYmVsID4gW3R5cGU9J2NoZWNrYm94J10sXG4gIGxhYmVsID4gW3R5cGU9J3JhZGlvJ10ge1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkZm9ybS1zcGFjaW5nICogMC41O1xuICB9XG5cbiAgLy8gTm9ybWFsaXplIGZpbGUgaW5wdXQgd2lkdGhcbiAgW3R5cGU9J2ZpbGUnXSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBDb2xvciBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRmb3JtLWxhYmVsLWNvbG9yOiAkYmxhY2sgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgZm9yIGZvcm0gbGFiZWxzLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtZm9udC1zaXplOiByZW0tY2FsYygxNCkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHdlaWdodCBmb3IgZm9ybSBsYWJlbHMuXG4vLy8gQHR5cGUgS2V5d29yZFxuJGZvcm0tbGFiZWwtZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LW5vcm1hbCAhZGVmYXVsdDtcblxuLy8vIExpbmUgaGVpZ2h0IGZvciBmb3JtIGxhYmVscy4gVGhlIGhpZ2hlciB0aGUgbnVtYmVyLCB0aGUgbW9yZSBzcGFjZSBiZXR3ZWVuIHRoZSBsYWJlbCBhbmQgaXRzIGlucHV0IGZpZWxkLlxuLy8vIEB0eXBlIE51bWJlclxuJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ6IDEuOCAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tbGFiZWwge1xuICBkaXNwbGF5OiBibG9jaztcbiAgbWFyZ2luOiAwO1xuICBmb250LXNpemU6ICRmb3JtLWxhYmVsLWZvbnQtc2l6ZTtcbiAgZm9udC13ZWlnaHQ6ICRmb3JtLWxhYmVsLWZvbnQtd2VpZ2h0O1xuICBsaW5lLWhlaWdodDogJGZvcm0tbGFiZWwtbGluZS1oZWlnaHQ7XG4gIGNvbG9yOiAkZm9ybS1sYWJlbC1jb2xvcjtcbn1cblxuQG1peGluIGZvcm0tbGFiZWwtbWlkZGxlIHtcbiAgJGlucHV0LWJvcmRlci13aWR0aDogZ2V0LWJvcmRlci12YWx1ZSgkaW5wdXQtYm9yZGVyLCB3aWR0aCk7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIHBhZGRpbmc6ICgkZm9ybS1zcGFjaW5nIC8gMiArIHJlbS1jYWxjKCRpbnB1dC1ib3JkZXItd2lkdGgpKSAwO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWxhYmVsIHtcbiAgbGFiZWwge1xuICAgIEBpbmNsdWRlIGZvcm0tbGFiZWw7XG5cbiAgICAmLm1pZGRsZSB7XG4gICAgICBAaW5jbHVkZSBmb3JtLWxhYmVsLW1pZGRsZTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWxwIHRleHQuXG4vLy8gQHR5cGUgQ29sb3JcbiRoZWxwdGV4dC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGhlbHAgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRoZWxwdGV4dC1mb250LXNpemU6IHJlbS1jYWxjKDEzKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzdHlsZSBmb3IgaGVscCB0ZXh0LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRoZWxwdGV4dC1mb250LXN0eWxlOiBpdGFsaWMgIWRlZmF1bHQ7XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0taGVscHRleHQge1xuICAuaGVscC10ZXh0IHtcbiAgICAkbWFyZ2luLXRvcDogKCRmb3JtLXNwYWNpbmcgKiAwLjUpICogLTE7XG5cbiAgICBtYXJnaW4tdG9wOiAkbWFyZ2luLXRvcDtcbiAgICBmb250LXNpemU6ICRoZWxwdGV4dC1mb250LXNpemU7XG4gICAgZm9udC1zdHlsZTogJGhlbHB0ZXh0LWZvbnQtc3R5bGU7XG4gICAgY29sb3I6ICRoZWxwdGV4dC1jb2xvcjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZm9ybXNcbi8vLy9cblxuLy8vIENvbG9yIG9mIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBDb2xvclxuJGlucHV0LXByZWZpeC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBsYWJlbHMgcHJlZml4ZWQgdG8gYW4gaW5wdXQuXG4vLy8gQHR5cGUgQ29sb3JcbiRpbnB1dC1wcmVmaXgtYmFja2dyb3VuZDogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgYXJvdW5kIGxhYmVscyBwcmVmaXhlZCB0byBhbiBpbnB1dC5cbi8vLyBAdHlwZSBCb3JkZXJcbiRpbnB1dC1wcmVmaXgtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gTGVmdC9yaWdodCBwYWRkaW5nIG9mIGFuIHByZS9wb3N0Zml4ZWQgaW5wdXQgbGFiZWxcbiRpbnB1dC1wcmVmaXgtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tZm9ybS1wcmVwb3N0Zml4IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAkZm9ybS1zcGFjaW5nICogMS41KTtcblxuICAuaW5wdXQtZ3JvdXAge1xuICAgIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgdGFibGUpO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbi1ib3R0b206ICRmb3JtLXNwYWNpbmc7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIH1cblxuICAgID4gOmZpcnN0LWNoaWxkIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gcnRsLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDAsICRnbG9iYWwtcmFkaXVzIDAgMCAkZ2xvYmFsLXJhZGl1cyk7XG4gICAgfVxuXG4gICAgPiA6bGFzdC1jaGlsZCB7XG4gICAgICA+ICoge1xuICAgICAgICBib3JkZXItcmFkaXVzOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09IHJ0bCwgJGdsb2JhbC1yYWRpdXMgMCAwICRnbG9iYWwtcmFkaXVzLCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzIDApO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gICVpbnB1dC1ncm91cC1jaGlsZCB7XG4gICAgbWFyZ2luOiAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtbGFiZWwge1xuICAgIEBleHRlbmQgJWlucHV0LWdyb3VwLWNoaWxkO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAwICRpbnB1dC1wcmVmaXgtcGFkZGluZztcbiAgICBiYWNrZ3JvdW5kOiAkaW5wdXQtcHJlZml4LWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICRpbnB1dC1wcmVmaXgtY29sb3I7XG4gICAgYm9yZGVyOiAkaW5wdXQtcHJlZml4LWJvcmRlcjtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMSU7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgfVxuXG4gICAgQGlmIGhhcy12YWx1ZSgkaW5wdXQtcHJlZml4LWJvcmRlcikge1xuICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGJvcmRlci0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgfVxuXG4gICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgQGV4dGVuZCAlaW5wdXQtZ3JvdXAtY2hpbGQ7XG4gICAgYm9yZGVyLXJhZGl1czogMDtcblxuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGhlaWdodDogJGhlaWdodDtcbiAgICB9XG4gIH1cblxuICAuaW5wdXQtZ3JvdXAtYnV0dG9uIHtcbiAgICBAZXh0ZW5kICVpbnB1dC1ncm91cC1jaGlsZDtcbiAgICBwYWRkaW5nLXRvcDogMDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICB3aWR0aDogMSU7XG4gICAgfVxuXG4gICAgYSxcbiAgICBpbnB1dCxcbiAgICBidXR0b24ge1xuICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNwZWNpZmljaXR5IGJ1bXAgbmVlZGVkIHRvIHByZXZlbnQgb3ZlcnJpZGUgYnkgYnV0dG9uc1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nU2VsZWN0b3JcbiAgLmlucHV0LWdyb3VwIC5pbnB1dC1ncm91cC1idXR0b24ge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgY3VzdG9tIGZpZWxkc2V0cy5cbi8vLyBAdHlwZSBCb3JkZXJcbiRmaWVsZHNldC1ib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtcGFkZGluZzogcmVtLWNhbGMoMjApICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBtYXJnaW4gYXJvdW5kIGN1c3RvbSBmaWVsZHNldHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmllbGRzZXQtbWFyZ2luOiByZW0tY2FsYygxOCAwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBiZXR3ZWVuIHRoZSBsZWdlbmQgdGV4dCBhbmQgZmllbGRzZXQgYm9yZGVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGxlZ2VuZC1wYWRkaW5nOiByZW0tY2FsYygwIDMpICFkZWZhdWx0O1xuXG5AbWl4aW4gZmllbGRzZXQge1xuICBib3JkZXI6ICRmaWVsZHNldC1ib3JkZXI7XG4gIHBhZGRpbmc6ICRmaWVsZHNldC1wYWRkaW5nO1xuICBtYXJnaW46ICRmaWVsZHNldC1tYXJnaW47XG5cbiAgbGVnZW5kIHtcbiAgICAvLyBDb3ZlcnMgdXAgdGhlIGZpZWxkc2V0J3MgYm9yZGVyIHRvIGNyZWF0ZSBhcnRpZmljaWFsIHBhZGRpbmdcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHBhZGRpbmc6ICRsZWdlbmQtcGFkZGluZztcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogcmVtLWNhbGMoLTMpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tZmllbGRzZXQge1xuICBmaWVsZHNldCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgbWFyZ2luOiAwO1xuICB9XG5cbiAgbGVnZW5kIHtcbiAgICBtYXJnaW4tYm90dG9tOiAkZm9ybS1zcGFjaW5nICogMC41O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgfVxuXG4gIC5maWVsZHNldCB7XG4gICAgQGluY2x1ZGUgZmllbGRzZXQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZvcm1zXG4vLy8vXG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGRyb3Bkb3duIHRyaWFuZ2xlIGluc2lkZSBzZWxlY3QgbWVudXMuIFNldCB0byBgdHJhbnNwYXJlbnRgIHRvIHJlbW92ZSBpdCBlbnRpcmVseS5cbi8vLyBAdHlwZSBDb2xvclxuJHNlbGVjdC10cmlhbmdsZS1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIGZvciBzZWxlY3QgbWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRzZWxlY3QtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuQG1peGluIGZvcm0tc2VsZWN0IHtcbiAgJGhlaWdodDogKCRpbnB1dC1mb250LXNpemUgKyAoJGZvcm0tc3BhY2luZyAqIDEuNSkgLSByZW0tY2FsYygxKSk7XG5cbiAgaGVpZ2h0OiAkaGVpZ2h0O1xuICBwYWRkaW5nOiAoJGZvcm0tc3BhY2luZyAvIDIpO1xuICBib3JkZXI6ICRpbnB1dC1ib3JkZXI7XG4gIG1hcmdpbjogMCAwICRmb3JtLXNwYWNpbmc7XG4gIGZvbnQtc2l6ZTogJGlucHV0LWZvbnQtc2l6ZTtcbiAgZm9udC1mYW1pbHk6ICRpbnB1dC1mb250LWZhbWlseTtcbiAgbGluZS1oZWlnaHQ6IG5vcm1hbDtcbiAgY29sb3I6ICRpbnB1dC1jb2xvcjtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNlbGVjdC1iYWNrZ3JvdW5kO1xuICBib3JkZXItcmFkaXVzOiAkc2VsZWN0LXJhZGl1cztcbiAgLXdlYmtpdC1hcHBlYXJhbmNlOiBub25lO1xuICAtbW96LWFwcGVhcmFuY2U6IG5vbmU7XG5cbiAgQGlmICRzZWxlY3QtdHJpYW5nbGUtY29sb3IgIT0gdHJhbnNwYXJlbnQge1xuICAgIEBpbmNsdWRlIGJhY2tncm91bmQtdHJpYW5nbGUoJHNlbGVjdC10cmlhbmdsZS1jb2xvcik7XG4gICAgYmFja2dyb3VuZC1zaXplOiA5cHggNnB4O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246ICRnbG9iYWwtcmlnaHQgKC0kZm9ybS1zcGFjaW5nKSBjZW50ZXI7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGNvbnRlbnQtYm94O1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAoJGZvcm0tc3BhY2luZyAqIDEuNSk7XG4gIH1cblxuICAvLyBEaXNhYmxlZCBzdGF0ZVxuICAmOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkaW5wdXQtYmFja2dyb3VuZC1kaXNhYmxlZDtcbiAgICBjdXJzb3I6ICRpbnB1dC1jdXJzb3ItZGlzYWJsZWQ7XG4gIH1cblxuICAvLyBIaWRlIHRoZSBkcm9wZG93biBhcnJvdyBzaG93biBpbiBuZXdlciBJRSB2ZXJzaW9uc1xuICAmOjotbXMtZXhwYW5kIHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgJlttdWx0aXBsZV0ge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZvcm0tc2VsZWN0IHtcbiAgc2VsZWN0IHtcbiAgICBAaW5jbHVkZSBmb3JtLXNlbGVjdDtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWJpZGVcbi8vLy9cblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBpbnB1dHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWlucHV0czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgaWYgZXJyb3Igc3R5bGVzIHNob3VsZCBiZSBhZGRlZCB0byBsYWJlbHMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGFiaWRlLWxhYmVsczogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgdG8gdXNlIGZvciBpbnZhbGlkIHRleHQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIHRvIHVzZSBmb3IgbGFiZWxzIG9mIGludmFsaWQgaW5wdXRzLlxuLy8vIEB0eXBlIENvbG9yXG4kZm9ybS1sYWJlbC1jb2xvci1pbnZhbGlkOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgZm9ybSBlcnJvciB0ZXh0LlxuLy8vIEB0eXBlIENvbG9yXG4kaW5wdXQtZXJyb3ItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRpbnB1dC1lcnJvci1mb250LXNpemU6IHJlbS1jYWxjKDEyKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgZm9yIGZvcm0gZXJyb3IgdGV4dC5cbi8vLyBAdHlwZSBLZXl3b3JkXG4kaW5wdXQtZXJyb3ItZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBTdHlsZXMgdGhlIGJhY2tncm91bmQgYW5kIGJvcmRlciBvZiBhbiBpbnB1dCBmaWVsZCB0byBoYXZlIGFuIGVycm9yIHN0YXRlLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGJhY2tncm91bmQgWyRhbGVydC1jb2xvcl0gLSBDb2xvciB0byB1c2UgZm9yIHRoZSBiYWNrZ3JvdW5kIGFuZCBib3JkZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRiYWNrZ3JvdW5kLWFscGhhIFswLjFdIC0gVHJhbnNwYXJlbmN5IGxldmVsIG9mIHRoZSBiYWNrZ3JvdW5kIGNvbG9yLlxuQG1peGluIGZvcm0taW5wdXQtZXJyb3IoXG4gICRiYWNrZ3JvdW5kOiAkaW5wdXQtYmFja2dyb3VuZC1pbnZhbGlkLFxuICAkYmFja2dyb3VuZC1hbHBoYTogMC4xXG4pIHtcbiAgJjpub3QoOmZvY3VzKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgkYmFja2dyb3VuZCwgJGJhY2tncm91bmQtYWxwaGEpO1xuICAgIGJvcmRlci1jb2xvcjogJGJhY2tncm91bmQ7XG4gIH1cbn1cblxuLy8vIEFkZHMgZXJyb3Igc3R5bGVzIHRvIGEgZm9ybSBlbGVtZW50LCB1c2luZyB0aGUgdmFsdWVzIGluIHRoZSBzZXR0aW5ncyBmaWxlLlxuQG1peGluIGZvcm0tZXJyb3Ige1xuICBkaXNwbGF5OiBub25lO1xuICBtYXJnaW4tdG9wOiAkZm9ybS1zcGFjaW5nICogLTAuNTtcbiAgbWFyZ2luLWJvdHRvbTogJGZvcm0tc3BhY2luZztcbiAgZm9udC1zaXplOiAkaW5wdXQtZXJyb3ItZm9udC1zaXplO1xuICBmb250LXdlaWdodDogJGlucHV0LWVycm9yLWZvbnQtd2VpZ2h0O1xuICBjb2xvcjogJGlucHV0LWVycm9yLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mb3JtLWVycm9yIHtcbiAgQGlmICRhYmlkZS1pbnB1dHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBpbnZhbGlkIGlucHV0c1xuICAgIC5pcy1pbnZhbGlkLWlucHV0IHtcbiAgICAgIEBpbmNsdWRlIGZvcm0taW5wdXQtZXJyb3I7XG4gICAgfVxuICB9XG5cbiAgQGlmICRhYmlkZS1sYWJlbHMge1xuICAgIC8vIEVycm9yIGNsYXNzIGZvciBsYWJlbHMgb2YgaW52YWxpZCBvdXRwdXRzXG4gICAgLmlzLWludmFsaWQtbGFiZWwge1xuICAgICAgY29sb3I6ICRmb3JtLWxhYmVsLWNvbG9yLWludmFsaWQ7XG4gICAgfVxuICB9XG5cbiAgLy8gRm9ybSBlcnJvciBlbGVtZW50XG4gIC5mb3JtLWVycm9yIHtcbiAgICBAaW5jbHVkZSBmb3JtLWVycm9yO1xuXG4gICAgJi5pcy12aXNpYmxlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYW4gYWNjb3JkaW9uIGdyb3VwLlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIElmIGB0cnVlYCwgYWRkcyBwbHVzIGFuZCBtaW51cyBpY29ucyB0byB0aGUgc2lkZSBvZiBlYWNoIGFjY29yZGlvbiB0aXRsZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYWNjb3JkaW9uLXBsdXNtaW51czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdGV4dCBjb2xvciBmb3IgaXRlbXMgaW4gYSBNZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWl0ZW0tY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb24gaG92ZXIgZm9yIGl0ZW1zIGluIGEgTWVudS5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1pdGVtLWJhY2tncm91bmQtaG92ZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGFuIGFjY29yZGlvbiBpdGVtLlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiRhY2NvcmRpb24taXRlbS1wYWRkaW5nOiAxLjI1cmVtIDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiRhY2NvcmRpb24tY29udGVudC1iYWNrZ3JvdW5kOiAkd2hpdGUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBjb2xvciBvZiB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjogMXB4IHNvbGlkICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kYWNjb3JkaW9uLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJGFjY29yZGlvbi1jb250ZW50LWJhY2tncm91bmQsICRib2R5LWZvbnQtY29sb3IpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWIgY29udGVudC5cbi8vLyBAdHlwZSBOdW1iZXIgfCBMaXN0XG4kYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBhY2NvcmRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIHRoZSBzYW1lIGVsZW1lbnQgdGhhdCBnZXRzIGBkYXRhLWFjY29yZGlvbmAuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRhaW5lciB7XG4gIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgYmFja2dyb3VuZDogJGFjY29yZGlvbi1iYWNrZ3JvdW5kO1xuICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBhY2NvcmRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byB0aGUgbGlzdCBpdGVtIHdpdGhpbiBhbiBhY2NvcmRpb24gdWwuXG5AbWl4aW4gYWNjb3JkaW9uLWl0ZW0ge1xuICAmOmZpcnN0LWNoaWxkID4gOmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAkZ2xvYmFsLXJhZGl1cyAwIDA7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQgPiA6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIHRpdGxlIG9mIGFuIGFjY29yZGlvbiBpdGVtLiBBcHBseSB0aGlzIHRvIHRoZSBsaW5rIHdpdGhpbiBhbiBhY2NvcmRpb24gaXRlbS5cbkBtaXhpbiBhY2NvcmRpb24tdGl0bGUge1xuICBkaXNwbGF5OiBibG9jaztcbiAgcGFkZGluZzogJGFjY29yZGlvbi1pdGVtLXBhZGRpbmc7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgY29sb3I6ICRhY2NvcmRpb24taXRlbS1jb2xvcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBib3JkZXI6ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci1ib3R0b206IDA7XG5cbiAgOmxhc3QtY2hpbGQ6bm90KC5pcy1hY3RpdmUpID4gJiB7XG4gICAgYm9yZGVyLXJhZGl1czogMCAwICRnbG9iYWwtcmFkaXVzICRnbG9iYWwtcmFkaXVzO1xuICAgIGJvcmRlci1ib3R0b206ICRhY2NvcmRpb24tY29udGVudC1ib3JkZXI7XG4gIH1cblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxuXG4gIEBpZiAkYWNjb3JkaW9uLXBsdXNtaW51cyB7XG4gICAgJjo6YmVmb3JlIHtcbiAgICAgIGNvbnRlbnQ6ICcrJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB0b3A6IDUwJTtcbiAgICAgIG1hcmdpbi10b3A6IC0wLjVyZW07XG4gICAgfVxuXG4gICAgLmlzLWFjdGl2ZSA+ICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAn4oCTJztcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhY2NvcmRpb24gY29udGVudC4gQXBwbHkgdGhpcyB0byB0aGUgY29udGVudCBwYW5lIGJlbG93IGFuIGFjY29yZGlvbiBpdGVtJ3MgdGl0bGUuXG5AbWl4aW4gYWNjb3JkaW9uLWNvbnRlbnQge1xuICBwYWRkaW5nOiAkYWNjb3JkaW9uLWNvbnRlbnQtcGFkZGluZztcbiAgZGlzcGxheTogbm9uZTtcbiAgYm9yZGVyOiAkYWNjb3JkaW9uLWNvbnRlbnQtYm9yZGVyO1xuICBib3JkZXItYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkYWNjb3JkaW9uLWNvbnRlbnQtYmFja2dyb3VuZDtcbiAgY29sb3I6ICRhY2NvcmRpb24tY29udGVudC1jb2xvcjtcblxuICA6bGFzdC1jaGlsZCA+ICY6bGFzdC1jaGlsZCB7XG4gICAgYm9yZGVyLWJvdHRvbTogJGFjY29yZGlvbi1jb250ZW50LWJvcmRlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24ge1xuICAuYWNjb3JkaW9uIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24tY29udGFpbmVyO1xuICB9XG5cbiAgLmFjY29yZGlvbi1pdGVtIHtcbiAgICBAaW5jbHVkZSBhY2NvcmRpb24taXRlbTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tdGl0bGUge1xuICAgIEBpbmNsdWRlIGFjY29yZGlvbi10aXRsZTtcbiAgfVxuXG4gIC5hY2NvcmRpb24tY29udGVudCB7XG4gICAgQGluY2x1ZGUgYWNjb3JkaW9uLWNvbnRlbnQ7XG4gIH1cbn1cbiIsIi8vLy9cbi8vLyBAZ3JvdXAgYWNjb3JkaW9uLW1lbnVcbi8vLy9cblxuLy8vIFNldHMgaWYgYWNjb3JkaW9uIG1lbnVzIGhhdmUgdGhlIGRlZmF1bHQgYXJyb3cgc3R5bGVzLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRhY2NvcmRpb25tZW51LWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIFNldHMgYWNjb3JkaW9uIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGFjY29yZGlvbm1lbnUtYXJyb3ctY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1hY2NvcmRpb24tbWVudSB7XG4gIEBpZiAkYWNjb3JkaW9ubWVudS1hcnJvd3Mge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNnB4LCAkYWNjb3JkaW9ubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC00cHg7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD0ndHJ1ZSddID4gYTo6YWZ0ZXIge1xuICAgICAgdHJhbnNmb3JtLW9yaWdpbjogNTAlIDUwJTtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGVZKC0xKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJhZGdlXG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IgZm9yIGJhZGdlcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJhZGdlLWJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIGZvciBiYWRnZXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRiYWRnZS1jb2xvcjogZm9yZWdyb3VuZCgkYmFkZ2UtYmFja2dyb3VuZCkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGJhZGdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1wYWRkaW5nOiAwLjNlbSAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgYSBiYWRnZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRiYWRnZS1taW53aWR0aDogMi4xZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBmb3IgYmFkZ2VzLlxuLy8vIEB0eXBlIE51bWJlclxuJGJhZGdlLWZvbnQtc2l6ZTogMC42cmVtICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBiYWRnZS5cbkBtaXhpbiBiYWRnZSB7XG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgcGFkZGluZzogJGJhZGdlLXBhZGRpbmc7XG4gIG1pbi13aWR0aDogJGJhZGdlLW1pbndpZHRoO1xuICBmb250LXNpemU6ICRiYWRnZS1mb250LXNpemU7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1iYWRnZSB7XG4gIC5iYWRnZSB7XG4gICAgQGluY2x1ZGUgYmFkZ2U7XG5cbiAgICBiYWNrZ3JvdW5kOiAkYmFkZ2UtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGJhZGdlLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGJyZWFkY3J1bWJzXG4vLy8vXG5cbi8vLyBNYXJnaW4gYXJvdW5kIGEgYnJlYWRjcnVtYnMgY29udGFpbmVyLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLW1hcmdpbjogMCAwICRnbG9iYWwtbWFyZ2luIDAgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBDb2xvclxuJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGFjdGl2ZSBicmVhZGNydW1iIGxpbmsuXG4vLy8gQHR5cGUgQ29sb3JcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWN1cnJlbnQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIE9wYWNpdHkgb2YgZGlzYWJsZWQgYnJlYWRjcnVtYiBsaW5rcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRicmVhZGNydW1icy1pdGVtLWNvbG9yLWRpc2FibGVkOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBicmVhZGNydW1iIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJGJyZWFkY3J1bWJzLWl0ZW0tbWFyZ2luOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBtYWtlcyBicmVhZGNydW1iIGxpbmtzIHVwcGVyY2FzZS5cbi8vLyBAdHlwZSBCb29sZWFuXG4kYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2U6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGFkZHMgYSBzbGFzaCBiZXR3ZWVuIGJyZWFkY3J1bWIgbGlua3MuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2g6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBicmVhZGNydW1icyBjb250YWluZXIsIGFsb25nIHdpdGggdGhlIHN0eWxlcyBmb3IgdGhlIGA8bGk+YCBhbmQgYDxhPmAgZWxlbWVudHMgaW5zaWRlIG9mIGl0LlxuQG1peGluIGJyZWFkY3J1bWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBsaXN0LXN0eWxlOiBub25lO1xuICBtYXJnaW46ICRicmVhZGNydW1icy1tYXJnaW47XG5cbiAgLy8gSXRlbSB3cmFwcGVyXG4gIGxpIHtcbiAgICBmbG9hdDogI3skZ2xvYmFsLWxlZnR9O1xuICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1jdXJyZW50O1xuICAgIGZvbnQtc2l6ZTogJGJyZWFkY3J1bWJzLWl0ZW0tZm9udC1zaXplO1xuICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgIEBpZiAkYnJlYWRjcnVtYnMtaXRlbS11cHBlcmNhc2Uge1xuICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBAaWYgJGJyZWFkY3J1bWJzLWl0ZW0tc2xhc2gge1xuICAgICAgLy8gTmVlZCB0byBlc2NhcGUgdGhlIGJhY2tzbGFzaFxuICAgICAgJHNsYXNoOiBpZigkZ2xvYmFsLXRleHQtZGlyZWN0aW9uID09ICdsdHInLCAnLycsICdcXFxcJyk7XG5cbiAgICAgICY6bm90KDpsYXN0LWNoaWxkKTo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogJG1lZGl1bS1ncmF5O1xuICAgICAgICBjb250ZW50OiAkc2xhc2g7XG4gICAgICAgIG1hcmdpbjogMCAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdG9wOiAxcHg7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkYnJlYWRjcnVtYnMtaXRlbS1tYXJnaW47XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhIHtcbiAgICBjb2xvcjogJGJyZWFkY3J1bWJzLWl0ZW0tY29sb3I7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1icmVhZGNydW1icyB7XG4gIC5icmVhZGNydW1icyB7XG4gICAgQGluY2x1ZGUgYnJlYWRjcnVtYnMtY29udGFpbmVyO1xuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIGNvbG9yOiAkYnJlYWRjcnVtYnMtaXRlbS1jb2xvci1kaXNhYmxlZDtcbiAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBidXR0b24tZ3JvdXBcbi8vLy9cblxuLy8vIE1hcmdpbiBmb3IgYnV0dG9uIGdyb3Vwcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRidXR0b25ncm91cC1tYXJnaW46IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXJnaW4gYmV0d2VlbiBidXR0b25zIGluIGEgYnV0dG9uIGdyb3VwLlxuLy8vIEB0eXBlIEJvcmRlclxuJGJ1dHRvbmdyb3VwLXNwYWNpbmc6IDFweCAhZGVmYXVsdDtcblxuLy8vIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgU3RyaW5nXG4kYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3I6ICcuYnV0dG9uJyAhZGVmYXVsdDtcblxuLy8vIE1heGltdW0gbnVtYmVyIG9mIGJ1dHRvbnMgdGhhdCBjYW4gYmUgaW4gYW4gZXZlbi13aWR0aCBidXR0b24gZ3JvdXAuXG4vLy8gQHR5cGUgTnVtYmVyXG4kYnV0dG9uZ3JvdXAtZXhwYW5kLW1heDogNiAhZGVmYXVsdDtcblxuLy8vIEFkZCBzdHlsZXMgZm9yIGEgYnV0dG9uIGdyb3VwIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJGNoaWxkLXNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSBhIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAoXG4gICRjaGlsZC1zZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1tYXJnaW47XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgfVxuICBAZWxzZSB7XG4gICAgZm9udC1zaXplOiAwO1xuICB9XG5cbiAgI3skY2hpbGQtc2VsZWN0b3J9IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIG1hcmdpbi1ib3R0b206ICRidXR0b25ncm91cC1zcGFjaW5nO1xuICAgIGZvbnQtc2l6ZTogbWFwLWdldCgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuXG4gICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIGZ1bGwtd2lkdGggYnV0dG9uIGdyb3VwLCBtYWtpbmcgZWFjaCBidXR0b24gZXF1YWwgd2lkdGguXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgYSBidXR0b24gZ3JvdXAuXG5AbWl4aW4gYnV0dG9uLWdyb3VwLWV4cGFuZChcbiAgJHNlbGVjdG9yOiAkYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3IsXG4gICRjb3VudDogbnVsbFxuKSB7XG4gIEBpZiBub3QgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogLSRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuICB9XG5cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBmb3IgJGkgZnJvbSAyIHRocm91Z2ggJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXgge1xuICAgICAgICAmOmZpcnN0LWNoaWxkOm50aC1sYXN0LWNoaWxkKCN7JGl9KSB7XG4gICAgICAgICAgJiwgJjpmaXJzdC1jaGlsZDpudGgtbGFzdC1jaGlsZCgjeyRpfSkgfiAjeyRzZWxlY3Rvcn0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoI3twZXJjZW50YWdlKDEgLyAkaSl9IC0gI3skYnV0dG9uZ3JvdXAtc3BhY2luZ30pO1xuICAgICAgICAgICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06ICRidXR0b25ncm91cC1zcGFjaW5nO1xuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJGJ1dHRvbmdyb3VwLXNwYWNpbmcgKiAtJGJ1dHRvbmdyb3VwLWV4cGFuZC1tYXg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBTdGFja3MgdGhlIGJ1dHRvbnMgaW4gYSBidXR0b24gZ3JvdXAuXG4vLy8gQHBhcmFtIHtTdHJpbmd9ICRzZWxlY3RvciBbJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXSAtIFNlbGVjdG9yIGZvciB0aGUgYnV0dG9ucyBpbnNpZGUgdGhlIGJ1dHRvbiBncm91cC5cbkBtaXhpbiBidXR0b24tZ3JvdXAtc3RhY2soXG4gICRzZWxlY3RvcjogJGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yXG4pIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICB9XG5cbiAgI3skc2VsZWN0b3J9IHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG4gIH1cbn1cblxuLy8vIFVuLXN0YWNrcyB0aGUgYnV0dG9ucyBpbiBhIGJ1dHRvbiBncm91cC5cbi8vLyBAcGFyYW0ge1N0cmluZ30gJHNlbGVjdG9yIFskYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3JdIC0gU2VsZWN0b3IgZm9yIHRoZSBidXR0b25zIGluc2lkZSB0aGUgYnV0dG9uIGdyb3VwLlxuQG1peGluIGJ1dHRvbi1ncm91cC11bnN0YWNrKFxuICAkc2VsZWN0b3I6ICRidXR0b25ncm91cC1jaGlsZC1zZWxlY3RvclxuKSB7XG4gIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICN7JHNlbGVjdG9yfSB7XG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICB3aWR0aDogYXV0bztcbiAgICB9XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1idXR0b24tZ3JvdXAge1xuICAuYnV0dG9uLWdyb3VwIHtcbiAgICBAaW5jbHVkZSBidXR0b24tZ3JvdXA7XG5cbiAgICAvLyBTaXplc1xuICAgIEBlYWNoICRzaXplLCAkdmFsdWUgaW4gbWFwLXJlbW92ZSgkYnV0dG9uLXNpemVzLCBkZWZhdWx0KSB7XG4gICAgICAmLiN7JHNpemV9ICN7JGJ1dHRvbmdyb3VwLWNoaWxkLXNlbGVjdG9yfSB7XG4gICAgICAgIGZvbnQtc2l6ZTogJHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV2ZW4td2lkdGggR3JvdXBcbiAgICAmLmV4cGFuZGVkIHsgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLWV4cGFuZDsgfVxuXG4gICAgLy8gQ29sb3JzXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkYnV0dG9uLWZpbGwgIT0gaG9sbG93IHtcbiAgICAgICAgJi4jeyRuYW1lfSAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1zdHlsZSgkY29sb3IsIGF1dG8sIGF1dG8pO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBAZWxzZSB7XG4gICAgICAgICYuI3skbmFtZX0gI3skYnV0dG9uZ3JvdXAtY2hpbGQtc2VsZWN0b3J9IHtcbiAgICAgICAgICBAaW5jbHVkZSBidXR0b24taG9sbG93O1xuICAgICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ob2xsb3ctc3R5bGUoJGNvbG9yKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZCxcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLFxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC1zdGFjaztcbiAgICB9XG5cbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgIEBpbmNsdWRlIGJ1dHRvbi1ncm91cC11bnN0YWNrO1xuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2tlZC1mb3ItbWVkaXVtIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UpIHtcbiAgICAgICAgQGluY2x1ZGUgYnV0dG9uLWdyb3VwLXVuc3RhY2s7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgTWVyZ2VhYmxlU2VsZWN0b3JcbiAgICAmLnN0YWNrZWQtZm9yLXNtYWxsLmV4cGFuZGVkIHtcbiAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAjeyRidXR0b25ncm91cC1jaGlsZC1zZWxlY3Rvcn0ge1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBjYWxsb3V0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3IuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZmFkZSB2YWx1ZSBmb3IgY2FsbG91dCBiYWNrZ3JvdW5kcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRjYWxsb3V0LWJhY2tncm91bmQtZmFkZTogODUlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgc3R5bGUgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIExpc3RcbiRjYWxsb3V0LWJvcmRlcjogMXB4IHNvbGlkIHJnYmEoJGJsYWNrLCAwLjI1KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm90dG9tIG1hcmdpbiBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2FsbG91dC1tYXJnaW46IDAgMCAxcmVtIDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGlubmVyIHBhZGRpbmcgZm9yIGNhbGxvdXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJGNhbGxvdXQtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBjb2xvciBmb3IgY2FsbG91dHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgY29sb3IgZm9yIGNhbGxvdXRzLCBpZiB0aGUgY2FsbG91dCBoYXMgYSBkYXJrIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiRjYWxsb3V0LWZvbnQtY29sb3ItYWx0OiAkYm9keS1iYWNrZ3JvdW5kICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgcmFkaXVzIGZvciBjYWxsb3V0cy5cbi8vLyBAdHlwZSBDb2xvclxuJGNhbGxvdXQtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFtb3VudCB0byB0aW50IGxpbmtzIHVzZWQgd2l0aGluIGNvbG9yZWQgcGFuZWxzLiBTZXQgdG8gYGZhbHNlYCB0byBkaXNhYmxlIHRoaXMgZmVhdHVyZS5cbi8vLyBAdHlwZSBOdW1iZXIgfCBCb29sZWFuXG4kY2FsbG91dC1saW5rLXRpbnQ6IDMwJSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgYmFzaWMgc3R5bGVzIGZvciBhIGNhbGxvdXQsIGluY2x1ZGluZyBwYWRkaW5nIGFuZCBtYXJnaW4uXG5AbWl4aW4gY2FsbG91dC1iYXNlKCkge1xuICBtYXJnaW46ICRjYWxsb3V0LW1hcmdpbjtcbiAgcGFkZGluZzogJGNhbGxvdXQtcGFkZGluZztcbiAgYm9yZGVyOiAkY2FsbG91dC1ib3JkZXI7XG4gIGJvcmRlci1yYWRpdXM6ICRjYWxsb3V0LXJhZGl1cztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBjb2xvcjogJGNhbGxvdXQtZm9udC1jb2xvcjtcblxuICAvLyBSZXNwZWN0IHRoZSBwYWRkaW5nLCBmb29sLlxuICA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMDtcbiAgfVxuXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEdlbmVyYXRlIHF1aWNrIHN0eWxlcyBmb3IgYSBjYWxsb3V0IHVzaW5nIGEgc2luZ2xlIGNvbG9yIGFzIGEgYmFzZWxpbmUuXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIFskY2FsbG91dC1iYWNrZ3JvdW5kXSAtIENvbG9yIHRvIHVzZS5cbkBtaXhpbiBjYWxsb3V0LXN0eWxlKCRjb2xvcjogJGNhbGxvdXQtYmFja2dyb3VuZCkge1xuICAkYmFja2dyb3VuZDogc2NhbGUtY29sb3IoJGNvbG9yLCAkbGlnaHRuZXNzOiAkY2FsbG91dC1iYWNrZ3JvdW5kLWZhZGUpO1xuXG4gIGJhY2tncm91bmQtY29sb3I6ICRiYWNrZ3JvdW5kO1xufVxuXG5AbWl4aW4gY2FsbG91dC1zaXplKCRwYWRkaW5nKSB7XG4gIHBhZGRpbmctdG9wOiAkcGFkZGluZztcbiAgcGFkZGluZy1yaWdodDogJHBhZGRpbmc7XG4gIHBhZGRpbmctYm90dG9tOiAkcGFkZGluZztcbiAgcGFkZGluZy1sZWZ0OiAkcGFkZGluZztcbn1cblxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2FsbG91dC5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkY29sb3IgWyRjYWxsb3V0LWJhY2tncm91bmRdIC0gQ29sb3IgdG8gdXNlLlxuQG1peGluIGNhbGxvdXQoJGNvbG9yOiAkY2FsbG91dC1iYWNrZ3JvdW5kKSB7XG4gIEBpbmNsdWRlIGNhbGxvdXQtYmFzZTtcbiAgQGluY2x1ZGUgY2FsbG91dC1zdHlsZSgkY29sb3IpO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1jYWxsb3V0IHtcbiAgLmNhbGxvdXQge1xuICAgIEBpbmNsdWRlIGNhbGxvdXQ7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc3R5bGUoJGNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgIEBpbmNsdWRlIGNhbGxvdXQtc2l6ZSgwLjVyZW0pO1xuICAgIH1cblxuICAgICYubGFyZ2Uge1xuICAgICAgQGluY2x1ZGUgY2FsbG91dC1zaXplKDNyZW0pO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgY2xvc2UtYnV0dG9uXG4vLy8vXG5cbi8vLyBEZWZhdWx0IHBvc2l0aW9uIG9mIHRoZSBjbG9zZSBidXR0b24uIFRoZSBmaXJzdCB2YWx1ZSBzaG91bGQgYmUgYHJpZ2h0YCBvciBgbGVmdGAsIGFuZCB0aGUgc2Vjb25kIHZhbHVlIHNob3VsZCBiZSBgdG9wYCBvciBgYm90dG9tYC5cbi8vLyBAdHlwZSBMaXN0XG4kY2xvc2VidXR0b24tcG9zaXRpb246IHJpZ2h0IHRvcCAhZGVmYXVsdDtcblxuLy8vIFJpZ2h0IChvciBsZWZ0KSBvZmZzZXQgZm9yIGEgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLW9mZnNldC1ob3Jpem9udGFsOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVG9wIChvciBib3R0b20pIG9mZnNldCBmb3IgYSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgTnVtYmVyXG4kY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGZvbnQgc2l6ZSBvZiB0aGUgY2xvc2UgYnV0dG9uLlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLXNpemU6IDJlbSAhZGVmYXVsdDtcblxuLy8vIFRoZSBsaW5lLWhlaWdodCBvZiB0aGUgY2xvc2UgYnV0dG9uLiBJdCBhZmZlY3RzIHRoZSBzcGFjaW5nIG9mIHRoZSBlbGVtZW50LlxuLy8vIEB0eXBlIE51bWJlclxuJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ6IDEgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHRoZSBjbG9zZSBidXR0b24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvcjogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIGNsb3NlIGJ1dHRvbiB3aGVuIGJlaW5nIGhvdmVyZWQgb24uXG4vLy8gQHR5cGUgQ29sb3JcbiRjbG9zZWJ1dHRvbi1jb2xvci1ob3ZlcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgY2xvc2UgYnV0dG9uLCB1c2luZyB0aGUgc3R5bGVzIGluIHRoZSBzZXR0aW5ncyB2YXJpYWJsZXMuXG5AbWl4aW4gY2xvc2UtYnV0dG9uIHtcbiAgJHg6IG50aCgkY2xvc2VidXR0b24tcG9zaXRpb24sIDEpO1xuICAkeTogbnRoKCRjbG9zZWJ1dHRvbi1wb3NpdGlvbiwgMik7XG5cbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGNvbG9yOiAkY2xvc2VidXR0b24tY29sb3I7XG4gICN7JHh9OiAkY2xvc2VidXR0b24tb2Zmc2V0LWhvcml6b250YWw7XG4gICN7JHl9OiAkY2xvc2VidXR0b24tb2Zmc2V0LXZlcnRpY2FsO1xuICBmb250LXNpemU6ICRjbG9zZWJ1dHRvbi1zaXplO1xuICBsaW5lLWhlaWdodDogJGNsb3NlYnV0dG9uLWxpbmVoZWlnaHQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBjb2xvcjogJGNsb3NlYnV0dG9uLWNvbG9yLWhvdmVyO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLWNsb3NlLWJ1dHRvbiB7XG4gIC5jbG9zZS1idXR0b24ge1xuICAgIEBpbmNsdWRlIGNsb3NlLWJ1dHRvbjtcbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbWVudVxuLy8vL1xuXG4vLy8gTWFyZ2luIG9mIGEgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbjogMCAhZGVmYXVsdDtcblxuLy8vIExlZnQtaGFuZCBtYXJnaW4gb2YgYSBuZXN0ZWQgbWVudS5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZW51LW1hcmdpbi1uZXN0ZWQ6IDFyZW0gIWRlZmF1bHQ7XG5cbi8vLyBQYWRkaW5nIGZvciBpdGVtcyBpbiBhIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pdGVtLXBhZGRpbmc6IDAuN3JlbSAxcmVtICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWNvbG9yLWFjdGl2ZTogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhbiBhY3RpdmUgbWVudSBpdGVtLlxuLy8vIEB0eXBlIENvbG9yXG4kbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIGFuIGljb24gYW5kIHRleHQgaW4gYSBtZW51IGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kbWVudS1pY29uLXNwYWNpbmc6IDAuMjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBDcmVhdGVzIHRoZSBiYXNlIHN0eWxlcyBmb3IgYSBNZW51LlxuQG1peGluIG1lbnUtYmFzZSB7XG4gIG1hcmdpbjogJG1lbnUtbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB9XG5cbiAgLy8gTGlzdCBpdGVtcyBhcmUgdGFibGUgY2VsbCB0byBhbGxvdyBmb3IgdmVydGljYWwgYWxpZ25tZW50XG4gID4gbGkge1xuICAgIEBpbmNsdWRlIGRpc2FibGUtbW91c2Utb3V0bGluZTtcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc2V0IGxpbmUgaGVpZ2h0IHRvIG1ha2UgdGhlIGhlaWdodCBvZiB0aGUgb3ZlcmFsbCBpdGVtIGVhc2llciB0byBjYWxjdWxhdGVcbiAgPiBsaSA+IGEge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRtZW51LWl0ZW0tcGFkZGluZztcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgfVxuXG4gIC8vIFJlc2V0IHN0eWxlcyBvZiBpbm5lciBlbGVtZW50c1xuICBpbnB1dCxcbiAgYSxcbiAgYnV0dG9uIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBFeHBhbmRzIHRoZSBpdGVtcyBvZiBhIE1lbnUsIHNvIGVhY2ggaXRlbSBpcyB0aGUgc2FtZSB3aWR0aC5cbkBtaXhpbiBtZW51LWV4cGFuZCB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgPiBsaSB7XG4gICAgICBmbGV4OiAxIDEgMHB4O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgZGlzcGxheTogdGFibGU7XG4gICAgdGFibGUtbGF5b3V0OiBmaXhlZDtcbiAgfVxufVxuXG4vLy8gU2V0cyB0aGUgZGlyZWN0aW9uIG9mIGEgTWVudS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkaXIgW2hvcml6b250YWxdIC0gRGlyZWN0aW9uIG9mIHRoZSBNZW51LiBDYW4gYmUgYGhvcml6b250YWxgIG9yIGB2ZXJ0aWNhbGAuXG5AbWl4aW4gbWVudS1kaXJlY3Rpb24oJGRpcjogaG9yaXpvbnRhbCkge1xuICBAaWYgJGRpciA9PSBob3Jpem9udGFsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgICA+IGxpIHtcbiAgICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZS1jZWxsO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkZGlyID09IHZlcnRpY2FsIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgPiBsaSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICB9XG5cbiAgICAgID4gbGkgID4gYSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgID4gbGkge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIG1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuLy8vIENyZWF0ZXMgYSBzaW1wbGUgTWVudSwgd2hpY2ggaGFzIG5vIHBhZGRpbmcgb3IgaG92ZXIgc3RhdGUuXG5AbWl4aW4gbWVudS1zaW1wbGUge1xuICBsaSB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiBnZXQtc2lkZSgkbWVudS1pdGVtLXBhZGRpbmcsICRnbG9iYWwtcmlnaHQpO1xuICB9XG5cbiAgYSB7XG4gICAgcGFkZGluZzogMDtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbmVzdGVkIE1lbnUsIGJ5IGFkZGluZyBgbWFyZ2luLWxlZnRgIHRvIHRoZSBtZW51LlxuLy8vIEBwYXJhbSB7S2V5d29yZHxOdW1iZXJ9ICRwYWRkaW5nIFthdXRvXSAtIExlbmd0aCBvZiB0aGUgbWFyZ2luLlxuQG1peGluIG1lbnUtbmVzdGVkKCRtYXJnaW46ICRtZW51LW1hcmdpbi1uZXN0ZWQpIHtcbiAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJG1hcmdpbjtcbn1cblxuLy8vIEFkZHMgc3VwcG9ydCBmb3IgaWNvbnMgdG8gTWVudSBpdGVtcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRwb3NpdGlvbiBbc2lkZV0gLSBQb3NpdGlvbmluZyBmb3IgaWNvbnMuIENhbiBiZSBgc2lkZWAgKGxlZnQsIG9yIHJpZ2h0IG9uIFJUTCkgb3IgYHRvcGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkYmFzZSBbdHJ1ZV0gLSBTZXQgdG8gYGZhbHNlYCB0byBwcmV2ZW50IHRoZSBzaGFyZWQgQ1NTIGJldHdlZW4gc2lkZS0gYW5kIHRvcC1hbGlnbmVkIGljb25zIGZyb20gYmVpbmcgcHJpbnRlZC4gU2V0IHRoaXMgdG8gYGZhbHNlYCBpZiB5b3UncmUgY2FsbGluZyB0aGUgbWl4aW4gbXVsdGlwbGUgdGltZXMgb24gdGhlIHNhbWUgZWxlbWVudC5cbkBtaXhpbiBtZW51LWljb25zKCRwb3NpdGlvbjogc2lkZSwgJGJhc2U6IHRydWUpIHtcbiAgQGlmICRiYXNlIHtcbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgID4gbGkgPiBhIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIH1cbiAgICB9XG4gICAgQGVsc2Uge1xuICAgICAgPiBsaSA+IGEge1xuICAgICAgICBpbWcsXG4gICAgICAgIGksXG4gICAgICAgIHN2ZyB7XG4gICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcblxuICAgICAgICAgICsgc3BhbiB7XG4gICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIEBpZiAkcG9zaXRpb24gPT0gc2lkZSB7XG4gICAgPiBsaSA+IGEge1xuICAgICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgIH1cblxuICAgICAgaW1nLFxuICAgICAgaSxcbiAgICAgIHN2ZyB7XG4gICAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkbWVudS1pY29uLXNwYWNpbmc7XG5cbiAgICAgICAgQGlmIG5vdCAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gdG9wIHtcbiAgICA+IGxpID4gYSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAgZmxleC1mbG93OiBjb2x1bW4gbm93cmFwO1xuICAgICAgfVxuICAgICAgQGVsc2Uge1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICB9XG5cbiAgICAgIGltZyxcbiAgICAgIGksXG4gICAgICBzdmcge1xuICAgICAgICBAaWYgbm90ICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgbWFyZ2luOiAwIGF1dG8gJG1lbnUtaWNvbi1zcGFjaW5nO1xuICAgICAgICB9XG4gICAgICAgIEBlbHNlIHtcbiAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAkbWVudS1pY29uLXNwYWNpbmc7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG1lbnUtdGV4dCB7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBjb2xvcjogaW5oZXJpdDtcbiAgbGluZS1oZWlnaHQ6IDE7XG4gIHBhZGRpbmctdG9wOiAwO1xuICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgcGFkZGluZzogJG1lbnUtaXRlbS1wYWRkaW5nO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1tZW51IHtcbiAgLm1lbnUge1xuICAgIEBpbmNsdWRlIG1lbnUtYmFzZTtcbiAgICBAaW5jbHVkZSBtZW51LWljb25zO1xuXG4gICAgLy8gT3JpZW50YXRpb25cbiAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgICYudmVydGljYWwge1xuICAgICAgQGluY2x1ZGUgbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgIH1cblxuICAgIEBlYWNoICRzaXplIGluICRicmVha3BvaW50LWNsYXNzZXMge1xuICAgICAgQGlmICRzaXplICE9ICQtemYtemVyby1icmVha3BvaW50IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgICAgICAgICYuI3skc2l6ZX0taG9yaXpvbnRhbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBtZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICAmLiN7JHNpemV9LXZlcnRpY2FsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIG1lbnUtZGlyZWN0aW9uKHZlcnRpY2FsKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTaW1wbGVcbiAgICAmLnNpbXBsZSB7XG4gICAgICBAaW5jbHVkZSBtZW51LXNpbXBsZTtcbiAgICB9XG5cbiAgICAvLyBBbGlnbiByaWdodFxuICAgICYuYWxpZ24tI3skZ2xvYmFsLXJpZ2h0fSB7XG4gICAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIH1cbiAgICAgIEBlbHNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG5cbiAgICAgICAgPiBsaSB7XG4gICAgICAgICAgZmxvYXQ6ICRnbG9iYWwtcmlnaHQ7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFdmVuLXdpZHRoXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LWV4cGFuZDtcblxuICAgICAgPiBsaTpmaXJzdC1jaGlsZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gVmVydGljYWwgaWNvbnNcbiAgICAmLmljb24tdG9wIHtcbiAgICAgIEBpbmNsdWRlIG1lbnUtaWNvbnModG9wLCAkYmFzZTogZmFsc2UpO1xuICAgIH1cblxuICAgIC8vIE5lc3RpbmdcbiAgICAmLm5lc3RlZCB7XG4gICAgICBAaW5jbHVkZSBtZW51LW5lc3RlZDtcbiAgICB9XG5cbiAgICAvLyBBY3RpdmUgc3RhdGVcbiAgICAuYWN0aXZlID4gYSB7XG4gICAgICBjb2xvcjogJG1lbnUtaXRlbS1jb2xvci1hY3RpdmU7XG4gICAgICBiYWNrZ3JvdW5kOiAkbWVudS1pdGVtLWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cbiAgfVxuXG4gIC5tZW51LXRleHQge1xuICAgIEBpbmNsdWRlIG1lbnUtdGV4dDtcbiAgfVxuXG4gIC8vIEFsaWduIGNlbnRlclxuICAubWVudS1jZW50ZXJlZCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgPiAubWVudSB7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgfVxuICB9XG5cbiAgLy8gUHJldmVudCBGT1VDIHdoZW4gdXNpbmcgdGhlIFJlc3BvbnNpdmUgTWVudSBwbHVnaW5cbiAgLm5vLWpzIFtkYXRhLXJlc3BvbnNpdmUtbWVudV0gdWwge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gIH1cbn1cbiIsIkBtaXhpbiBmb3VuZGF0aW9uLW1lbnUtaWNvbiB7XG4gIC5tZW51LWljb24ge1xuICAgIEBpbmNsdWRlIGhhbWJ1cmdlcigkY29sb3I6ICR0aXRsZWJhci1pY29uLWNvbG9yLCAkY29sb3ItaG92ZXI6ICR0aXRsZWJhci1pY29uLWNvbG9yLWhvdmVyKTtcbiAgfVxuXG4gIC5tZW51LWljb24uZGFyayB7XG4gICAgQGluY2x1ZGUgaGFtYnVyZ2VyO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBkcmlsbGRvd25cbi8vLy9cblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydHkgdG8gdXNlIGZvciBhbmltYXRpbmcgbWVudXMuXG4vLy8gQHR5cGUgVHJhbnNpdGlvblxuJGRyaWxsZG93bi10cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4xNXMgbGluZWFyICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBhcnJvd3MgdG8gZHJpbGxkb3duIGl0ZW1zIHdpdGggc3VibWVudXMsIGFzIHdlbGwgYXMgdGhlIGJhY2sgYnV0dG9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRkcmlsbGRvd24tYXJyb3dzOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gU2V0cyBkcmlsbGRvd24gYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyaWxsZG93bi1hcnJvdy1jb2xvcjogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciBkcmlsbGRvd24gc3VibWVudXMuXG4vLy8gQHR5cGUgQ29sb3JcbiRkcmlsbGRvd24tYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG5AbWl4aW4gZm91bmRhdGlvbi1kcmlsbGRvd24tbWVudSB7XG4gIC8vIEFwcGxpZWQgdG8gdGhlIE1lbnUgY29udGFpbmVyXG4gIC5pcy1kcmlsbGRvd24ge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgbGkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAvLyBBcHBsaWVkIHRvIG5lc3RlZCA8dWw+c1xuICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIHotaW5kZXg6IC0xO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJpbGxkb3duLWJhY2tncm91bmQ7XG4gICAgdHJhbnNpdGlvbjogJGRyaWxsZG93bi10cmFuc2l0aW9uO1xuXG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgei1pbmRleDogMTtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKGlmKCRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gbHRyLCAtMTAwJSwgMTAwJSkpO1xuICAgIH1cblxuICAgICYuaXMtY2xvc2luZyB7XG4gICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoaWYoJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBsdHIsIDEwMCUsIC0xMDAlKSk7XG4gICAgfVxuICB9XG5cbiAgQGlmICRkcmlsbGRvd24tYXJyb3dzIHtcbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDZweCwgJGRyaWxsZG93bi1hcnJvdy1jb2xvciwgJGdsb2JhbC1yaWdodCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgIG1hcmdpbi10b3A6IC02cHg7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDFyZW07XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg2cHgsICRkcmlsbGRvd24tYXJyb3ctY29sb3IsICRnbG9iYWwtbGVmdCk7XG4gICAgICBib3JkZXItI3skZ2xvYmFsLWxlZnR9LXdpZHRoOiAwO1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAwLjc1cmVtOyAvLyBDcmVhdGVzIHNwYWNlIGJldHdlZW4gdGhlIGFycm93IGFuZCB0aGUgdGV4dFxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd25cbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bi1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQm9yZGVyIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRm9udCBzaXplIGZvciBkcm9wZG93biBwYW5lcy5cbi8vLyBAdHlwZSBMaXN0XG4kZHJvcGRvd24tZm9udC1zaXplOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggZm9yIGRyb3Bkb3duIHBhbmVzLlxuLy8vIEB0eXBlIE51bWJlclxuJGRyb3Bkb3duLXdpZHRoOiAzMDBweCAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciByYWRpdXMgZHJvcGRvd24gcGFuZXMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZHJvcGRvd24tcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIFNpemVzIGZvciBkcm9wZG93biBwYW5lcy4gRWFjaCBzaXplIGlzIGEgQ1NTIGNsYXNzIHlvdSBjYW4gYXBwbHkuXG4vLy8gQHR5cGUgTWFwXG4kZHJvcGRvd24tc2l6ZXM6IChcbiAgdGlueTogMTAwcHgsXG4gIHNtYWxsOiAyMDBweCxcbiAgbGFyZ2U6IDQwMHB4LFxuKSAhZGVmYXVsdDtcblxuLy8vIEFwcGxpZXMgc3R5bGVzIGZvciBhIGJhc2ljIGRyb3Bkb3duLlxuQG1peGluIGRyb3Bkb3duLWNvbnRhaW5lciB7XG4gIGJhY2tncm91bmQtY29sb3I6ICRib2R5LWJhY2tncm91bmQ7XG4gIGJvcmRlcjogJGRyb3Bkb3duLWJvcmRlcjtcbiAgYm9yZGVyLXJhZGl1czogJGRyb3Bkb3duLXJhZGl1cztcbiAgZGlzcGxheTogYmxvY2s7XG4gIGZvbnQtc2l6ZTogJGRyb3Bkb3duLWZvbnQtc2l6ZTtcbiAgcGFkZGluZzogJGRyb3Bkb3duLXBhZGRpbmc7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICB3aWR0aDogJGRyb3Bkb3duLXdpZHRoO1xuICB6LWluZGV4OiAxMDtcblxuICAmLmlzLW9wZW4ge1xuICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24ge1xuICAuZHJvcGRvd24tcGFuZSB7XG4gICAgQGluY2x1ZGUgZHJvcGRvd24tY29udGFpbmVyO1xuICB9XG5cbiAgQGVhY2ggJG5hbWUsICRzaXplIGluICRkcm9wZG93bi1zaXplcyB7XG4gICAgLmRyb3Bkb3duLXBhbmUuI3skbmFtZX0ge1xuICAgICAgd2lkdGg6ICRzaXplO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZHJvcGRvd24tbWVudVxuLy8vL1xuXG4vLy8gRW5hYmxlcyBhcnJvd3MgZm9yIGl0ZW1zIHdpdGggZHJvcGRvd24gbWVudXMuXG4vLy8gQHR5cGUgQm9vbGVhblxuJGRyb3Bkb3dubWVudS1hcnJvd3M6IHRydWUgIWRlZmF1bHQ7XG5cbi8vLyBTZXRzIGRyb3Bkb3duIG1lbnUgYXJyb3cgY29sb3IgaWYgYXJyb3cgaXMgdXNlZC5cbi8vLyBAdHlwZSBDb2xvclxuJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvcjogJGFuY2hvci1jb2xvciAhZGVmYXVsdDtcblxuLy8vIE1pbmltdW0gd2lkdGggb2YgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExlbmd0aFxuJGRyb3Bkb3dubWVudS1taW4td2lkdGg6IDIwMHB4ICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgZHJvcGRvd25zLlxuLy8vIEB0eXBlIENvbG9yXG4kZHJvcGRvd25tZW51LWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIEJvcmRlciBmb3IgZHJvcGRvd24gc3ViLW1lbnVzLlxuLy8vIEB0eXBlIExpc3RcbiRkcm9wZG93bm1lbnUtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLyBCb3JkZXIgd2lkdGggZm9yIGRyb3Bkb3duIHN1Yi1tZW51cy5cbi8vIFVzZWQgdG8gYWRqdXN0IHRvcCBtYXJnaW4gb2YgYSBzdWItbWVudSBpZiBhIGJvcmRlciBpcyB1c2VkLlxuLy8gQHR5cGUgTGVuZ3RoXG4kZHJvcGRvd25tZW51LWJvcmRlci13aWR0aDogbnRoKCRkcm9wZG93bm1lbnUtYm9yZGVyLCAxKTtcblxuQG1peGluIGxlZnQtcmlnaHQtYXJyb3dzIHtcbiAgPiBhOjphZnRlciB7XG4gICAgI3skZ2xvYmFsLXJpZ2h0fTogMTRweDtcbiAgICBtYXJnaW4tdG9wOiAtM3B4O1xuICB9XG5cbiAgJi5vcGVucy1sZWZ0ID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSg1cHgsICRkcm9wZG93bm1lbnUtYXJyb3ctY29sb3IsIGxlZnQpO1xuICB9XG5cbiAgJi5vcGVucy1yaWdodCA+IGE6OmFmdGVyIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoNXB4LCAkZHJvcGRvd25tZW51LWFycm93LWNvbG9yLCByaWdodCk7XG4gIH1cbn1cblxuQG1peGluIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCRkaXI6IGhvcml6b250YWwpIHtcbiAgQGlmICRkaXIgPT0gaG9yaXpvbnRhbCB7XG4gICAgPiBsaS5vcGVucy1sZWZ0IHtcbiAgICAgID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkub3BlbnMtcmlnaHQge1xuICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICB0b3A6IDEwMCU7XG4gICAgICB9XG4gICAgfVxuXG4gICAgQGlmICRkcm9wZG93bm1lbnUtYXJyb3dzIHtcbiAgICAgID4gbGkuaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgcGFkZGluZy0jeyRnbG9iYWwtcmlnaHR9OiAxLjVyZW07XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgIH1cblxuICAgICAgPiBsaS5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgY3NzLXRyaWFuZ2xlKDVweCwgJGRyb3Bkb3dubWVudS1hcnJvdy1jb2xvciwgZG93bik7XG4gICAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJweDtcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2UgaWYgJGRpciA9PSB2ZXJ0aWNhbCB7XG4gICAgPiBsaSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgIH1cblxuICAgICAgJi5vcGVucy1sZWZ0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgICByaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAmLm9wZW5zLXJpZ2h0IHtcbiAgICAgICAgPiAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICAgICAgbGVmdDogMTAwJTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIEB3YXJuICdUaGUgZGlyZWN0aW9uIHVzZWQgZm9yIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKCkgbXVzdCBiZSBob3Jpem9udGFsIG9yIHZlcnRpY2FsLic7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tZHJvcGRvd24tbWVudSB7XG4gIC5kcm9wZG93bi5tZW51IHtcbiAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbihob3Jpem9udGFsKTtcblxuICAgIGEge1xuICAgICAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICAgIH1cblxuICAgIC5uby1qcyAmIHVsIHtcbiAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi52ZXJ0aWNhbCB7XG4gICAgICBAaW5jbHVkZSBkcm9wZG93bi1tZW51LWRpcmVjdGlvbih2ZXJ0aWNhbCk7XG4gICAgfVxuXG4gICAgQGVhY2ggJHNpemUgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcyB7XG4gICAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KCRzaXplKSB7XG4gICAgICAgICAgJi4jeyRzaXplfS1ob3Jpem9udGFsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGRyb3Bkb3duLW1lbnUtZGlyZWN0aW9uKGhvcml6b250YWwpO1xuICAgICAgICAgIH1cblxuICAgICAgICAgICYuI3skc2l6ZX0tdmVydGljYWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZHJvcGRvd24tbWVudS1kaXJlY3Rpb24odmVydGljYWwpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuYWxpZ24tcmlnaHQge1xuICAgICAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUuZmlyc3Qtc3ViIHtcbiAgICAgICAgdG9wOiAxMDAlO1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogMDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAuaXMtZHJvcGRvd24tbWVudS52ZXJ0aWNhbCB7XG4gICAgd2lkdGg6IDEwMHB4O1xuXG4gICAgJi5hbGlnbi1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBhOjphZnRlciB7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICB0b3A6IDUwJTtcbiAgICAgICN7JGdsb2JhbC1yaWdodH06IDVweDtcbiAgICAgIG1hcmdpbi10b3A6IC0ycHg7XG4gICAgfVxuXG4gICAgJi5vcGVucy1pbm5lciA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcblxuICAgICAgdG9wOiAxMDAlO1xuICAgICAgQGlmICRnbG9iYWwtdGV4dC1kaXJlY3Rpb24gPT0gJ3J0bCcge1xuICAgICAgICByaWdodDogYXV0bztcbiAgICAgIH0gQGVsc2Uge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgfVxuICAgIH1cblxuICAgICYub3BlbnMtbGVmdCA+IC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICAgIGxlZnQ6IGF1dG87XG4gICAgICByaWdodDogMTAwJTtcbiAgICB9XG5cbiAgICAmLm9wZW5zLXJpZ2h0ID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUge1xuICAgICAgcmlnaHQ6IGF1dG87XG4gICAgICBsZWZ0OiAxMDAlO1xuICAgIH1cbiAgfVxuXG4gIC5pcy1kcm9wZG93bi1zdWJtZW51IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAxMDAlO1xuICAgIG1pbi13aWR0aDogJGRyb3Bkb3dubWVudS1taW4td2lkdGg7XG4gICAgei1pbmRleDogMTtcbiAgICBiYWNrZ3JvdW5kOiAkZHJvcGRvd25tZW51LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyOiAkZHJvcGRvd25tZW51LWJvcmRlcjtcblxuICAgIC5pcy1kcm9wZG93bi1zdWJtZW51LXBhcmVudCB7XG4gICAgICBAaWYgJGRyb3Bkb3dubWVudS1hcnJvd3Mge1xuICAgICAgICBAaW5jbHVkZSBsZWZ0LXJpZ2h0LWFycm93cztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBAaWYgKHR5cGUtb2YoJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpID09ICdudW1iZXInKSB7XG4gICAgICAuaXMtZHJvcGRvd24tc3VibWVudSB7XG4gICAgICAgIG1hcmdpbi10b3A6ICgtJGRyb3Bkb3dubWVudS1ib3JkZXItd2lkdGgpO1xuICAgICAgfVxuICAgIH1cblxuICAgID4gbGkge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLy8gW1RPRE9dIEN1dCBiYWNrIHNwZWNpZmljaXR5XG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgU2VsZWN0b3JEZXB0aFxuICAgIC8vJjpub3QoLmpzLWRyb3Bkb3duLW5vaG92ZXIpID4gLmlzLWRyb3Bkb3duLXN1Ym1lbnUtcGFyZW50OmhvdmVyID4gJiwgLy8gd2h5IGlzIHRoaXMgbGluZSBuZWVkZWQ/IE9wZW5pbmcgaXMgaGFuZGxlZCBieSBKUyBhbmQgdGhpcyBjYXVzZXMgc29tZSB1Z2x5IGZsaWNrZXJpbmcgd2hlbiB0aGUgc3ViIGlzIHJlLXBvc2l0aW9uZWQgYXV0b21hdGljYWxseS4uLlxuICAgICYuanMtZHJvcGRvd24tYWN0aXZlIHtcbiAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgZmxleC12aWRlb1xuLy8vL1xuXG4vLy8gTWFyZ2luIGJlbG93IGEgZmxleCB2aWRlbyBjb250YWluZXIuXG4vLy8gQHR5cGUgTnVtYmVyXG4kZmxleHZpZGVvLW1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE2KSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgdXNlZCB0byBjcmVhdGUgYSA0OjMgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpbzogNCBieSAzICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyB1c2VkIHRvIGNyZWF0ZSBhIDE2OjkgYXNwZWN0IHJhdGlvLlxuLy8vIEB0eXBlIE51bWJlclxuJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuOiAxNiBieSA5ICFkZWZhdWx0O1xuXG4vLy8gQ3JlYXRlcyBhIHBlcmNlbnRhZ2UgaGVpZ2h0IHRoYXQgY2FuIGJlIHVzZWQgYXMgcGFkZGluZyBpbiBhIGZsZXggdmlkZW8gY29udGFpbmVyLlxuLy8vIEBwYXJhbSB7TGlzdH0gJHJhdGlvIC0gUmF0aW8gdG8gdXNlIHRvIGNhbGN1bGF0ZSB0aGUgaGVpZ2h0LCBmb3JtYXR0ZWQgYXMgYHggYnkgeWAuXG4vLy8gQHJldHVybiB7TnVtYmVyfSBBIHBlcmNlbnRhZ2UgdmFsdWUgdGhhdCBjYW4gYmUgdXNlZCBhcyB0aGUgYHBhZGRpbmctYm90dG9tYCBwYXJhbWV0ZXIgb2YgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbkBmdW5jdGlvbiBmbGV4LXZpZGVvKCRyYXRpbykge1xuICAkdzogbnRoKCRyYXRpbywgMSk7XG4gICRoOiBudGgoJHJhdGlvLCAzKTtcbiAgQHJldHVybiAkaCAvICR3ICogMTAwJTtcbn1cblxuLy8vIENyZWF0ZXMgYSBmbGV4IHZpZGVvIGNvbnRhaW5lci5cbi8vLyBAcGFyYW0ge0xpc3R9ICRyYXRpbyBbJGZsZXh2aWRlby1yYXRpb10gLSBSYXRpbyB0byB1c2UgZm9yIHRoZSBjb250YWluZXIsIGZvcm1hdHRlZCBhcyBgeCBieSB5YC5cbkBtaXhpbiBmbGV4LXZpZGVvKCRyYXRpbzogJGZsZXh2aWRlby1yYXRpbykge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMDtcbiAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJHJhdGlvKTtcbiAgbWFyZ2luLWJvdHRvbTogJGZsZXh2aWRlby1tYXJnaW4tYm90dG9tO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGlmcmFtZSxcbiAgb2JqZWN0LFxuICBlbWJlZCxcbiAgdmlkZW8ge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgI3skZ2xvYmFsLWxlZnR9OiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1mbGV4LXZpZGVvIHtcbiAgLmZsZXgtdmlkZW8ge1xuICAgIEBpbmNsdWRlIGZsZXgtdmlkZW87XG5cbiAgICAmLndpZGVzY3JlZW4ge1xuICAgICAgcGFkZGluZy1ib3R0b206IGZsZXgtdmlkZW8oJGZsZXh2aWRlby1yYXRpby13aWRlc2NyZWVuKTtcbiAgICB9XG5cbiAgICAmLnZpbWVvIHtcbiAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgbGFiZWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgbGFiZWxzLlxuLy8vIEB0eXBlIENvbG9yXG4kbGFiZWwtYmFja2dyb3VuZDogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHRleHQgY29sb3IgZm9yIGxhYmVscy5cbi8vLyBAdHlwZSBDb2xvclxuJGxhYmVsLWNvbG9yOiBmb3JlZ3JvdW5kKCRsYWJlbC1iYWNrZ3JvdW5kKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZm9udCBzaXplIGZvciBsYWJlbHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kbGFiZWwtZm9udC1zaXplOiAwLjhyZW0gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgaW5zaWRlIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1wYWRkaW5nOiAwLjMzMzMzcmVtIDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcmFkaXVzIG9mIGxhYmVscy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRsYWJlbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gR2VuZXJhdGVzIGJhc2Ugc3R5bGVzIGZvciBhIGxhYmVsLlxuQG1peGluIGxhYmVsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICBwYWRkaW5nOiAkbGFiZWwtcGFkZGluZztcbiAgZm9udC1zaXplOiAkbGFiZWwtZm9udC1zaXplO1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuICBib3JkZXItcmFkaXVzOiAkbGFiZWwtcmFkaXVzO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1sYWJlbCB7XG4gIC5sYWJlbCB7XG4gICAgQGluY2x1ZGUgbGFiZWw7XG5cbiAgICBiYWNrZ3JvdW5kOiAkbGFiZWwtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJGxhYmVsLWNvbG9yO1xuXG4gICAgQGVhY2ggJG5hbWUsICRjb2xvciBpbiAkZm91bmRhdGlvbi1wYWxldHRlIHtcbiAgICAgIEBpZiAkbmFtZSAhPSBwcmltYXJ5IHtcbiAgICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgICAgYmFja2dyb3VuZDogJGNvbG9yO1xuICAgICAgICAgIGNvbG9yOiBmb3JlZ3JvdW5kKCRjb2xvcik7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG1lZGlhLW9iamVjdFxuLy8vL1xuXG4vLy8gQm90dG9tIG1hcmdpbiBvZiBhIG1lZGlhIG9iamVjdC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIExlZnQgYW5kIHJpZ2h0IHBhZGRpbmcgb24gc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEB0eXBlIE51bWJlclxuJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZzogJGdsb2JhbC1wYWRkaW5nICFkZWZhdWx0O1xuXG4vLy8gV2lkdGggb2YgaW1hZ2VzIHdpdGhpbiBhIG1lZGlhIG9iamVjdCwgd2hlbiB0aGUgb2JqZWN0IGlzIHN0YWNrZWQgdmVydGljYWxseS4gU2V0IHRvICdhdXRvJyB0byB1c2UgdGhlIGltYWdlJ3MgbmF0dXJhbCB3aWR0aC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRtZWRpYW9iamVjdC1pbWFnZS13aWR0aC1zdGFja2VkOiAxMDAlICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbWVkaWEgb2JqZWN0IGNvbnRhaW5lci5cbkBtaXhpbiBtZWRpYS1vYmplY3QtY29udGFpbmVyIHtcbiAgbWFyZ2luLWJvdHRvbTogJG1lZGlhb2JqZWN0LW1hcmdpbi1ib3R0b207XG4gIGRpc3BsYXk6IGlmKCRnbG9iYWwtZmxleGJveCwgZmxleCwgYmxvY2spO1xuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3Igc2VjdGlvbnMgd2l0aGluIGEgbWVkaWEgb2JqZWN0LlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGluZyBbJG1lZGlhb2JqZWN0LXNlY3Rpb24tcGFkZGluZ10gLSBQYWRkaW5nIGJldHdlZW4gc2VjdGlvbnMuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXNlY3Rpb24oJHBhZGRpbmc6ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmcpIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleDogMCAxIGF1dG87XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IHRhYmxlLWNlbGw7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgfVxuXG4gICY6Zmlyc3QtY2hpbGQge1xuICAgIHBhZGRpbmctI3skZ2xvYmFsLXJpZ2h0fTogJHBhZGRpbmc7XG4gIH1cblxuICAmOmxhc3QtY2hpbGQ6bm90KDpudGgtY2hpbGQoMikpIHtcbiAgICBwYWRkaW5nLSN7JGdsb2JhbC1sZWZ0fTogJHBhZGRpbmc7XG4gIH1cblxuICA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0byBzdGFjayBzZWN0aW9ucyBvZiBhIG1lZGlhIG9iamVjdC4gQXBwbHkgdGhpcyB0byB0aGUgc2VjdGlvbiBlbGVtZW50cywgbm90IHRoZSBjb250YWluZXIuXG5AbWl4aW4gbWVkaWEtb2JqZWN0LXN0YWNrIHtcbiAgcGFkZGluZzogMDtcbiAgcGFkZGluZy1ib3R0b206ICRtZWRpYW9iamVjdC1zZWN0aW9uLXBhZGRpbmc7XG5cbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC1iYXNpczogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gIH1cbiAgQGVsc2Uge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICB9XG5cbiAgaW1nIHtcbiAgICB3aWR0aDogJG1lZGlhb2JqZWN0LWltYWdlLXdpZHRoLXN0YWNrZWQ7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tbWVkaWEtb2JqZWN0IHtcbiAgLm1lZGlhLW9iamVjdCB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LWNvbnRhaW5lcjtcblxuICAgIGltZyB7XG4gICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgfVxuXG4gICAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgICAmLnN0YWNrLWZvci0jeyQtemYtemVyby1icmVha3BvaW50fSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJC16Zi16ZXJvLWJyZWFrcG9pbnQgb25seSkge1xuICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgICYuc3RhY2stZm9yLSN7JC16Zi16ZXJvLWJyZWFrcG9pbnR9IC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXN0YWNrO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC5tZWRpYS1vYmplY3Qtc2VjdGlvbiB7XG4gICAgQGluY2x1ZGUgbWVkaWEtb2JqZWN0LXNlY3Rpb247XG5cbiAgICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgICAmLm1haW4tc2VjdGlvbiB7XG4gICAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgICB9XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICYubWlkZGxlIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgIH1cblxuICAgICAgJi5ib3R0b20ge1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogYm90dG9tO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8gRm91bmRhdGlvbiBmb3IgU2l0ZXMgYnkgWlVSQlxuLy8gZm91bmRhdGlvbi56dXJiLmNvbVxuLy8gTGljZW5zZWQgdW5kZXIgTUlUIE9wZW4gU291cmNlXG5cbi8vLy9cbi8vLyBAZ3JvdXAgb2ZmLWNhbnZhc1xuLy8vL1xuXG4vLy8gV2lkdGggb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIE51bWJlclxuJG9mZmNhbnZhcy1zaXplOiAyNTBweCAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igb2YgYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kb2ZmY2FudmFzLWJhY2tncm91bmQ6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gWi1pbmRleCBvZiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXppbmRleDogLTEgIWRlZmF1bHQ7XG5cbi8vLyBMZW5ndGggb2YgdGhlIGFuaW1hdGlvbiBvbiBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoOiAwLjVzICFkZWZhdWx0O1xuXG4vLy8gVGltaW5nIGZ1bmN0aW9uIG9mIHRoZSBhbmltYXRpb24gb24gYW4gb2ZmLWNhbnZhcyBtZW51LlxuLy8vIEB0eXBlIEtleXdvcmRcbiRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc6IGVhc2UgIWRlZmF1bHQ7XG5cbi8vLyBJZiBgdHJ1ZWAsIGEgcmV2ZWFsZWQgb2ZmLWNhbnZhcyB3aWxsIGJlIGZpeGVkLXBvc2l0aW9uLCBhbmQgc2Nyb2xsIHdpdGggdGhlIHNjcmVlbi5cbiRvZmZjYW52YXMtZml4ZWQtcmV2ZWFsOiB0cnVlICFkZWZhdWx0O1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBmb3IgdGhlIG92ZXJsYXkgdGhhdCBhcHBlYXJzIHdoZW4gYW4gb2ZmLWNhbnZhcyBtZW51IGlzIG9wZW4uXG4vLy8gQHR5cGUgQ29sb3JcbiRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kOiByZ2JhKCR3aGl0ZSwgMC4yNSkgIWRlZmF1bHQ7XG5cbi8vLyBDU1MgY2xhc3MgdXNlZCBmb3IgdGhlIG1haW4gY29udGVudCBhcmVhLiBUaGUgb2ZmLWNhbnZhcyBtaXhpbnMgdXNlIHRoaXMgdG8gdGFyZ2V0IHRoZSBwYWdlIGJvZHkuXG4kbWFpbmNvbnRlbnQtY2xhc3M6ICdvZmYtY2FudmFzLWNvbnRlbnQnICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB0byBwbGFjZSB1bmRlciB0aGUgbWFpbiBjb250ZW50IGFyZWEuIFRoaXMgc2hhZG93IG92ZXJsYXBzIHRoZSBvZmYtY2FudmFzIG1lbnVzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJG1haW5jb250ZW50LXNoYWRvdzogMCAwIDEwcHggcmdiYSgkYmxhY2ssIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIGJhc2VsaW5lIHN0eWxlcyBmb3Igb2ZmLWNhbnZhcy4gVGhpcyBDU1MgaXMgcmVxdWlyZWQgdG8gbWFrZSB0aGUgb3RoZXIgcGllY2VzIHdvcmsuXG5AbWl4aW4gb2ZmLWNhbnZhcy1iYXNpY3Mge1xuICAvLyBFeHRyYSBwcm9wZXJ0aWVzIG5lZWRlZCBvbiA8aHRtbD4gYW5kIDxib2R5PiB0byBtYWtlIG9mZi1jYW52YXMgd29ya1xuICBodG1sLFxuICBib2R5IHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gIH1cblxuICAub2ZmLWNhbnZhcy13cmFwcGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tmYWNlLXZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAtd2Via2l0LW92ZXJmbG93LXNjcm9sbGluZzogYXV0bztcbiAgfVxuXG4gIC5vZmYtY2FudmFzLXdyYXBwZXItaW5uZXIge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gJG9mZmNhbnZhcy10cmFuc2l0aW9uLWxlbmd0aCAkb2ZmY2FudmFzLXRyYW5zaXRpb24tdGltaW5nO1xuICB9XG5cbiAgLy8gQ29udGFpbmVyIGZvciBwYWdlIGNvbnRlbnRcbiAgLm9mZi1jYW52YXMtY29udGVudCxcbiAgLiN7JG1haW5jb250ZW50LWNsYXNzfSB7XG4gICAgbWluLWhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiAkYm9keS1iYWNrZ3JvdW5kO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAkb2ZmY2FudmFzLXRyYW5zaXRpb24tbGVuZ3RoICRvZmZjYW52YXMtdHJhbnNpdGlvbi10aW1pbmc7XG4gICAgYmFja2ZhY2UtdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIHotaW5kZXg6IDE7XG4gICAgcGFkZGluZy1ib3R0b206IDAuMXB4OyAvLyBQcmV2ZW50cyBtYXJnaW4gY29sbGFwc2luZywgd2hpY2ggd291bGQgcmV2ZWFsIHRoZSBib3ggc2hhZG93IG9mIHRoZSB3cmFwcGVyXG5cbiAgICBAaWYgaGFzLXZhbHVlKCRtYWluY29udGVudC1zaGFkb3cpIHtcbiAgICAgIGJveC1zaGFkb3c6ICRtYWluY29udGVudC1zaGFkb3c7XG4gICAgfVxuICB9XG5cbiAgLy8gQ2xpY2stdG8tZXhpdCBvdmVybGF5IChnZW5lcmF0ZWQgYnkgSmF2YVNjcmlwdClcbiAgLmpzLW9mZi1jYW52YXMtZXhpdCB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICRvZmZjYW52YXMtZXhpdC1iYWNrZ3JvdW5kO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kICRvZmZjYW52YXMtdHJhbnNpdGlvbi1sZW5ndGggJG9mZmNhbnZhcy10cmFuc2l0aW9uLXRpbWluZztcbiAgfVxufVxuXG4vLy8gQWRkcyBiYXNpYyBzdHlsZXMgZm9yIGFuIG9mZi1jYW52YXMgbWVudS5cbkBtaXhpbiBvZmYtY2FudmFzLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgYmFja2dyb3VuZDogJG9mZmNhbnZhcy1iYWNrZ3JvdW5kO1xuICB6LWluZGV4OiAkb2ZmY2FudmFzLXppbmRleDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3cteTogYXV0bztcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xufVxuXG5AbWl4aW4gb2ZmLWNhbnZhcy1wb3NpdGlvbihcbiAgJHBvc2l0aW9uOiBsZWZ0LFxuICAkc2l6ZTogJG9mZmNhbnZhcy1zaXplLFxuICAkZml4ZWQ6IGZhbHNlXG4pIHtcbiAgQGlmICRwb3NpdGlvbiA9PSBsZWZ0IHtcbiAgICBsZWZ0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuICBAZWxzZSBpZiAkcG9zaXRpb24gPT0gcmlnaHQge1xuICAgIHJpZ2h0OiAtJHNpemU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAkc2l6ZTtcbiAgfVxuXG4gIC8vIEdlbmVyYXRlcyBhbiBvcGVuIHN0YXRlIGNsYXNzIHRoYXQgbWF0Y2hlcyB0aGUgd2lkdGggb2YgdGhlIG1lbnVcbiAgQGF0LXJvb3Qge1xuICAgIC5pcy1vcGVuLSN7JHBvc2l0aW9ufSB7XG4gICAgICBAaWYgJHBvc2l0aW9uID09IGxlZnQge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoJHNpemUpO1xuICAgICAgfVxuICAgICAgQGVsc2UgaWYgJHBvc2l0aW9uID09IHJpZ2h0IHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC0kc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyB0aGF0IHJldmVhbCBhbiBvZmYtY2FudmFzIG1lbnUuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkcG9zaXRpb24gW2xlZnRdIC0gUG9zaXRpb24gb2YgdGhlIG9mZi1jYW52YXMgbWVudSBiZWluZyByZXZlYWxlZC5cbkBtaXhpbiBvZmYtY2FudmFzLXJldmVhbChcbiAgJHBvc2l0aW9uOiBsZWZ0XG4pIHtcbiAgI3skcG9zaXRpb259OiAwO1xuICB6LWluZGV4OiBhdXRvO1xuXG4gIEBpZiAkb2ZmY2FudmFzLWZpeGVkLXJldmVhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICB9XG5cbiAgJiB+IC4jeyRtYWluY29udGVudC1jbGFzc30ge1xuICAgIG1hcmdpbi0jeyRwb3NpdGlvbn06ICRvZmZjYW52YXMtc2l6ZTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1vZmYtY2FudmFzIHtcbiAgQGluY2x1ZGUgb2ZmLWNhbnZhcy1iYXNpY3M7XG5cbiAgLy8gT2ZmLWNhbnZhcyBjb250YWluZXJcbiAgLm9mZi1jYW52YXMge1xuICAgIEBpbmNsdWRlIG9mZi1jYW52YXMtYmFzZTtcblxuICAgICYucG9zaXRpb24tbGVmdCAgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihsZWZ0KTsgfVxuICAgICYucG9zaXRpb24tcmlnaHQgIHsgQGluY2x1ZGUgb2ZmLWNhbnZhcy1wb3NpdGlvbihyaWdodCk7IH1cbiAgfVxuXG4gIC8vIFJldmVhbCBvZmYtY2FudmFzIG1lbnUgb24gbGFyZ2VyIHNjcmVlbnNcbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJG5hbWUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkbmFtZSkge1xuICAgICAgICAucG9zaXRpb24tbGVmdC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChsZWZ0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wb3NpdGlvbi1yaWdodC5yZXZlYWwtZm9yLSN7JG5hbWV9IHtcbiAgICAgICAgICBAaW5jbHVkZSBvZmYtY2FudmFzLXJldmVhbChyaWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIG9yYml0XG4vLy8vXG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBPcmJpdCdzIGJ1bGxldHMuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1idWxsZXQtYmFja2dyb3VuZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBhY3RpdmUgY29sb3IgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBDb2xvclxuJG9yYml0LWJ1bGxldC1iYWNrZ3JvdW5kLWFjdGl2ZTogJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlhbWV0ZXIgZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtZGlhbWV0ZXI6IDEuMnJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgbWFyZ2luIGJldHdlZW4gT3JiaXQncyBidWxsZXRzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWJ1bGxldC1tYXJnaW46IDAuMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgZGlzdGFuY2UgZnJvbSBzbGlkZSByZWdpb24gZm9yIE9yYml0J3MgYnVsbGV0cy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDogMC44cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIGZyb20gT3JiaXQncyBidWxsZXRzIHRvIHdoYXRldmVyIGNvbnRlbnQgbWF5IGx1cmsgYmVsb3cgaXQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kb3JiaXQtYnVsbGV0LW1hcmdpbi1ib3R0b206IDAuOHJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIENvbG9yXG4kb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kOiByZ2JhKCRibGFjaywgMC41KSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgcGFkZGluZyBmb3IgT3JiaXQncyBjYXB0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNhcHRpb24tcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3IgT3JiaXQncyBjb250cm9scyB3aGVuIGhvdmVyZWQuXG4vLy8gQHR5cGUgQ29sb3JcbiRvcmJpdC1jb250cm9sLWJhY2tncm91bmQtaG92ZXI6IHJnYmEoJGJsYWNrLCAwLjUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciBPcmJpdCdzIGNvbnRyb2xzLlxuLy8vIEB0eXBlIE51bWJlclxuJG9yYml0LWNvbnRyb2wtcGFkZGluZzogMXJlbSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgei1pbmRleCBmb3IgT3JiaXQncyBjb250cm9scy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRvcmJpdC1jb250cm9sLXppbmRleDogMTAgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIG91dGVyIE9yYml0IHdyYXBwZXIuIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtd3JhcHBlciB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5uZXIgT3JiaXQgc2xpZGUgY29udGFpbmVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtY29udGFpbmVyYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jb250YWluZXIge1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbjogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5kaXZpZHVhbCBzbGlkZXMgb2YgYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtc2xpZGVgIGNsYXNzLlxuQG1peGluIG9yYml0LXNsaWRlIHtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG5cbiAgJi5uby1tb3Rpb251aSB7XG4gICAgJi5pcy1hY3RpdmUge1xuICAgICAgdG9wOiAwO1xuICAgICAgbGVmdDogMDtcbiAgICB9XG4gIH1cbn1cblxuQG1peGluIG9yYml0LWZpZ3VyZSB7XG4gIG1hcmdpbjogMDtcbn1cblxuQG1peGluIG9yYml0LWltYWdlIHtcbiAgbWFyZ2luOiAwO1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGFuIG9yYml0IHNsaWRlIGNhcHRpb24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1jYXB0aW9uYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1jYXB0aW9uIHtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkb3JiaXQtY2FwdGlvbi1wYWRkaW5nO1xuICBtYXJnaW4tYm90dG9tOiAwO1xuICBjb2xvcjogZm9yZWdyb3VuZCgkb3JiaXQtY2FwdGlvbi1iYWNrZ3JvdW5kKTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNhcHRpb24tYmFja2dyb3VuZDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIHRoZSBuZXh0L3ByZXZpb3VzIGJ1dHRvbnMgaW4gYW4gT3JiaXQgc2xpZGVyLiBUaGVzZSBzdHlsZXMgYXJlIHNoYXJlZCBiZXR3ZWVuIHRoZSBgLm9yYml0LW5leHRgIGFuZCBgLm9yYml0LXByZXZpb3VzYCBjbGFzc2VzIGluIHRoZSBkZWZhdWx0IENTUy5cbkBtaXhpbiBvcmJpdC1jb250cm9sIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBAaW5jbHVkZSB2ZXJ0aWNhbC1jZW50ZXI7XG4gIHotaW5kZXg6ICRvcmJpdC1jb250cm9sLXppbmRleDtcbiAgcGFkZGluZzogJG9yYml0LWNvbnRyb2wtcGFkZGluZztcbiAgY29sb3I6ICR3aGl0ZTtcblxuICAmOmhvdmVyLFxuICAmOmFjdGl2ZSxcbiAgJjpmb2N1cyB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG9yYml0LWNvbnRyb2wtYmFja2dyb3VuZC1ob3ZlcjtcbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1wcmV2aW91c2AgY2xhc3MuXG5AbWl4aW4gb3JiaXQtcHJldmlvdXMge1xuICAjeyRnbG9iYWwtbGVmdH06IDA7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIE9yYml0IG5leHQgYnV0dG9uLiBUaGVzZSBzdHlsZXMgYXJlIHVzZWQgb24gdGhlIGAub3JiaXQtbmV4dGAgY2xhc3MuXG5AbWl4aW4gb3JiaXQtbmV4dCB7XG4gICN7JGdsb2JhbC1sZWZ0fTogYXV0bztcbiAgI3skZ2xvYmFsLXJpZ2h0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGNvbnRhaW5lciBvZiBPcmJpdCBidWxsZXRzLiAvLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBPcmJpdCBwcmV2aW91cyBidXR0b24uIFRoZXNlIHN0eWxlcyBhcmUgdXNlZCBvbiB0aGUgYC5vcmJpdC1idWxsZXRzYCBjbGFzcy5cbkBtaXhpbiBvcmJpdC1idWxsZXRzIHtcbiAgQGluY2x1ZGUgZGlzYWJsZS1tb3VzZS1vdXRsaW5lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1hcmdpbi10b3A6ICRvcmJpdC1idWxsZXQtbWFyZ2luLXRvcDtcbiAgbWFyZ2luLWJvdHRvbTogJG9yYml0LWJ1bGxldC1tYXJnaW4tYm90dG9tO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgYnV0dG9uIHtcbiAgICB3aWR0aDogJG9yYml0LWJ1bGxldC1kaWFtZXRlcjtcbiAgICBoZWlnaHQ6ICRvcmJpdC1idWxsZXQtZGlhbWV0ZXI7XG4gICAgbWFyZ2luOiAkb3JiaXQtYnVsbGV0LW1hcmdpbjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkb3JiaXQtYnVsbGV0LWJhY2tncm91bmQtYWN0aXZlO1xuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICRvcmJpdC1idWxsZXQtYmFja2dyb3VuZC1hY3RpdmU7XG4gICAgfVxuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLW9yYml0IHtcbiAgLm9yYml0IHtcbiAgICBAaW5jbHVkZSBvcmJpdC13cmFwcGVyO1xuICB9XG5cbiAgLm9yYml0LWNvbnRhaW5lciB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY29udGFpbmVyO1xuICB9XG5cbiAgLm9yYml0LXNsaWRlIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1zbGlkZTtcbiAgfVxuXG4gIC5vcmJpdC1maWd1cmUge1xuICAgIEBpbmNsdWRlIG9yYml0LWZpZ3VyZTtcbiAgfVxuXG4gIC5vcmJpdC1pbWFnZSB7XG4gICAgQGluY2x1ZGUgb3JiaXQtaW1hZ2U7XG4gIH1cblxuICAub3JiaXQtY2FwdGlvbiB7XG4gICAgQGluY2x1ZGUgb3JiaXQtY2FwdGlvbjtcbiAgfVxuXG4gICVvcmJpdC1jb250cm9sIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1jb250cm9sO1xuICB9XG5cbiAgLm9yYml0LXByZXZpb3VzIHtcbiAgICBAZXh0ZW5kICVvcmJpdC1jb250cm9sO1xuICAgIEBpbmNsdWRlIG9yYml0LXByZXZpb3VzO1xuICB9XG5cbiAgLm9yYml0LW5leHQge1xuICAgIEBleHRlbmQgJW9yYml0LWNvbnRyb2w7XG4gICAgQGluY2x1ZGUgb3JiaXQtbmV4dDtcbiAgfVxuXG4gIC5vcmJpdC1idWxsZXRzIHtcbiAgICBAaW5jbHVkZSBvcmJpdC1idWxsZXRzO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBwYWdpbmF0aW9uXG4vLy8vXG5cbi8vLyBGb250IHNpemUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3R0b20gbWFyZ2luIG9mIHRoZSBtZWRpYSBvYmplY3QuXG4vLy8gQHR5cGUgTnVtYmVyXG4kcGFnaW5hdGlvbi1tYXJnaW4tYm90dG9tOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIFRleHQgY29sb3Igb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gUGFkZGluZyBpbnNpZGUgb2YgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZzogcmVtLWNhbGMoMyAxMCkgIWRlZmF1bHQ7XG5cbi8vLyBSaWdodCBtYXJnaW4gdG8gc2VwYXJhdGUgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLWl0ZW0tc3BhY2luZzogcmVtLWNhbGMoMSkgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgcGFnaW5hdGlvbiBpdGVtcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRwYWdpbmF0aW9uLXJhZGl1czogJGdsb2JhbC1yYWRpdXMgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbXMgb24gaG92ZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiRwYWdpbmF0aW9uLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIHBhZ2luYXRpb24gaXRlbSBmb3IgdGhlIGN1cnJlbnQgcGFnZS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ6ICRwcmltYXJ5LWNvbG9yICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiB0aGUgcGFnaW5hdGlvbiBpdGVtIGZvciB0aGUgY3VycmVudCBwYWdlLlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ6IGZvcmVncm91bmQoJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQpICFkZWZhdWx0O1xuXG4vLy8gVGV4dCBjb2xvciBvZiBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS5cbi8vLyBAdHlwZSBDb2xvclxuJHBhZ2luYXRpb24taXRlbS1jb2xvci1kaXNhYmxlZDogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gQ29sb3Igb2YgdGhlIGVsbGlwc2lzIGluIGEgcGFnaW5hdGlvbiBtZW51LlxuLy8vIEB0eXBlIENvbG9yXG4kcGFnaW5hdGlvbi1lbGxpcHNpcy1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gSWYgYGZhbHNlYCwgZG9uJ3QgZGlzcGxheSBwYWdlIG51bWJlciBsaW5rcyBvbiBtb2JpbGUsIG9ubHkgbmV4dC9wcmV2aW91cyBsaW5rcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXM6IGZhbHNlICFkZWZhdWx0O1xuXG4vLy8gSWYgYHRydWVgLCBhcnJvd3MgYXJlIGFkZGVkIHRvIHRoZSBuZXh0IGFuZCBwcmV2aW91cyBsaW5rcyBvZiBwYWdpbmF0aW9uLlxuLy8vIEB0eXBlIEJvb2xlYW5cbiRwYWdpbmF0aW9uLWFycm93czogdHJ1ZSAhZGVmYXVsdDtcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHBhZ2luYXRpb24gY29udGFpbmVyLiBBcHBseSB0aGlzIHRvIGEgYDx1bD5gLlxuQG1peGluIHBhZ2luYXRpb24tY29udGFpbmVyIHtcbiAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gIG1hcmdpbi0jeyRnbG9iYWwtbGVmdH06IDA7XG4gIG1hcmdpbi1ib3R0b206ICRwYWdpbmF0aW9uLW1hcmdpbi1ib3R0b207XG5cbiAgLy8gTGlzdCBpdGVtXG4gIGxpIHtcbiAgICBmb250LXNpemU6ICRwYWdpbmF0aW9uLWZvbnQtc2l6ZTtcbiAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogJHBhZ2luYXRpb24taXRlbS1zcGFjaW5nO1xuICAgIGJvcmRlci1yYWRpdXM6ICRwYWdpbmF0aW9uLXJhZGl1cztcblxuICAgIEBpZiAkcGFnaW5hdGlvbi1tb2JpbGUtaXRlbXMge1xuICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAmOmxhc3QtY2hpbGQsXG4gICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgfVxuXG4gICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gUGFnZSBsaW5rc1xuICBhLFxuICBidXR0b24ge1xuICAgIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgICBib3JkZXItcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cztcblxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIHRoZSBjdXJyZW50IHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tY3VycmVudCB7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgYmFja2dyb3VuZDogJHBhZ2luYXRpb24taXRlbS1iYWNrZ3JvdW5kLWN1cnJlbnQ7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWN1cnJlbnQ7XG4gIGN1cnNvcjogZGVmYXVsdDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIGRpc2FibGVkIHBhZ2luYXRpb24gaXRlbS4gQXBwbHkgdGhpcyB0byBhbiBgPGE+YC5cbkBtaXhpbiBwYWdpbmF0aW9uLWl0ZW0tZGlzYWJsZWQge1xuICBwYWRkaW5nOiAkcGFnaW5hdGlvbi1pdGVtLXBhZGRpbmc7XG4gIGNvbG9yOiAkcGFnaW5hdGlvbi1pdGVtLWNvbG9yLWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYW4gZWxsaXBzaXMgZm9yIHVzZSBpbiBhIHBhZ2luYXRpb24gbGlzdC5cbkBtaXhpbiBwYWdpbmF0aW9uLWVsbGlwc2lzIHtcbiAgY29udGVudDogJ1xcMjAyNic7XG4gIHBhZGRpbmc6ICRwYWdpbmF0aW9uLWl0ZW0tcGFkZGluZztcbiAgY29sb3I6ICRwYWdpbmF0aW9uLWVsbGlwc2lzLWNvbG9yO1xufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wYWdpbmF0aW9uIHtcbiAgLnBhZ2luYXRpb24ge1xuICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tY29udGFpbmVyO1xuXG4gICAgLmN1cnJlbnQge1xuICAgICAgQGluY2x1ZGUgcGFnaW5hdGlvbi1pdGVtLWN1cnJlbnQ7XG4gICAgfVxuXG4gICAgLmRpc2FibGVkIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24taXRlbS1kaXNhYmxlZDtcbiAgICB9XG5cbiAgICAuZWxsaXBzaXM6OmFmdGVyIHtcbiAgICAgIEBpbmNsdWRlIHBhZ2luYXRpb24tZWxsaXBzaXM7XG4gICAgfVxuICB9XG5cbiAgQGlmICRwYWdpbmF0aW9uLWFycm93cyB7XG4gICAgLnBhZ2luYXRpb24tcHJldmlvdXMgYTo6YmVmb3JlLFxuICAgIC5wYWdpbmF0aW9uLXByZXZpb3VzLmRpc2FibGVkOjpiZWZvcmUge1xuICAgICAgY29udGVudDogJ1xcMDBhYic7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLXJpZ2h0fTogMC41cmVtO1xuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uLW5leHQgYTo6YWZ0ZXIsXG4gICAgLnBhZ2luYXRpb24tbmV4dC5kaXNhYmxlZDo6YWZ0ZXIge1xuICAgICAgY29udGVudDogJ1xcMDBiYic7XG4gICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICBtYXJnaW4tI3skZ2xvYmFsLWxlZnR9OiAwLjVyZW07XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHByb2dyZXNzIGJhciBjb250YWluZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtY29udGFpbmVyIHtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHByb2dyZXNzLWJhY2tncm91bmQ7XG4gIGhlaWdodDogJHByb2dyZXNzLWhlaWdodDtcbiAgbWFyZ2luLWJvdHRvbTogJHByb2dyZXNzLW1hcmdpbi1ib3R0b207XG4gIGJvcmRlci1yYWRpdXM6ICRwcm9ncmVzcy1yYWRpdXM7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGlubmVyIG1ldGVyIG9mIGEgcHJvZ3Jlc3MgYmFyLlxuQG1peGluIHByb2dyZXNzLW1ldGVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBkaXNwbGF5OiBibG9jaztcbiAgd2lkdGg6IDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGJhY2tncm91bmQtY29sb3I6ICRwcm9ncmVzcy1tZXRlci1iYWNrZ3JvdW5kO1xuXG4gIEBpZiBoYXMtdmFsdWUoJHByb2dyZXNzLXJhZGl1cykge1xuICAgIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGV4dCBpbiB0aGUgcHJvZ3Jlc3MgbWV0ZXIuXG5AbWl4aW4gcHJvZ3Jlc3MtbWV0ZXItdGV4dCB7XG4gIEBpbmNsdWRlIGFic29sdXRlLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBtYXJnaW46IDA7XG4gIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gIGNvbG9yOiAkd2hpdGU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgQGlmIGhhcy12YWx1ZSgkcHJvZ3Jlc3MtcmFkaXVzKSB7XG4gICAgYm9yZGVyLXJhZGl1czogJHByb2dyZXNzLXJhZGl1cztcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi1wcm9ncmVzcy1iYXIge1xuICAvLyBQcm9ncmVzcyBiYXJcbiAgLnByb2dyZXNzIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1jb250YWluZXI7XG5cbiAgICBAZWFjaCAkbmFtZSwgJGNvbG9yIGluICRmb3VuZGF0aW9uLXBhbGV0dGUge1xuICAgICAgJi4jeyRuYW1lfSB7XG4gICAgICAgIC5wcm9ncmVzcy1tZXRlciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGNvbG9yO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLy8gSW5uZXIgbWV0ZXJcbiAgLnByb2dyZXNzLW1ldGVyIHtcbiAgICBAaW5jbHVkZSBwcm9ncmVzcy1tZXRlcjtcbiAgfVxuXG4gIC8vIElubmVyIG1ldGVyIHRleHRcbiAgLnByb2dyZXNzLW1ldGVyLXRleHQge1xuICAgIEBpbmNsdWRlIHByb2dyZXNzLW1ldGVyLXRleHQ7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBbVE9ET10gQ2hlY2sgaG93IHBsdWdpbiBjb25maXJtcyBkaXNhYmxlZCBvciB2ZXJ0aWNhbCBzdGF0dXNcbi8vIFtUT0RPXSBDaGVjayBpZiB0cmFuc2l0aW9uOiBhbGw7IGlzIG5lY2Vzc2FyeVxuXG4vLy8vXG4vLy8gQGdyb3VwIHNsaWRlclxuLy8vL1xuXG4vLy8gRGVmYXVsdCBzbGlkZXIgd2lkdGggb2YgYSB2ZXJ0aWNhbCBzbGlkZXIuIChEb2Vzbid0IGFwcGx5IHRvIHRoZSBuYXRpdmUgc2xpZGVyLilcbi8vLyBAdHlwZSBOdW1iZXJcbiRzbGlkZXItd2lkdGgtdmVydGljYWw6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIFRyYW5zaXRpb24gcHJvcGVydGllcyB0byBhcHBseSB0byB0aGUgc2xpZGVyIGhhbmRsZSBhbmQgZmlsbC4gKERvZXNuJ3QgYXBwbHkgdG8gdGhlIG5hdGl2ZSBzbGlkZXIuKVxuLy8vIEB0eXBlIFRyYW5zaXRpb25cbiRzbGlkZXItdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZS1pbi1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItY29udGFpbmVyIHtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBoZWlnaHQ6ICRzbGlkZXItaGVpZ2h0O1xuICBtYXJnaW4tdG9wOiAxLjI1cmVtO1xuICBtYXJnaW4tYm90dG9tOiAyLjI1cmVtO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkc2xpZGVyLWJhY2tncm91bmQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLy8vIEFkZHMgdGhlIGdlbmVyYWwgc3R5bGVzIGZvciBhY3RpdmUgZmlsbCBmb3Igc2xpZGVycy5cbkBtaXhpbiBzbGlkZXItZmlsbCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAwO1xuICBsZWZ0OiAwO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhlaWdodDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHNsaWRlci1maWxsLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcblxuICAmLmlzLWRyYWdnaW5nIHtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMHMgbGluZWFyO1xuICB9XG59XG5cbi8vLyBBZGRzIHRoZSBnZW5lcmFsIHN0eWxlcyBmb3IgdGhlIHNsaWRlciBoYW5kbGVzLlxuQG1peGluIHNsaWRlci1oYW5kbGUge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIEBpbmNsdWRlIHZlcnRpY2FsLWNlbnRlcjtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHdpZHRoOiAkc2xpZGVyLWhhbmRsZS13aWR0aDtcbiAgaGVpZ2h0OiAkc2xpZGVyLWhhbmRsZS1oZWlnaHQ7XG4gIGJhY2tncm91bmQtY29sb3I6ICRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246ICRzbGlkZXItdHJhbnNpdGlvbjtcbiAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gIGJvcmRlci1yYWRpdXM6ICRzbGlkZXItcmFkaXVzO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHNjYWxlLWNvbG9yKCRzbGlkZXItaGFuZGxlLWJhY2tncm91bmQsICRsaWdodG5lc3M6IC0xNSUpO1xuICB9XG5cbiAgJi5pcy1kcmFnZ2luZyB7XG4gICAgdHJhbnNpdGlvbjogYWxsIDBzIGxpbmVhcjtcbiAgfVxufVxuXG5AbWl4aW4gc2xpZGVyLWRpc2FibGVkIHtcbiAgb3BhY2l0eTogJHNsaWRlci1vcGFjaXR5LWRpc2FibGVkO1xuICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG5AbWl4aW4gc2xpZGVyLXZlcnRpY2FsIHtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB3aWR0aDogJHNsaWRlci13aWR0aC12ZXJ0aWNhbDtcbiAgaGVpZ2h0OiAxMi41cmVtO1xuICBtYXJnaW46IDAgMS4yNXJlbTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgxLCAtMSk7XG5cbiAgLnNsaWRlci1maWxsIHtcbiAgICB0b3A6IDA7XG4gICAgd2lkdGg6ICRzbGlkZXItd2lkdGgtdmVydGljYWw7XG4gICAgbWF4LWhlaWdodDogMTAwJTtcbiAgfVxuXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB3aWR0aDogJHNsaWRlci1oYW5kbGUtaGVpZ2h0O1xuICAgIGhlaWdodDogJHNsaWRlci1oYW5kbGUtd2lkdGg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXNsaWRlciB7XG4gIC8vIENvbnRhaW5lclxuICAuc2xpZGVyIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItY29udGFpbmVyO1xuICB9XG5cbiAgLy8gRmlsbCBhcmVhXG4gIC5zbGlkZXItZmlsbCB7XG4gICAgQGluY2x1ZGUgc2xpZGVyLWZpbGw7XG4gIH1cblxuICAvLyBEcmFnZ2FibGUgaGFuZGxlXG4gIC5zbGlkZXItaGFuZGxlIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItaGFuZGxlO1xuICB9XG5cbiAgLy8gRGlzYWJsZWQgc3RhdGVcbiAgLnNsaWRlci5kaXNhYmxlZCxcbiAgLnNsaWRlcltkaXNhYmxlZF0ge1xuICAgIEBpbmNsdWRlIHNsaWRlci1kaXNhYmxlZDtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsIHNsaWRlclxuICAuc2xpZGVyLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSBzbGlkZXItdmVydGljYWw7XG4gIH1cblxuICAvLyBSVEwgc3VwcG9ydFxuICBAaWYgJGdsb2JhbC10ZXh0LWRpcmVjdGlvbiA9PSBydGwge1xuICAgIC5zbGlkZXI6bm90KC52ZXJ0aWNhbCkge1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgtMSwgMSk7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuQG1peGluIGZvdW5kYXRpb24tc3RpY2t5IHtcbiAgLnN0aWNreS1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgfVxuXG4gIC5zdGlja3kge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB6LWluZGV4OiAwO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG4gIH1cblxuICAuc3RpY2t5LmlzLXN0dWNrIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgei1pbmRleDogNTtcblxuICAgICYuaXMtYXQtdG9wIHtcbiAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG5cbiAgLnN0aWNreS5pcy1hbmNob3JlZCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG5cbiAgICAmLmlzLWF0LWJvdHRvbSB7XG4gICAgICBib3R0b206IDA7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCByZXZlYWxcbi8vLy9cblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBvZiBhIG1vZGFsLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgd2lkdGggb2YgYSBtb2RhbCwgd2l0aCBubyBjbGFzcyBhcHBsaWVkLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC13aWR0aDogNjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IG1heGltdW0gd2lkdGggb2YgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtbWF4LXdpZHRoOiAkZ2xvYmFsLXdpZHRoICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGluc2lkZSBhIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1wYWRkaW5nOiAkZ2xvYmFsLXBhZGRpbmcgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRyZXZlYWwtYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCByYWRpdXMgZm9yIG1vZGFsLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG4vLy8gei1pbmRleCBmb3IgbW9kYWxzLiBUaGUgb3ZlcmxheSB1c2VzIHRoaXMgdmFsdWUsIHdoaWxlIHRoZSBtb2RhbCBpdHNlbGYgdXNlcyB0aGlzIHZhbHVlIHBsdXMgb25lLlxuLy8vIEB0eXBlIE51bWJlclxuJHJldmVhbC16aW5kZXg6IDEwMDUgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIG9mIG1vZGFsIG92ZXJsYXlzLlxuLy8vIEB0eXBlIENvbG9yXG4kcmV2ZWFsLW92ZXJsYXktYmFja2dyb3VuZDogcmdiYSgkYmxhY2ssIDAuNDUpICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgbW9kYWwgb3ZlcmxheS5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkYmFja2dyb3VuZCBbJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmRdIC0gQmFja2dyb3VuZCBjb2xvciBvZiB0aGUgb3ZlcmxheS5cbkBtaXhpbiByZXZlYWwtb3ZlcmxheSB7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgdG9wOiAwO1xuICBib3R0b206IDA7XG4gIGxlZnQ6IDA7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAkcmV2ZWFsLXppbmRleDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHJldmVhbC1vdmVybGF5LWJhY2tncm91bmQ7XG4gIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGEgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWJhc2Uge1xuICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIGRpc3BsYXk6IG5vbmU7XG4gIHotaW5kZXg6ICRyZXZlYWwtemluZGV4ICsgMTtcbiAgcGFkZGluZzogJHJldmVhbC1wYWRkaW5nO1xuICBib3JkZXI6ICRyZXZlYWwtYm9yZGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkcmV2ZWFsLWJhY2tncm91bmQ7XG4gIGJvcmRlci1yYWRpdXM6ICRyZXZlYWwtcmFkaXVzO1xuXG4gIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgbWluLWhlaWdodDogMDtcbiAgfVxuXG4gIC8vIE1ha2Ugc3VyZSByb3dzIGRvbid0IGhhdmUgYSBtaW4td2lkdGggb24gdGhlbVxuICAuY29sdW1uLFxuICAuY29sdW1ucyB7XG4gICAgbWluLXdpZHRoOiAwO1xuICB9XG5cbiAgLy8gU3RyaXAgbWFyZ2lucyBmcm9tIHRoZSBsYXN0IGl0ZW0gaW4gdGhlIG1vZGFsXG4gID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gIH1cbn1cblxuLy8vIEFkanVzdHMgdGhlIHdpZHRoIG9mIGEgbW9kYWwuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCAtIFdpZHRoIG9mIHRoZSBtb2RhbC4gR2VuZXJhbGx5IGEgcGVyY2VudGFnZS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJG1heC13aWR0aCBbJHJldmVhbC1tYXgtd2lkdGhdIC0gTWF4aW11bSB3aWR0aCBvZiB0aGUgbW9kYWwuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLXdpZHRoKFxuICAkd2lkdGg6ICRyZXZlYWwtd2lkdGgsXG4gICRtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoXG4pIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0pIHtcbiAgICBAZXh0ZW5kICVyZXZlYWwtY2VudGVyZWQ7XG4gICAgd2lkdGg6ICR3aWR0aDtcbiAgICBtYXgtd2lkdGg6ICRyZXZlYWwtbWF4LXdpZHRoO1xuICB9XG59XG5cbi8vLyBDcmVhdGVzIGEgZnVsbC1zY3JlZW4gbW9kYWwsIHdoaWNoIHN0cmV0Y2hlcyB0aGUgZnVsbCB3aWR0aCBhbmQgaGVpZ2h0IG9mIHRoZSB3aW5kb3cuXG5AbWl4aW4gcmV2ZWFsLW1vZGFsLWZ1bGxzY3JlZW4ge1xuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBEdXBsaWNhdGVQcm9wZXJ0eVxuICB0b3A6IDA7XG4gIGxlZnQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBoZWlnaHQ6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIG1pbi1oZWlnaHQ6IDEwMHZoO1xuICBtYXgtd2lkdGg6IG5vbmU7XG4gIG1hcmdpbi1sZWZ0OiAwO1xuICBib3JkZXI6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDA7XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXJldmVhbCB7XG4gIC8vIFtUT0RPXSBJcyB0aGlzIG5lY2Vzc2FyeT9cbiAgLy8gc2Nzcy1saW50OmRpc2FibGUgUXVhbGlmeWluZ0VsZW1lbnRcbiAgYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgfVxuICAvLyBodG1sIGdldHMgdGhpcyBjbGFzcyBvbmx5IGluIGlPU1xuICBodG1sLmlzLXJldmVhbC1vcGVuLFxuICBodG1sLmlzLXJldmVhbC1vcGVuIGJvZHkge1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICB9XG5cbiAgLy8gT3ZlcmxheVxuICAucmV2ZWFsLW92ZXJsYXkge1xuICAgIEBpbmNsdWRlIHJldmVhbC1vdmVybGF5O1xuICB9XG5cbiAgLy8gTW9kYWwgY29udGFpbmVyXG4gIC5yZXZlYWwge1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1iYXNlO1xuICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC13aWR0aCgkcmV2ZWFsLXdpZHRoKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAxMDBweDtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgb3ZlcmZsb3cteTogYXV0bztcblxuICAgIC8vIFBsYWNlaG9sZGVyIHNlbGVjdG9yIGZvciBtZWRpdW0tYW5kLXVwIG1vZGFsc1xuICAgIC8vIFByZXZlbnRzIGR1cGxpY2F0ZSBDU1Mgd2hlbiBkZWZpbmluZyBtdWx0aXBsZSBSZXZlYWwgc2l6ZXNcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSkge1xuICAgICAgJXJldmVhbC1jZW50ZXJlZCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBSZW1vdmUgcGFkZGluZ1xuICAgICYuY29sbGFwc2Uge1xuICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAvLyBTaXppbmcgY2xhc3Nlc1xuICAgICYudGlueSAgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoMzAlKTsgfVxuICAgICYuc21hbGwgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoNTAlKTsgfVxuICAgICYubGFyZ2UgeyBAaW5jbHVkZSByZXZlYWwtbW9kYWwtd2lkdGgoOTAlKTsgfVxuXG4gICAgLy8gRnVsbC1zY3JlZW4gbW9kZVxuICAgICYuZnVsbCB7XG4gICAgICBAaW5jbHVkZSByZXZlYWwtbW9kYWwtZnVsbHNjcmVlbjtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KCQtemYtemVyby1icmVha3BvaW50IG9ubHkpIHtcbiAgICAgIEBpbmNsdWRlIHJldmVhbC1tb2RhbC1mdWxsc2NyZWVuO1xuICAgIH1cblxuICAgICYud2l0aG91dC1vdmVybGF5IHtcbiAgICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHN3aXRjaFxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kOiAkbWVkaXVtLWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGFjdGl2ZSBjb2xvciBvZiBhIHN3aXRjaC5cbi8vLyBAdHlwZSBDb2xvclxuJHN3aXRjaC1iYWNrZ3JvdW5kLWFjdGl2ZTogJHByaW1hcnktY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2gsIHdpdGggbm8gY2xhc3MgYXBwbGllZC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0OiAycmVtICFkZWZhdWx0O1xuXG4vLy8gSGVpZ2h0IG9mIGEgc3dpdGNoIHdpdGggLnRpbnkgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC10aW55OiAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBIZWlnaHQgb2YgYSBzd2l0Y2ggd2l0aCAuc21hbGwgY2xhc3MuXG4vLy8gQHR5cGUgTnVtYmVyXG4kc3dpdGNoLWhlaWdodC1zbWFsbDogMS43NXJlbSAhZGVmYXVsdDtcblxuLy8vIEhlaWdodCBvZiBhIHN3aXRjaCB3aXRoIC5sYXJnZSBjbGFzcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtaGVpZ2h0LWxhcmdlOiAyLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCb3JkZXIgcmFkaXVzIG9mIHRoZSBzd2l0Y2hcbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIGJvcmRlciBhcm91bmQgYSBtb2RhbC5cbi8vLyBAdHlwZSBOdW1iZXJcbiRzd2l0Y2gtbWFyZ2luOiAkZ2xvYmFsLW1hcmdpbiAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3IgZm9yIHRoZSBzd2l0Y2ggY29udGFpbmVyIGFuZCBwYWRkbGUuXG4vLy8gQHR5cGUgQ29sb3JcbiRzd2l0Y2gtcGFkZGxlLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgYmV0d2VlbiBhIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBib2R5LlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtb2Zmc2V0OiAwLjI1cmVtICFkZWZhdWx0O1xuXG4vLy8gYm9yZGVyIHJhZGl1cyBvZiB0aGUgc3dpdGNoIHBhZGRsZVxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIHN3aXRjaCB0cmFuc2l0aW9uLlxuLy8vIEB0eXBlIE51bWJlclxuJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjogYWxsIDAuMjVzIGVhc2Utb3V0ICFkZWZhdWx0O1xuXG4vLyBtYWtlIHRoZW0gdmFyaWFibGVzXG4vLyBhc2sgYWJvdXQgYWNjZXNzaWJpbGl0eSBvbiBsYWJlbFxuLy8gY2hhbmdlIGNsYXNzIG5hbWUgZm9yIHRleHRcblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhIHN3aXRjaCBjb250YWluZXIuIEFwcGx5IHRoaXMgdG8gYSBjb250YWluZXIgY2xhc3MuXG5AbWl4aW4gc3dpdGNoLWNvbnRhaW5lciB7XG4gIG1hcmdpbi1ib3R0b206ICRzd2l0Y2gtbWFyZ2luO1xuICBvdXRsaW5lOiAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHVzZXItc2VsZWN0OiBub25lO1xuXG4gIC8vIFRoZXNlIHByb3BlcnRpZXMgY2FzY2FkZSBkb3duIHRvIHRoZSBzd2l0Y2ggdGV4dFxuICBjb2xvcjogJHdoaXRlO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzd2l0Y2ggaW5wdXQuIEFwcGx5IHRoaXMgdG8gYW4gYDxpbnB1dD5gIHdpdGhpbiBhIHN3aXRjaC5cbkBtaXhpbiBzd2l0Y2gtaW5wdXQge1xuICBvcGFjaXR5OiAwO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgdGhlIGJhY2tncm91bmQgYW5kIHBhZGRsZSBvZiBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byBhIGA8bGFiZWw+YCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXBhZGRsZSB7XG4gIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBkaXNwbGF5OiBibG9jaztcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogNHJlbTtcbiAgaGVpZ2h0OiAkc3dpdGNoLWhlaWdodDtcbiAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHN3aXRjaC1yYWRpdXM7XG5cbiAgLy8gUmVzZXR0aW5nIHRoZXNlIDxsYWJlbD4gcHJlc2V0cyBzbyB0eXBlIHN0eWxlcyBjYXNjYWRlIGRvd25cbiAgY29sb3I6IGluaGVyaXQ7XG4gIGZvbnQtd2VpZ2h0OiBpbmhlcml0O1xuXG4gIC8vIE5lZWRlZCB0byBvdmVycmlkZSBzcGVjaWZpY2l0eVxuICBpbnB1dCArICYge1xuICAgIG1hcmdpbjogMDtcbiAgfVxuXG4gIC8vIFRoZSBwYWRkbGUgaXRzZWxmXG4gICY6OmFmdGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAkc3dpdGNoLXBhZGRsZS1iYWNrZ3JvdW5kO1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBoZWlnaHQ6IDEuNXJlbTtcbiAgICAjeyRnbG9iYWwtbGVmdH06IDAuMjVyZW07XG4gICAgdG9wOiAwLjI1cmVtO1xuICAgIHdpZHRoOiAxLjVyZW07XG4gICAgdHJhbnNpdGlvbjogJHN3aXRjaC1wYWRkbGUtdHJhbnNpdGlvbjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZTNkKDAsIDAsIDApO1xuICAgIGJvcmRlci1yYWRpdXM6ICRzd2l0Y2gtcGFkZGxlLXJhZGl1cztcbiAgfVxuXG4gIC8vIENoYW5nZSB0aGUgdmlzdWFsIHN0eWxlIHdoZW4gdGhlIHN3aXRjaCBpcyBhY3RpdmVcbiAgaW5wdXQ6Y2hlY2tlZCB+ICYge1xuICAgIGJhY2tncm91bmQ6ICRzd2l0Y2gtYmFja2dyb3VuZC1hY3RpdmU7XG5cbiAgICAmOjphZnRlciB7XG4gICAgICAjeyRnbG9iYWwtbGVmdH06IDIuMjVyZW07XG4gICAgfVxuICB9XG5cbiAgaW5wdXQ6Zm9jdXMgfiAmIHtcbiAgICBAaW5jbHVkZSBkaXNhYmxlLW1vdXNlLW91dGxpbmU7XG4gIH1cbn1cblxuLy8vIEFkZHMgYmFzZSBzdHlsZXMgZm9yIGFjdGl2ZS9pbmFjdGl2ZSB0ZXh0IGluc2lkZSBhIHN3aXRjaC4gQXBwbHkgdGhpcyB0byB0ZXh0IGVsZW1lbnRzIGluc2lkZSB0aGUgc3dpdGNoIGA8bGFiZWw+YC5cbkBtaXhpbiBzd2l0Y2gtdGV4dCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiA1MCU7XG4gIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgYWN0aXZlIHN0YXRlIHRleHQgd2l0aGluIGEgc3dpdGNoLlxuQG1peGluIHN3aXRjaC10ZXh0LWFjdGl2ZSB7XG4gICN7JGdsb2JhbC1sZWZ0fTogOCU7XG4gIGRpc3BsYXk6IG5vbmU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgaW5hY3RpdmUgc3RhdGUgdGV4dCB3aXRoaW4gYSBzd2l0Y2guXG5AbWl4aW4gc3dpdGNoLXRleHQtaW5hY3RpdmUge1xuICAjeyRnbG9iYWwtcmlnaHR9OiAxNSU7XG5cbiAgaW5wdXQ6Y2hlY2tlZCArIGxhYmVsID4gJiB7XG4gICAgZGlzcGxheTogbm9uZTtcbiAgfVxufVxuXG4vLy8gQ2hhbmdlcyB0aGUgc2l6ZSBvZiBhIHN3aXRjaCBieSBtb2RpZnlpbmcgdGhlIHNpemUgb2YgdGhlIGJvZHkgYW5kIHBhZGRsZS4gQXBwbHkgdGhpcyB0byBhIHN3aXRjaCBjb250YWluZXIuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmb250LXNpemUgWzFyZW1dIC0gRm9udCBzaXplIG9mIGxhYmVsIHRleHQgd2l0aGluIHRoZSBzd2l0Y2guXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR3aWR0aCBbNHJlbV0gLSBXaWR0aCBvZiB0aGUgc3dpdGNoIGJvZHkuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRoZWlnaHQgWzJyZW1dIC0gSGVpZ2h0IG9mIHRoZSBzd2l0Y2ggYm9keS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBhZGRsZS13aWR0aCBbMS41cmVtXSAtIFdpZHRoIG9mIHRoZSBzd2l0Y2ggcGFkZGxlLlxuLy8vIEBwYXJhbSB7TnVtYmVyfSAkcGFkZGxlLW9mZnNldCBbMC4yNXJlbV0gLSBTcGFjaW5nIGJldHdlZW4gdGhlIHN3aXRjaCBwYWRkbGUgYW5kIHRoZSBlZGdlIG9mIHRoZSBzd2l0Y2ggYm9keS5cbkBtaXhpbiBzd2l0Y2gtc2l6ZShcbiAgJGZvbnQtc2l6ZTogMXJlbSxcbiAgJHdpZHRoOiA0cmVtLFxuICAkaGVpZ2h0OiAycmVtLFxuICAkcGFkZGxlLXdpZHRoOiAxLjVyZW0sXG4gICRwYWRkbGUtb2Zmc2V0OiAwLjI1cmVtXG4pIHtcbiAgJHBhZGRsZS1oZWlnaHQ6ICRoZWlnaHQgLSAoJHBhZGRsZS1vZmZzZXQgKiAyKTtcbiAgJHBhZGRsZS1sZWZ0LWFjdGl2ZTogJHdpZHRoIC0gJHBhZGRsZS13aWR0aCAtICRwYWRkbGUtb2Zmc2V0O1xuXG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICB3aWR0aDogJHdpZHRoO1xuICAgIGhlaWdodDogJGhlaWdodDtcbiAgICBmb250LXNpemU6ICRmb250LXNpemU7XG4gIH1cblxuICAuc3dpdGNoLXBhZGRsZTo6YWZ0ZXIge1xuICAgIHdpZHRoOiAkcGFkZGxlLXdpZHRoO1xuICAgIGhlaWdodDogJHBhZGRsZS1oZWlnaHQ7XG4gIH1cblxuICBpbnB1dDpjaGVja2VkIH4gLnN3aXRjaC1wYWRkbGU6OmFmdGVyIHtcbiAgICAjeyRnbG9iYWwtbGVmdH06ICRwYWRkbGUtbGVmdC1hY3RpdmU7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tc3dpdGNoIHtcbiAgLy8gQ29udGFpbmVyIGNsYXNzXG4gIC5zd2l0Y2gge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1jb250YWluZXI7XG4gIH1cblxuICAvLyA8aW5wdXQ+IGVsZW1lbnRcbiAgLnN3aXRjaC1pbnB1dCB7XG4gICAgQGluY2x1ZGUgc3dpdGNoLWlucHV0O1xuICB9XG5cbiAgLy8gPGxhYmVsPiBlbGVtZW50XG4gIC5zd2l0Y2gtcGFkZGxlIHtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtcGFkZGxlO1xuICB9XG5cbiAgLy8gQmFzZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAlc3dpdGNoLXRleHQge1xuICAgIEBpbmNsdWRlIHN3aXRjaC10ZXh0O1xuICB9XG5cbiAgLy8gQWN0aXZlIGxhYmVsIHRleHQgc3R5bGVzXG4gIC5zd2l0Y2gtYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1hY3RpdmU7XG4gIH1cblxuICAvLyBJbmFjdGl2ZSBsYWJlbCB0ZXh0IHN0eWxlc1xuICAuc3dpdGNoLWluYWN0aXZlIHtcbiAgICBAZXh0ZW5kICVzd2l0Y2gtdGV4dDtcbiAgICBAaW5jbHVkZSBzd2l0Y2gtdGV4dC1pbmFjdGl2ZTtcbiAgfVxuXG4gIC8vIFN3aXRjaCBzaXplc1xuICAuc3dpdGNoLnRpbnkge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEwKSwgM3JlbSwgJHN3aXRjaC1oZWlnaHQtdGlueSwgMXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2guc21hbGwge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDEyKSwgMy41cmVtLCAkc3dpdGNoLWhlaWdodC1zbWFsbCwgMS4yNXJlbSwgJHN3aXRjaC1wYWRkbGUtb2Zmc2V0KTtcbiAgfVxuXG4gIC5zd2l0Y2gubGFyZ2Uge1xuICAgIEBpbmNsdWRlIHN3aXRjaC1zaXplKHJlbS1jYWxjKDE2KSwgNXJlbSwgJHN3aXRjaC1oZWlnaHQtbGFyZ2UsIDJyZW0sICRzd2l0Y2gtcGFkZGxlLW9mZnNldCk7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLyBzY3NzLWxpbnQ6ZGlzYWJsZSBNZXJnZWFibGVTZWxlY3RvciwgUXVhbGlmeWluZ0VsZW1lbnRcblxuLy8vL1xuLy8vIEBncm91cCB0YWJsZVxuLy8vL1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgdGFibGUgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWJhY2tncm91bmQ6ICR3aGl0ZSAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNjYWxlIGZvciBkYXJrZW5pbmcgdGhlIHN0cmlwZWQgdGFibGUgcm93cyBhbmQgdGhlIHRhYmxlIGJvcmRlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1jb2xvci1zY2FsZTogNSUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHN0eWxlIGZvciB0YWJsZSBib3JkZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLWJvcmRlcjogMXB4IHNvbGlkIHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIGZvciB0YWJsZS5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1wYWRkaW5nOiByZW0tY2FsYyg4IDEwIDEwKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgc2NhbGUgZm9yIGRhcmtlbmluZyB0aGUgdGFibGUgcm93cyBvbiBob3Zlci5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0YWJsZS1ob3Zlci1zY2FsZTogMiUgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIG9mIHN0YW5kYXJkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1ob3ZlcjogZGFya2VuKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtaG92ZXItc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiBzdHJpcGVkIHJvd3Mgb24gaG92ZXIuXG4vLy8gQHR5cGUgTGlzdFxuJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI6IGRhcmtlbigkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlICsgJHRhYmxlLWhvdmVyLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYmFja2dyb3VuZCBjb2xvciBmb3Igc3RyaXBlZCByb3dzLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFibGUtc3RyaXBlZC1iYWNrZ3JvdW5kOiBzbWFydC1zY2FsZSgkdGFibGUtYmFja2dyb3VuZCwgJHRhYmxlLWNvbG9yLXNjYWxlKSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgdmFsdWUgZm9yIHNob3dpbmcgdGhlIHN0cmlwZSBvbiByb3dzIG9mIHRoZSB0YWJsZXMsIGV4Y2x1ZGluZyB0aGUgaGVhZGVyIGFuZCBmb290ZXIuIElmIGV2ZW4sIHRoZSBldmVuIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgb2RkLCB0aGUgb2RkIHJvd3Mgd2lsbCBoYXZlIGEgYmFja2dyb3VuZCBjb2xvci4gSWYgZW1wdHksIG9yIGFueSBvdGhlciB2YWx1ZSwgdGhlIHRhYmxlIHJvd3Mgd2lsbCBoYXZlIG5vIHN0cmlwaW5nLlxuLy8vIEB0eXBlIEtleXdvcmRcbiR0YWJsZS1zdHJpcGU6IGV2ZW4gIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGNvbG9yIGZvciBoZWFkZXIgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYmxlLWhlYWQtYmFja2dyb3VuZDogc21hcnQtc2NhbGUoJHRhYmxlLWJhY2tncm91bmQsICR0YWJsZS1jb2xvci1zY2FsZSAvIDIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBmb3IgZm9vdGVyIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1mb290LWJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCR0YWJsZS1iYWNrZ3JvdW5kLCAkdGFibGUtY29sb3Itc2NhbGUpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IGNvbG9yIGZvciBoZWFkZXIuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWJsZS1oZWFkLWZvbnQtY29sb3I6ICRib2R5LWZvbnQtY29sb3IgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHZhbHVlIGZvciBzaG93aW5nIHRoZSBoZWFkZXIgd2hlbiB1c2luZyBzdGFja2VkIHRhYmxlcy5cbi8vLyBAdHlwZSBCb29sZWFuXG4kc2hvdy1oZWFkZXItZm9yLXN0YWNrZWQ6IGZhbHNlICFkZWZhdWx0O1xuXG5AbWl4aW4gLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlOiAkdGFibGUtc3RyaXBlKSB7XG4gIHRoZWFkLFxuICB0Ym9keSxcbiAgdGZvb3Qge1xuICAgIGJvcmRlcjogJHRhYmxlLWJvcmRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtYmFja2dyb3VuZDtcbiAgfVxuXG4gIC8vIENhcHRpb25cbiAgY2FwdGlvbiB7XG4gICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgcGFkZGluZzogJHRhYmxlLXBhZGRpbmc7XG4gIH1cblxuICAvLyBUYWJsZSBoZWFkIGFuZCBmb290XG4gIHRoZWFkLFxuICB0Zm9vdCB7XG4gICAgYmFja2dyb3VuZDogJHRhYmxlLWhlYWQtYmFja2dyb3VuZDtcbiAgICBjb2xvcjogJHRhYmxlLWhlYWQtZm9udC1jb2xvcjtcblxuICAgIC8vIFJvd3Mgd2l0aGluIGhlYWQgYW5kIGZvb3RcbiAgICB0ciB7XG4gICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICB9XG5cbiAgICAvLyBDZWxscyB3aXRoaW4gaGVhZCBhbmQgZm9vdFxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICB0ZXh0LWFsaWduOiAjeyRnbG9iYWwtbGVmdH07XG4gICAgfVxuICB9XG5cbiAgLy8gVGFibGUgcm93c1xuICB0Ym9keSB7XG4gICAgdHIge1xuICAgICAgLy8gSWYgc3RyaXBlIGlzIHNldCB0byBldmVuLCBkYXJrZW4gdGhlIGV2ZW4gcm93cy5cbiAgICAgIEBpZiAkc3RyaXBlID09IGV2ZW4ge1xuICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAvLyBJZiBzdHJpcGUgaXMgc2V0IHRvIG9kZCwgZGFya2VuIHRoZSBvZGQgcm93cy5cbiAgICAgIEBlbHNlIGlmICRzdHJpcGUgPT0gb2RkIHtcbiAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXN0cmlwZWQtYmFja2dyb3VuZDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cblxuICAgIHRoLFxuICAgIHRkIHtcbiAgICAgIHBhZGRpbmc6ICR0YWJsZS1wYWRkaW5nO1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyB0aGUgZ2VuZXJhbCBzdHlsZXMgZm9yIHRhYmxlcy5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdHJpcGUgWyR0YWJsZS1zdHJpcGVdIC0gVXNlcyBrZXl3b3JkcyBldmVuLCBvZGQsIG9yIG5vbmUgdG8gZGFya2VuIHJvd3Mgb2YgdGhlIHRhYmxlLiBUaGUgZGVmYXVsdCB2YWx1ZSBpcyBldmVuLlxuQG1peGluIHRhYmxlKFxuICAkc3RyaXBlOiAkdGFibGUtc3RyaXBlLFxuICAkbmVzdDogZmFsc2Vcbikge1xuICB3aWR0aDogMTAwJTtcbiAgbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW47XG4gIGJvcmRlci1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzO1xuXG4gIEBpZiAkbmVzdCB7XG4gICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgfVxuICBAZWxzZSB7XG4gICAgQGF0LXJvb3Qge1xuICAgICAgQGluY2x1ZGUgLXpmLXRhYmxlLWNoaWxkcmVuLXN0eWxlcygkc3RyaXBlKTtcbiAgICB9XG4gIH1cbn1cblxuLy8vIEFkZHMgdGhlIGFiaWxpdHkgdG8gaG9yaXpvbnRhbGx5IHNjcm9sbCB0aGUgdGFibGUgd2hlbiB0aGUgY29udGVudCBvdmVyZmxvd3MgaG9yaXpvbnRhbGx5LlxuQG1peGluIHRhYmxlLXNjcm9sbCB7XG4gIGRpc3BsYXk6IGJsb2NrO1xuICB3aWR0aDogMTAwJTtcbiAgb3ZlcmZsb3cteDogYXV0bztcbn1cblxuLy8vIFNsaWdodGx5IGRhcmtlbnMgdGhlIHRhYmxlIHJvd3Mgb24gaG92ZXIuXG5AbWl4aW4gdGFibGUtaG92ZXIge1xuICB0ciB7XG4gICAgLy9EYXJrZW5zIHRoZSBub24tc3RyaXBlZCB0YWJsZSByb3dzIG9uIGhvdmVyLlxuICAgICY6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1ob3ZlcjtcbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIGV2ZW4gc3RyaXBlZCB0YWJsZSByb3dzLlxuICAgIEBpZigkdGFibGUtc3RyaXBlID09IGV2ZW4pIHtcbiAgICAgICY6bnRoLW9mLXR5cGUoZXZlbik6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdGFibGUtcm93LXN0cmlwZS1ob3ZlcjtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvL0RhcmtlbnMgdGhlIG9kZCBzdHJpcGVkIHRhYmxlIHJvd3MuXG4gICAgQGVsc2VpZigkdGFibGUtc3RyaXBlID09IG9kZCkge1xuICAgICAgJjpudGgtb2YtdHlwZShvZGQpOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHRhYmxlLXJvdy1zdHJpcGUtaG92ZXI7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSBzdGFja2VkIHRhYmxlLiBVc2VmdWwgZm9yIHNtYWxsLXNjcmVlbiBsYXlvdXRzLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGhlYWRlciBbJHNob3ctaGVhZGVyLWZvci1zdGFja2VkXSAtIFNob3cgdGhlIGZpcnN0IHRoIG9mIGhlYWRlciB3aGVuIHN0YWNrZWQuXG5AbWl4aW4gdGFibGUtc3RhY2soJGhlYWRlcjogJHNob3ctaGVhZGVyLWZvci1zdGFja2VkKSB7XG4gIEBpZiAkaGVhZGVyIHtcbiAgICB0aGVhZCB7XG4gICAgICB0aDpmaXJzdC1jaGlsZCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgfVxuXG4gICAgICB0aCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICB0aGVhZCB7XG4gICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbiAgfVxuXG4gIHRmb290IHtcbiAgICBkaXNwbGF5OiBub25lO1xuICB9XG5cbiAgdHIsXG4gIHRoLFxuICB0ZCB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cblxuICB0ZCB7XG4gICAgYm9yZGVyLXRvcDogMDtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10YWJsZSgkbmVzdDogZmFsc2UpIHtcbiAgdGFibGUge1xuICAgIEBpbmNsdWRlIHRhYmxlKCRuZXN0OiAkbmVzdCk7XG4gIH1cblxuICB0YWJsZS5zdGFjayB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgQGluY2x1ZGUgdGFibGUtc3RhY2s7XG4gICAgfVxuICB9XG5cbiAgdGFibGUuc2Nyb2xsIHtcbiAgICBAaW5jbHVkZSB0YWJsZS1zY3JvbGw7XG4gIH1cblxuICB0YWJsZS5ob3ZlciB7XG4gICAgQGluY2x1ZGUgdGFibGUtaG92ZXI7XG4gIH1cblxuICAudGFibGUtc2Nyb2xsIHtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuXG4gICAgdGFibGUge1xuICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCBmdW5jdGlvbnNcbi8vLy9cblxuLy8vIENoZWNrcyB0aGUgbGlnaHRuZXNzIG9mIGAkY29sb3JgLCBhbmQgaWYgaXQgcGFzc2VzIHRoZSBgJHRocmVzaG9sZGAgb2YgbGlnaHRuZXNzLCBpdCByZXR1cm5zIHRoZSBgJHllc2AgY29sb3IuIE90aGVyd2lzZSwgaXQgcmV0dXJucyB0aGUgYCRub2AgY29sb3IuIFVzZSB0aGlzIGZ1bmN0aW9uIHRvIGR5bmFtaWNhbGx5IG91dHB1dCBhIGZvcmVncm91bmQgY29sb3IgYmFzZWQgb24gYSBnaXZlbiBiYWNrZ3JvdW5kIGNvbG9yLlxuLy8vXG4vLy8gQHBhcmFtIHtDb2xvcn0gJGNvbG9yIC0gQ29sb3IgdG8gY2hlY2sgdGhlIGxpZ2h0bmVzcyBvZi5cbi8vLyBAcGFyYW0ge0NvbG9yfSAkeWVzIFskYmxhY2tdIC0gQ29sb3IgdG8gcmV0dXJuIGlmIGAkY29sb3JgIGlzIGxpZ2h0LlxuLy8vIEBwYXJhbSB7Q29sb3J9ICRubyBbJHdoaXRlXSAtIENvbG9yIHRvIHJldHVybiBpZiBgJGNvbG9yYCBpcyBkYXJrLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHRocmVzaG9sZCBbNjAlXSAtIFRocmVzaG9sZCBvZiBsaWdodG5lc3MgdG8gY2hlY2sgYWdhaW5zdC5cbi8vL1xuLy8vIEByZXR1cm5zIHtDb2xvcn0gVGhlICR5ZXMgY29sb3Igb3IgJG5vIGNvbG9yLlxuQGZ1bmN0aW9uIGZvcmVncm91bmQoJGNvbG9yLCAkeWVzOiAkYmxhY2ssICRubzogJHdoaXRlLCAkdGhyZXNob2xkOiA2MCUpIHtcbiAgQGlmICRjb2xvciA9PSB0cmFuc3BhcmVudCB7XG4gICAgJGNvbG9yOiAkYm9keS1iYWNrZ3JvdW5kO1xuICB9XG4gIEBpZiAobGlnaHRuZXNzKCRjb2xvcikgPiAkdGhyZXNob2xkKSB7XG4gICAgQHJldHVybiAkeWVzO1xuICB9XG4gIEBlbHNlIHtcbiAgICBAcmV0dXJuICRubztcbiAgfVxufVxuXG4vLy8gU2NhbGVzIGEgY29sb3IgdG8gYmUgbGlnaHRlciBpZiBpdCdzIGxpZ2h0LCBvciBkYXJrZXIgaWYgaXQncyBkYXJrLiBVc2UgdGhpcyBmdW5jdGlvbiB0byB0aW50IGEgY29sb3IgYXBwcm9wcmlhdGUgdG8gaXRzIGxpZ2h0bmVzcy5cbi8vL1xuLy8vIEBwYXJhbSB7Q29sb3J9ICRjb2xvciAtIENvbG9yIHRvIHNjYWxlLlxuLy8vIEBwYXJhbSB7UGVyY2VudGFnZX0gJHNjYWxlIFs1JV0gLSBBbW91bnQgdG8gc2NhbGUgdXAgb3IgZG93bi5cbi8vLyBAcGFyYW0ge1BlcmNlbnRhZ2V9ICR0aHJlc2hvbGQgWzQwJV0gLSBUaHJlc2hvbGQgb2YgbGlnaHRuZXNzIHRvIGNoZWNrIGFnYWluc3QuXG4vLy9cbi8vLyBAcmV0dXJucyB7Q29sb3J9IEEgc2NhbGVkIGNvbG9yLlxuQGZ1bmN0aW9uIHNtYXJ0LXNjYWxlKCRjb2xvciwgJHNjYWxlOiA1JSwgJHRocmVzaG9sZDogNDAlKSB7XG4gIEBpZiBsaWdodG5lc3MoJGNvbG9yKSA+ICR0aHJlc2hvbGQge1xuICAgICRzY2FsZTogLSRzY2FsZTtcbiAgfVxuICBAcmV0dXJuIHNjYWxlLWNvbG9yKCRjb2xvciwgJGxpZ2h0bmVzczogJHNjYWxlKTtcbn1cblxuLy8vIFRyYW5zZmVycyB0aGUgY29sb3JzIGluIHRoZSBgJGZvdW5kYXRpb24tcGFsZXR0ZWAgdmFyaWFibGUgaW50byB0aGUgbGVnYWN5IGNvbG9yIHZhcmlhYmxlcywgc3VjaCBhcyBgJHByaW1hcnktY29sb3JgIGFuZCBgJHNlY29uZGFyeS1jb2xvcmAuIENhbGwgdGhpcyBtaXhpbiBiZWxvdyB0aGUgR2xvYmFsIHNlY3Rpb24gb2YgeW91ciBzZXR0aW5ncyBmaWxlIHRvIHByb3Blcmx5IG1pZ3JhdGUgeW91ciBjb2RlYmFzZS5cbkBtaXhpbiBhZGQtZm91bmRhdGlvbi1jb2xvcnMoKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB7XG4gICAgJHByaW1hcnktY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSB7XG4gICAgJHNlY29uZGFyeS1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpICFnbG9iYWw7XG4gIH1cbiAgQGlmIG1hcC1oYXMta2V5KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHN1Y2Nlc3MpIHtcbiAgICAkc3VjY2Vzcy1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdWNjZXNzKSAhZ2xvYmFsO1xuICB9XG4gIEBpZiBtYXAtaGFzLWtleSgkZm91bmRhdGlvbi1wYWxldHRlLCB3YXJuaW5nKSB7XG4gICAgJHdhcm5pbmctY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2FybmluZykgIWdsb2JhbDtcbiAgfVxuICBAaWYgbWFwLWhhcy1rZXkoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpIHtcbiAgICAkYWxlcnQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYWxlcnQpICFnbG9iYWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRhYnNcbi8vLy9cblxuLy8vIERlZmF1bHQgbWFyZ2luIG9mIHRoZSB0YWIgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1tYXJnaW46IDAgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IGJhY2tncm91bmQgY29sb3Igb2YgYSB0YWIgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWJhY2tncm91bmQ6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIGFjdGl2ZSBiYWNrZ3JvdW5kIGNvbG9yIG9mIGEgdGFiIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTogJGxpZ2h0LWdyYXkgIWRlZmF1bHQ7XG5cbi8vLyBGb250IHNpemUgb2YgdGFiIGl0ZW1zLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1pdGVtLWZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9uIGhvdmVyIGZvciBpdGVtcyBpbiBhIE1lbnUuXG4kdGFiLWl0ZW0tYmFja2dyb3VuZC1ob3ZlcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIGEgdGFiIGl0ZW0uXG4vLy8gQHR5cGUgTnVtYmVyXG4kdGFiLWl0ZW0tcGFkZGluZzogMS4yNXJlbSAxLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBNYXhpbXVtIG51bWJlciBvZiBgZXhwYW5kLW5gIGNsYXNzZXMgdG8gaW5jbHVkZSBpbiB0aGUgQ1NTLlxuLy8vIEB0eXBlIE51bWJlclxuJHRhYi1leHBhbmQtbWF4OiA2ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBiYWNrZ3JvdW5kIGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtYmFja2dyb3VuZDogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBib3JkZXIgY29sb3Igb2YgdGFiIGNvbnRlbnQuXG4vLy8gQHR5cGUgQ29sb3JcbiR0YWItY29udGVudC1ib3JkZXI6ICRsaWdodC1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCB0ZXh0IGNvbG9yIG9mIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIENvbG9yXG4kdGFiLWNvbnRlbnQtY29sb3I6IGZvcmVncm91bmQoJHRhYi1iYWNrZ3JvdW5kLCAkcHJpbWFyeS1jb2xvcikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHBhZGRpbmcgZm9yIHRhYiBjb250ZW50LlxuLy8vIEB0eXBlIE51bWJlciB8IExpc3RcbiR0YWItY29udGVudC1wYWRkaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byBhIGA8dWw+YC5cbkBtaXhpbiB0YWJzLWNvbnRhaW5lciB7XG4gIEBpbmNsdWRlIGNsZWFyZml4O1xuICBtYXJnaW46ICR0YWItbWFyZ2luO1xuICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gIGJhY2tncm91bmQ6ICR0YWItYmFja2dyb3VuZDtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbn1cblxuLy8vIEF1Z21lbnRzIGEgdGFiIGNvbnRhaW5lciB0byBoYXZlIHZlcnRpY2FsIHRhYnMuIFVzZSB0aGlzIGluIGNvbmp1bmN0aW9uIHdpdGggYHRhYnMtY29udGFpbmVyKClgLlxuQG1peGluIHRhYnMtY29udGFpbmVyLXZlcnRpY2FsIHtcbiAgPiBsaSB7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgZmxvYXQ6IG5vbmU7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgbGlua3Mgd2l0aGluIGEgdGFiIGNvbnRhaW5lci4gQXBwbHkgdGhpcyB0byB0aGUgYDxsaT5gIGVsZW1lbnRzIGluc2lkZSBhIHRhYiBjb250YWluZXIuXG5AbWl4aW4gdGFicy10aXRsZSB7XG4gICAgZmxvYXQ6ICN7JGdsb2JhbC1sZWZ0fTtcblxuICAgID4gYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBwYWRkaW5nOiAkdGFiLWl0ZW0tcGFkZGluZztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIGZvbnQtc2l6ZTogJHRhYi1pdGVtLWZvbnQtc2l6ZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICR0YWItaXRlbS1iYWNrZ3JvdW5kLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmb2N1cyxcbiAgICAgICAgJlthcmlhLXNlbGVjdGVkPSd0cnVlJ10ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHRhYi1iYWNrZ3JvdW5kLWFjdGl2ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciB0aGUgd3JhcHBlciB0aGF0IHN1cnJvdW5kcyBhIHRhYiBncm91cCdzIGNvbnRlbnQgcGFuZXMuXG5AbWl4aW4gdGFicy1jb250ZW50IHtcbiAgYmFja2dyb3VuZDogJHRhYi1jb250ZW50LWJhY2tncm91bmQ7XG4gIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2U7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR0YWItY29udGVudC1ib3JkZXI7XG4gIGJvcmRlci10b3A6IDA7XG59XG5cbi8vLyBBdWdtZW50cyBhIHRhYiBjb250ZW50IGNvbnRhaW5lciB0byBoYXZlIGEgdmVydGljYWwgc3R5bGUsIGJ5IHNoaWZ0aW5nIHRoZSBib3JkZXIgYXJvdW5kLiBVc2UgdGhpcyBpbiBjb25qdW5jdGlvbiB3aXRoIGB0YWJzLWNvbnRlbnQoKWAuXG5AbWl4aW4gdGFicy1jb250ZW50LXZlcnRpY2FsIHtcbiAgYm9yZGVyOiAxcHggc29saWQgJHRhYi1jb250ZW50LWJvcmRlcjtcbiAgYm9yZGVyLSN7JGdsb2JhbC1sZWZ0fTogMDtcbn1cblxuLy8vIEFkZHMgc3R5bGVzIGZvciBhbiBpbmRpdmlkdWFsIHRhYiBjb250ZW50IHBhbmVsIHdpdGhpbiB0aGUgdGFiIGNvbnRlbnQgY29udGFpbmVyLlxuQG1peGluIHRhYnMtcGFuZWwge1xuICBkaXNwbGF5OiBub25lO1xuICBwYWRkaW5nOiAkdGFiLWNvbnRlbnQtcGFkZGluZztcblxuICAmLmlzLWFjdGl2ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbn1cblxuQG1peGluIGZvdW5kYXRpb24tdGFicyB7XG4gIC50YWJzIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lcjtcbiAgfVxuXG4gIC8vIFZlcnRpY2FsXG4gIC50YWJzLnZlcnRpY2FsIHtcbiAgICBAaW5jbHVkZSB0YWJzLWNvbnRhaW5lci12ZXJ0aWNhbDtcbiAgfVxuXG4gIC8vIFNpbXBsZVxuICAudGFicy5zaW1wbGUge1xuICAgID4gbGkgPiBhIHtcbiAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICY6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvLyBQcmltYXJ5IGNvbG9yXG4gIC50YWJzLnByaW1hcnkge1xuICAgIGJhY2tncm91bmQ6ICRwcmltYXJ5LWNvbG9yO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgY29sb3I6IGZvcmVncm91bmQoJHByaW1hcnktY29sb3IpO1xuXG4gICAgICAmOmhvdmVyLFxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIGJhY2tncm91bmQ6IHNtYXJ0LXNjYWxlKCRwcmltYXJ5LWNvbG9yKTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAudGFicy10aXRsZSB7XG4gICAgQGluY2x1ZGUgdGFicy10aXRsZTtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudDtcbiAgfVxuXG4gIC50YWJzLWNvbnRlbnQudmVydGljYWwge1xuICAgIEBpbmNsdWRlIHRhYnMtY29udGVudC12ZXJ0aWNhbDtcbiAgfVxuXG4gIC50YWJzLXBhbmVsIHtcbiAgICBAaW5jbHVkZSB0YWJzLXBhbmVsO1xuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vL1xuLy8vIEBncm91cCB0aHVtYm5haWxcbi8vLy9cblxuLy8vIEJvcmRlciBhcm91bmQgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBCb3JkZXJcbiR0aHVtYm5haWwtYm9yZGVyOiBzb2xpZCA0cHggJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gQm90dG9tIG1hcmdpbiBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBMZW5ndGhcbiR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTogJGdsb2JhbC1tYXJnaW4gIWRlZmF1bHQ7XG5cbi8vLyBCb3ggc2hhZG93IHVuZGVyIHRodW1ibmFpbCBpbWFnZXMuXG4vLy8gQHR5cGUgU2hhZG93XG4kdGh1bWJuYWlsLXNoYWRvdzogMCAwIDAgMXB4IHJnYmEoJGJsYWNrLCAwLjIpICFkZWZhdWx0O1xuXG4vLy8gQm94IHNoYWRvdyB1bmRlciB0aHVtYm5haWwgaW1hZ2VzLlxuLy8vIEB0eXBlIFNoYWRvd1xuJHRodW1ibmFpbC1zaGFkb3ctaG92ZXI6IDAgMCA2cHggMXB4IHJnYmEoJHByaW1hcnktY29sb3IsIDAuNSkgIWRlZmF1bHQ7XG5cbi8vLyBUcmFuc2l0aW9uIHByb3BydGllcyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBUcmFuc2l0aW9uXG4kdGh1bWJuYWlsLXRyYW5zaXRpb246IGJveC1zaGFkb3cgMjAwbXMgZWFzZS1vdXQgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdGh1bWJuYWlsIGltYWdlcy5cbi8vLyBAdHlwZSBOdW1iZXJcbiR0aHVtYm5haWwtcmFkaXVzOiAkZ2xvYmFsLXJhZGl1cyAhZGVmYXVsdDtcblxuLy8vIEFkZHMgdGh1bWJuYWlsIHN0eWxlcyB0byBhbiBlbGVtZW50LlxuQG1peGluIHRodW1ibmFpbCB7XG4gIGJvcmRlcjogJHRodW1ibmFpbC1ib3JkZXI7XG4gIGJveC1zaGFkb3c6ICR0aHVtYm5haWwtc2hhZG93O1xuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIGxpbmUtaGVpZ2h0OiAwO1xuICBtYXgtd2lkdGg6IDEwMCU7XG4gIHRyYW5zaXRpb246ICR0aHVtYm5haWwtdHJhbnNpdGlvbjtcbiAgYm9yZGVyLXJhZGl1czogJHRodW1ibmFpbC1yYWRpdXM7XG4gIG1hcmdpbi1ib3R0b206ICR0aHVtYm5haWwtbWFyZ2luLWJvdHRvbTtcblxuICAmOmhvdmVyLFxuICAmOmZvY3VzIHtcbiAgICBib3gtc2hhZG93OiAkdGh1bWJuYWlsLXNoYWRvdy1ob3ZlcjtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10aHVtYm5haWwge1xuICAudGh1bWJuYWlsIHtcbiAgICBAaW5jbHVkZSB0aHVtYm5haWw7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRpdGxlLWJhclxuLy8vL1xuXG4vLy8gQmFja2dyb3VuZCBjb2xvciBvZiBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWJhY2tncm91bmQ6ICRibGFjayAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIFBhZGRpbmcgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLXBhZGRpbmc6IDAuNXJlbSAhZGVmYXVsdDtcblxuLy8vIEZvbnQgd2VpZ2h0IG9mIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIFdlaWdodFxuJHRpdGxlYmFyLXRleHQtZm9udC13ZWlnaHQ6IGJvbGQgIWRlZmF1bHQ7XG5cbi8vLyBDb2xvciBvZiBtZW51IGljb25zIGluc2lkZSBhIHRpdGxlIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRpdGxlYmFyLWljb24tY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcblxuLy8vIENvbG9yIG9mIG1lbnUgaWNvbnMgaW5zaWRlIGEgdGl0bGUgYmFyIG9uIGhvdmVyLlxuLy8vIEB0eXBlIENvbG9yXG4kdGl0bGViYXItaWNvbi1jb2xvci1ob3ZlcjogJG1lZGl1bS1ncmF5ICFkZWZhdWx0O1xuXG4vLy8gU3BhY2luZyBiZXR3ZWVuIHRoZSBtZW51IGljb24gYW5kIHRleHQgaW5zaWRlIGEgdGl0bGUgYmFyLlxuLy8vIEB0eXBlIExlbmd0aFxuJHRpdGxlYmFyLWljb24tc3BhY2luZzogMC4yNXJlbSAhZGVmYXVsdDtcblxuQG1peGluIGZvdW5kYXRpb24tdGl0bGUtYmFyIHtcbiAgLnRpdGxlLWJhciB7XG4gICAgYmFja2dyb3VuZDogJHRpdGxlYmFyLWJhY2tncm91bmQ7XG4gICAgY29sb3I6ICR0aXRsZWJhci1jb2xvcjtcbiAgICBwYWRkaW5nOiAkdGl0bGViYXItcGFkZGluZztcblxuICAgIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgIH1cblxuICAgIC5tZW51LWljb24ge1xuICAgICAgbWFyZ2luLSN7JGdsb2JhbC1sZWZ0fTogJHRpdGxlYmFyLWljb24tc3BhY2luZztcbiAgICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAkdGl0bGViYXItaWNvbi1zcGFjaW5nO1xuICAgIH1cbiAgfVxuXG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIC8vIHNjc3MtbGludDpkaXNhYmxlIFplcm9Vbml0XG4gICAgLnRpdGxlLWJhci1sZWZ0LFxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxleDogMSAxIDBweDtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyLXJpZ2h0IHtcbiAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbiAgfVxuICBAZWxzZSB7XG4gICAgLnRpdGxlLWJhci1sZWZ0IHtcbiAgICAgIGZsb2F0OiBsZWZ0O1xuICAgIH1cblxuICAgIC50aXRsZS1iYXItcmlnaHQge1xuICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuICB9XG5cbiAgLnRpdGxlLWJhci10aXRsZSB7XG4gICAgZm9udC13ZWlnaHQ6ICR0aXRsZWJhci10ZXh0LWZvbnQtd2VpZ2h0O1xuICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICB9XG5cbiAgLm1lbnUtaWNvbi5kYXJrIHtcbiAgICBAaW5jbHVkZSBoYW1idXJnZXI7XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvb2x0aXBcbi8vLy9cblxuLy8vIERlZmF1bHQgZm9udCB3ZWlnaHQgb2YgdGhlIGRlZmluZWQgdGVybS5cbi8vLyBAdHlwZSBLZXl3b3JkIHwgTnVtYmVyXG4kaGFzLXRpcC1mb250LXdlaWdodDogJGdsb2JhbC13ZWlnaHQtYm9sZCAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgYm9yZGVyIGJvdHRvbSBvZiB0aGUgZGVmaW5lZCB0ZXJtLlxuLy8vIEB0eXBlIExpc3RcbiRoYXMtdGlwLWJvcmRlci1ib3R0b206IGRvdHRlZCAxcHggJGRhcmstZ3JheSAhZGVmYXVsdDtcblxuLy8vIERlZmF1bHQgY29sb3Igb2YgdGhlIHRvb2x0aXAgYmFja2dyb3VuZC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjogJGJsYWNrICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBjb2xvciBvZiB0aGUgdG9vbHRpcCBmb250LlxuLy8vIEB0eXBlIENvbG9yXG4kdG9vbHRpcC1jb2xvcjogJHdoaXRlICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwYWRkaW5nIG9mIHRoZSB0b29sdGlwIGJhY2tncm91bmQuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1wYWRkaW5nOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBmb250IHNpemUgb2YgdGhlIHRvb2x0aXAgdGV4dC4gQnkgZGVmYXVsdCwgd2UgcmVjb21tZW5kIGEgc21hbGxlciBmb250IHNpemUgdGhhbiB0aGUgYm9keSBjb3B5LlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtZm9udC1zaXplOiAkc21hbGwtZm9udC1zaXplICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgd2lkdGggZm9yIHRvb2x0aXBzLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLXdpZHRoOiAwLjc1cmVtICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBwaXAgaGVpZ2h0IGZvciB0b29sdGlwcy4gVGhpcyBpcyBoZWxwZnVsIGZvciBjYWxjdWxhdGluZyB0aGUgZGlzdGFuY2Ugb2YgdGhlIHRvb2x0aXAgZnJvbSB0aGUgdG9vbHRpcCB3b3JkLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvb2x0aXAtcGlwLWhlaWdodDogJHRvb2x0aXAtcGlwLXdpZHRoICogMC44NjYgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHJhZGl1cyBmb3IgdG9vbHRpcHMuXG4vLy8gQHR5cGUgTnVtYmVyXG4kdG9vbHRpcC1yYWRpdXM6ICRnbG9iYWwtcmFkaXVzICFkZWZhdWx0O1xuXG5AbWl4aW4gaGFzLXRpcCB7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gIGJvcmRlci1ib3R0b206ICRoYXMtdGlwLWJvcmRlci1ib3R0b207XG4gIGZvbnQtd2VpZ2h0OiAkaGFzLXRpcC1mb250LXdlaWdodDtcbiAgY3Vyc29yOiBoZWxwO1xufVxuXG5AbWl4aW4gdG9vbHRpcCB7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiBjYWxjKDEwMCUgKyAjeyR0b29sdGlwLXBpcC1oZWlnaHR9KTtcbiAgei1pbmRleDogMTIwMDtcblxuICBtYXgtd2lkdGg6IDEwcmVtO1xuICBwYWRkaW5nOiAkdG9vbHRpcC1wYWRkaW5nO1xuXG4gIGJvcmRlci1yYWRpdXM6ICR0b29sdGlwLXJhZGl1cztcbiAgYmFja2dyb3VuZC1jb2xvcjogJHRvb2x0aXAtYmFja2dyb3VuZC1jb2xvcjtcbiAgZm9udC1zaXplOiAkdG9vbHRpcC1mb250LXNpemU7XG4gIGNvbG9yOiAkdG9vbHRpcC1jb2xvcjtcblxuICAmOjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHVwKTtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAxMDAlO1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gIH1cblxuICAmLnRvcDo6YmVmb3JlIHtcbiAgICBAaW5jbHVkZSBjc3MtdHJpYW5nbGUoJHRvb2x0aXAtcGlwLXdpZHRoLCAkdG9vbHRpcC1iYWNrZ3JvdW5kLWNvbG9yLCBkb3duKTtcbiAgICB0b3A6IDEwMCU7XG4gICAgYm90dG9tOiBhdXRvO1xuICB9XG5cbiAgJi5sZWZ0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIHJpZ2h0KTtcbiAgICB0b3A6IDUwJTtcbiAgICBib3R0b206IGF1dG87XG4gICAgbGVmdDogMTAwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gIH1cblxuICAmLnJpZ2h0OjpiZWZvcmUge1xuICAgIEBpbmNsdWRlIGNzcy10cmlhbmdsZSgkdG9vbHRpcC1waXAtd2lkdGgsICR0b29sdGlwLWJhY2tncm91bmQtY29sb3IsIGxlZnQpO1xuICAgIHRvcDogNTAlO1xuICAgIHJpZ2h0OiAxMDAlO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICBsZWZ0OiBhdXRvO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b29sdGlwIHtcbiAgLmhhcy10aXAge1xuICAgIEBpbmNsdWRlIGhhcy10aXA7XG4gIH1cblxuICAudG9vbHRpcCB7XG4gICAgQGluY2x1ZGUgdG9vbHRpcDtcbiAgfVxufSIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIHRvcC1iYXJcbi8vLy9cblxuLy8vIFBhZGRpbmcgZm9yIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1wYWRkaW5nOiAwLjVyZW0gIWRlZmF1bHQ7XG5cbi8vLyBCYWNrZ3JvdW5kIGNvbG9yIGZvciB0aGUgdG9wIGJhci4gVGhpcyBjb2xvciBhbHNvIGNhc2NhZGVzIHRvIG1lbnVzIHdpdGhpbiB0aGUgdG9wIGJhci5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1iYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheSAhZGVmYXVsdDtcblxuLy8vIEJhY2tncm91bmQgY29sb3Igc3VibWVudXMgd2l0aGluIHRoZSB0b3AgYmFyLiBVc2VmdWxsIGlmICR0b3BiYXItYmFja2dyb3VuZCBpcyB0cmFuc3BhcmVudC5cbi8vLyBAdHlwZSBDb2xvclxuJHRvcGJhci1zdWJtZW51LWJhY2tncm91bmQ6ICR0b3BiYXItYmFja2dyb3VuZCAhZGVmYXVsdDtcblxuLy8vIFNwYWNpbmcgZm9yIHRoZSB0b3AgYmFyIHRpdGxlLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci10aXRsZS1zcGFjaW5nOiAxcmVtICFkZWZhdWx0O1xuXG4vLy8gTWF4aW11bSB3aWR0aCBvZiBgPGlucHV0PmAgZWxlbWVudHMgaW5zaWRlIHRoZSB0b3AgYmFyLlxuLy8vIEB0eXBlIE51bWJlclxuJHRvcGJhci1pbnB1dC13aWR0aDogMjAwcHggIWRlZmF1bHQ7XG5cbi8vLyBCcmVha3BvaW50IGF0IHdoaWNoIHRvcCBiYXIgc3dpdGNoZXMgZnJvbSBtb2JpbGUgdG8gZGVza3RvcCB2aWV3LlxuLy8vIEB0eXBlIEJyZWFrcG9pbnRcbiR0b3BiYXItdW5zdGFjay1icmVha3BvaW50OiBtZWRpdW0gIWRlZmF1bHQ7XG5cbi8vLyBBZGRzIHN0eWxlcyBmb3IgYSB0b3AgYmFyIGNvbnRhaW5lci5cbkBtaXhpbiB0b3AtYmFyLWNvbnRhaW5lciB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgZmxleC13cmFwOiBub3dyYXA7XG4gIH1cbiAgQGVsc2Uge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG5cbiAgcGFkZGluZzogJHRvcGJhci1wYWRkaW5nO1xuXG4gICYsXG4gIHVsIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkdG9wYmFyLWJhY2tncm91bmQ7XG4gIH1cblxuICAvLyBDaGVjayBpZiAkdG9wYmFyLWJhY2tncm91bmQgaXMgZGlmZmVybnQgZnJvbSAkdG9wYmFyLWJhY2tncm91bmQtc3VibWVudVxuICBAaWYgKCR0b3BiYXItYmFja2dyb3VuZCAhPSAkdG9wYmFyLXN1Ym1lbnUtYmFja2dyb3VuZCkge1xuICAgIHVsIHVsIHtcbiAgICAgIGJhY2tncm91bmQtY29sb3I6ICR0b3BiYXItc3VibWVudS1iYWNrZ3JvdW5kO1xuICAgIH1cbiAgfVxuXG4gIC8vIFJlc3RyYWluIHdpZHRoIG9mIGlucHV0cyBieSBkZWZhdWx0IHRvIG1ha2UgdGhlbSBlYXNpZXIgdG8gYXJyYW5nZVxuICBpbnB1dCB7XG4gICAgbWF4LXdpZHRoOiAkdG9wYmFyLWlucHV0LXdpZHRoO1xuICAgIG1hcmdpbi0jeyRnbG9iYWwtcmlnaHR9OiAxcmVtO1xuICB9XG5cbiAgLy8gVGhlIGFib3ZlIHN0eWxlcyBzaG91bGRuJ3QgYXBwbHkgdG8gaW5wdXQgZ3JvdXAgZmllbGRzXG4gIC5pbnB1dC1ncm91cC1maWVsZCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLSN7JGdsb2JhbC1yaWdodH06IDA7XG4gIH1cblxuICAvLyBzY3NzLWxpbnQ6ZGlzYWJsZSBRdWFsaWZ5aW5nRWxlbWVudFxuICBpbnB1dC5idXR0b24ge1xuICAgIHdpZHRoOiBhdXRvO1xuICB9XG59XG5cbi8vLyBNYWtlcyBzZWN0aW9ucyBvZiBhIHRvcCBiYXIgc3RhY2sgb24gdG9wIG9mIGVhY2ggb3RoZXIuXG5AbWl4aW4gdG9wLWJhci1zdGFja2VkIHtcbiAgQGlmICRnbG9iYWwtZmxleGJveCB7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgLy8gU3ViLXNlY3Rpb25zXG4gICAgLnRvcC1iYXItbGVmdCxcbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbiAgQGVsc2Uge1xuICAgIC8vIFN1Yi1zZWN0aW9uc1xuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuICB9XG59XG5cbi8vLyBVbmRvZXMgdGhlIENTUyBhcHBsaWVkIGJ5IHRoZSBgdG9wLWJhci1zdGFja2VkKClgIG1peGluLlxuQG1peGluIHRvcC1iYXItdW5zdGFjayB7XG4gIEBpZiAkZ2xvYmFsLWZsZXhib3gge1xuICAgIGZsZXgtd3JhcDogbm93cmFwO1xuXG4gICAgLy8gc2Nzcy1saW50OmRpc2FibGUgWmVyb1VuaXRcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIGZsZXg6IDEgMSAwcHg7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci1sZWZ0LFxuICAgIC50b3AtYmFyLXJpZ2h0IHtcbiAgICAgIHdpZHRoOiBhdXRvO1xuICAgIH1cbiAgfVxufVxuXG5AbWl4aW4gZm91bmRhdGlvbi10b3AtYmFyIHtcbiAgLy8gVG9wIGJhciBjb250YWluZXJcbiAgLnRvcC1iYXIge1xuICAgIEBpbmNsdWRlIHRvcC1iYXItY29udGFpbmVyO1xuXG4gICAgLy8gU3RhY2sgb24gc21hbGwgc2NyZWVucyBieSBkZWZhdWx0XG4gICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludCgkdG9wYmFyLXVuc3RhY2stYnJlYWtwb2ludCkge1xuICAgICAgQGluY2x1ZGUgdG9wLWJhci11bnN0YWNrO1xuICAgIH1cblxuICAgIC8vIEdlbmVyYXRlIGNsYXNzZXMgZm9yIHN0YWNraW5nIG9uIGVhY2ggc2NyZWVuIHNpemUgKGRlZmluZWQgaW4gJGJyZWFrcG9pbnQtY2xhc3NlcylcbiAgICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICAgIEBpZiAkc2l6ZSAhPSAkLXpmLXplcm8tYnJlYWtwb2ludCB7XG4gICAgICAgICYuc3RhY2tlZC1mb3ItI3skc2l6ZX0ge1xuICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoJHNpemUgZG93bikge1xuICAgICAgICAgICAgQGluY2x1ZGUgdG9wLWJhci1zdGFja2VkO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIC8vIFN1Yi1zZWN0aW9uc1xuICBAaWYgJGdsb2JhbC1mbGV4Ym94IHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbGV4OiAwIDAgYXV0bztcbiAgICAgIG1hcmdpbi1yaWdodDogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgZmxleDogMCAwIGF1dG87XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAudG9wLWJhci10aXRsZSB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICAgIG1hcmdpbi1yaWdodDogJHRvcGJhci10aXRsZS1zcGFjaW5nO1xuXG4gICAgfVxuXG4gICAgLnRvcC1iYXItbGVmdCB7XG4gICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG5cbiAgICAudG9wLWJhci1yaWdodCB7XG4gICAgICBmbG9hdDogcmlnaHQ7XG4gICAgfVxuICB9XG59XG4iLCIvLyBGb3VuZGF0aW9uIGZvciBTaXRlcyBieSBaVVJCXG4vLyBmb3VuZGF0aW9uLnp1cmIuY29tXG4vLyBMaWNlbnNlZCB1bmRlciBNSVQgT3BlbiBTb3VyY2VcblxuLy8vIEhpZGUgYW4gZWxlbWVudCBieSBkZWZhdWx0LCBvbmx5IGRpc3BsYXlpbmcgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gc2hvdy1mb3IoJHNpemUpIHtcbiAgJHNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICRzaXplOiAtemYtYnAtdG8tZW0oJHNpemUpIC0gKDEgLyAxNik7XG5cbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBkb3duKSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbi8vLyBIaWRlIGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgb25seSBkaXNwbGF5aW5nIGl0IHdpdGhpbiBhIGNlcnRhaW4gYnJlYWtwb2ludC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIHNob3ctZm9yLW9ubHkoJHNpemUpIHtcbiAgJGxvd2VyLWJvdW5kLXNpemU6IG1hcC1nZXQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG4gICR1cHBlci1ib3VuZC1zaXplOiAtemYtbWFwLW5leHQoJGJyZWFrcG9pbnRzLCAkc2l6ZSk7XG5cbiAgLy8gbW9yZSBvZnRlbiB0aGFuIG5vdCB0aGlzIHdpbGwgYmUgY29ycmVjdCwganVzdCBvbmUgdGltZSByb3VuZCB0aGUgbG9vcCBpdCB3b24ndCBzbyBzZXQgaW4gc2NvcGUgaGVyZVxuICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSkgLSAoMSAvIDE2KTtcbiAgLy8gdGVzdCBhY3R1YWwgbG93ZXItYm91bmQtc2l6ZSwgaWYgMCBzZXQgaXQgdG8gMGVtXG4gIEBpZiBzdHJpcC11bml0KCRsb3dlci1ib3VuZC1zaXplKSA9PSAwIHtcbiAgICAkbG93ZXItYm91bmQ6IC16Zi1icC10by1lbSgkbG93ZXItYm91bmQtc2l6ZSk7XG4gIH1cblxuICBAaWYgJHVwcGVyLWJvdW5kLXNpemUgPT0gbnVsbCB7XG4gICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1heC13aWR0aDogJGxvd2VyLWJvdW5kKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG4gIEBlbHNlIHtcbiAgICAkdXBwZXItYm91bmQ6IC16Zi1icC10by1lbSgkdXBwZXItYm91bmQtc2l6ZSk7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAkbG93ZXItYm91bmQpLCBzY3JlZW4gYW5kIChtaW4td2lkdGg6ICR1cHBlci1ib3VuZCkge1xuICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxufVxuXG5cbi8vLyBTaG93IGFuIGVsZW1lbnQgYnkgZGVmYXVsdCwgYW5kIGhpZGUgaXQgYWJvdmUgYSBjZXJ0YWluIHNjcmVlbiBzaXplLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHNpemUgLSBCcmVha3BvaW50IHRvIHVzZS4gKipNdXN0IGJlIGEgYnJlYWtwb2ludCBkZWZpbmVkIGluIGAkYnJlYWtwb2ludHNgLioqXG5AbWl4aW4gaGlkZS1mb3IoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSkge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgfVxufVxuXG4vLy8gU2hvdyBhbiBlbGVtZW50IGJ5IGRlZmF1bHQsIGFuZCBoaWRlIGl0IGFib3ZlIGEgY2VydGFpbiBzY3JlZW4gc2l6ZS5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzaXplIC0gQnJlYWtwb2ludCB0byB1c2UuICoqTXVzdCBiZSBhIGJyZWFrcG9pbnQgZGVmaW5lZCBpbiBgJGJyZWFrcG9pbnRzYC4qKlxuQG1peGluIGhpZGUtZm9yLW9ubHkoJHNpemUpIHtcbiAgQGluY2x1ZGUgYnJlYWtwb2ludCgkc2l6ZSBvbmx5KSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICB9XG59XG5cbkBtaXhpbiBmb3VuZGF0aW9uLXZpc2liaWxpdHktY2xhc3NlcyB7XG4gIC8vIEJhc2ljIGhpZGluZyBjbGFzc2VzXG4gIC5oaWRlIHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuaW52aXNpYmxlIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICAvLyBSZXNwb25zaXZlIHZpc2liaWxpdHkgY2xhc3Nlc1xuICBAZWFjaCAkc2l6ZSBpbiAkYnJlYWtwb2ludC1jbGFzc2VzIHtcbiAgICBAaWYgJHNpemUgIT0gJC16Zi16ZXJvLWJyZWFrcG9pbnQge1xuICAgICAgLmhpZGUtZm9yLSN7JHNpemV9IHtcbiAgICAgICAgQGluY2x1ZGUgaGlkZS1mb3IoJHNpemUpO1xuICAgICAgfVxuXG4gICAgICAuc2hvdy1mb3ItI3skc2l6ZX0ge1xuICAgICAgICBAaW5jbHVkZSBzaG93LWZvcigkc2l6ZSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGUtZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgaGlkZS1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuXG4gICAgLnNob3ctZm9yLSN7JHNpemV9LW9ubHkge1xuICAgICAgQGluY2x1ZGUgc2hvdy1mb3Itb25seSgkc2l6ZSk7XG4gICAgfVxuICB9XG5cbiAgLy8gU2NyZWVuIHJlYWRlciB2aXNpYmlsaXR5IGNsYXNzZXNcbiAgLy8gTmVlZCBhIFwiaGlkZS1mb3Itc3JcIiBjbGFzcz8gQWRkIGFyaWEtaGlkZGVuPSd0cnVlJyB0byB0aGUgZWxlbWVudFxuICAuc2hvdy1mb3Itc3IsXG4gIC5zaG93LW9uLWZvY3VzIHtcbiAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZTtcbiAgfVxuXG4gIC8vIE9ubHkgZGlzcGxheSB0aGUgZWxlbWVudCB3aGVuIGl0J3MgZm9jdXNlZFxuICAuc2hvdy1vbi1mb2N1cyB7XG4gICAgJjphY3RpdmUsXG4gICAgJjpmb2N1cyB7XG4gICAgICBAaW5jbHVkZSBlbGVtZW50LWludmlzaWJsZS1vZmY7XG4gICAgfVxuICB9XG5cbiAgLy8gTGFuZHNjYXBlIGFuZCBwb3J0cmFpdCB2aXNpYmlsaXR5XG4gIC5zaG93LWZvci1sYW5kc2NhcGUsXG4gIC5oaWRlLWZvci1wb3J0cmFpdCB7XG4gICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQocG9ydHJhaXQpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cblxuICAuaGlkZS1mb3ItbGFuZHNjYXBlLFxuICAuc2hvdy1mb3ItcG9ydHJhaXQge1xuICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFuZHNjYXBlKSB7XG4gICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChwb3J0cmFpdCkge1xuICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICB9XG4gIH1cbn1cbiIsIi8vIEZvdW5kYXRpb24gZm9yIFNpdGVzIGJ5IFpVUkJcbi8vIGZvdW5kYXRpb24uenVyYi5jb21cbi8vIExpY2Vuc2VkIHVuZGVyIE1JVCBPcGVuIFNvdXJjZVxuXG4vLy8vXG4vLy8gQGdyb3VwIGZsb2F0XG4vLy8vXG5cbkBtaXhpbiBmb3VuZGF0aW9uLWZsb2F0LWNsYXNzZXMge1xuICAuZmxvYXQtbGVmdCB7XG4gICAgZmxvYXQ6IGxlZnQgIWltcG9ydGFudDtcbiAgfVxuXG4gIC5mbG9hdC1yaWdodCB7XG4gICAgZmxvYXQ6IHJpZ2h0ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAuZmxvYXQtY2VudGVyIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gIH1cblxuICAuY2xlYXJmaXgge1xuICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICB9XG59XG4iLCJAbWl4aW4gZm91bmRhdGlvbi1mbGV4LWNsYXNzZXMge1xuICAvLyBIb3Jpem9udGFsIGFsaWdubWVudCB1c2luZyBqdXN0aWZ5LWNvbnRlbnRcbiAgQGVhY2ggJGhkaXIsICRwcm9wIGluIG1hcC1yZW1vdmUoJC16Zi1mbGV4LWp1c3RpZnksIGxlZnQpIHtcbiAgICAuYWxpZ24tI3skaGRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeDogJGhkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFZlcnRpY2FsIGFsaWdubWVudCB1c2luZyBhbGlnbi1pdGVtcyBhbmQgYWxpZ24tc2VsZlxuICBAZWFjaCAkdmRpciwgJHByb3AgaW4gJC16Zi1mbGV4LWFsaWduIHtcbiAgICAuYWxpZ24tI3skdmRpcn0ge1xuICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbigkeTogJHZkaXIpO1xuICAgIH1cblxuICAgIC5hbGlnbi1zZWxmLSN7JHZkaXJ9IHtcbiAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24tc2VsZigkeTogJHZkaXIpO1xuICAgIH1cbiAgfVxuXG4gIC8vIFNvdXJjZSBvcmRlcmluZ1xuICBAaW5jbHVkZSAtemYtZWFjaC1icmVha3BvaW50IHtcbiAgICBAZm9yICRpIGZyb20gMSB0aHJvdWdoIDYge1xuICAgICAgLiN7JC16Zi1zaXplfS1vcmRlci0jeyRpfSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtb3JkZXIoJGkpO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEFwcGxpZXMgYmFzaWMgdHJhbnNpdGlvbiBzZXR0aW5ncyB0byBhbiBlbGVtZW50LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIHRyYW5zaXRpb24tYmFzaWNzKFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gIEBpbmNsdWRlIC1tb3Rpb24tdWktZGVmYXVsdHM7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246ICRkdXJhdGlvbjtcbiAgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR0aW1pbmc7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheTtcbn1cblxuLy8vIFdyYXBzIHRoZSBjb250ZW50IGluIHRoZSBzZXR1cCBjbGFzcyBmb3IgYSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJGRpciAtIFN0YXRlIHRvIHNldHVwIGZvciB0cmFuc2l0aW9uLlxuQG1peGluIHRyYW5zaXRpb24tc3RhcnQoJGRpcikge1xuICAkc2VsZWN0b3I6IC1tdWktYnVpbGQtc2VsZWN0b3IobWFwLWdldCgkbW90aW9uLXVpLXN0YXRlcywgJGRpcikpO1xuXG4gIEBhdC1yb290IHtcbiAgICAjeyRzZWxlY3Rvcn0ge1xuICAgICAgQGNvbnRlbnQ7XG4gICAgfVxuICB9XG59XG5cbi8vLyBXcmFwcyB0aGUgY29udGVudCBpbiB0aGUgYWN0aXZlIGNsYXNzIGZvciBhIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyIC0gU3RhdGUgdG8gYWN0aXZhdGUgYSB0cmFuc2l0aW9uIG9uLlxuQG1peGluIHRyYW5zaXRpb24tZW5kKCRkaXIpIHtcbiAgJHNlbGVjdG9yOiAtbXVpLWJ1aWxkLXNlbGVjdG9yKG1hcC1nZXQoJG1vdGlvbi11aS1zdGF0ZXMsICRkaXIpLCB0cnVlKTtcblxuICBAYXQtcm9vdCB7XG4gICAgI3skc2VsZWN0b3J9IHtcbiAgICAgIEBjb250ZW50O1xuICAgIH1cbiAgfVxufVxuXG4vLy8gQWRkcyBzdHlsZXMgZm9yIGEgc3RhZ2dlciBhbmltYXRpb24sIHdoaWNoIGNhbiBiZSB1c2VkIHdpdGggQW5ndWxhcidzIGBuZy1yZXBlYXRgLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheS1hbW91bnQgLSBBbW91bnQgb2YgdGltZSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyB0byBhZGQgYmV0d2VlbiBlYWNoIGl0ZW0ncyBhbmltYXRpb24uXG5AbWl4aW4gc3RhZ2dlcigkZGVsYXktYW1vdW50KSB7XG4gIHRyYW5zaXRpb24tZGVsYXk6ICRkZWxheS1hbW91bnQ7XG4gIHRyYW5zaXRpb24tZHVyYXRpb246IDA7IC8vIFByZXZlbnQgYWNjaWRlbnRhbCBDU1MgaW5oZXJpdGFuY2Vcbn1cbiIsIi8vIHNjc3MtbGludDpkaXNhYmxlIEltcG9ydGFudFJ1bGUsIFNwYWNlQWZ0ZXJDb21tYSwgU2luZ2xlTGluZVBlclByb3BlcnR5XG5cbkBtaXhpbiAtbW90aW9uLXVpLWRlZmF1bHRzIHtcbiAgdHJhbnNpdGlvbi1kdXJhdGlvbjogbWFwLWdldCgkbW90aW9uLXVpLXNwZWVkcywgZGVmYXVsdCk7XG4gIHRyYW5zaXRpb24tdGltaW5nLWZ1bmN0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktZWFzaW5ncywgZGVmYXVsdCk7XG59XG5cbi8vIFRyYW5zaXRpb25zXG4vLyAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLVxuQG1peGluIG1vdGlvbi11aS10cmFuc2l0aW9ucyB7XG4gIC8vIFNsaWRlXG4gIC5zbGlkZS1pbi1kb3duICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKGluLCAgZG93bik7IH1cbiAgLnNsaWRlLWluLWxlZnQgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICByaWdodCk7IH1cbiAgLnNsaWRlLWluLXVwICAgICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICB1cCk7IH1cbiAgLnNsaWRlLWluLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktc2xpZGUoaW4sICBsZWZ0KTsgfVxuICAuc2xpZGUtb3V0LWRvd24gICB7IEBpbmNsdWRlIG11aS1zbGlkZShvdXQsIGRvd24pOyB9XG4gIC5zbGlkZS1vdXQtcmlnaHQgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgcmlnaHQpOyB9XG4gIC5zbGlkZS1vdXQtdXAgICAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgdXApOyB9XG4gIC5zbGlkZS1vdXQtbGVmdCAgIHsgQGluY2x1ZGUgbXVpLXNsaWRlKG91dCwgbGVmdCk7IH1cblxuICAvLyBGYWRlXG4gIC5mYWRlLWluICB7IEBpbmNsdWRlIG11aS1mYWRlKGluLCAgMCwgMSk7IH1cbiAgLmZhZGUtb3V0IHsgQGluY2x1ZGUgbXVpLWZhZGUob3V0LCAxLCAwKTsgfVxuXG4gIC8vIEhpbmdlXG4gIC5oaW5nZS1pbi1mcm9tLXRvcCAgICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKGluLCAgdG9wKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1yaWdodCAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIHJpZ2h0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1ib3R0b20gICB7IEBpbmNsdWRlIG11aS1oaW5nZShpbiwgIGJvdHRvbSk7IH1cbiAgLmhpbmdlLWluLWZyb20tbGVmdCAgICAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICBsZWZ0KTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteCAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICB0b3AsICAgY2VudGVyKTsgfVxuICAuaGluZ2UtaW4tZnJvbS1taWRkbGUteSAgeyBAaW5jbHVkZSBtdWktaGluZ2UoaW4sICByaWdodCwgY2VudGVyKTsgfVxuICAuaGluZ2Utb3V0LWZyb20tdG9wICAgICB7IEBpbmNsdWRlIG11aS1oaW5nZShvdXQsIHRvcCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLXJpZ2h0ICAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCByaWdodCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLWJvdHRvbSAgeyBAaW5jbHVkZSBtdWktaGluZ2Uob3V0LCBib3R0b20pOyB9XG4gIC5oaW5nZS1vdXQtZnJvbS1sZWZ0ICAgIHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgbGVmdCk7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS14IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgdG9wLCAgIGNlbnRlcik7IH1cbiAgLmhpbmdlLW91dC1mcm9tLW1pZGRsZS15IHsgQGluY2x1ZGUgbXVpLWhpbmdlKG91dCwgcmlnaHQsIGNlbnRlcik7IH1cblxuICAvLyBTY2FsZVxuICAuc2NhbGUtaW4tdXAgICAgeyBAaW5jbHVkZSBtdWktem9vbShpbiwgIDAuNSwgMSk7IH1cbiAgLnNjYWxlLWluLWRvd24gIHsgQGluY2x1ZGUgbXVpLXpvb20oaW4sICAxLjUsIDEpOyB9XG4gIC5zY2FsZS1vdXQtdXAgICB7IEBpbmNsdWRlIG11aS16b29tKG91dCwgMSwgMS41KTsgfVxuICAuc2NhbGUtb3V0LWRvd24geyBAaW5jbHVkZSBtdWktem9vbShvdXQsIDEsIDAuNSk7IH1cblxuICAvLyBTcGluXG4gIC5zcGluLWluICAgICB7IEBpbmNsdWRlIG11aS1zcGluKGluLCAgY3cpOyB9XG4gIC5zcGluLW91dCAgICB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY3cpOyB9XG4gIC5zcGluLWluLWNjdyAgeyBAaW5jbHVkZSBtdWktc3BpbihpbiwgIGNjdyk7IH1cbiAgLnNwaW4tb3V0LWNjdyB7IEBpbmNsdWRlIG11aS1zcGluKG91dCwgY2N3KTsgfVxuXG4gIC8vIFRyYW5zaXRpb24gTW9kaWZpZXJzXG4gIC8vIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtXG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLXNwZWVkcyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi1kdXJhdGlvbjogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktZWFzaW5ncyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9IHsgdHJhbnNpdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgdHJhbnNpdGlvbi1kZWxheTogJHZhbHVlICFpbXBvcnRhbnQ7IH1cbiAgICB9XG4gIH1cbn1cblxuLy8gQW5pbWF0aW9uc1xuLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbkBtaXhpbiBtb3Rpb24tdWktYW5pbWF0aW9ucyB7XG4gIC5zaGFrZSAgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc2hha2UpOyB9XG4gIC5zcGluLWN3ICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24oc3Bpbik7IH1cbiAgLnNwaW4tY2N3IHsgQGluY2x1ZGUgbXVpLWFuaW1hdGlvbihzcGluKGNjdykpOyB9XG4gIC53aWdnbGUgICB7IEBpbmNsdWRlIG11aS1hbmltYXRpb24od2lnZ2xlKTsgfVxuXG4gIC5zaGFrZSxcbiAgLnNwaW4tY3csXG4gIC5zcGluLWNjdyxcbiAgLndpZ2dsZSB7XG4gICAgYW5pbWF0aW9uLWR1cmF0aW9uOiBtYXAtZ2V0KCRtb3Rpb24tdWktc3BlZWRzLCBkZWZhdWx0KTtcbiAgfVxuXG4gIC8vIEFuaW1hdGlvbiBNb2RpZmllcnNcbiAgLy8gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC1cbiAgLmluZmluaXRlIHsgYW5pbWF0aW9uLWl0ZXJhdGlvbi1jb3VudDogaW5maW5pdGU7IH1cblxuICBAZWFjaCAkbmFtZSwgJHZhbHVlIGluICRtb3Rpb24tdWktc3BlZWRzIHtcbiAgICBAaWYgJG5hbWUgIT0gZGVmYXVsdCB7XG4gICAgICAuI3skbmFtZX0geyBhbmltYXRpb24tZHVyYXRpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWVhc2luZ3Mge1xuICAgIEBpZiAkbmFtZSAhPSBkZWZhdWx0IHtcbiAgICAgIC4jeyRuYW1lfSB7IGFuaW1hdGlvbi10aW1pbmctZnVuY3Rpb246ICR2YWx1ZSAhaW1wb3J0YW50OyB9XG4gICAgfVxuICB9XG5cbiAgQGVhY2ggJG5hbWUsICR2YWx1ZSBpbiAkbW90aW9uLXVpLWRlbGF5cyB7XG4gICAgQGlmICRuYW1lICE9IGRlZmF1bHQge1xuICAgICAgLiN7JG5hbWV9LWRlbGF5IHsgYW5pbWF0aW9uLWRlbGF5OiAkdmFsdWUgIWltcG9ydGFudDsgfVxuICAgIH1cbiAgfVxufVxuIiwiLy8vIEZvcm1hdCBmb3IgQ1NTIGNsYXNzZXMgY3JlYXRlZCB3aXRoIE1vdGlvbiBVSS5cbi8vLyBAdHlwZSBNYXBcbi8vLyBAcHJvcCB7Qm9vbGVhbn0gYXBwZW5kIFt0cnVlXSAtIERlZmluZXMgaWYgc2VsZWN0b3JzIGFyZSBjaGFpbmVkIHRvIHRoZSBzZWxlY3RvciAoYC5jbGFzcy5lbnRlcmApLCBvciBhcHBlbmRlZCBhcyBhIG5ldyBjbGFzcyAoYC5jbGFzcy1lbnRlcmApLlxuLy8vIEBwcm9wIHtTdHJpbmd9IHByZWZpeCBbJ211aS0nXSAtIFByZWZpeCB0byBhZGQgYmVmb3JlIHRoZSBzdGF0ZSBvZiBhIGNsYXNzLiBFbnRlciBhbiBlbXB0eSBzdHJpbmcgdG8gdXNlIG5vIHByZWZpeC5cbi8vLyBAcHJvcCB7U3RyaW5nfSBwcmVmaXggWyctYWN0aXZlJ10gLSBTdWZmaXggdG8gYWRkIHRvIHRoZSBhY3RpdmUgc3RhdGUgY2xhc3MuXG4kbW90aW9uLXVpLWNsYXNzZXM6IChcbiAgY2hhaW46IHRydWUsXG4gIHByZWZpeDogJ211aS0nLFxuICBhY3RpdmU6ICctYWN0aXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBTdGF0ZSBuYW1lcyB0byByZWZlcmVuY2Ugd2hlbiB3cml0aW5nIG1vdGlvbiBjbGFzc2VzLiBUbyB1c2UgbXVsdGlwbGUgY2xhc3MgbmFtZXMgZm9yIG9uZSBzdGF0ZSwgZW50ZXIgYSBsaXN0IG9mIHN0cmluZ3MgaW5zdGVhZCBvZiBvbmUgc3RyaW5nLlxuLy8vIEB0eXBlIE1hcFxuJG1vdGlvbi11aS1zdGF0ZXM6IChcbiAgaW46ICdlbnRlcicsXG4gIG91dDogJ2xlYXZlJyxcbikgIWRlZmF1bHQ7XG5cbi8vLyBEZWZhdWx0IHNwZWVkIHRoYXQgdHJhbnNpdGlvbnMgYW5kIGFuaW1hdGlvbnMgcGxheSBhdCwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBzcGVlZC5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktc3BlZWRzOiAoXG4gIGRlZmF1bHQ6IDUwMG1zLFxuICBzbG93OiA3NTBtcyxcbiAgZmFzdDogMjUwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBkZWxheSB0byBhZGQgYmVmb3JlIG1vdGlvbiwgYWxvbmcgd2l0aCB2YWx1ZXMgZm9yIG1vZGlmaWVyIGNsYXNzZXMgdG8gY2hhbmdlIHRoZSBkZWxheS5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZGVsYXlzOiAoXG4gIGRlZmF1bHQ6IDAsXG4gIHNob3J0OiAzMDBtcyxcbiAgbG9uZzogNzAwbXMsXG4pICFkZWZhdWx0O1xuXG4vLy8gRGVmYXVsdCBlYXNpbmcgZm9yIHRyYW5zaXRpb25zIGFuZCBhbmltYXRpb25zLCBhbG9uZyB3aXRoIHZhbHVlcyBmb3IgbW9kaWZpZXIgY2xhc3NlcyB0byBjaGFuZ2UgdGhlIGVhc2luZy5cbi8vLyBAdHlwZSBNYXBcbiRtb3Rpb24tdWktZWFzaW5nczogKFxuICBkZWZhdWx0OiBsaW5lYXIsXG4gIGxpbmVhcjogbGluZWFyLFxuICBlYXNlOiBlYXNlLFxuICBlYXNlLWluOiBlYXNlLWluLFxuICBlYXNlLW91dDogZWFzZS1vdXQsXG4gIGVhc2UtaW4tb3V0OiBlYXNlLWluLW91dCxcbiAgYm91bmNlLWluOiBjdWJpYy1iZXppZXIoMC40ODUsIDAuMTU1LCAwLjI0LCAxLjI0NSksXG4gIGJvdW5jZS1vdXQ6IGN1YmljLWJlemllcigwLjQ4NSwgMC4xNTUsIDAuNTE1LCAwLjg0NSksXG4gIGJvdW5jZS1pbi1vdXQ6IGN1YmljLWJlemllcigwLjc2LCAtMC4yNDUsIDAuMjQsIDEuMjQ1KSxcbikgIWRlZmF1bHQ7XG5cbi8vLyBNaXNjZWxsYW5lb3VzIHNldHRpbmdzIHJlbGF0ZWQgdG8gTW90aW9uIFVJLlxuLy8vIEB0eXBlIE1hcFxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbZmFsc2VdIC0gRGVmaW5lcyBpZiBzbGlkZSBtb3Rpb25zIHNob3VsZCBhbHNvIGZhZGUgaW4vb3V0LlxuLy8vIEBwcm9wIHtCb29sZWFufSBzbGlkZS1hbmQtZmFkZSBbdHJ1ZV0gLSBEZWZpbmVzIGlmIGhpbmdlIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4vLy8gQHByb3Age0Jvb2xlYW59IHNsaWRlLWFuZC1mYWRlIFt0cnVlXSAtIERlZmluZXMgaWYgc2NhbGUgbW90aW9ucyBzaG91bGQgYWxzbyBmYWRlIGluL291dC5cbi8vLyBAcHJvcCB7Qm9vbGVhbn0gc2xpZGUtYW5kLWZhZGUgW3RydWVdIC0gRGVmaW5lcyBpZiBzcGluIG1vdGlvbnMgc2hvdWxkIGFsc28gZmFkZSBpbi9vdXQuXG4kbW90aW9uLXVpLXNldHRpbmdzOiAoXG4gIHNsaWRlLWFuZC1mYWRlOiBmYWxzZSxcbiAgaGluZ2UtYW5kLWZhZGU6IHRydWUsXG4gIHNjYWxlLWFuZC1mYWRlOiB0cnVlLFxuICBzcGluLWFuZC1mYWRlOiB0cnVlLFxuICBhY3RpdmF0ZS1xdWV1ZS1jbGFzczogJ2lzLWFuaW1hdGluZycsXG4pICFkZWZhdWx0O1xuIiwiLy8gSW50ZXJuYWwgY291bnRlciBmb3IgY3JlYXRpbmcgdW5pcXVlIGtleWZyYW1lIG5hbWVzXG4kLW11aS1jdXN0b206IDA7XG5cbi8vLyBDcmVhdGVzIGEga2V5ZnJhbWUgZnJvbSBvbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zLiBVc2UgdGhpcyBmdW5jdGlvbiBpbnN0ZWFkIG9mIGBtdWktYW5pbWF0aW9uYCBpZiB5b3Ugd2FudCB0byBjcmVhdGUgYSBrZXlmcmFtZSBhbmltYXRpb24gKndpdGhvdXQqIGF1dG9tYXRpY2FsbHkgYXNzaWduaW5nIGl0IHRvIHRoZSBlbGVtZW50LlxuLy8vIEBwYXJhbSB7U3RyaW5nfSAkbmFtZSAtIE5hbWUgb2YgdGhlIGtleWZyYW1lLlxuLy8vIEBwYXJhbSB7RnVuY3Rpb259ICRlZmZlY3RzLi4uIC0gT25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyB0byBidWlsZCB0aGUga2V5ZnJhbWUgd2l0aC5cbkBtaXhpbiBtdWkta2V5ZnJhbWVzKCRuYW1lLCAkZWZmZWN0cy4uLikge1xuICAkb2JqOiAtbXVpLXByb2Nlc3MtYXJncygkZWZmZWN0cy4uLik7XG4gICRvYmo6IG1hcC1yZW1vdmUoJG9iaiwgbmFtZSk7XG5cbiAgQGtleWZyYW1lcyAjeyRuYW1lfSB7XG4gICAgLy8gTm93IGl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIHBlcmNlbnRhZ2VcbiAgICBAZWFjaCAkcGN0LCAkcHJvcHMgaW4gJG9iaiB7XG4gICAgICAjey1tdWkta2V5ZnJhbWUtcGN0KCRwY3QpfSB7XG4gICAgICAgIC8vIExhc3RseSwgaXRlcmF0ZSB0aHJvdWdoIGVhY2ggQ1NTIHByb3BlcnR5IHdpdGhpbiBhIHBlcmNlbnRhZ2UgYW5kIHByaW50IGl0IG91dFxuICAgICAgICBAZWFjaCAkcHJvcCwgJHZhbHVlIGluICRwcm9wcyB7XG4gICAgICAgICAgI3skcHJvcH06ICN7JHZhbHVlfTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG4vLy8gQ3JlYXRlcyBhIHN0cmluZyBmb3IgYSBDU1Mga2V5ZnJhbWUsIGJ5IGNvbnZlcnRpbmcgYSBsaXN0IG9mIG51bWJlcnMgdG8gYSBjb21tYS1zZXBhcmF0ZWQgbGlzdCBvZiBwZXJjZW50YWdlIHZhbHVlcy5cbi8vLyBAcGFyYW0ge051bWJlcnxMaXN0fSAkaW5wdXQgLSBMaXN0IG9mIG51bWJlcnMgdG8gdXNlLlxuLy8vIEByZXR1cm4ge1N0cmluZ30gQSBzZXQgb2YgY29tbWEtc2VwYXJhdGVkIHBlcmNlbnRhZ2UgdmFsdWVzLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWkta2V5ZnJhbWUtcGN0KCRpbnB1dCkge1xuICAkb3V0cHV0OiAoKTtcblxuICBAaWYgdHlwZS1vZigkaW5wdXQpID09ICdudW1iZXInIHtcbiAgICAkb3V0cHV0OiAoJGlucHV0ICogMSUpO1xuICB9IEBlbHNlIGlmIHR5cGUtb2YoJGlucHV0KSA9PSAnbGlzdCcge1xuICAgIEBlYWNoICRpIGluICRpbnB1dCB7XG4gICAgICAkb3V0cHV0OiBhcHBlbmQoJG91dHB1dCwgKCRpICogMSUpLCBjb21tYSk7XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkb3V0cHV0O1xufVxuXG4vLy8gUHJpbnRzIHRoZSBDU1MgcHJvcGVydGllcyBmcm9tIGEgc3BlY2lmaWMga2V5IGluIGEga2V5ZnJhbWVzIG1hcC4gVXNlZCB0byBib3Jyb3cgQ1NTIGZyb20ga2V5ZnJhbWUgZnVuY3Rpb25zIGZvciB1c2UgaW4gdHJhbnNpdGlvbnMuXG4vLy8gQHBhcmFtIHtNYXB9ICRrZiAtIEtleWZyYW1lIG1hcCB0byBleHRyYWN0IGZyb20uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRrZXkgLSBLZXkgaW4gdGhlIG1hcCB0byBwcmludCB0aGUgQ1NTIG9mLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQG1peGluIC1tdWkta2V5ZnJhbWUtZ2V0KCRrZiwgJGtleSkge1xuICAkbWFwOiBtYXAtZ2V0KCRrZiwgJGtleSk7XG5cbiAgQGVhY2ggJHByb3AsICR2YWx1ZSBpbiAkbWFwIG9yICgpIHtcbiAgICAvLyBTb21lIGtleWZyYW1lIG1hcHMgc3RvcmUgdHJhbnNmb3JtcyBhcyBxdW90ZWQgc3RyaW5nc1xuICAgIEBpZiB0eXBlLW9mKCR2YWx1ZSkgPT0gJ3N0cmluZycge1xuICAgICAgJHZhbHVlOiB1bnF1b3RlKCR2YWx1ZSk7XG4gICAgfVxuICAgICN7JHByb3B9OiAkdmFsdWU7XG4gIH1cbn1cblxuLy8vIFJlZm9ybWF0cyBhIG1hcCBjb250YWluaW5nIGtleXMgd2l0aCBhIGxpc3Qgb2YgdmFsdWVzLCBzbyB0aGF0IGVhY2gga2V5IGlzIGEgc2luZ2xlIHZhbHVlLlxuLy8vIEBwYXJhbSB7TWFwfSAkbWFwIC0gTWFwIHRvIHNwbGl0IHVwLlxuLy8vIEByZXR1cm4ge01hcH0gQSByZWZvcm1hdHRlZCBtYXAuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBTcGxpdCBrZXlzIHdpdGggbXVsdGlwbGUgdmFsdWVzIGludG8gaW5kaXZpZHVhbCBrZXlzXG4gIEBlYWNoICRrZXksICRpdGVtIGluICRtYXAge1xuICAgICRrZXktdHlwZTogdHlwZS1vZigka2V5KTtcblxuICAgIEBpZiAka2V5LXR5cGUgPT0gJ251bWJlcicge1xuICAgICAgJG5ldy1tYXA6IG1hcC1tZXJnZSgkbmV3LW1hcCwgKCRrZXk6ICRpdGVtKSk7XG4gICAgfSBAZWxzZSBpZiAka2V5LXR5cGUgPT0gJ2xpc3QnIHtcbiAgICAgIEBlYWNoICRrIGluICRrZXkge1xuICAgICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGs6ICRpdGVtKSk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgQHJldHVybiAkbmV3LW1hcDtcbn1cblxuLy8vIENvbWJpbmVzIGEgc2VyaWVzIG9mIGtleWZyYW1lIG9iamVjdHMgaW50byBvbmUuXG4vLy8gQHBhcmFtIHtNYXB9ICRtYXBzLi4uIC0gQSBzZXJpZXMgb2YgbWFwcyB0byBtZXJnZSwgYXMgaW5kaXZpZHVhbCBwYXJhbWV0ZXJzLlxuLy8vIEByZXR1cm4ge01hcH0gQSBjb21iaW5lZCBrZXlmcmFtZSBvYmplY3QuXG4vLy8gQGFjY2VzcyBwcml2YXRlXG5AZnVuY3Rpb24gLW11aS1rZXlmcmFtZS1jb21iaW5lKCRtYXBzLi4uKSB7XG4gICRuZXctbWFwOiAoKTtcblxuICAvLyBJdGVyYXRlIHRocm91Z2ggZWFjaCBtYXAgcGFzc2VkIGluXG4gIEBlYWNoICRtYXAgaW4gJG1hcHMge1xuICAgIEBpZiB0eXBlLW9mKCRtYXApID09ICdzdHJpbmcnIHtcbiAgICAgICRtYXA6IGNhbGwoJG1hcCk7XG4gICAgfVxuXG4gICAgJG1hcDogLW11aS1rZXlmcmFtZS1zcGxpdCgkbWFwKTtcblxuICAgIC8vIEl0ZXJhdGUgdGhyb3VnaCBlYWNoIGtleWZyYW1lIGluIHRoZSBtYXBcbiAgICAvLyAka2V5IGlzIHRoZSBrZXlmcmFtZSBwZXJjZW50YWdlXG4gICAgLy8gJHZhbHVlIGlzIGEgbWFwIG9mIENTUyBwcm9wZXJ0aWVzXG4gICAgQGVhY2ggJGtleSwgJHZhbHVlIGluICRtYXAge1xuICAgICAgJG5ldy12YWx1ZTogKCk7XG5cbiAgICAgIEBpZiBtYXAtaGFzLWtleSgkbmV3LW1hcCwgJGtleSkge1xuICAgICAgICAvLyBJZiB0aGUgbWFwIGFscmVhZHkgaGFzIHRoZSBrZXlmcmFtZSAlLCBhcHBlbmQgdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAtbXVpLW1lcmdlLXByb3BlcnRpZXMobWFwLWdldCgkbmV3LW1hcCwgJGtleSksICR2YWx1ZSk7XG4gICAgICB9IEBlbHNlIHtcbiAgICAgICAgLy8gT3RoZXJ3aXNlLCBjcmVhdGUgYSBuZXcgbWFwIHdpdGggdGhlIG5ldyBwcm9wZXJ0eVxuICAgICAgICAkbmV3LXZhbHVlOiAkdmFsdWU7XG4gICAgICB9XG5cbiAgICAgIC8vIEZpbmFsbHksIG1lcmdlIHRoZSBtb2RpZmllZCBrZXlmcmFtZSB2YWx1ZSBpbnRvIHRoZSBvdXRwdXQgbWFwXG4gICAgICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAoJGtleTogJG5ldy12YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIC8vIE1ha2UgYSBuYW1lIGZvciB0aGUga2V5ZnJhbWVzXG4gICQtbXVpLWN1c3RvbTogJC1tdWktY3VzdG9tICsgMSAhZ2xvYmFsO1xuICAkbWFwLW5hbWU6IChuYW1lOiAnY3VzdG9tLSN7JC1tdWktY3VzdG9tfScpO1xuICAkbmV3LW1hcDogbWFwLW1lcmdlKCRuZXctbWFwLCAkbWFwLW5hbWUpO1xuXG4gIEByZXR1cm4gJG5ldy1tYXA7XG59XG5cbi8vLyBDb21iaW5lcyB0d28gbWFwcyBvZiBDU1MgcHJvcGVydGllcyBpbnRvIG9uZSBtYXAuIElmIGJvdGggbWFwcyBoYXZlIGEgdHJhbnNmb3JtIHByb3BlcnR5LCB0aGUgdmFsdWVzIGZyb20gZWFjaCB3aWxsIGJlIGNvbWJpbmVkIGludG8gb25lIHByb3BlcnR5LlxuLy8vIEBwYXJhbSB7TWFwfSAkb25lIC0gRmlyc3QgbWFwIHRvIG1lcmdlLlxuLy8vIEBwYXJhbSB7TWFwfSAkdHdvIC0gU2Vjb25kIG1hcCB0byBtZXJnZS5cbi8vLyBAcmV0dXJuIHtNYXB9IEEgY29tYmluZWQgbWFwLlxuLy8vIEBhY2Nlc3MgcHJpdmF0ZVxuQGZ1bmN0aW9uIC1tdWktbWVyZ2UtcHJvcGVydGllcygkb25lLCAkdHdvKSB7XG4gIEBpZiBtYXAtaGFzLWtleSgkb25lLCB0cmFuc2Zvcm0pIGFuZCBtYXAtaGFzLWtleSgkdHdvLCB0cmFuc2Zvcm0pIHtcbiAgICAkdHJhbnNmb3JtOiBqb2luKG1hcC1nZXQoJG9uZSwgdHJhbnNmb3JtKSwgbWFwLWdldCgkdHdvLCB0cmFuc2Zvcm0pKTtcbiAgICAkb25lOiBtYXAtbWVyZ2UoJG9uZSwgKHRyYW5zZm9ybTogJHRyYW5zZm9ybSkpO1xuICAgICR0d286IG1hcC1yZW1vdmUoJHR3bywgdHJhbnNmb3JtKTtcbiAgfVxuXG4gIEByZXR1cm4gbWFwLW1lcmdlKCRvbmUsICR0d28pO1xufVxuIiwiLy8vIENyZWF0ZXMgYSBzbGlkaW5nIHRyYW5zaXRpb24gYnkgdHJhbnNsYXRpbmcgdGhlIGVsZW1lbnQgaG9yaXpvbnRhbGx5IG9yIHZlcnRpY2FsbHkuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZGlyZWN0aW9uIFtsZWZ0XSAtIERpcmVjdGlvbiB0byBzbGlkZSB0by4gQ2FuIGJlIGB1cGAsIGByaWdodGAsIGBkb3duYCwgb3IgYGxlZnRgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkYW1vdW50IFsxMDAlXSAtIExlbmd0aCBvZiB0aGUgc2xpZGUgYXMgYSBwZXJjZW50YWdlIHZhbHVlLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGZhZGUgW2ZhbHNlXSAtIFNldCB0byBgdHJ1ZWAgdG8gZmFkZSB0aGUgZWxlbWVudCBpbiBvciBvdXQgc2ltdWx0YW5lb3VzbHkuXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGR1cmF0aW9uIFtudWxsXSAtIExlbmd0aCAoc3BlZWQpIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7S2V5d29yZHxGdW5jdGlvbn0gJHRpbWluZyBbbnVsbF0gLSBFYXNpbmcgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtEdXJhdGlvbn0gJGRlbGF5IFtudWxsXSAtIERlbGF5IGluIHNlY29uZHMgb3IgbWlsbGlzZWNvbmRzIGJlZm9yZSB0aGUgdHJhbnNpdGlvbiBzdGFydHMuXG5AbWl4aW4gbXVpLXNsaWRlIChcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogbGVmdCxcbiAgJGFtb3VudDogMTAwJSxcbiAgJGZhZGU6IG1hcC1nZXQoJG1vdGlvbi11aS1zZXR0aW5ncywgc2xpZGUtYW5kLWZhZGUpLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRzbGlkZTogc2xpZGUoJHN0YXRlLCAkZGlyZWN0aW9uLCAkYW1vdW50KTtcblxuICAvLyBDU1MgT3V0cHV0XG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzbGlkZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG5cbiAgICBiYWNrZmFjZS12aXNpYmlsaXR5OiBoaWRkZW47XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkc2xpZGUsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgZmFkZSB0cmFuc2l0aW9uIGJ5IGFkanVzdGluZyB0aGUgb3BhY2l0eSBvZiB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzBdIC0gT3BhY2l0eSB0byBzdGFydCBhdC4gTXVzdCBiZSBhIG51bWJlciBiZXR3ZWVuIDAgYW5kIDEuXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICR0byBbMV0gLSBPcGFjaXR5IHRvIGVuZCBvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1mYWRlKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMCxcbiAgJHRvOiAxLFxuICAkZHVyYXRpb246IG51bGwsXG4gICR0aW1pbmc6IG51bGwsXG4gICRkZWxheTogbnVsbFxuKSB7XG4gICRmYWRlOiBmYWRlKCRmcm9tLCAkdG8pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRmYWRlLCAwKTtcblxuICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IG9wYWNpdHk7XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkZmFkZSwgMTAwKTtcbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBoaW5nZSBlZmZlY3QgYnkgcm90YXRpbmcgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkZnJvbSBbbGVmdF0gLSBFZGdlIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBmcm9tLiBDYW4gYmUgYHRvcGAsIGByaWdodGAsIGBib3R0b21gLCBvciBgbGVmdGAuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkYXhpcyBbZWRnZV0gLSBBeGlzIG9mIHRoZSBlbGVtZW50IHRvIHJvdGF0ZSBvbi4gQ2FuIGJlIGBlZGdlYCBvciBgY2VudGVyYC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJHBlcnNwZWN0aXZlIFsyMDAwcHhdIC0gUGVyY2VpdmVkIGRpc3RhbmNlIGJldHdlZW4gdGhlIHZpZXdlciBhbmQgdGhlIGVsZW1lbnQuIEEgaGlnaGVyIG51bWJlciB3aWxsIG1ha2UgdGhlIHJvdGF0aW9uIGVmZmVjdCBtb3JlIHByb25vdW5jZWQuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkdHVybi1vcmlnaW4gW2Zyb20tYmFja10gLSBTaWRlIG9mIHRoZSBlbGVtZW50IHRvIHN0YXJ0IHRoZSByb3RhdGlvbiBmcm9tLiBDYW4gYmUgYGZyb20tYmFja2Agb3IgYGZyb20tZnJvbnRgLlxuQGZ1bmN0aW9uIGhpbmdlIChcbiAgJHN0YXRlOiBpbixcbiAgJGZyb206IGxlZnQsXG4gICRheGlzOiBlZGdlLFxuICAkcGVyc3BlY3RpdmU6IDIwMDBweCxcbiAgJHR1cm4tb3JpZ2luOiBmcm9tLWJhY2tcbikge1xuICAvLyBSb3RhdGlvbiBkaXJlY3Rpb25zIHdoZW4gaGluZ2luZyBmcm9tIGJhY2sgdnMuIGZyb250XG4gICRyb3RhdGlvbi1hbW91bnQ6IDkwZGVnO1xuICAkcm90YXRpb25zLWJhY2s6IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCAqIC0xKSxcbiAgICByaWdodDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICAgIGJvdHRvbTogcm90YXRlWCgkcm90YXRpb24tYW1vdW50KSxcbiAgICBsZWZ0OiByb3RhdGVZKCRyb3RhdGlvbi1hbW91bnQpLFxuICApO1xuICAkcm90YXRpb25zLWZyb206IChcbiAgICB0b3A6IHJvdGF0ZVgoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgcmlnaHQ6IHJvdGF0ZVkoJHJvdGF0aW9uLWFtb3VudCksXG4gICAgYm90dG9tOiByb3RhdGVYKCRyb3RhdGlvbi1hbW91bnQgKiAtMSksXG4gICAgbGVmdDogcm90YXRlWSgkcm90YXRpb24tYW1vdW50ICogLTEpLFxuICApO1xuXG4gIC8vIFJvdGF0aW9uIG9yaWdpblxuICAkcm90YXRpb246ICcnO1xuICBAaWYgJHR1cm4tb3JpZ2luID09IGZyb20tZnJvbnQge1xuICAgICRyb3RhdGlvbjogbWFwLWdldCgkcm90YXRpb25zLWZyb20sICRmcm9tKTtcbiAgfSBAZWxzZSBpZiAkdHVybi1vcmlnaW4gPT0gZnJvbS1iYWNrIHtcbiAgICAkcm90YXRpb246IG1hcC1nZXQoJHJvdGF0aW9ucy1iYWNrLCAkZnJvbSk7XG4gIH0gQGVsc2Uge1xuICAgIEB3YXJuICckdHVybi1vcmlnaW4gbXVzdCBiZSBlaXRoZXIgXCJmcm9tLWJhY2tcIiBvciBcImZyb20tZnJvbnRcIic7XG4gIH1cblxuICAvLyBTdGFydCBhbmQgZW5kIHN0YXRlXG4gICRzdGFydDogJyc7XG4gICRlbmQ6ICcnO1xuICBAaWYgJHN0YXRlID09IGluIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICB9IEBlbHNlIHtcbiAgICAkc3RhcnQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgcm90YXRlKDBkZWcpO1xuICAgICRlbmQ6IHBlcnNwZWN0aXZlKCRwZXJzcGVjdGl2ZSkgJHJvdGF0aW9uO1xuICB9XG5cbiAgLy8gVHVybiBheGlzXG4gICRvcmlnaW46ICcnO1xuICBAaWYgJGF4aXMgPT0gZWRnZSB7XG4gICAgJG9yaWdpbjogJGZyb207XG4gIH0gQGVsc2Uge1xuICAgICRvcmlnaW46IGNlbnRlcjtcbiAgfVxuXG4gICRrZXlmcmFtZXM6IChcbiAgICBuYW1lOiAnaGluZ2UtI3skc3RhdGV9LSN7JGZyb219LSN7JGF4aXN9LSN7JHR1cm4tb3JpZ2lufScsXG4gICAgMDogKHRyYW5zZm9ybTogJHN0YXJ0LCB0cmFuc2Zvcm0tb3JpZ2luOiAkb3JpZ2luKSxcbiAgICAxMDA6ICh0cmFuc2Zvcm06ICRlbmQpLFxuICApO1xuXG4gIEByZXR1cm4gJGtleWZyYW1lcztcbn1cbiIsIi8vLyBDcmVhdGVzIGEgaGluZ2UgdHJhbnNpdGlvbiBieSByb3RhdGluZyB0aGUgZWxlbWVudC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRzdGF0ZSBbaW5dIC0gU3RhdGUgdG8gdHJhbnNpdGlvbiB0by5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRmcm9tIFtsZWZ0XSAtIEVkZ2Ugb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIGZyb20uIENhbiBiZSBgdG9wYCwgYHJpZ2h0YCwgYGJvdHRvbWAsIG9yIGBsZWZ0YC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICRheGlzIFtlZGdlXSAtIEF4aXMgb2YgdGhlIGVsZW1lbnQgdG8gcm90YXRlIG9uLiBDYW4gYmUgYGVkZ2VgIG9yIGBjZW50ZXJgLlxuLy8vIEBwYXJhbSB7TGVuZ3RofSAkcGVyc3BlY3RpdmUgWzIwMDBweF0gLSBQZXJjZWl2ZWQgZGlzdGFuY2UgYmV0d2VlbiB0aGUgdmlld2VyIGFuZCB0aGUgZWxlbWVudC4gQSBoaWdoZXIgbnVtYmVyIHdpbGwgbWFrZSB0aGUgcm90YXRpb24gZWZmZWN0IG1vcmUgcHJvbm91bmNlZC5cbi8vLyBAcGFyYW0ge0tleXdvcmR9ICR0dXJuLW9yaWdpbiBbZnJvbS1iYWNrXSAtIFNpZGUgb2YgdGhlIGVsZW1lbnQgdG8gc3RhcnQgdGhlIHJvdGF0aW9uIGZyb20uIENhbiBiZSBgZnJvbS1iYWNrYCBvciBgZnJvbS1mcm9udGAuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS1oaW5nZSAoXG4gICRzdGF0ZTogaW4sXG4gICRmcm9tOiBsZWZ0LFxuICAkYXhpczogZWRnZSxcbiAgJHBlcnNwZWN0aXZlOiAyMDAwcHgsXG4gICR0dXJuLW9yaWdpbjogZnJvbS1iYWNrLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBoaW5nZS1hbmQtZmFkZSksXG4gICRkdXJhdGlvbjogbnVsbCxcbiAgJHRpbWluZzogbnVsbCxcbiAgJGRlbGF5OiBudWxsXG4pIHtcbiAgJGhpbmdlOiBoaW5nZSgkc3RhdGUsICRmcm9tLCAkYXhpcywgJHBlcnNwZWN0aXZlLCAkdHVybi1vcmlnaW4pO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRoaW5nZSwgMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAwLCAxKTtcbiAgICB9IEBlbHNlIHtcbiAgICAgIHRyYW5zaXRpb24tcHJvcGVydHk6IHRyYW5zZm9ybSwgb3BhY2l0eTtcbiAgICB9XG4gIH1cblxuICBAaW5jbHVkZSB0cmFuc2l0aW9uLWVuZCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSAtbXVpLWtleWZyYW1lLWdldCgkaGluZ2UsIDEwMCk7XG5cbiAgICBAaWYgJGZhZGUge1xuICAgICAgb3BhY2l0eTogaWYoJHN0YXRlID09IGluLCAxLCAwKTtcbiAgICB9XG4gIH1cbn1cbiIsIi8vLyBDcmVhdGVzIGEgc2NhbGluZyB0cmFuc2l0aW9uLiBBIHNjYWxlIG9mIGAxYCBtZWFucyB0aGUgZWxlbWVudCBpcyB0aGUgc2FtZSBzaXplLiBMYXJnZXIgbnVtYmVycyBtYWtlIHRoZSBlbGVtZW50IGJpZ2dlciwgd2hpbGUgbnVtYmVycyBsZXNzIHRoYW4gMSBtYWtlIHRoZSBlbGVtZW50IHNtYWxsZXIuXG4vLy8gQHBhcmFtIHtLZXl3b3JkfSAkc3RhdGUgW2luXSAtIFN0YXRlIHRvIHRyYW5zaXRpb24gdG8uXG4vLy8gQHBhcmFtIHtOdW1iZXJ9ICRmcm9tIFsxLjVdIC0gU2l6ZSB0byBzdGFydCBhdC5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGZyb20gWzFdIC0gU2l6ZSB0byBlbmQgYXQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbdHJ1ZV0gLSBTZXQgdG8gYHRydWVgIHRvIGZhZGUgdGhlIGVsZW1lbnQgaW4gb3Igb3V0IHNpbXVsdGFuZW91c2x5LlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkdXJhdGlvbiBbbnVsbF0gLSBMZW5ndGggKHNwZWVkKSBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0tleXdvcmR8RnVuY3Rpb259ICR0aW1pbmcgW251bGxdIC0gRWFzaW5nIG9mIHRoZSB0cmFuc2l0aW9uLlxuLy8vIEBwYXJhbSB7RHVyYXRpb259ICRkZWxheSBbbnVsbF0gLSBEZWxheSBpbiBzZWNvbmRzIG9yIG1pbGxpc2Vjb25kcyBiZWZvcmUgdGhlIHRyYW5zaXRpb24gc3RhcnRzLlxuQG1peGluIG11aS16b29tKFxuICAkc3RhdGU6IGluLFxuICAkZnJvbTogMS41LFxuICAkdG86IDEsXG4gICRmYWRlOiBtYXAtZ2V0KCRtb3Rpb24tdWktc2V0dGluZ3MsIHNjYWxlLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc2NhbGU6IHpvb20oJGZyb20sICR0byk7XG5cbiAgQGluY2x1ZGUgdHJhbnNpdGlvbi1zdGFydCgkc3RhdGUpIHtcbiAgICBAaW5jbHVkZSB0cmFuc2l0aW9uLWJhc2ljcygkZHVyYXRpb24sICR0aW1pbmcsICRkZWxheSk7XG4gICAgQGluY2x1ZGUgLW11aS1rZXlmcmFtZS1nZXQoJHNjYWxlLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzY2FsZSwgMTAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDEsIDApO1xuICAgIH1cbiAgfVxufVxuIiwiLy8vIENyZWF0ZXMgYSBzcGlubmluZyB0cmFuc2l0aW9uIGJ5IHJvdGF0aW5nIHRoZSBlbGVtZW50LiBUaGUgYHR1cm5gIHVuaXQgaXMgdXNlZCB0byBzcGVjaWZ5IGhvdyBmYXIgdG8gcm90YXRlLiBgMXR1cm5gIGlzIGVxdWFsIHRvIGEgMzYwLWRlZ3JlZSBzcGluLlxuLy8vIEBwYXJhbSB7S2V5d29yZH0gJHN0YXRlIFtpbl0gLSBTdGF0ZSB0byB0cmFuc2l0aW9uIHRvLlxuLy8vIEBwYXJhbSB7Qm9vbGVhbn0gJGRpcmVjdGlvbiBbY3ddIC0gRGlyZWN0aW9uIHRvIHNwaW4uIFNob3VsZCBiZSBgY3dgIChjbG9ja3dpc2UpIG9yIGBjY3dgIChjb3VudGVyY2xvY2t3aXNlKS5cbi8vLyBAcGFyYW0ge051bWJlcn0gJGFtb3VudCBbMC43NXR1cm5dIC0gQW1vdW50IHRvIGVsZW1lbnQgdGhlIGVsZW1lbnQuXG4vLy8gQHBhcmFtIHtCb29sZWFufSAkZmFkZSBbZmFsc2VdIC0gU2V0IHRvIGB0cnVlYCB0byBmYWRlIHRoZSBlbGVtZW50IGluIG9yIG91dCBzaW11bHRhbmVvdXNseS5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZHVyYXRpb24gW251bGxdIC0gTGVuZ3RoIChzcGVlZCkgb2YgdGhlIHRyYW5zaXRpb24uXG4vLy8gQHBhcmFtIHtLZXl3b3JkfEZ1bmN0aW9ufSAkdGltaW5nIFtudWxsXSAtIEVhc2luZyBvZiB0aGUgdHJhbnNpdGlvbi5cbi8vLyBAcGFyYW0ge0R1cmF0aW9ufSAkZGVsYXkgW251bGxdIC0gRGVsYXkgaW4gc2Vjb25kcyBvciBtaWxsaXNlY29uZHMgYmVmb3JlIHRoZSB0cmFuc2l0aW9uIHN0YXJ0cy5cbkBtaXhpbiBtdWktc3BpbihcbiAgJHN0YXRlOiBpbixcbiAgJGRpcmVjdGlvbjogY3csXG4gICRhbW91bnQ6IDAuNzV0dXJuLFxuICAkZmFkZTogbWFwLWdldCgkbW90aW9uLXVpLXNldHRpbmdzLCBzcGluLWFuZC1mYWRlKSxcbiAgJGR1cmF0aW9uOiBudWxsLFxuICAkdGltaW5nOiBudWxsLFxuICAkZGVsYXk6IG51bGxcbikge1xuICAkc3Bpbjogc3Bpbigkc3RhdGUsICRkaXJlY3Rpb24sICRhbW91bnQpO1xuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tc3RhcnQoJHN0YXRlKSB7XG4gICAgQGluY2x1ZGUgdHJhbnNpdGlvbi1iYXNpY3MoJGR1cmF0aW9uLCAkdGltaW5nLCAkZGVsYXkpO1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAwKTtcblxuICAgIEBpZiAkZmFkZSB7XG4gICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiB0cmFuc2Zvcm0sIG9wYWNpdHk7XG4gICAgICBvcGFjaXR5OiBpZigkc3RhdGUgPT0gaW4sIDAsIDEpO1xuICAgIH0gQGVsc2Uge1xuICAgICAgdHJhbnNpdGlvbi1wcm9wZXJ0eTogdHJhbnNmb3JtLCBvcGFjaXR5O1xuICAgIH1cbiAgfVxuXG4gIEBpbmNsdWRlIHRyYW5zaXRpb24tZW5kKCRzdGF0ZSkge1xuICAgIEBpbmNsdWRlIC1tdWkta2V5ZnJhbWUtZ2V0KCRzcGluLCAxMDApO1xuXG4gICAgQGlmICRmYWRlIHtcbiAgICAgIG9wYWNpdHk6IGlmKCRzdGF0ZSA9PSBpbiwgMSwgMCk7XG4gICAgfVxuICB9XG59XG4iLCIvLy8gQ3JlYXRlcyBhIGtleWZyYW1lIGZyb20gb25lIG9yIG1vcmUgZWZmZWN0IGZ1bmN0aW9ucyBhbmQgYXNzaWducyBpdCB0byB0aGUgZWxlbWVudCBieSBhZGRpbmcgdGhlIGBhbmltYXRpb24tbmFtZWAgcHJvcGVydHkuXG4vLy8gQHBhcmFtIHtGdW5jdGlvbn0gJGVmZmVjdHMuLi4gLSBPbmUgb3IgbW9yZSBlZmZlY3QgZnVuY3Rpb25zIHRvIGJ1aWxkIHRoZSBrZXlmcmFtZSB3aXRoLlxuQG1peGluIG11aS1hbmltYXRpb24oJGFyZ3MuLi4pIHtcbiAgJG5hbWU6IG1hcC1nZXQoLW11aS1wcm9jZXNzLWFyZ3MoJGFyZ3MuLi4pLCBuYW1lKTtcbiAgQGluY2x1ZGUgbXVpLWtleWZyYW1lcygkbmFtZSwgJGFyZ3MuLi4pO1xuICBhbmltYXRpb24tbmFtZTogdW5xdW90ZSgkbmFtZSk7XG59XG4iLCJcbi5yZXNwb25zaXZlLWVtYmVkLFxuLmZsZXgtdmlkZW8ge1xuICAgIGhlaWdodDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxcmVtO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZy1ib3R0b206IDc1JTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5yZXNwb25zaXZlLWVtYmVkIGlmcmFtZSxcbi5yZXNwb25zaXZlLWVtYmVkIG9iamVjdCxcbi5yZXNwb25zaXZlLWVtYmVkIGVtYmVkLFxuLnJlc3BvbnNpdmUtZW1iZWQgdmlkZW8sXG4uZmxleC12aWRlbyBpZnJhbWUsXG4uZmxleC12aWRlbyBvYmplY3QsXG4uZmxleC12aWRlbyBlbWJlZCxcbi5mbGV4LXZpZGVvIHZpZGVvIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xufVxuXG4ucmVzcG9uc2l2ZS1lbWJlZCBpZnJhbWUge1xuICAgIGJvcmRlcjogMDtcbn1cblxuLnJlc3BvbnNpdmUtZW1iZWQud2lkZXNjcmVlbixcbi5mbGV4LXZpZGVvLndpZGVzY3JlZW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7XG59XG4iLCIvKiBDaHJvbWUgaGFjazogU1ZHIGlzIHJlbmRlcmVkIG1vcmUgc21vb3RoIGluIFdpbmRvenplLiAxMDAlIG1hZ2ljLCB1bmNvbW1lbnQgaWYgeW91IG5lZWQgaXQuICovXG4vKiBOb3RlLCB0aGF0IHdpbGwgYnJlYWsgaGludGluZyEgSW4gb3RoZXIgT1MtZXMgZm9udCB3aWxsIGJlIG5vdCBhcyBzaGFycCBhcyBpdCBjb3VsZCBiZSAqL1xuLypcbkBtZWRpYSBzY3JlZW4gYW5kICgtd2Via2l0LW1pbi1kZXZpY2UtcGl4ZWwtcmF0aW86MCkge1xuICBAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ2ZvbnRlbGxvJztcbiAgICBzcmM6IHVybCgnLi4vZm9udC9mb250ZWxsby5zdmc/NjI3NTE1MDMjZm9udGVsbG8nKSBmb3JtYXQoJ3N2ZycpO1xuICB9XG59XG4qL1xuW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG5bY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG5cbiAgICAvKiB5b3UgY2FuIGJlIG1vcmUgY29tZm9ydGFibGUgd2l0aCBpbmNyZWFzZWQgaWNvbnMgc2l6ZSAqL1xuICAgIC8qIGZvbnQtc2l6ZTogMTIwJTsgKi9cblxuICAgIC8qIEZvbnQgc21vb3RoaW5nLiBUaGF0IHdhcyB0YWtlbiBmcm9tIFRXQlMgKi9cbiAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAvKiBvcGFjaXR5OiAuODsgKi9cblxuICAgIC8qIEZvciBzYWZldHkgLSByZXNldCBwYXJlbnQgc3R5bGVzLCB0aGF0IGNhbiBicmVhayBnbHlwaCBjb2RlcyovXG4gICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIC8qIGZpeCBidXR0b25zIGhlaWdodCwgZm9yIHR3aXR0ZXIgYm9vdHN0cmFwICovXG4gICAgbGluZS1oZWlnaHQ6IDFlbTtcblxuICAgIC8qIEFuaW1hdGlvbiBjZW50ZXIgY29tcGVuc2F0aW9uIC0gbWFyZ2lucyBzaG91bGQgYmUgc3ltbWV0cmljICovXG4gICAgLyogcmVtb3ZlIGlmIG5vdCBuZWVkZWQgKi9cbiAgICBtYXJnaW4tbGVmdDogMC4yZW07XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjJlbTtcbiAgICBzcGVhazogbmV2ZXI7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICB3aWR0aDogMWVtO1xuXG4gICAgLyogVW5jb21tZW50IGZvciAzRCBlZmZlY3QgKi9cbiAgICAvKiB0ZXh0LXNoYWRvdzogMXB4IDFweCAxcHggcmdiYSgxMjcsIDEyNywgMTI3LCAwLjMpOyAqL1xufVxuXG4uaWNvbi1hbGVydDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDBcIjsgfSAvKiAn7qCAJyAqL1xuLmljb24tY2FydDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDFcIjsgfSAvKiAn7qCBJyAqL1xuLmljb24tY3VzdG9tZXJjYXJlcGxhbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDJcIjsgfSAvKiAn7qCCJyAqL1xuLmljb24tbGl2ZWNoYXQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODAzXCI7IH0gLyogJ+6ggycgKi9cbi5pY29uLWxvY2F0aW9uOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwNFwiOyB9IC8qICfuoIQnICovXG4uaWNvbi1zZWFyY2g6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODA1XCI7IH0gLyogJ+6ghScgKi9cbi5pY29uLXNldmVyZXdlYXRoZXJkZXNpZ25hdGlvbjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MDZcIjsgfSAvKiAn7qCGJyAqL1xuLmljb24tY2FuY2VsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwN1wiOyB9IC8qICfuoIcnICovXG4uaWNvbi13aGVlbHdhcnJhbnR5OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwOFwiOyB9IC8qICfuoIgnICovXG4uaWNvbi1teWFjY291bnQ6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODA5XCI7IH0gLyogJ+6giScgKi9cbi5pY29uLWNvbnRhY3Q6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODBhXCI7IH0gLyogJ+6giicgKi9cbi5pY29uLXBsdXM6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODBiXCI7IH0gLyogJ+6giycgKi9cbi5pY29uLW1pbnVzOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwY1wiOyB9IC8qICfuoIwnICovXG4uaWNvbi1zdGFyOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwZFwiOyB9IC8qICfuoI0nICovXG4uaWNvbi11cC1vcGVuOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgwZVwiOyB9IC8qICfuoI4nICovXG4uaWNvbi1kb3duLW9wZW46OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODBmXCI7IH0gLyogJ+6gjycgKi9cbi5pY29uLWFjY2Vzc2liaWxpdHk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODEwXCI7IH0gLyogJ+6gkCcgKi9cbi5pY29uLWNpcmNsZS1jaGVja2VkOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxMVwiOyB9IC8qICfuoJEnICovXG4uaWNvbi1wcmludDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTJcIjsgfSAvKiAn7qCSJyAqL1xuLmljb24tbGVmdC1vcGVuOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxM1wiOyB9IC8qICfuoJMnICovXG4uaWNvbi1yaWdodC1vcGVuOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxNFwiOyB9IC8qICfuoJQnICovXG4uaWNvbi10aHVtYnMtZG93bjo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTVcIjsgfSAvKiAn7qCVJyAqL1xuLmljb24tdGlyZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MTZcIjsgfSAvKiAn7qCWJyAqL1xuLmljb24tY2FsZW5kYXI6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODE3XCI7IH0gLyogJ+6glycgKi9cbi5pY29uLXBob25lOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxOFwiOyB9IC8qICfuoJgnICovXG4uaWNvbi1sb2NrOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxOVwiOyB9IC8qICfuoJknICovXG4uaWNvbi10ZXN0ZWQtYnkta2FsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyMFwiOyB9IC8qICfuoKAnICovXG4uaWNvbi10aHVtYnMtdXA6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODIxXCI7IH0gLyogJ+6goScgKi9cbi5pY29uLXN0YXItZW1wdHk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODIyXCI7IH0gLyogJ+6goicgKi9cbi5pY29uLXBsYXk6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODIzXCI7IH0gLyogJ+6goycgKi9cbi5pY29uLXdoZWVsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyNFwiOyB9IC8qICfuoKQnICovXG4uaWNvbi1tYWludGVuYW5jZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjVcIjsgfSAvKiAn7qClJyAqL1xuLmljb24tc2Vhc29uYWwtYWxsOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyNlwiOyB9IC8qICfuoKYnICovXG4uaWNvbi1nZWFyczo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjdcIjsgfSAvKiAn7qCnJyAqL1xuLmljb24tYm9vazo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MjhcIjsgfSAvKiAn7qCoJyAqL1xuLmljb24tZmlsdGVyOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyOVwiOyB9IC8qICfuoKknICovXG4uaWNvbi1jYWxlbmRhci1pY29uOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyY1wiOyB9IC8qICfuoKwnICovXG4uaWNvbi1zbm93Zmxha2U6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODJkXCI7IH0gLyogJ+6grScgKi9cbi5pY29uLWJ1eW5vd3BheWxhdGVyOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgyZVwiOyB9IC8qICfuoK4nICovXG4uaWNvbi1hbmdsZS1sZWZ0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjEwNFwiOyB9IC8qICfvhIQnICovXG4uaWNvbi1hbmdsZS1yaWdodDo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMDVcIjsgfSAvKiAn74SFJyAqL1xuLmljb24tYW5nbGUtdXA6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA2XCI7IH0gLyogJ++EhicgKi9cbi5pY29uLWFuZ2xlLWRvd246OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMTA3XCI7IH0gLyogJ++EhycgKi9cbi5pY29uLWNpcmNsZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMTFcIjsgfSAvKiAn74SRJyAqL1xuLmljb24tY2lyY2xlLXRoaW46OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxmMWRiXCI7IH0gLyogXCLvh5tcIiAqL1xuLmljb24tc3Rhci1oYWxmLWFsdDo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxMjNcIjsgfSAvKiAn74SjJyAqL1xuLmljb24td2lmaTo6YmVmb3JlIHsgY29udGVudDogXCJcXGYxZWJcIjsgfSAvKiAn74erJyAqL1xuLmljb24tYnVzOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZjIwN1wiOyB9IC8qICfviIcnICovXG4uaWNvbi1leGNoYW5nZTo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MmZcIjsgfSAvKiAn7qCvJyAqL1xuLmljb24tcHJpY2UtbWF0Y2gtZ3VhcmFudGVlLWxpbmU6OmJlZm9yZSB7IGNvbnRlbnQ6IFwiXFxlODYwXCI7fSAvKiAn7qGgJyAqL1xuLmljb24tdGljazo6YmVmb3JlIHtjb250ZW50OiBcIlxcZTgzMVwiO30gLyogJ+6gsicgKi9cbi5pY29uLWN1c3RvbWVyLWNhcmUtcGxhbi1saW5lOjpiZWZvcmUge2NvbnRlbnQ6IFwiXFxlODMyXCI7fSAvKiAn7qCzJyAqL1xuLmljb24tYnJha2VzLXF1YWxpdHktcGFydHM6OmJlZm9yZSB7Y29udGVudDogXCJcXGU4MzNcIjt9IC8qICfuoLQnICovXG4uaWNvbi1icmFrZXMtbm8tc3VycHJpc2VzOjpiZWZvcmUge2NvbnRlbnQ6IFwiXFxlODM0XCI7fSAvKiAn7qC1JyAqL1xuLmljb24tbWFpbDo6YmVmb3JlIHsgY29udGVudDogXCJcXGU4MWFcIjsgfSAvKiAn7qCaJyAqL1xuLmljb24tcmVzZW5kOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxYlwiOyB9IC8qICfuoJsnICovXG4uaWNvbi1jaGF0OjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgxY1wiOyB9IC8qICfuoJwnICovXG4uaWNvbi1uZXctdGFiOjpiZWZvcmUgeyBjb250ZW50OiBcIlxcZTgzNlwiOyB9IC8qICfuoLknICovXG4iLCJAY2hhcnNldCAnVVRGLTgnO1xuXG4vKiBJY29ucyAqL1xuQGZvbnQtZmFjZSB7XG4gICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICBmb250LXN0eWxlOiBub3JtYWw7XG4gICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcblxuICAgIHNyYzogdXJsKFwiLi9mb250cy9zbGljay5lb3RcIik7XG4gICAgc3JjOiB1cmwoXCIuL2ZvbnRzL3NsaWNrLmVvdD8jaWVmaXhcIikgZm9ybWF0KFwiZW1iZWRkZWQtb3BlbnR5cGVcIiksIHVybChcIi4vZm9udHMvc2xpY2sud29mZlwiKSBmb3JtYXQoXCJ3b2ZmXCIpLCB1cmwoXCIuL2ZvbnRzL3NsaWNrLnR0ZlwiKSBmb3JtYXQoXCJ0cnVldHlwZVwiKSwgdXJsKFwiLi9mb250cy9zbGljay5zdmcjc2xpY2tcIikgZm9ybWF0KFwic3ZnXCIpO1xufVxuLyogQXJyb3dzICovXG4uc2xpY2stcHJldixcbi5zbGljay1uZXh0IHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG5cbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG5cbiAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDA7XG4gICAgaGVpZ2h0OiAyMHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAwO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcblxuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgwLCAtNTAlKTtcblxuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4uc2xpY2stcHJldjpob3Zlcixcbi5zbGljay1wcmV2OmZvY3VzLFxuLnNsaWNrLW5leHQ6aG92ZXIsXG4uc2xpY2stbmV4dDpmb2N1cyB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zbGljay1wcmV2OmhvdmVyOjpiZWZvcmUsXG4uc2xpY2stcHJldjpmb2N1czo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6aG92ZXI6OmJlZm9yZSxcbi5zbGljay1uZXh0OmZvY3VzOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5zbGljay1wcmV2LnNsaWNrLWRpc2FibGVkOjpiZWZvcmUsXG4uc2xpY2stbmV4dC5zbGljay1kaXNhYmxlZDo6YmVmb3JlIHtcbiAgICBvcGFjaXR5OiAwLjI1O1xufVxuXG4uc2xpY2stcHJldjo6YmVmb3JlLFxuLnNsaWNrLW5leHQ6OmJlZm9yZSB7XG4gICAgY29sb3I6ICR3aGl0ZTtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcblxuICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICBvcGFjaXR5OiAwLjc1O1xufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLXByZXYge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNXB4O1xufVxuXG4uc2xpY2stcHJldjo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGkFwiO1xufVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1wcmV2OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaSXCI7XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG59XG5cbltkaXI9XCJydGxcIl0gLnNsaWNrLW5leHQge1xuICAgIGxlZnQ6IC0yNXB4O1xuICAgIHJpZ2h0OiBhdXRvO1xufVxuXG4uc2xpY2stbmV4dDo6YmVmb3JlIHtcbiAgICBjb250ZW50OiBcIuKGklwiO1xufVxuXG5bZGlyPVwicnRsXCJdIC5zbGljay1uZXh0OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6IFwi4oaQXCI7XG59XG5cbi8qIERvdHMgKi9cbi5zbGljay1kb3R0ZWQuc2xpY2stc2xpZGVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xufVxuXG4uc2xpY2stZG90cyB7XG4gICAgYm90dG9tOiAtMjVweDtcblxuICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG5cbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLnNsaWNrLWRvdHMgbGkge1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBtYXJnaW46IDAgNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgd2lkdGg6IDIwcHg7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xuXG4gICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMDtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHBhZGRpbmc6IDVweDtcblxuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4uc2xpY2stZG90cyBsaSBidXR0b246aG92ZXIsXG4uc2xpY2stZG90cyBsaSBidXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjpob3Zlcjo6YmVmb3JlLFxuLnNsaWNrLWRvdHMgbGkgYnV0dG9uOmZvY3VzOjpiZWZvcmUge1xuICAgIG9wYWNpdHk6IDE7XG59XG5cbi5zbGljay1kb3RzIGxpIGJ1dHRvbjo6YmVmb3JlIHtcbiAgICBjb2xvcjogJGJsYWNrO1xuXG4gICAgY29udGVudDogXCLigKJcIjtcbiAgICBmb250LWZhbWlseTogXCJzbGlja1wiO1xuICAgIGZvbnQtc2l6ZTogNnB4O1xuXG4gICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgbGVmdDogMDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgIG9wYWNpdHk6IDAuMjU7XG5cbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIHRvcDogMDtcblxuICAgIHdpZHRoOiAyMHB4O1xufVxuXG4uc2xpY2stZG90cyBsaS5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgb3BhY2l0eTogMC43NTtcbn1cblxuLy8gRGVmYXVsdCBWYXJpYWJsZXNcblxuLy8gU2xpY2sgaWNvbiBlbnRpdHkgY29kZXMgb3V0cHV0cyB0aGUgZm9sbG93aW5nXG4vLyBcIlxcMjE5MFwiIG91dHB1dHMgYXNjaWkgY2hhcmFjdGVyIFwi4oaQXCJcbi8vIFwiXFwyMTkyXCIgb3V0cHV0cyBhc2NpaSBjaGFyYWN0ZXIgXCLihpJcIlxuLy8gXCJcXDIwMjJcIiBvdXRwdXRzIGFzY2lpIGNoYXJhY3RlciBcIuKAolwiXG5cbiRzbGljay1mb250LXBhdGg6IFwiLi9mb250cy9cIiAhZGVmYXVsdDtcbiRzbGljay1mb250LWZhbWlseTogXCJzbGlja1wiICFkZWZhdWx0O1xuJHNsaWNrLWxvYWRlci1wYXRoOiBcIi4vXCIgIWRlZmF1bHQ7XG4kc2xpY2stYXJyb3ctY29sb3I6ICR3aGl0ZSAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3I6ICRibGFjayAhZGVmYXVsdDtcbiRzbGljay1kb3QtY29sb3ItYWN0aXZlOiAkc2xpY2stZG90LWNvbG9yICFkZWZhdWx0O1xuJHNsaWNrLXByZXYtY2hhcmFjdGVyOiBcIlxcMjE5MFwiICFkZWZhdWx0O1xuJHNsaWNrLW5leHQtY2hhcmFjdGVyOiBcIlxcMjE5MlwiICFkZWZhdWx0O1xuJHNsaWNrLWRvdC1jaGFyYWN0ZXI6IFwiXFwyMDIyXCIgIWRlZmF1bHQ7XG4kc2xpY2stZG90LXNpemU6IDZweCAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LWRlZmF1bHQ6IDAuNzUgIWRlZmF1bHQ7XG4kc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjogMSAhZGVmYXVsdDtcbiRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU6IDAuMjUgIWRlZmF1bHQ7XG5cbkBmdW5jdGlvbiBzbGljay1pbWFnZS11cmwoJHVybCkge1xuICAgIEBpZiBmdW5jdGlvbi1leGlzdHMoaW1hZ2UtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gaW1hZ2UtdXJsKCR1cmwpO1xuICAgIH1cbiAgICBAZWxzZSB7XG4gICAgICAgIEByZXR1cm4gdXJsKCRzbGljay1sb2FkZXItcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuQGZ1bmN0aW9uIHNsaWNrLWZvbnQtdXJsKCR1cmwpIHtcbiAgICBAaWYgZnVuY3Rpb24tZXhpc3RzKGZvbnQtdXJsKSB7XG4gICAgICAgIEByZXR1cm4gZm9udC11cmwoJHVybCk7XG4gICAgfVxuICAgIEBlbHNlIHtcbiAgICAgICAgQHJldHVybiB1cmwoJHNsaWNrLWZvbnQtcGF0aCArICR1cmwpO1xuICAgIH1cbn1cblxuLyogSWNvbnMgKi9cbkBpZiAkc2xpY2stZm9udC1mYW1pbHkgPT0gXCJzbGlja1wiIHtcbiAgICBAZm9udC1mYWNlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IFwic2xpY2tcIjtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90XCIpO1xuICAgICAgICBzcmM6IHNsaWNrLWZvbnQtdXJsKFwic2xpY2suZW90PyNpZWZpeFwiKSBmb3JtYXQoXCJlbWJlZGRlZC1vcGVudHlwZVwiKSwgc2xpY2stZm9udC11cmwoXCJzbGljay53b2ZmXCIpIGZvcm1hdChcIndvZmZcIiksIHNsaWNrLWZvbnQtdXJsKFwic2xpY2sudHRmXCIpIGZvcm1hdChcInRydWV0eXBlXCIpLCBzbGljay1mb250LXVybChcInNsaWNrLnN2ZyNzbGlja1wiKSBmb3JtYXQoXCJzdmdcIik7XG4gICAgfVxufVxuXG4vKiBBcnJvd3MgKi9cblxuLnNsaWNrLXByZXYsXG4uc2xpY2stbmV4dCB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgZm9udC1zaXplOiAwO1xuICAgIGhlaWdodDogMjBweDtcbiAgICBsaW5lLWhlaWdodDogMHB4O1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoMCwgLTUwJSk7XG4gICAgd2lkdGg6IDIwcHg7XG5cbiAgICAmOmhvdmVyLFxuICAgICY6Zm9jdXMge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1vbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2xpY2stZGlzYWJsZWQ6OmJlZm9yZSB7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LW5vdC1hY3RpdmU7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29sb3I6ICRzbGljay1hcnJvdy1jb2xvcjtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRzbGljay1mb250LWZhbWlseTtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAtd2Via2l0LWZvbnQtc21vb3RoaW5nOiBhbnRpYWxpYXNlZDtcbiAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG9wYWNpdHk6ICRzbGljay1vcGFjaXR5LWRlZmF1bHQ7XG4gICAgfVxufVxuXG4uc2xpY2stcHJldiB7XG4gICAgbGVmdDogLTI1cHg7XG5cbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiBhdXRvO1xuICAgICAgICByaWdodDogLTI1cHg7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLXByZXYtY2hhcmFjdGVyO1xuXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stbmV4dC1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zbGljay1uZXh0IHtcbiAgICByaWdodDogLTI1cHg7XG5cbiAgICBbZGlyPVwicnRsXCJdICYge1xuICAgICAgICBsZWZ0OiAtMjVweDtcbiAgICAgICAgcmlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgY29udGVudDogJHNsaWNrLW5leHQtY2hhcmFjdGVyO1xuXG4gICAgICAgIFtkaXI9XCJydGxcIl0gJiB7XG4gICAgICAgICAgICBjb250ZW50OiAkc2xpY2stcHJldi1jaGFyYWN0ZXI7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8qIERvdHMgKi9cblxuLnNsaWNrLWRvdHRlZC5zbGljay1zbGlkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbi5zbGljay1kb3RzIHtcbiAgICBib3R0b206IC0yNXB4O1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIGxpIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luOiAwIDVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMjBweDtcblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMDtcbiAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAwcHg7XG4gICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgICAgICY6aG92ZXIsXG4gICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiBub25lO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktb24taG92ZXI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkc2xpY2stZG90LWNvbG9yO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6ICRzbGljay1kb3QtY2hhcmFjdGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkc2xpY2stZm9udC1mYW1pbHk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAkc2xpY2stZG90LXNpemU7XG4gICAgICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAgICAgLW1vei1vc3gtZm9udC1zbW9vdGhpbmc6IGdyYXlzY2FsZTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAkc2xpY2stb3BhY2l0eS1ub3QtYWN0aXZlO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5zbGljay1hY3RpdmUgYnV0dG9uOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6ICRzbGljay1kb3QtY29sb3ItYWN0aXZlO1xuICAgICAgICAgICAgb3BhY2l0eTogJHNsaWNrLW9wYWNpdHktZGVmYXVsdDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsImJvZHksXG5odG1sIHtcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbmJvZHkge1xuICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgbWFyZ2luOiAwO1xufVxuXG5vbCxcbnVsIHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xufVxuXG4uZnVsbGJsZWVkIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuLmZ1bGxibGVlZC1tb2JpbGUge1xuICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4ucm93IHtcbiAgICAmLmF0cm9vdCB7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWwtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgICAgICAgICAubm9wYWRkaW5nc21hbGwge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5vLWpzIHtcbiAgICAudG9wLWJhciB7XG4gICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAudGl0bGUtYmFyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjbWFpbk5hdldyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLnZpc3VhbGx5LWhpZGRlbiB7XG4gICAgYm9yZGVyOiAwO1xuICAgIGNsaXA6IHJlY3QoMCAwIDAgMCk7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgbWFyZ2luOiAtMXB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcGFkZGluZzogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgd2lkdGg6IDFweDtcbn1cblxuXG4ucmV2ZWFsLW92ZXJsYXkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC41KTtcbn1cblxuLnZpc2liaWxpdHktaGlkZGVuIHtcbiAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG59XG4iLCIvL1R5cG9ncmFwaHlcbmgxLFxuaDIsXG5oMyxcbmg0LFxuaDUsXG5oNiB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG59XG5cbmEge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG59XG5cbi5sYXJnZS1oZWFkbGluZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICBsaW5lLWhlaWdodDogNDBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDQ2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDY2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA2NnB4O1xuICAgIH1cbn1cblxuLmludHJvLWNvcHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICBsaW5lLWhlaWdodDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgfVxufVxuXG4uc21hbGwtaW50cm8tY29weSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG59XG5cbi5saWdodC1pbnRyby1jb3B5IHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgIH1cbn1cblxuXG4uZm9vdGVyLWxpbmtzIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICB9XG59XG5cbi5pbmxpbmUtbGluay1hbHRlcm5hdGUge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1kYXJrLWhvdmVyKTtcbiAgICB9XG59XG5cbi5hcnJvdy1saW5rIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiID5cIjtcbiAgICB9XG59XG5cbnAsXG4ucGFyYWdyYXBoLWNvcHkge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgfVxufVxuXG4uc21hbGwtY29weSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsaW5lLWhlaWdodDogMTZweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgIH1cbn1cblxuLnRpbnktY29weSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsaW5lLWhlaWdodDogMTRweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxufVxuXG4udGlueS1oZWFkaW5ncyB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDE2cHg7XG5cbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4ucGFnZS10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIG1hcmdpbjogMjBweCAwO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDMwcHggMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBtYXJnaW46IDUwcHggMCA0MHB4O1xuICAgIH1cbn1cblxuLnBkcC1tYWluIHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRpcC1zeW1ib2wge1xuICAgICRyYWRpdXM6IHJlbS1jYWxjKDE3KTtcbiAgICAkc2ltYm9sLXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKHJlbS1jYWxjKC00KSk7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogJHJhZGl1cztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgY29udGVudDogXCI/XCI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmb250LXNpemU6ICRzaW1ib2wtc2l6ZTtcbiAgICAgICAgaGVpZ2h0OiAkcmFkaXVzO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbGluZS1oZWlnaHQ6ICRzaW1ib2wtc2l6ZTtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiA4cHg7XG4gICAgICAgIHdpZHRoOiAkcmFkaXVzO1xuICAgIH1cbn1cbiIsIi8vQnV0dG9uc1xuXG4uYnV0dG9uIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIHBhZGRpbmc6IDE1cHggMThweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgJi5idXR0b24tZGFyayB7XG4gICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tZGFyaztcbiAgICB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyO1xuICAgIH1cblxuICAgICYuYnV0dG9uLWRhcms6aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWhvdmVyLWRhcms7XG4gICAgfVxuXG4gICAgJi5ob2xsb3cge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idXR0b24tZGFyay5ob2xsb3cge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICB9XG5cbiAgICAmLmNsb3NlLWhvbGxvdy1idG4ge1xuICAgICAgICAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmJ0bi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5zZWNvbmRhcnkge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICYuaG9sbG93IHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogIzMxMzEzMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYnV0dG9uLWRhcmsuc2Vjb25kYXJ5LmhvbGxvdyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIH1cblxuICAgICYuZGlzYWJsZWQsXG4gICAgJjpkaXNhYmxlZCxcbiAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnNtYWxsIHtcbiAgICAgICAgZm9udC1zaXplOiAxMXB4O1xuICAgICAgICBwYWRkaW5nOiAxM3B4IDE1cHg7XG4gICAgfVxuXG4gICAgJi5tZWRpdW0ge1xuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMThweDtcbiAgICB9XG5cbiAgICAmLmxhcmdlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgfVxuXG4gICAgJi5mdWxsLXdpZHRoIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMXJlbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgJi5oZWxsb2JhciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFsdGVybmF0ZSB7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyB2aWV3IG9uIHZlaGljbGUgYnV0dG9uXG4udi12aWV3LW9uLXZlaGljbGUge1xuICAgICYuZGlzYWJsZWQge1xuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluay1hYm92ZS1wcm9kdWN0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICB9XG59XG5cbi8vIEJhZGdlc1xuLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcblxuICAgIHAudGVzdGVkLWJ5a2FsLXRleHQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuaWNvbi10ZXN0ZWQtYnkta2FsIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICB9XG59XG5cbi50ZXN0ZWQtYnlrYWwtY29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICBwIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG5cbiAgICAgICAgLmljb24tdGVzdGVkLWJ5LWthbCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgICAgIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50ZXN0ZWQtYnlrYWwtdGV4dCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5wcm9kdWN0LWJhZGdlIHtcbiAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgc3BhbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1hcmdpbjogN3B4IDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuXG4gICAgICAgICYucHJvZHVjdC1pbWFnZS1iYWRnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCA1cHggNHB4O1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjNweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB0X3Byb2R1Y3QtZGV0YWlscyxcbi5wdF9wcm9kdWN0LWNvbXBhcmUge1xuICAgIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHJpZ2h0OiBpbml0aWFsO1xuICAgIH1cbn1cblxuLnB0X3Byb2R1Y3QtY29tcGFyZSB7XG4gICAgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB0b3A6IDVweDtcbiAgICB9XG59XG5cbi5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogM3B4O1xuICAgIHotaW5kZXg6IDA7XG5cbiAgICBpIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICB9XG59XG5cbi5vdmVydmlldyB7XG4gICAgaS5pY29uLXNub3dmbGFrZSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtM3B4O1xuICAgIH1cbn1cblxuLy8gTG9hZGVyXG4ubG9hZGVyIHtcbiAgICBhbmltYXRpb246IHJvdGF0ZSAwLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgICBhbmltYXRpb246IHJvdGF0ZSAwLjhzIGluZmluaXRlIGxpbmVhcjtcbiAgICBib3JkZXI6IDhweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlci1yaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgYm90dG9tOiAwO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAzZW07XG4gICAgbGVmdDogMDtcbiAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgIG1hcmdpbjogYXV0bztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAzZW07XG5cbiAgICAmLnN0b3JlLWRldGFpbHMtbG9hZGVyIHtcbiAgICAgICAgYm90dG9tOiAtNTBweDtcbiAgICAgICAgdG9wOiBhdXRvO1xuICAgIH1cbn1cblxuLmVycm9yLXRleHQtYm94IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHVuYXZhaWxhYmxlKTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxMHB4IDlweDtcblxuICAgIHAudGV4dCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHVuYXZhaWxhYmxlLXRleHQpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yIC5sb2FkZXIge1xuICAgIHotaW5kZXg6IC0xO1xufVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIuZXhwYW5kZWQgLnNlbGVjdG9yIC5sb2FkZXIge1xuICAgIHotaW5kZXg6IDk5O1xufVxuXG4jcHNtb2RhbCAjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIgLnNlbGVjdG9yIC5sb2FkZXIge1xuICAgIHotaW5kZXg6IDk5O1xufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHJvdGF0ZSB7XG4gICAgMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgwZGVnKTtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMGRlZyk7XG4gICAgfVxuXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4vLyBGbHVpZCBXaWR0aCBWaWRlb1xuLnZpZGVvV3JhcHBlciB7XG4gICAgaGVpZ2h0OiAwO1xuICAgIHBhZGRpbmctYm90dG9tOiA1Ni4yNSU7IC8vIDE2OjlcbiAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG5cbi8vIENhdGVnb3J5IGluZGljYXRvclxuLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgLmNhdGVnb3J5IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgICAgICB3aWR0aDogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtMy1zZWFzb24sXG4gICAgLmNhdC1hbGwtc2Vhc29uIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNmYmIxMTY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LXBlcmZvcm1hbmNlIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM2MzUzYTM7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LWFsbC13ZWF0aGVyIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICNiZjFhOGQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LXdpbnRlciB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMjBjM2YzO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdC10b3VyaW5nIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICMwMGE2NTE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LXNwb3J0LXRydWNrIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3Yzg2YzI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LWFsbC10ZXJyYWluIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM3YTUyMjY7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LW11ZC10ZXJyYWluIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICM0MjI4MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0LWNvbW1lcmNpYWwge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2E3YTlhYztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXQtdWx0cmEtaGlnaC1wZXJmb3JtYW5jZSB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjYTQ5OWNhO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi8vIGdlbmVyYWwgc3R5bGVzIGZvciBhY2NvcmRpb24gd2l0aCBwbHVzL21pbnVzIGljb25zXG4ucGx1cy1taW51cy1hY2NvcmRpb24ge1xuICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZDlkOWRhO1xuICAgICAgICB9XG5cbiAgICAgICAgPiBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGJcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLThweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBcIlxcZTgwY1wiO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgIH1cblxuICAgIC5zdWJtZW51IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjBweDtcbiAgICB9XG59XG5cblxuYS5pbmFjdGl2ZSB7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG5cbi8vIFNlcGFyYXRvciBsaW5lIChpbiB0aGUgbWlkZGxlIG9mIGEgY29sdW1uKSBiZXR3ZWVuIHR3byBzZWN0aW9uc1xuLmxpbmUtc2VjdGlvbnMtc2VwYXJhdG9yIHtcbiAgICBtYXJnaW46IDUwcHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgxMjgsIDEzMCwgMTMzLCAwLjMpO1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgbWFyZ2luOiBhdXRvIDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxcHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIE1vZGFsIHN0eWxlc1xuLmdsb2JhbE1vZGFsSGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZXRhdWx0KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGhlaWdodDogNzJweDtcbiAgICBtaW4taGVpZ2h0OiA3MnB4O1xuICAgIHBhZGRpbmc6IDAgNjBweCAwIDI1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjVweDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBpbmhlcml0O1xuICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgIWltcG9ydGFudDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMnB4O1xuICAgICAgICAgICAgd2lkdGg6IDMycHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5maW5hbmNpbmdNb2RhbCB7XG4gICAgLmdsb2JhbE1vZGFsSGVhZGVyIHtcbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgICAgICAgIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI2cHg7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uZ2xvYmFsTW9kYWxDb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsKDE2KTtcblxuICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluYW5jaW5nTW9kYWwge1xuICAgIC5nbG9iYWxNb2RhbENvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDYycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluYW5jaW5nTW9kYWxCdXR0b24ge1xuICAgIGZsb2F0OiByaWdodDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZy1yaWdodDogMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIG1pbi13aWR0aDogMTcwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDE0MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgJi5idXR0b24taG9sbG93LWJsYWNrIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweCAwIDhweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE4cHg7XG4gICAgICAgIHZlcnRpY2FsLWFsaWduOiB1bnNldDtcbiAgICB9XG59XG5cbi8vIFByb2R1Y3QgdGlsZSAtIHByaWNpbmcgYW5kIHNpemVcbi8vIFRob3NlIHN0eWxlcyBhcmUgdXNlZCBmb3IgZ3JpZC9jb21wYXJlIHBhZ2UvUmVwbGFjZSBwcm9kdWN0cyBQb3AtdXBcbi5wcm9kdWN0LXRpbGUge1xuICAgIC5wcm9kdWN0LXNpemUsXG4gICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAmLnRyYWlsZXItdGlsZS1pbmZvIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG5cbiAgICAgICAgJi50cmFpbGVyLXByaWNpbmcge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMzVweDtcblxuICAgICAgICAgICAgLnByaWNlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXNpemUge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYXR0ci1jb2x1bW4ge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG5cbiAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAycHggMCAwO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXG4gICAgICAgICAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaXplLWxhYmVsLFxuICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiAjN2E3YzgwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDhweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG5cbnN1YixcbnN1cCB7XG4gICAgZm9udC1zaXplOiA2NSU7XG59XG5cbi8vIE1haW4gTGl2ZSBDaGF0IEJ1YmJsZSBJY29uXG4ubWFpbk5hdkxpdmVDaGF0Q1RBLm9wZW5MaXZlQ2hhdEJ1dHRvbiB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYmxhY2s7XG4gICAgYm90dG9tOiBjYWxjKDMwJSAtIDE3cHgpO1xuICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBoZWlnaHQ6IHJlbS1jYWxjKDM0KTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTQpO1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgcmlnaHQ6IDA7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTkwZGVnKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBib3R0b20gcmlnaHQ7XG4gICAgei1pbmRleDogOTk5O1xuXG4gICAgJi5kaXNhYmxlZCB7XG4gICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIH1cbn1cblxuLmhlYWRlci1uYXYubW9iaWxlLWNoYXQtYnRuIHtcbiAgICBoZWlnaHQ6IDA7XG5cbiAgICAuaGVhZGVyQ2FydFdyYXBwZXIsXG4gICAgLmhlYWRlclNlYXJjaFdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy8gTGl2ZSBDaGF0XG4ub3BlbkxpdmVDaGF0QnV0dG9uIHtcbiAgICAmLmRpc2FibGVkIHtcbiAgICAgICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICAgICAgb3BhY2l0eTogMC41O1xuICAgIH1cbn1cblxuLy8gQ1NDIEFnZW50IE1lc3NhZ2Vcbi5jc2MtYWdlbnRtZXNzYWdlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIG1hcmdpbjogMTVweCAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLy8gQWNjb3JkaW9uIGNvbnRlbnQgYXNzZXRzXG4uYWNjb3JkaW9uIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMSk7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAudG9nZ2xlLWl0ZW0ge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjMpIDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgc3VtbWFyeSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN1bW1hcnk6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbi1pbmxpbmUtZW5kOiA1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl06Y2hlY2tlZCB+IC5pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXTpjaGVja2VkIH4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiK1wiO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIH4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiLVwiO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCxcbi5wdF9wcm9kdWN0LXNlYXJjaC1ub3Jlc3VsdCxcbi5wdF9wcm9kdWN0LWNvbXBhcmUsXG4ucHRfcHJvZHVjdC1kZXRhaWxzLFxuLnB0X2NhcnQsXG4ucHRfY2hlY2tvdXQsXG4ucHRfb3JkZXItY29uZmlybWF0aW9uIHtcbiAgICAjbWFpbiB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgIH1cbn1cblxuLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCB7XG4gICAgI21haW4ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLXJlc3VsdHMtcmVzb3VyY2UtY2VudGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB0X2FjY291bnQge1xuICAgIC5yZXNldC1wYXNzd29yZC1wYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTAwcHg7XG4gICAgfVxufVxuIiwiW3R5cGU9XCJ0ZXh0XCJdLFxuW3R5cGU9XCJwYXNzd29yZFwiXSxcblt0eXBlPVwiZGF0ZVwiXSxcblt0eXBlPVwiZGF0ZXRpbWVcIl0sXG5bdHlwZT1cImRhdGV0aW1lLWxvY2FsXCJdLFxuW3R5cGU9XCJtb250aFwiXSxcblt0eXBlPVwid2Vla1wiXSxcblt0eXBlPVwiZW1haWxcIl0sXG5bdHlwZT1cIm51bWJlclwiXSxcblt0eXBlPVwic2VhcmNoXCJdLFxuW3R5cGU9XCJ0ZWxcIl0sXG5bdHlwZT1cInRpbWVcIl0sXG5bdHlwZT1cInVybFwiXSxcblt0eXBlPVwiY29sb3JcIl0sXG50ZXh0YXJlYSB7XG4gICAgaGVpZ2h0OiA0MHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMTBweCAxNXB4O1xufVxuXG5pbnB1dDo6LW1zLWNsZWFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5zZWxlY3Qge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pY29ucy9zZWxlY3QtaWNvbi5wbmdcIik7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBwYWRkaW5nOiAwIDE1cHg7XG5cbiAgICBAbWVkaWEgc2NyZWVuIGFuZCAobWluLXdpZHRoOjBcXDApIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2ljb25zL3NlbGVjdC1pY29uLnBuZ1wiKTtcbiAgICB9XG59XG5cbi5zb3J0LXNlbGVjdCB7XG4gICAgYmFja2dyb3VuZC1vcmlnaW46IGJvcmRlci1ib3g7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMXJlbSBjZW50ZXI7XG4gICAgcGFkZGluZzogMCAzNXB4IDAgMTBweDtcbn1cblxubGFiZWwge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIG1hcmdpbjogMCAwIDAuNXJlbTtcbn1cblxudGV4dGFyZWEge1xuICAgIHJlc2l6ZTogbm9uZTtcbn1cblxuLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5yZXF1aXJlZC1pbmRpY2F0b3Ige1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xufVxuXG5pbnB1dCxcbnNlbGVjdCxcbnRleHRhcmVhIHtcbiAgICAmLmVycm9yIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgfVxufVxuXG4vL2Rpdi5lcnJvcixcbnNwYW4uZXJyb3IsXG4uZXJyb3ItbWVzc2FnZSxcbi5jb3Vwb25FcnJvcixcbi5uYW1lLWxlbmd0aC1lcnJvciB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgIGNsZWFyOiBib3RoO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIHBhZGRpbmc6IDdweCAwIDA7XG4gICAgd2lkdGg6IDEwMCU7XG59XG5cbi5lcnJvci1mb3JtIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luOiAxMHB4IDA7XG59XG5cbi5mb3JtLXJvdyB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgbWFyZ2luOiAwIDAgMjBweDtcbn1cblxuLmZvcm0tY2FwdGlvbi5lcnJvci1tZXNzYWdlIHtcbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG4vLyBDdXN0b20gY2hlY2tib3ggYW5kIHJhZGlvIGlucHV0c1xuLmNoZWNrYm94LWZvcm0sXG4ucmFkaW8tZm9ybSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgKyBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0sXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgbWFyZ2luOiAycHggMC4zMTI1cmVtIDAgMDtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IDJweDtcbiAgICAgICAgei1pbmRleDogMTtcbiAgICB9XG59XG5cbi5jaGVja2JveC1mb3JtIHtcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICAmOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZDpkaXNhYmxlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZDlkOWQ5O1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE3cHg7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20sXG4gICAgaW5wdXRbdHlwZT1cImNoZWNrYm94XCJdIHtcbiAgICAgICAgaGVpZ2h0OiAxN3B4O1xuICAgICAgICB3aWR0aDogMTdweDtcbiAgICB9XG59XG5cbi5yYWRpby1mb3JtIHtcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICAmOmNoZWNrZWQgKyAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaW5wdXQtY3VzdG9tIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2Q5ZDlkOTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE0cHg7XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBoZWlnaHQ6IDE0cHg7XG4gICAgICAgIHdpZHRoOiAxNHB4O1xuICAgIH1cbn1cblxuLy9DdXN0b20gc3R5bGUgZm9yIENvbW1lcmNpYWwgRmxlZXQgVmVoaWNsZXMgY2hlY2tib3ggYnV0dG9uc1xuLmNvbW1lcmNpYWwtZmxlZXQtd3JhcHBlciB7XG4gICAgLmlucHV0LWN1c3RvbSxcbiAgICBpbnB1dFt0eXBlPVwiY2hlY2tib3hcIl0ge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJjaGVja2JveFwiXSB7XG4gICAgICAgICY6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNsaWNrLXNsaWRlciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBwYW4teTtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLnNsaWNrLXNsaWRlci1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnNsaWNrLWxpc3Qge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbjogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLmRyYWdnaW5nIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBjdXJzb3I6IGhhbmQ7XG4gICAgfVxufVxuXG4uc2xpY2stbGlzdCxcbi5zbGljay1hcnJvdyB7XG4gICAgJjpmb2N1cyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxufVxuXG4uc2xpY2stc2xpZGVyIC5zbGljay10cmFjayxcbi5zbGljay1zbGlkZXIgLnNsaWNrLWxpc3Qge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlM2QoMCwgMCwgMCk7XG59XG5cbi5zbGljay10cmFjayB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdG9wOiAwO1xuXG4gICAgJjo6YmVmb3JlLFxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgZGlzcGxheTogdGFibGU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjbGVhcjogYm90aDtcbiAgICB9XG59XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay10cmFjayB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stc2xpZGUge1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDFweDtcblxuICAgIGltZy5zbGljay1sb2FkaW5nIHtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuICAgIH1cbn1cblxuLnNsaWNrLXNsaWRlLnNsaWNrLWxvYWRpbmcgaW1nIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uc2xpY2stc2xpZGUuZHJhZ2dpbmcgaW1nIHtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLnNsaWNrLWluaXRpYWxpemVkIC5zbGljay1zbGlkZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5zbGljay1sb2FkaW5nIC5zbGljay1zbGlkZSB7XG4gICAgdmlzaWJpbGl0eTogaGlkZGVuO1xufVxuXG4uc2xpY2stdmVydGljYWwgLnNsaWNrLXNsaWRlIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IGF1dG87XG59XG5cbi5zbGljay1hcnJvdy5zbGljay1oaWRkZW4ge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG4iLCIucmV2ZWFsIHtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4vL0xvY2F0aW9uIFNlYXJjaCBTdWdnZXN0aW9uc1xuLnBhYy1jb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIHBhZGRpbmc6IDIwcHggMTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAtMjJweDtcbiAgICB9XG5cbiAgICAucGFjLWl0ZW0ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcblxuICAgICAgICAucGFjLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cbn1cblxuLy9CbG9nIENhcmRcblxuLmJvdHRvbS1zcGFjZWQtY29sdW1zIHtcbiAgICA+IGRpdi5jb2x1bW5zIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG59XG5cbi5ibG9nLWNhcmQge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teDogNTAlO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb24teTogNTAlO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDMyMHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgLmJsb2ctY2FyZC1pbmZvLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAuYmxvZy1jYXJkLWluZm8ge1xuICAgICAgICAgICAgcGFkZGluZzogMjFweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjNlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgaDQge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDQuMjVyZW07XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aW55LWhlYWRpbmdzIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYmxvZy1jYXJkLWN0YSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMXB4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJsb2ctY2FyZC13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcblxuICAgICAgICAgICAgLmJsb2ctY2FyZC1jdGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIC5ibG9nLWNhcmQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTQ1cHg7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgICAgICB9ICAgXG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYmxvZy1jYXJkLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9ICAgXG4gICAgfVxufVxuXG5cbi8vSGVsbG8gQmFyXG4uaGVsbG8tYmFyIHtcbiAgICBiYWNrZ3JvdW5kOiAkZGFya2VyLWdyYXk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbWluLWhlaWdodDogMzBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBhZGRpbmc6IDEwcHggNDVweCAxMHB4IDE1cHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mYS10aW1lcyB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiAtOHB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDIzcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY3VzdG9tLW1lbnUtb3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9wYWNpdHk6IDAuNjtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgei1pbmRleDogMztcbn1cblxuLmhlYWRlci1iYW5uZXIsXG4uaGVhZGVyLW5hdiB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHotaW5kZXg6IDQ7XG59XG5cbi8vSGVhZGVyIE5hdlxuLmhlYWRlci1uYXYge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGhlaWdodDogcmVtLWNhbGMoNDApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiA0O1xuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluTmF2QWN0aW9uc1dyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgI2hlYWRlck5hdkxvY2F0aW9uQ1RBIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBib3R0b206IDNweDtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogLTIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbnVsLmhlYWRlck5hdkV4dGVybmFsTGlua3MsXG51bCNoZWFkZXJOYXZBY3Rpb25zIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAyNXB4O1xuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDY4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaS5oZWFkZXJOYXZMb2NhdGlvbldyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuXG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDI1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBpLmljb24tbG9jYXRpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RmZTBlMDtcblxuICAgICAgICAgICAgaS5pY29uLWxvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy9NYWluIE5hdlxuXG4jbWFpbk5hdldyYXBwZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC50b3AtYmFyLWxlZnQsXG4gICAgLnRvcC1iYXItcmlnaHQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obnVsbCwgbWlkZGxlKTtcbiAgICAgICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNtYWluTmF2IHtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG5cbiAgICAgICAgICAgID5saSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPmxpLmlzLWFjdGl2ZSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgID5saVthcmlhLWV4cGFuZGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAgICAgYS5sMU1lbnVJdGVtIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgID5saSBhLmwxTWVudUl0ZW0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmRyb3Bkb3duLXBhbmUge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLWJhciAjbWFpbk5hdiA+IGxpLFxuICAgIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsLFxuICAgICAgICBsaSxcbiAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3AtYmFyICNtYWluTmF2ID4gbGkgPiBhLFxuICAgIC50b3AtYmFyICNtYWluTmF2ID4gbGkgLm1vYmlsZS1tZW51LWl0ZW0tbGluayB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogNDBweDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXIgI21haW5OYXYgbGkge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAmLmlzLXN1Ym1lbnUtaXRlbSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjdweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm1vYmlsZS1zdWJtZW51LXRyaWdnZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuanMtZHJpbGxkb3duLWJhY2sgPiBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2N3B4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAtNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vYmlsZS1tZW51LXdyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDI1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHVsLFxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgICAgIGgyLFxuICAgICAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgICAgIGg1LFxuICAgICAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMjNweCA0NXB4IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgbGksXG4gICAgICAgICAgICAgICAgbGkgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA0NXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQgYSBzcGFuIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtc3VibWVudS10cmlnZ2VyIHtcbiAgICAgICAgaGVpZ2h0OiA2N3B4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIHVsI21haW5OYXYgLm1vYmlsZS1tZW51LXdyYXBwZXIge1xuICAgICAgICBoNSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcC1iYXItcmlnaHQge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwjbWFpbk5hdiB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cblxufVxuXG4jbWFpbk1lbnVXcmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cbn1cblxudWwubWFpbk5hdkFjdGlvbnMge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcbiAgICBtYXJnaW46IDA7XG4gICAgbWluLXdpZHRoOiAyMTNweDtcblxuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB6LWluZGV4OiAxMDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIG1pbi13aWR0aDogYXV0bztcbiAgICB9XG5cbiAgICA+bGkge1xuICAgICAgICBwYWRkaW5nOiAwIDhweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgM3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsICRidXR0b24tZGFyayk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNSBhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIC5oZWFkZXItY3RhLWJ1dHRvbiB7XG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2Ugb25seSkge1xuICAgICAgICAgICAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbn1cblxuLm1vYmlsZS1oZWFkZXItY3RhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luOiAxMHB4IGF1dG87XG4gICAgICAgIHdpZHRoOiA4MCU7XG4gICAgfVxufVxuXG4uaGVhZGVyLW1haW4tbmF2IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIG1pbi1oZWlnaHQ6IDQwcHg7XG4gICAgcGFkZGluZzogMjhweCAwO1xuICAgIHBvc2l0aW9uOiBzdGlja3k7XG4gICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB0b3A6IDA7XG4gICAgei1pbmRleDogOTk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWluLWhlaWdodDogNjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgbGVmdDogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAucm93LmF0cm9vdCB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5vLWpzIHtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgIH1cblxuICAgICYtc3RpY2tlZCB7XG4gICAgICAgIC5oZWFkZXItbG9nby1pbWFnZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogOTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXItbG9nby1pbWFnZSB7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1heC13aWR0aDogOTBweDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC41cyBlYXNlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDBweDtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxMjVweDtcbiAgICB9XG59XG5cblxuI2xvY2F0aW9uQ2hhbmdlIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuXG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4jbG9jYXRpb25DaGFuZ2VUcmlnZ2VyV3JhcHBlciB7XG4gICAgQGluY2x1ZGUgZmxleDtcbiAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBtaWRkbGUpO1xuXG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbn1cblxuI2xvY2F0aW9uQ2hhbmdlRm9ybVdyYXBwZXIge1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICB3aWR0aDogMDtcbn1cblxuI2xvY2F0aW9uQ2hhbmdlSW5wdXQge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcblxuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBoZWlnaHQ6IDI4cHg7XG4gICAgbGluZS1oZWlnaHQ6IDI4cHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgcGFkZGluZzogMCAyNXB4IDAgMDtcblxuICAgICY6Oi1tcy1jbGVhciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4jbG9jYXRpb25DaGFuZ2VGb3JtQ2xvc2Uge1xuICAgIGNvbG9yOiAjZGZlMGUwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBkaXNwbGF5OiBub25lO1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgcmlnaHQ6IDA7XG4gICAgdG9wOiAwO1xufVxuXG4udGl0bGUtYmFyIHtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI21vYmlsZU1lbnVMb2dvV3JhcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcGFkZGluZzogMThweCAwIDAgMzBweDtcbn1cblxuI21vYmlsZU1lbnVUcmlnZ2VyV3JhcHBlciB7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHVsIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihyaWdodCwgbWlkZGxlKTtcblxuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBsaSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDIxcHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIGxpIGEuYWN0aXZlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLm1lbnUtaWNvbiB7XG4gICAgICAgIGZpbGw6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgdHJhbnNpdGlvbjogMC4zcyBlYXNlIGFsbDtcbiAgICAgICAgd2lkdGg6IDYwcHg7XG4gICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgLm1vYmlsZU5hdi1zdmcge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vYmlsZU5hdi1yZWN0IHtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IDAuM3MgZWFzZSBhbGw7XG4gICAgICAgIH1cblxuICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAubW9iaWxlTmF2LXJlY3Q6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQzZGVnKSB0cmFuc2xhdGUoMTFweCwgLTIxcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9iaWxlTmF2LXJlY3Q6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubW9iaWxlTmF2LXJlY3Q6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKSB0cmFuc2xhdGUoLTMwcHgsIDFweCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbiNtb2JpbGVOYXZBY3Rpb25zIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZsb2F0OiBsZWZ0O1xuICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogNXB4IDMwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEjbW9iaWxlTG9jYXRpb25DaGFuZ2VGb3JtQ2xvc2Uge1xuICAgICAgICAgICAgY29sb3I6ICNkZmUwZTA7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogNDVweDtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLm1vYmlsZU5hdkV4dGVybmFsTGlua3Mge1xuICAgICAgICBiYWNrZ3JvdW5kOiBpbmhlcml0O1xuICAgICAgICBib3JkZXItdG9wOiAkYm9yZGVyLWxpZ2h0LWdyYXkgMXB4IHNvbGlkO1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4cHg7XG4gICAgfVxufVxuXG4jbW9iaWxlTG9jYXRpb25DaGFuZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuI21vYmlsZUxvY2F0aW9uQ2hhbmdlSW5wdXQge1xuICAgIG1hcmdpbjogMDtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMCA0NXB4IDAgMTVweDtcbiAgICB3aWR0aDogMTAwJTtcbn1cblxuI21vYmlsZUxvY2F0aW9uQ2hhbmdlRm9ybVdyYXBwZXIge1xuICAgIGhlaWdodDogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xufVxuXG5cbi8vbWluaWNhcnRcbi5taW5pLWNhcnQtbGluayB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLm1pbmljYXJ0LXF1YW50aXR5IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICBoZWlnaHQ6IDI0cHg7XG5cbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTEwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdG9wOiAtOXB4O1xuICAgICAgICB3aWR0aDogMjRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgcmlnaHQ6IC00cHg7XG4gICAgICAgICAgICB0b3A6IDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5taW5pY2FydC1xdWFudGl0eS1pbm5lciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMThweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1lZ2EtbWVudSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiA5OTk7XG5cbiAgICAgICAgLmxpbmtzLXR5cGUge1xuICAgICAgICAgICAgaDEsXG4gICAgICAgICAgICBoMixcbiAgICAgICAgICAgIGgzLFxuICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICBoNSxcbiAgICAgICAgICAgIGg2IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYTpob3ZlcixcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1kYXJrLWhvdmVyKTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSxcbiAgICAgICAgICAgIGxpIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG5cbiAgICAgICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXRvcmlhbC10eXBlIHtcbiAgICAgICAgICAgIGgxLFxuICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICBoMyxcbiAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgaDUsXG4gICAgICAgICAgICBoNiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDVweDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWRhcmstaG92ZXIpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbnRlbnQtY3VzdG9tLWJ0biB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWVnYSB7XG4gICAgICAgICAgICBib3gtc2hhZG93OiAwIDEzcHggMjBweCAtMTNweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xuICAgICAgICAgICAgbGVmdDogMCUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE4MDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMDtcbiAgICAgICAgICAgIHJpZ2h0OiAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG8gIWltcG9ydGFudDtcblxuICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAkZ3JpZC1yb3ctd2lkdGg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jb2x1bW5zIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICNlNWU1ZTU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAzNXB4O1xuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbWFnZS10eXBlIHtcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxufVxuXG4uaXMtZHJvcGRvd24tc3VibWVudS1wYXJlbnQge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBvc2l0aW9uOiBzdGF0aWM7XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgYS5sMU1lbnVJdGVtIHtcbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIiBcIjtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA2MHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhOjphZnRlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA3XCI7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICBmb250LXNpemU6IDMwcHg7XG5cbiAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICB3aWR0aDogMWVtO1xuICAgIH1cbn1cblxuLmhlYWRlci1tYWluLW5hdiB7XG4gICAgLmlzLWRyaWxsZG93biAubWVnYS1tZW51IHtcbiAgICAgICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgfVxuXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51IHtcbiAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gICAgfVxuXG4gICAgLmlzLWRyaWxsZG93bi1zdWJtZW51LXBhcmVudCA+IGE6OmFmdGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgcG9zaXRpb246IGluaXRpYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXMtZHJpbGxkb3duLXN1Ym1lbnUgLmpzLWRyaWxsZG93bi1iYWNrID4gYTo6YmVmb3JlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNFwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50W2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdID4gYTo6YWZ0ZXIge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBjb250ZW50OiBcIlxcZjEwNlwiO1xuICAgICAgICB0cmFuc2Zvcm06IGluaXRpYWw7XG4gICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IGluaXRpYWw7XG4gICAgfVxufVxuXG4jbW9iaWxlU2VhcmNoV3JhcHBlciB7XG4gICAgZmxvYXQ6IGxlZnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIHRvcDogMXB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDk7XG5cbiAgICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJi5hY3RpdmUge1xuICAgICAgICAuaGVhZGVyLXNlYXJjaCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbi5oZWFkZXItc2VhcmNoIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICB0cmFuc2l0aW9uOiAwLjNzIGVhc2UgYWxsO1xuICAgICAgICB3aWR0aDogMDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICB0b3A6IC0xcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIGZpZWxkc2V0IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFjaEZvcm1JbnB1dCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhY2hGb3JtSW5wdXQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDI1cHggMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaEZvcm1DbG9zZSB7XG4gICAgICAgICAgICBjb2xvcjogI2RmZTBlMDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5oZWFkZXJTZWFyY2hXcmFwcGVyIHtcbiAgICBAaW5jbHVkZSBmbGV4O1xuICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obnVsbCwgbWlkZGxlKTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkZmUwZTA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaEZvcm1UcmlnZ2VyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG5cbiAgICAgICAgICAgIGkuaWNvbi1zZWFyY2g6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoRm9ybUNsb3NlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1zZWFyY2gge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICB0cmFuc2l0aW9uLWR1cmF0aW9uOiAwLjNzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1zZWFyY2ggLnNlYXJjaEZvcm1UcmlnZ2VyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihsZWZ0LCBtaWRkbGUpO1xuICAgIH1cblxuICAgIC5zZWFyY2hGb3JtVHJpZ2dlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24ocmlnaHQsIG1pZGRsZSk7XG4gICAgfVxuXG4gICAgLmhlYWRlci1zZWFyY2ggZmllbGRzZXQge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnNlYWNoRm9ybUJ1dHRvbiB7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogNXB4O1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6ICNmZjY5MDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhY2hGb3JtSW5wdXQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgaGVpZ2h0OiAyOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjVweCAwIDEwcHg7XG5cbiAgICAgICAgJjo6LW1zLWNsZWFyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoRm9ybUNsb3NlIHtcbiAgICAgICAgY29sb3I6ICNkZmUwZTA7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjhweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cbn1cblxuLnNlYXJjaC1zdWdnZXN0aW9ucyB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBib3gtc2hhZG93OiAwIDhweCAxNXB4IC0ycHggcmdiYSgwLCAwLCAwLCAwLjE1KTtcbiAgICBwYWRkaW5nOiAyMHB4IDA7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAwO1xuICAgIHdpZHRoOiA1ODVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHRvcDogNjRweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHRvcDogNjdweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogMzBweDtcbiAgICAgICAgdG9wOiA3MHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubW9iaWxlLXNlYXJjaCAmIHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgIH1cblxuICAgIC5oaXRncm91cCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgfVxuXG4gICAgLmdlbmVyYXRlZC1oaXRncm91cCB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJi5wb3B1bGFyLXNlYXJjaGVzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlyZWN0LXBhZ2UtbGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuc2VhcmNoLXByb2R1Y3Qtd3JhcHBlciB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgICAgIHBhZGRpbmc6IDAgMzBweCAwIDQwcHg7XG4gICAgICAgIHdpZHRoOiAzNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLXN1Z2dlc3Rpb24td3JhcHBlciB7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAwIDMwcHggMCA0MHB4O1xuICAgICAgICB3aWR0aDogMjQ1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q0ZDRkNDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEuaGl0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXN1Z2dlc3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXN1Z2dlc3Rpb246aG92ZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjRmNGY0O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKG51bGwsIG1pZGRsZSk7XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2RmZTBlMDtcbiAgICAgICAgICAgIHdpZHRoOiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtZGV0YWlscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcblxuICAgICAgICAgICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5mb290ZXItc29jaWFsLW1lZGlhLXdyYXBwZXIge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgbWFyZ2luOiAwO1xuICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgfVxuXG4gICAgbGkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG5cbiAgICB9XG59XG5cbi5mb290ZXItY29weS13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIG1pbi1oZWlnaHQ6IDk2cHg7XG5cbiAgICAucm93IHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuXG4gICAgICAgIG1pbi1oZWlnaHQ6IDk2cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA5NnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jZm9vdGVyTG9nb0NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWFyZ2luOiAwIGF1dG8gOHB4O1xuICAgIG1heC13aWR0aDogMTA4cHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwOHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuI2Zvb3RlckNvcHlDb250YWluZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbWFyZ2luOiAwO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgIH1cbn1cblxuI2Zvb3RlckxpdmVDaGF0Q1RBIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbn1cblxuLmZvb3Rlci13cmFwcGVyIHtcbiAgICBAZXh0ZW5kIC5mdWxsYmxlZWQ7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBwYWRkaW5nOiA1NXB4IDAgMjVweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICBwYWRkaW5nOiA0NXB4IDAgMzVweDtcbiAgICB9XG5cbiAgICAuZm9vdGVyLWxvZ28ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICB9XG59XG5cbnVsLmZvb3Rlci1saW5rcyB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgbGlzdC1zdHlsZS10eXBlOiBub25lO1xuICAgIG1hcmdpbjogMCAwIDMwcHg7XG5cbiAgICBzcGFuIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zaG93LXNlbGYtc2VydmljZSB7XG4gICAgLnNob3ctZW50cnktcG9pbnQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG59XG5cbi5zaG93LWVudHJ5LXBvaW50IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uZm9vdGVyLWVtYWlsLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgcGFkZGluZzogMzVweCAwO1xuXG4gICAgZm9ybSBmaWVsZHNldCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4O1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIG1pZGRsZSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDcwcHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1lbWFpbC1pbnB1dC13cmFwcGVyLFxuICAgIC5mb290ZXItZW1haWwtbGFiZWwtd3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oY2VudGVyLCBudWxsKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWVtYWlsLWxhYmVsLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKHJpZ2h0LCBudWxsKTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZm9vdGVyLWVtYWlsLWlucHV0LXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmbGV4LWFsaWduKGxlZnQsIG51bGwpO1xuICAgICAgICB9XG5cbiAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiA0MHB4O1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzcGFuLmVycm9yIHtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgdG9wOiAtMThweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm5ld3NsZXR0ZXItbWVzc2FnZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG5cbiAgICBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxufVxuXG4jc3Vic2NyaWJlLWVtYWlsIHtcbiAgICBtYXgtd2lkdGg6IDMwNXB4O1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICB3aWR0aDogMzE1cHg7XG4gICAgfVxufVxuXG4jaG9tZXBhZ2VBbGVydEJhciB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIHBhZGRpbmc6IDAgNTBweCAwIDA7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgaS5pY29uLWFsZXJ0IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgbWluLXdpZHRoOiA0MnB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgbWFyZ2luOiAyNXB4IGF1dG87XG4gICAgfVxuXG4gICAgPiBkaXYge1xuICAgICAgICBkaXNwbGF5OiB0YWJsZTtcbiAgICAgICAgbWluLWhlaWdodDogODBweDtcbiAgICB9XG5cbiAgICBzdHJvbmcge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIH1cblxuICAgICNob21lcGFnZUFsZXJ0QmFyQ2xvc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgdG9wOiAzOCU7XG4gICAgfVxufVxuXG4jaG9tZXBhZ2VUaHJlZUFzc2V0R3JvdXAge1xuICAgIC5tYWluLWxlZnQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tcmlnaHQge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LWNvbHVtbi13cmFwcGVyIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGVmdC1jb2x1bW4ge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiAzNnB4IDMycHggMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDU1cHggMzJweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDkwcHggNjBweCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMyKTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDQyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXDIwMjJcIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4yNWVtO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0b3A6IDAuMWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYS5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLmxlZnQtY29sdW1uLWltYWdlLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJpZ2h0LWNvbHVtbi1maXJzdCB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IGJvdHRvbSBsZWZ0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBwYWRkaW5nOiA4NXB4IDMycHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMDBweCAzMnB4IDkwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4NXB4IDgwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpbWcucmlnaHQtY29sdW1uLWZpcnN0LWljb25zIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxNnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyMjVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQ2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtY29sdW1uLXNlY29uZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtY29sdW1uLXNlY29uZC1hIHtcbiAgICAgICAgcGFkZGluZzogNDBweCAzMnB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDEgMCBhdXRvO1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDYwcHggMTBweCA0MHB4IDcwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE5MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmlnaHQtY29sdW1uLXNlY29uZC1iIHtcbiAgICAgICAgcGFkZGluZzogMCAzMnB4IDQ1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAxIDAgYXV0bztcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiA3NXB4IDQ1cHggNDVweCAwO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDM2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5yb3cuY29sbGFwc2Utcm93IHtcbiAgICBtYXJnaW4tbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIG1hcmdpbi1yaWdodDogYXV0byAhaW1wb3J0YW50O1xufVxuXG4udmVydGljYWwtYWxpZ24ge1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xufVxuXG4uaG9yaXpvbnRhbC1hbGlnbiB7XG4gICAgZGlzcGxheTogZmxleCAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQge1xuICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgQGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiA2MHB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogNjBweDtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNDVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDYwcHg7XG4gICAgfVxufVxuXG4uaW5mby10aWxlLXdyYXBwZXIge1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgJi5ob3ZlcmVkIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICA+ZGl2IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uaG9tcGFnZS1pbmZvLXRpbGUge1xuICAgIGJvcmRlcjogMTBweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBwYWRkaW5nOiAxNXB4IDM4cHggMTVweCAxNHB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiA4cHggMjBweCAxNXB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihjZW50ZXIsIG1pZGRsZSk7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDQwcHg7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDQwcHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24obGVmdCwgbWlkZGxlKTtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiA1MHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGg0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDIwcHg7XG4gICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgJi5zaG93YnV0dG9uIHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2JpbGUtaW5mby10aWxlLUNUQSB7XG4gICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICB9XG59XG5cbiNoZWFkbGluZXNXcmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjMjYyNjI2O1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IHJpZ2h0IGJvdHRvbTtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogMTc4cHggYXV0bztcbiAgICBwYWRkaW5nOiA0LjI1cmVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMjQxcHggYXV0bztcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGJhY2tncm91bmQtc2l6ZTogMzE2cHggYXV0bztcbiAgICAgICAgcGFkZGluZzogMTAwcHggMDtcbiAgICB9XG5cbiAgICAudGl0bGUtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdGEtd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICBoMi5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMjZweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcC5zZWN0aW9uLXN1YnRpdGxlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG5cbn1cblxuYm9keS5pcy1yZXZlYWwtb3BlbiB7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG59XG5cbi5yZXZlYWwge1xuICAgICYucmV2ZWFsbmluZSB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxufVxuXG4uYm9yZGVyZWQtdG9wIHtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbn1cblxuLnJldmVhbC1vdmVybGF5IHtcbiAgICBvdmVyZmxvdy15OiBoaWRkZW47XG5cbiAgICAmLnNjcm9sbC1vdmVybGF5IHtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBvdmVyZmxvdy15OiBoaWRkZW47XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5lcnJvci1wYWdlLWNvbnRhaW5lciB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAuZnVsbGJsZWVkIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICB9XG5cbiAgICAucm93IHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMuNzVyZW07XG4gICAgICAgIHBhZGRpbmctdG9wOiA0LjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxMi41cmVtO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEyLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDQ0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjA0MzVlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS40Mzc1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNC4wNjI1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC44MTI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBsaW5lLWhlaWdodDogMS4zZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDI4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmJyb3dzZXItZXJyb3Ige1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGFsZXJ0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAtMS4yNXJlbTtcbiAgICBwYWRkaW5nLXRvcDogMnJlbTtcbn1cblxuLnByaXZhY3lwb2xpY3ktd3JhcHBlciB7XG4gICAgcGFkZGluZzogNTBweCAwIDEuODc1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDIuNXJlbTtcbiAgICB9XG5cbiAgICAucHJpdmFjeXBvbGljeS10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgfVxuXG4gICAgdWwge1xuICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IGRpc2M7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgY29sb3I6ICNmZjY5MDA7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1vZGFsIHtcbiAgICBwLFxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiBcImdvdGhhbVwiLCBBcmlhbDtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMjBweCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIycHggMCAyMnB4IDMwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAmLnJldmVhbCB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgcGFkZGluZy1yaWdodDogMThweDtcbiAgICAgICAgcG9zaXRpb246IHVuc2V0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyN3B4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBHRFBSIGluZm8gYmFyXG4uZ2Rwci1pbmZvLWJhciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjkpO1xuICAgIGJvdHRvbTogMDtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBsZWZ0OiAwO1xuICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgcGFkZGluZzogMTBweCAwO1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICByaWdodDogMDtcbiAgICB6LWluZGV4OiAxMDtcblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ2Rwci1pbmZvLWZsZXgge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgIH1cblxuICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxufVxuXG4vL09yZGVyIHN1bW1hcnlcbi5vcmRlci1zdW1tYXJ5LXByb2R1Y3RzLXRpdGxlIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG5cbi5pY29uLWNhbGVuZGFyLWljb24sXG4uaWNvbi1wcmludCB7XG4gICAgbWFyZ2luLXJpZ2h0OiAwLjVlbTtcbn1cblxuLy8gUHJvdmluY2UgbW9kYWwgbWVzc2FnZVxuI3Byb3ZpbmNlLW1vZGFsLW1lc3NhZ2Uge1xuICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgIG1heC1oZWlnaHQ6IDY1dmg7XG4gICAgcGFkZGluZzogMzBweDtcbiAgICB3aWR0aDogNzUwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgbWFyZ2luOiA1JTtcbiAgICAgICAgbWluLWhlaWdodDogNzV2aDtcbiAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA5MCU7XG4gICAgfVxuXG4gICAgKiB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICB9XG5cbiAgICAucHJvdmluY2UtbW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2UtY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMXJlbTtcbiAgICAgICAgdG9wOiAwLjVyZW07XG4gICAgfVxuXG4gICAgLnRpdGxlLXNlY3Rpb24ge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC1zZWN0aW9uIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG59XG5cbi8vIFByb3ZpbmNlIHNlbGVjdGlvbiBtb2RhbFxuI3Byb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbCB7XG4gICAgbWFyZ2luOiAwIGF1dG87XG4gICAgbWF4LWhlaWdodDogODB2aDtcbiAgICBtYXgtd2lkdGg6IDcwMHB4O1xuICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSg1JSk7XG4gICAgd2lkdGg6IDkwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICB9XG5cbiAgICAuaGVhZGluZyB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgIH1cblxuICAgIC5wcm92aW5jZS1vcHRpb25zIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgbWFyZ2luOiA1cHggMDtcbiAgICAgICAgcGFkZGluZzogMTZweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgZ2FwOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IDFmciAxZnI7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvdmluY2Utb3B0aW9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdGhpbi1ncmF5KTtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IGF1dG87XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDMyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvdmluY2UtbGFiZWwge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgICAgICAgICAucHJvdmluY2UtbmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA4MCU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5jdXN0b20tcmFkaW8taWNvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkYXJrZ3JleTEpIDFweCBzb2xpZDtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY3VzdG9tLXJhZGlvLWljb24gaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXTpjaGVja2VkICsgLmN1c3RvbS1yYWRpby1pY29uIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIDFweCBzb2xpZDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl06Y2hlY2tlZCArIC5jdXN0b20tcmFkaW8taWNvbiBpIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtZm9vdGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIC5sYW5ndWFnZS1zZWxlY3RvciB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1lZGl1bS1ncmF5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogMzI1O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweDtcblxuICAgICAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb3ZpbmNlLXNlbGVjdGlvbi1tb2RhbC1lcnJvciB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuIiwiLnB0X3BzcmVzdWx0cyB7XG4gICAgLmhlYWRlci1tYWluLW5hdjo6YWZ0ZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNjY2M7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsLWluZm8td3JhcHBlciB7XG4gICAgICAgIC5zbWFsbC0xMi5jb2x1bW5zLnBzcmVzdWx0cy10aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5zcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgd2lkdGg6IDIycHg7XG5cbiAgICAmLnF1ZXN0aW9ubWFyay13aGl0ZSB7XG4gICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuI0dTUE5vUmVzdWx0cyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuI3BzbW9kYWwsXG4jd2hlZWwtdHlwZS1tb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA3MDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB0b3A6IDE1cHg7XG4gICAgICAgIHotaW5kZXg6IDk5O1xuICAgIH1cblxuICAgIC5wcm9kdWN0U2VsZWN0b3Ige1xuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuYWRkLXJlYXItc2l6ZS1jdGEsXG4gICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAudmVoaWNsZVNlbGVjdG9yRmluZFRpcmUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJi50cmFpbGVyLXRpcmUtaGludCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3RlcC5jdXJyZW50IHtcbiAgICAgICAgICAgIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAmLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfdmVoaWNsZVwiXSxcbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3ZlaGljbGVcIl0ge1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yIHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ3aGVlbF9zaXplXCJdIC5hZGQtcmVhci1zaXplLWN0YSxcbiAgICAgICAgICAgICZbZGF0YS1zZWxlY3RvcnR5cGU9XCJ0aXJlX3NpemVcIl0gLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtY29udGVudCB7XG4gICAgI3Byb2R1Y3RTZWxlY3RvclNsb3RXcmFwcGVyIHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuc2VsZWN0b3Jfb3B0aW9ucyB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnNlbGVjdG9yIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0b3Jfc3RlcHMge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmZpbmRUaXJlU2l6ZU1vZGFsSGVhZGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGV0YXVsdCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBoZWlnaHQ6IDcycHg7XG4gICAgbWluLWhlaWdodDogNzJweDtcbiAgICBwYWRkaW5nOiAwIDYwcHggMCAyNXB4O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBib3R0b206IDA7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDI1cHg7XG4gICAgICAgIHRvcDogMDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBzcGFuLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMzJweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluZFRpcmVTaXplTW9kYWxDb250ZW50IHtcbiAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG5cbiAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgIC5wdF9zdG9yZWZyb250IHtcbiAgICAgICAgLmhlYWRlci1tYWluLW5hdixcbiAgICAgICAgLmluZm8tdGlsZS13cmFwcGVyLFxuICAgICAgICAuaW5mby10aWxlLXdyYXBwZXItc3BhY2Vhcm91bmQsXG4gICAgICAgIC5mb290ZXItd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIsXG4jbmV3U2VhcmNoTW9kYWwge1xuICAgIHBhZGRpbmc6IDM1cHggMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgICNQU092ZXJsYXkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC41KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1haW4tc2VsZWN0b3ItdGFicyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAubWFpbi1zZWxlY3Rvci10YWIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNDBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcy1yaWdodCB7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogNjAwcHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0b3IuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiAzMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgcGFkZGluZzogMTgwcHggMDtcblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIC5wcy1sZWZ0IHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtNTAlO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTAwJTtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAwO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcy1yaWdodCB7XG4gICAgICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtd3JhcHBlci1iYWNrZ3JvdW5kIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDB2aDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwdnc7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnNpZGVTZWxlY3RvciB7XG4gICAgICAgID5hOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwZFwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBkZWZhdWx0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5leHBhbmRlZCB7XG4gICAgICAgIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5vLXRhYnMge1xuICAgICAgICBwYWRkaW5nOiA2MHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDcwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDkwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZC1yZWFyLXNpemUsXG4gICAgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5hZGQtcmVhci1zaXplIHtcbiAgICAgICAgbGVmdDogYXV0bztcbiAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDVcIjtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJvb3RsZXZlbHBzIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JiaXQtY29udGFpbmVyIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG5cbiAgICAgICAgLm9yYml0LXNsaWRlIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgbWF4LWhlaWdodDogMTAwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlZGlyZWN0IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuXG4gICAgICAgICAgICBpLmljb24tYW5nbGUtbGVmdDo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3Jfb3B0aW9ucyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2luYXRlZF9yZXN1bHRzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW5zLTEge1xuICAgICAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmNvbHVtbnMtMiB7XG4gICAgICAgICAgICAgICAgLnJlc3VsdHNDb2wge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW5zLTMge1xuICAgICAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMzLjMlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jb2x1bW5zLTQge1xuICAgICAgICAgICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY29sdW1ucy01IHtcbiAgICAgICAgICAgICAgICAucmVzdWx0c0NvbCB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucmVzdWx0c0NvbCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICBsaXN0LXN0eWxlLXR5cGU6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNnB4O1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDJweCA2cHg7XG5cbiAgICAgICAgICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICA+LnJvdyB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG59XG5cbi53aGVlbHR5cGUtc2VsZWN0b3ItY29udGFpbmVyIHtcbiAgICBoMyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTcpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDVweCAwIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndoZWVsdHlwZS1vcHRpb25zIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLndoZWVsdHlwZS1vcHRpb24ge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiAyNXB4IDIwcHggMjBweCAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMTgycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTBweCA4cHggMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxIDEgNTAlO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxNjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDUwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTcpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE3KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweCA2cHggMTVweCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAzcHggMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGluaGVyaXQ7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGJvdHRvbTogLTIycHg7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cbn1cblxuI1BTT3ZlcmxheSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwKTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDE7XG5cbiAgICAmLnZpc2libGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNSk7XG4gICAgfVxufVxuXG4udHJhaWxlci1iYW5uZXItc2VsZWN0b3Ige1xuICAgICNQU092ZXJsYXkge1xuICAgICAgICB6LWluZGV4OiAwO1xuICAgIH1cbn1cblxuaDIubW9iaWxlLW1vZGFsLXRpdGxlIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IDIycHg7XG4gICAgaGVpZ2h0OiA2NHB4O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwIDIwcHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuI3BzTW9iaWxlTW9kYWwsXG4jcHNNb2JpbGUge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbWFyZ2luOiAwO1xuXG4gICAgPiBsaSA+IGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICBmb250LXNpemU6IDIxcHg7XG4gICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgPmxpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuXG4gICAgICAgICAgICAmLndoZWVsc0ZvcldpbnRlckNvbmRpdGlvbnNNb2RhbFRyaWdnZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUubmVzdGVkIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuI3Byb2R1Y3RTZWxlY3RvcldyYXBwZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICB9XG5cbiAgICAucHMtbGVmdCB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBtYXJnaW46IDAgYXV0byAzNXB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuICAgICAgICBtYXgtd2lkdGg6IDYwMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byA0NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMmVtO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg2Nyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yZW07XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHMtcmlnaHQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBsZWZ0OiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjVzIGVhc2UtaW4tb3V0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cblxufVxuXG5cbiNwcm9kdWN0U2VsZWN0b3JDb250ZW50IHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuNXMgZWFzZS1pbi1vdXQ7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgbWF4LXdpZHRoOiA2MTBweDtcbiAgICB9XG5cbiAgICAmLmlucGFnZSB7XG4gICAgICAgIC52ZWhpY2xlU2VsZWN0b3JGaW5kVGlyZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgICAgICAgICAmLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnRyYWlsZXItdGlyZS1oaW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXNlbGVjdG9yLXRhYnMge1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5zZWxlY3RvciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLXRhYiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIGRpdjpub3QoLnNlbGVjdG9yLWRlc2NyaXB0aW9uKSxcbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3Zlcjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMTBweDtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rvci1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgd2lkdGg6IDU2JTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTdweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VsZWN0b3ItdGFiIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZDogcmdiYSgwLCAwLCAwLCAwLjUpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWdyb3c6IDE7XG5cbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTkpO1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW4tbGVmdDogMnB4O1xuICAgICAgICBwYWRkaW5nOiAwIDIwcHg7XG5cbiAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgaGVpZ2h0OiA0OHB4O1xuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLXRhYnMge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubG9va2luZy1mb3Itb3RoZXItdGlyZXMge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgcGFkZGluZy10b3A6IDMwcHg7XG5cbiAgICAgICAgJi50cmFpbGVyLXBhZ2UtcmVkaXJlY3Qge1xuICAgICAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3RTZWxlY3RvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICYuc3RhZ2dlcmVkLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgJltkYXRhLWZyb250cmVhcj1cImZyb250XCJdIC5hZGQtcmVhci1zaXplLWN0YSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmW2RhdGEtZnJvbnRyZWFyPVwicmVhclwiXSAuYWRkLXJlYXItc2l6ZS1jdGEge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMjBweDtcblxuICAgICAgICAgICAgJltkYXRhLWNhdGVnb3J5aWQ9XCJ0aXJlc1wiXSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgICAgICAuYWRkLXJlYXItc2l6ZSxcbiAgICAgICAgICAgICAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgICAgICAgICAgYm90dG9tOiAtMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmW2RhdGEtc2VsZWN0b3J0eXBlPVwid2hlZWxfc2l6ZVwiXSAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zdGFnZ2VyZWQtYWN0aXZlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAuZnJvbnQtcmVhci1tb2JpbGUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3JfY2xvc2Uge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mcm9udC1yZWFyIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcblxuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAxMnB4O1xuXG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPmRpdiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjY2NjO1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuc3RhZ2dlcmVkLWFjdGl2ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgID5kaXYuYWN0aXZlIGEge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mcm9udC1yZWFyLW1vYmlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIC5yZWFyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdFNlbGVjdG9yIHtcbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cInRpcmVfc2l6ZVwiXSxcbiAgICAgICAgJltkYXRhLXNlbGVjdG9ydHlwZT1cIndoZWVsX3NpemVcIl0ge1xuICAgICAgICAgICAgLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgfVxuXG4gICAgLmFkZC1yZWFyLXNpemUtY3RhIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLm1vYmlsZS1vbmx5IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIC5hZGQtcmVhci1zaXplIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMTA1XCI7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXItdG9wOiAwO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDE1cHggMTBweDtcblxuICAgICAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWwoMTgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuXG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCA1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICYud2hlZWxzRm9yV2ludGVyQ29uZGl0aW9uc01vZGFsVHJpZ2dlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMCA2cHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMzBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYucGFnZWRpcmVjdCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZXN1bHRzQ29sIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGUtdHlwZTogbm9uZTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3Jfc3RlcHMge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwNVwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2RhdGEtY3VycmVudC1rZXk9VkVISUNMRV9OQU1FXSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5jaG9zZW4gYSB7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlbGVjdG9yX29wdGlvbnNfbW9iaWxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIC5zdGVwbGluayB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXggIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNob3NlbiB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsZWN0b3Jfb3B0aW9uc19tb2JpbGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGVwbGluayB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDA7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogaW5pdGlhbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmlubGluZS1xdWVzdGlvbi1tYXJrIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYm94O1xuICAgIG1hcmdpbjogMCAwIDAgMTBweDtcblxuICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICBib3JkZXItd2lkdGg6IDJweDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0b3A6IC0ycHg7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4ubmV3c2VhcmNoLXRpcmVzZWxlY3Rpb24ge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICBwYWRkaW5nOiAwIDI1cHggMCAyMHB4O1xuICAgIH1cbn1cblxuLnBkcC1tYWluIHtcbiAgICAucHNyZXN1bHRzLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDAgMTBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgICBwYWRkaW5nOiA1MHB4IDAgMS44NzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMi41cmVtO1xuICAgIH1cblxuICAgICYuc21hbGwtdG9wIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW07XG5cbiAgICAgICAgICAgIC5wc3Jlc3VsdHMtdGl0bGUtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2NjYztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaDIucHNyZXN1bHRzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMThweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMjFweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdGlvbi1pbmZvcm1hdGlvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAuc2VsLWluZm8td3JhcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDNweDtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBoZWlnaHQ6IDIxcHg7XG4gICAgICAgICAgICB3aWR0aDogMjFweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItaW1hZ2UtY29sIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgIHRvcDogMjBweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1pbWFnZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJveC1zaXppbmc6IGluaXRpYWw7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4IDAgMTBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA1MHB4KTtcblxuICAgICAgICAgICAgQG1lZGlhIHNjcmVlbiBhbmQgKG1pbi13aWR0aDowXFwwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcy1yZXN1bHRzLWltYWdlLXRpcCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogLTE4cHg7XG4gICAgICAgICAgICB0b3A6IC04cHg7XG4gICAgICAgICAgICB3aWR0aDogMjJweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHNwYW4ucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE2cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWluaW1pemVkLXZlaGljbGUtdml6dWFsaXplciB7XG4gICAgICAgIC5zZWwtdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbC1pbmZvLnJvdyB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMnB4O1xuICAgICAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICYubGVmdC1hcnJvdyB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDEycHggc29saWQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAxMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMTJweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMDtcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMTJweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5pbml0LXNlbGVjdG9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmluZm8tbW9kYWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAuZmluZFRpcmVTaXplTW9kYWxUcmlnZ2VyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGVmdC1pbmZvIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlbC10aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogNTZweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLm5vbWluaGVpZ2h0IHtcbiAgICAgICAgICAgICAgICAgICAgbWluLWhlaWdodDogaW5pdGlhbDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDUwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEuNSk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE2LjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3Ryb25nIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggZG90dGVkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZXBhcmF0b3Ige1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmlnaHQtaW5mbyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRpcmUtdHlwZS1jb250ZW50IHtcbiAgICAjcHJvZHVjdEdyaWRVcmwge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5sZWZ0LWljb24td3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52Y2VudGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICB9XG5cbiAgICAudGlyZS10eXBlcyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDYwcHg7XG4gICAgfVxuXG4gICAgLnRpcmUtdHlwZXMucGFja2FnZXMge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICB9XG5cblxuICAgIC50aXJlcy1ndWlkZWQtcGF0aCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgPiBpbWcge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0ZWdvcnktc2VsZWN0LWZpcnN0LXN0ZXAge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogJHdoaXRlO1xuICAgICAgICAgICAgYm9yZGVyOiAxMHB4IHNvbGlkICRsaWdodC1ncmF5O1xuICAgICAgICAgICAgcGFkZGluZzogNDBweCAyMHB4IDMwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDEwMG1zO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmltYWdlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ3VpZGVkLXNlY3Rpb24taGVhZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIGgzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFycm93IHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICBib3R0b206IC0yMHB4O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTMwcHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNDBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDE7XG5cbiAgICAgICAgICAgICAgICArIC50aXJlLXR5cGVzIHtcbiAgICAgICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRsaWdodC1ncmF5O1xuXG4gICAgICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiA1MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taWQtbGluZS1jb3B5IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgIG1hcmdpbjogMjVweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXJlLXR5cGVzLXNlY3Rpb24taGVhZCB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhdGVnb3J5LWNvbHVtbi13cmFwcGVyIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgfVxuXG4gICAgLmNhdC10eXBlcy1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgIH1cblxuICAgIC5yZXN1bHRfYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yX2NoZWNrYm94IHtcbiAgICAgICAgYm9yZGVyOiA1cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgYm9yZGVyLWxlZnQtd2lkdGg6IDhweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgcGFkZGluZzogMTVweCA3MHB4IDE1cHggMzBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlKSB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdC13aWR0aDogMTNweDtcbiAgICAgICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG5cbiAgICAgICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogLTEzcHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxM3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBsZWZ0OiAtMjAwcHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB3aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl0ge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjNweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdG9wOiAtM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCxcbiAgICAgICAgLmhhcy10aXAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWlubGluZS1zdGFydDogMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtdGlwIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmEge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0bztcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgdG9wOiAwO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGhlaWdodDogY2FsYygxMDAlICsgMTBweCk7XG4gICAgICAgICAgICBsZWZ0OiAtOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAtNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDhweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItYWxsLXdlYXRoZXIge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2JmMWE4ZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3Itd2ludGVyIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICMyMGMzZjM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLTMtc2Vhc29uLFxuICAgICAgICAmLmNhdGNvbG9yLWFsbC1zZWFzb24ge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2ZiYjExNjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItcGVyZm9ybWFuY2Uge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogIzYzNTNhMztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuY2F0Y29sb3ItdG91cmluZyB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjMDBhNjUxO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1tdWQtdGVycmFpbiB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjNDIyODAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1zcG9ydC10cnVjayB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjOWVjZjdjO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1hbGwtdGVycmFpbiB7XG4gICAgICAgICAgICAudGlyZXR5cGUtaW5kaWNhdG9yIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjN2E1MjI2O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jYXRjb2xvci1jb21tZXJjaWFsIHtcbiAgICAgICAgICAgIC50aXJldHlwZS1pbmRpY2F0b3Ige1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICNhN2E5YWM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGNvbG9yLXVsdHJhLWhpZ2gtcGVyZm9ybWFuY2Uge1xuICAgICAgICAgICAgLnRpcmV0eXBlLWluZGljYXRvciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogI2E0OTljYTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlbGVjdG9yX2NoZWNrYm94LnNlbGVjdGVkIHtcbiAgICAuZmEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG5cbi50b29sdGlwLm9lbS10aXAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbWF4LXdpZHRoOiAyMzBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMjMwcHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgLy8gYnkgZGVmYXVsdCBhcHBlYXJzIGJlbG93IChib3R0b20pXG4gICAgJjo6YmVmb3JlIHtcbiAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICBib3JkZXItYm90dG9tLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICB9XG5cbiAgICAmLnRvcCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItdG9wLXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuYm90dG9tIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5yaWdodCB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5sZWZ0IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0LXN0eWxlOiBzb2xpZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRvb2x0aXAuY2F0dHlwZS10aXAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgY29sb3I6ICMwMDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1heC13aWR0aDogMzgwcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcblxuICAgIC8vIGJ5IGRlZmF1bHQgYXBwZWFycyBiZWxvdyAoYm90dG9tKVxuICAgICY6OmJlZm9yZSB7XG4gICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS1zdHlsZTogc29saWQ7XG4gICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogMzBweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDE1cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYudG9wIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5ib3R0b20ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgYm9yZGVyLXRvcC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnJpZ2h0IHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogdHJhbnNwYXJlbnQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodC1zdHlsZTogc29saWQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmxlZnQge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiBpbnNldCAwLjQ1cmVtO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQtc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4udG9vbHRpcC5kaXNhYmxlZC1lbWFpbC10aXAge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIGJveC1zaGFkb3c6IDAgMCA1NXB4IC0xNnB4IHJnYmEoMCwgMCwgMCwgMC43NSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBtYXgtd2lkdGg6IDI0NnB4ICFpbXBvcnRhbnQ7XG4gICAgbWluLXdpZHRoOiAyNDZweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICAvLyBieSBkZWZhdWx0IGFwcGVhcnMgYmVsb3cgKGJvdHRvbSlcbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBib3JkZXI6IGluc2V0IDAuNDVyZW07XG4gICAgICAgIGJvcmRlci1ib3R0b20tc3R5bGU6IHNvbGlkO1xuICAgICAgICBib3JkZXItY29sb3I6IHRyYW5zcGFyZW50IHRyYW5zcGFyZW50ICR3aGl0ZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMnB4O1xuICAgIH1cblxuICAgIC5vcmFuZ2UtcGhvbmUsXG4gICAgLnBhbGUtZ3JleS10ZXh0IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAub3JhbmdlLXBob25lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgfVxuXG4gICAgLnBhbGUtZ3JleS10ZXh0IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgfVxufVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIHtcbiAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgLmdzcEFuc3dlciB7XG4gICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuXG4ucHMtbGFuZGluZy1jb250ZW50LXdyYXBwZXIge1xuICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgcGFkZGluZzogOTBweCAwO1xuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMXB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICB9XG5cbiAgICAucm93ID4gZGl2IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI29lbWFya2luZ01vZGFsIHtcbiAgICBib3JkZXI6IDA7XG4gICAgbWF4LXdpZHRoOiAzODBweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICAub2VtYXJraW5nTW9kYWxDdGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbiNmaXRtZW50TW9kYWwge1xuICAgIGJvcmRlcjogMDtcbiAgICBtYXgtd2lkdGg6IDM4MHB4O1xuICAgIHBhZGRpbmc6IDA7XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgIHBhZGRpbmc6IDlweCAxNXB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgIH1cblxuICAgIC5maXRtZW50TW9kYWxDdGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG59XG5cbi5yZXZlYWwudmNlbnRlciB7XG4gICAgbGVmdDogNTAlICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTUwJSk7XG59XG4iLCIjcHJvZHVjdFNlbGVjdG9yU2xvdFdyYXBwZXIge1xuICAgICYuZXhwYW5kZWQge1xuICAgICAgICAjcHJvZHVjdFNlbGVjdG9yQ29udGVudCB7XG4gICAgICAgICAgICAmLnNlcnZpY2Utc2VsZWN0b3ItY29udGVudCB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NzRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3Byb2R1Y3RTZWxlY3RvckNvbnRlbnQuc2VydmljZS1zZWxlY3Rvci1jb250ZW50IHtcbiAgICAuY2hvaWNlLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNob2ljZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgbWluLWhlaWdodDogMTgycHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleDogMSAxIDUwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAycHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDM0N3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTAwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICAuY2hlY2staWNvbiB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS12YWx1ZT1cIlllc1wiXSB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICZbZGF0YS12YWx1ZT1cIk5vXCJdIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNoZWNrLWljb24ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZGVkZWRlO1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgIGhlaWdodDogMTlweDtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDEwcHggMDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgICAgICB3aWR0aDogMTlweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiAyN3B4O1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDE1cHggMDtcbiAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDBjXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE2cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0U2VsZWN0b3Ige1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLXRhYiB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHggMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMjhweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAzMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyNTBweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMjUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VsZWN0b3ItZGVzY3JpcHRpb24ge1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTg3cHg7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTM3cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTJweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRpcmVfbW91bnQge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgY29sb3I6ICRtZWRpdW0tZGFyay1ncmF5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hvaWNlIHtcbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuVkVISUNMRV9UWVBFXzEge1xuICAgICAgICAuY2hvaWNlIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxODBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxNHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2Nob2ljZU1vZGFsIHtcbiAgICAmLnJldmVhbCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ2N3B4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgc3Ryb25nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMzBweCAyMHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDQwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi8vIE5vdGU6IG1heWJlIHdlIGNhbiByZW1vdmUgdGhlIGluY2x1ZGUgZm9yIHBhZ2luYXRpb24gZnJvbSBmb3VuZGF0aW9uIGlmIHdlIHdpbGwgbm90IHVzZSBpdFxuXG4ucGFnaW5hdGlvbiB7XG4gICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIGxpIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMTJweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDlweDtcblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VycmVudC1wYWdlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICB9XG59XG5cbi5zdG9yZXMtcGFnaW5hdGlvbiB7XG4gICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAuY3VycmVudCB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogaW5oZXJpdDtcblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIvLyBQcm9kdWN0IHRpbGVzIGZyb20gcmVzdWx0cy9ncmlkIHBhZ2Vcbi5zZWFyY2gtcmVzdWx0LWNvbnRlbnQsXG4ucGFnZS1kZXNpZ25lci1rYWx0aXJlIHtcbiAgICAuZ3JpZC10aWxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNDVweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYubmV3LXJvdzpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgZmxleDogMSAwIGF1dG87XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweCAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgICAgIEBpbmNsdWRlIGZsZXgtYWxpZ24oanVzdGlmeSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5wcm9kdWN0LWxpbmstYWJvdmUge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmstYWJvdmUtcHJvZHVjdCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgei1pbmRleDogMztcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGJ1dHRvbi1hY2Nlc3NpYmxlLWhvdmVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXI6bm90KC5wcm9kdWN0LXRpbGUtYWN0aXZlKTpub3QoLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIpIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGRhcmtlci1ncmF5LW92ZXI7XG5cbiAgICAgICAgICAgIC5yZWNvbW1lbmRlZC1iYWdkZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogJGxpZ2h0LWdyYXktb3ZlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtY29tcGFyZSBsYWJlbCB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguaXNNYXN0ZXJQcm9kdWN0KSB7XG4gICAgICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgICAgICAvLyBjdXN0b20gYnJlYWtwb2ludCBiZWNhdXNlIGFsc28gZm9yIDEwMjUgd2UgaGF2ZSBpc3N1ZXMgd2l0aCBwcmljZSBzaXplXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWF4LXdpZHRoOiAxMjc5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlY29tbWVuZGVkLWJhZ2RlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAzcHggMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvbW8tYmFkZ2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDAgN3B4O1xuICAgICAgICAgICAgcGFkZGluZzogNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiA3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1iYWRnZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMCA2cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgICAgICAuYnJhbmQtbmFtZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52LXZpZXctb24tdmVoaWNsZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA2NXB4O1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgLnJlYmF0ZSB+IC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgNXB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkZC1hbGwtdG8tY2FydCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJvcmRlci1ncmV5KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHg7XG5cbiAgICAgICAgLm1hcmtldGluZy10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubWFya2V0aW5nLWluZm8tc2VjdGlvbiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDApO1xuXG4gICAgICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDA7XG5cbiAgICAgICAgLnRodW1iLWxpbmsge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDIxNXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTVweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDE5NXB4O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTk1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICAgICAgbWluLWhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgLmJyYW5kLW5hbWUge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhdGVnb3J5IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2F0ZWdvcmllcy1ib3gge1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAxMHB4IDAgMTVweDtcbiAgICB9XG5cbiAgICAubm90LWF2YWlsYWJsZS1tc2cge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgIC5hdmFpbGFiaWxpdHktbXNnIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF2YWlsYWJpbGl0eS1sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuMzEyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pc01hc3RlclByb2R1Y3Qge1xuICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1hc3Rlci1wcm9kdWN0LXByaWNlLFxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWJhdGUge1xuICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZpZXctb24tdmVoaWNsZSB7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC8vIFByb2R1Y3Qgc2V0XG4gICAgLnNpemUtcHJpY2UtcXR5LWJveCB7XG4gICAgICAgIG1hcmdpbjogYXV0byAwIDA7XG5cbiAgICAgICAgLnByb2R1Y3Qtc2l6ZSxcbiAgICAgICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgICAgICAuYm94LXNwYWNpbmc6Zmlyc3Qtb2YtdHlwZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlX19hY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAyO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGVfX2FkZC10by1jYXJ0IHtcbiAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgIGhlaWdodDogNjBweDtcblxuICAgICAgICAuYWRkLXRvLWNhcnQge1xuICAgICAgICAgICAgaGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY29tcGFyZS1pdGVtcy1jb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRsaWdodC1ncmF5LW92ZXI7XG4gICAgYm90dG9tOiAwO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDM7XG59XG5cbi5jb21wYXJlLWl0ZW1zIHtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBtYXgtd2lkdGg6IDEyNDBweDtcblxuICAgIC5jb21wYXJlLWl0ZW0ge1xuICAgICAgICBoZWlnaHQ6IDE2MHB4O1xuICAgICAgICBtYXJnaW46IDMwcHggNTBweCAzMHB4IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDE1MHB4O1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMTQ1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNvbXBhcmUtaXRlbS1uYW1lIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb21wYXJlLWl0ZW0tbnVtYmVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDExMHB4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wYXJlLWl0ZW0tcmVtb3ZlIHtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdG9wOiAwO1xuICAgIH1cblxuICAgIC5jb21wYXJlLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAgMjVweDtcbiAgICAgICAgcGFkZGluZzogMTVweCAyOHB4O1xuICAgIH1cblxuICAgIC5jb21wYXJlLWFjdGlvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmctdG9wOiA4NHB4O1xuICAgIH1cbn1cblxuLml0YWxpYy10ZXh0IHtcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG59XG5cbi5maW5hbmNlLWluZm8ge1xuICAgIGJvcmRlcjogMnB4IHNvbGlkICNmZjY5MDA7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTVweCk7XG4gICAgbWFyZ2luOiAyNXB4IDA7XG4gICAgcGFkZGluZzogMC41ZW07XG5cbiAgICBhIHtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5zZWFyY2gtcmVzdWx0LWNvbnRlbnQge1xuICAgICAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1jb21wYXJlIHtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgZmxleDogMSAxIDEwMCU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogNTVweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIC5jb21wYXJlLWxhYmVsLFxuICAgICAgICAgICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29tcGFyZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDVweCAwIDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRvcDogNHB4O1xuICAgICAgICAgICAgICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICAmOmNoZWNrZWQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b206OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MTFcIjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgICAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMnB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxZGJcIjtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlucHV0LWN1c3RvbSxcbiAgICAgICAgICAgIGlucHV0IHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE3cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC10aWxlLWFjdGl2ZSB7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWNvbXBhcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgICAgIC5jb21wYXJlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtdGlsZS1hY3RpdmUsXG4gICAgICAgIC5wcm9kdWN0LXRpbGUtLWNhcnQtYnV0dG9uLWhvdmVyIHtcbiAgICAgICAgICAgIC5yZWNvbW1lbmRlZC1iYWdkZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtdGlsZS0tY2FydC1idXR0b24taG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkZGFya2VyLWdyYXktb3ZlcjtcblxuICAgICAgICAgICAgLmNvbXBhcmUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IHtcbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxuXG4gICAgLnN0YXJ0LW5ldy1zZWFyY2gtd3JhcHBlciB7XG4gICAgICAgIHRleHQtYWxpZ246IGVuZDtcblxuICAgICAgICAubG9hZGVyIHtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0YXJ0LW5ldy1zZWFyY2gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweCAwO1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBzcmVzdWx0cy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgfVxuXG4gICAgLm1hdGNoZWQtcHJvZHVjdHMge1xuICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgIH1cblxuICAgIC8vIHNlYXJjaCByZXN1bHRzIHRhYnNcbiAgICAudGFicy1jb250ZW50IHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgIH1cblxuICAgIC5zZWFyY2gtcmVzdWx0cy10YWJzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIH1cblxuICAgICAgICAudGFicy10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAtNnB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgPiBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYnMtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNvcnQtYnkge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtcmVzdWx0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zb3J0LWJ5IHtcbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIHotaW5kZXg6IDM7XG4gICAgICAgIH1cblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgYm94LXNoYWRvdzogMnB4IDRweCA1cHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkaXNhYmxlZC1ncmV5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNyZWZpbmVtZW50cy1jb250ZW50LXRyaWdnZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5yZWZpbmVtZW50cy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5yZWZpbmVtZW50cyB7XG4gICAgICAgIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgICBbY2xhc3MqPVwiIGljb24tXCJdOjpiZWZvcmUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tY2lyY2xlLXRoaW4sXG4gICAgICAgIC5pY29uLWNpcmNsZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlZmluZW1lbnRzLWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNDRweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwOyBcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAxNXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgICAgICA+IGEge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDAgMTVweCAzN3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IHtcbiAgICAgICAgICAgIG1hcmdpbjogLTVweCAwIDEwcHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnRbYXJpYS1leHBhbmRlZD1cInRydWVcIl0gPiBhOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGNcIjtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgIH1cblxuICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50ID4gYSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBiXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICBsZWZ0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmlzLXN1Ym1lbnUtaXRlbSB7XG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNXB4IDFweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmlzLWFjY29yZGlvbi1zdWJtZW51IGxpLnNlbGVjdGVkIGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgIH1cblxuICAgIC8vIE5lZWQgSGVscCBhbmQgUmVzb3VyY2UgQ2VudHJlXG4gICAgLmluZm8tYm94IHtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgNDBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMTRweDtcblxuICAgICAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoeGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gTGl2ZSBDaGF0IGJveFxuICAgIC5saXZlLWNoYXQtYm94IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBib3JkZXItZ3JleSk7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDQwcHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDM3NXB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDE0cHggMDtcbiAgICAgICAgd2lkdGg6IDIxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IDIwcHggNDBweDtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDQwNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDMxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDE4MHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyODBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW1hZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDMycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogZml0LWNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGl2ZS1jaGF0LW1vYmlsZSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIH1cblxuICAgIC5uZWVkLWhlbHAtYm94IHtcbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tbGl2ZWNoYXQge1xuICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gUGFnZXMgdGFiXG4gICAgLnNlYXJjaC1yZXN1bHRzLWNvbnRlbnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb2xkZXItY29udGVudC1saXN0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDUwcHg7XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbnRlbnQtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiBjYWxjLXJlbSgxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucmVhZG1vcmUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZXNvdXJjZS1jZW50ZXIge1xuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gQ2hhbmdlIGxvY2F0aW9uXG4gICAgLmNoYW5nZS1sb2NhdGlvbi1ib3gge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDUwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICAgICAgcG9zaXRpb246IGZpeGVkO1xuICAgICAgICByaWdodDogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDM1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdpbmF0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBsaSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI25ld1NlYXJjaE1vZGFsIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgIH1cblxuICAgIC5zZWxlY3Rvci1pbWFnZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFkZC1yZWFyLXNpemUsXG4gICAgLmZpbmRUaXJlU2l6ZU1vZGFsVHJpZ2dlcixcbiAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogaW5oZXJpdDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm90dG9tOiAtMjJweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9va2luZy1mb3Itb3RoZXIge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIHBvc2l0aW9uOiBpbml0aWFsO1xuICAgIH1cblxuICAgIC5jbG9zZV9idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIHRvcDogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAucHRfcHJvZHVjdC1zZWFyY2gtcmVzdWx0IHtcbiAgICAgICAgLm1hdGNoZWQtcHJvZHVjdHMge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVmaW5lbWVudHMtd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA0NXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgLnB0X3Byb2R1Y3Qtc2VhcmNoLXJlc3VsdCB7XG4gICAgICAgIC5zb3J0LWJ5LXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NXB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNvcnQtYnkge1xuICAgICAgICAgICAgbGFiZWwge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNyZWZpbmVtZW50cy1jb250ZW50LXdyYXAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAucmVmaW5lbWVudHMge1xuICAgICAgICAgICAgLnJlZmluZW1lbnRzLWNvbnRlbnQsXG4gICAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50LFxuICAgICAgICAgICAgLmNsZWFyLWZpbHRlcnMge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmlzLWFjY29yZGlvbi1zdWJtZW51LXBhcmVudCA+IGEge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHggMCAxMnB4IDIwcHg7XG5cbiAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pcy1hY2NvcmRpb24tc3VibWVudSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xlYXItZmlsdGVycyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZWZpbmVtZW50LXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICAgICAgICAgICYuc2l6ZXMtdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIucGRwLW1haW4ge1xuICAgIC8vIEVuZCBTbGlkZXJcblxuICAgIC8vIFByb2R1Y3QgT3ZlcnZpZXdcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wc3Jlc3VsdHMtd3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIH1cblxuICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAucGRwLXRvcC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3Qtc2V0LWxpc3Qge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAucHJvZHVjdC1zZXQtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcblxuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA3NXB4O1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogNzVweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc2V0LWRldGFpbHMge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNzAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogbWF4LWNvbnRlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLXN1Yi1wcm9kdWN0IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDMwJSAhaW1wb3J0YW50O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDhweCAwIDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogOHB4IDAgMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWRkLWFsbC10by1jYXJ0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLnNldC1hdHRyLXRpdGxlcyB7XG4gICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuXG4gICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG5cbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cblxuICAgICAgICAudmFsdWUtZnJvbnQge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCAxMnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlLXJlYXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDEycHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuXG4gICAgLm1hbnVmYWN0dXJlci1udW1iZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbWFyZ2luOiA1cHggMCAwO1xuICAgIH1cblxuICAgIC5tdWx0aXBsZS1tYW51ZmFjdHVyZXItbnVtYmVycyB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudGl0bGUtbWFpbi1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxOHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmV2aWV3LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm92ZXJ2aWV3LFxuICAgIC5wcm9kdWN0LWRlc2NyaXB0aW9uLFxuICAgIC50ZXN0LXJlc3VsdHMsXG4gICAgLnByb2R1Y3Qtc2l6ZXMsXG4gICAgLnJhdGluZy1ib3gge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMDBweDtcbiAgICB9XG5cbiAgICAjcHJvZHVjdERlc2NyaXB0aW9uLFxuICAgICN0ZXN0UmVzdWx0cyxcbiAgICAjcmFpdGluZ1Jldmlld3MsXG4gICAgI3Byb2R1Y3RTaXplcyB7XG4gICAgICAgIHNjcm9sbC1tYXJnaW4tdG9wOiAxMjBweDtcbiAgICB9XG5cbiAgICAvLyBTbGlkZXJcbiAgICAucHJvZHVjdC1pbWFnZS1jb250YWluZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRodW1ibmFpbHMge1xuICAgICAgICBtYXJnaW46IDEwcHggMTBweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiA1NnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDY2cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRvcC1wYWRkaW5nIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgdG9wOiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXNsaWRlciB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB2aXNpYmlsaXR5OiBoaWRkZW47XG5cbiAgICAgICAgICAgICYuc2xpY2staW5pdGlhbGl6ZWQge1xuICAgICAgICAgICAgICAgIHZpc2liaWxpdHk6IHZpc2libGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGh1bWIge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLW5leHQsXG4gICAgICAgIC5zbGljay1wcmV2IHtcbiAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICAgICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkZ3JleS1kaXNhYmxlZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stbmV4dCB7XG4gICAgICAgICAgICByaWdodDogLTE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtMjNweDtcbiAgICAgICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGU4MTRcIjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNsaWNrLXByZXYge1xuICAgICAgICAgICAgbGVmdDogLTE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICB0b3A6IC0xMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODEzXCI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZVwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zbGljay1zbGlkZSB7XG4gICAgICAgICAgICAmLnNsaWNrLWN1cnJlbnQge1xuICAgICAgICAgICAgICAgIC5wcm9kdWN0dGh1bWJuYWlsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1jYXJvdXNlbCB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDI3MnB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDcwcHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgbWluLWhlaWdodDogMzE3cHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gODVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stc2xpZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcblxuICAgICAgICAgICAgJi5zbGljay1pbml0aWFsaXplZCB7XG4gICAgICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC52aWRlb1dyYXBwZXIge1xuICAgICAgICAgICAgaGVpZ2h0OiAzMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2xpY2stc2xpZGUge1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vdmVydmlldyB7XG4gICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiA1cHggMDtcblxuICAgICAgICAgICAgICAgICYudHJhaWxlci10aXJlLWF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuY2F0ZWdvcnktYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhdGVnb3J5IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXJldmlldyB7XG4gICAgICAgICAgICBtYXJnaW46IDI1cHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByaWNlIFF0eSBhbmQgQWRkIHRvIGNhcnQgc2VjdGlvbnNcbiAgICAucHJpY2UtcmlnaHQtYm94IHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljZS1hZGR0b2NhcnQge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDQwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2Utd3JhcCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS1sYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgOXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXJpZ2h0LWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5pbnZlbnRvcnkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmludmVudG9yeSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW5wdXQge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDc1cHg7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgI3RvdGFsUHJpY2VTZWN0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDE0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcblxuICAgICAgICAgICAgICAgIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMjVweCAwIDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtbGFiZWwsXG4gICAgICAgIC5xdWFudGl0eSAucXVhbnRpdHktdG90YWwsXG4gICAgICAgIC5xdWFudGl0eSBsYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmhlcml0O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDlweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygzNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIC5jdXJyZW5jeS1pbmRpY2VzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMTBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcblxuICAgICAgICAgICAgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuXG4gICAgICAgICAgICAgICAgLmN1cnJlbmN5LWluZGljZXMge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IGRlc2NyaXB0aW9uXG4gICAgLnByb2R1Y3QtZGVzY3JpcHRpb24ge1xuICAgICAgICAubG9uZy1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDgwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzVweCAwIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJlLXBsYW4ge1xuICAgICAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEthbCdzIHRlc3QgcmVzdWx0c1xuICAgIC50ZXN0LXJlc3VsdHMge1xuICAgICAgICAuZHJpdmVyLW5vdGVzLXdyYXAge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5kcml2ZXItbm90ZXMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgIH1cblxuICAgICAgICAuZHJpdmVyLW5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXN0aW5nLXZpZGVvLWJveCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzNXB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnF1ZXN0aW9ucyB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaW5saW5lLXF1ZXN0aW9uLW1hcmsge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vhc29uLXRpdGxlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hdHRyaWJ1dGUtdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA3cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vhc3NvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi41cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbiB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNDclO1xuXG4gICAgICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDVweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFiZWwtdGl0bGUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubGFiZWwtdGl0bGUtYm9sZCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJhaXRpbmcge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMwJTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIFtjbGFzc149XCJpY29uLVwiXTo6YmVmb3JlLFxuICAgICAgICAgICAgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU2l6ZXMgJiBTcGVjc1xuICAgIC5wcm9kdWN0LXNpemVzIHtcbiAgICAgICAgLm1vZGVsLXNwZWNzIHtcbiAgICAgICAgICAgIC5tb2RlbC1ib3gge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tb2RlbC1zaXplIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZpZXctYWxsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDdweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjMxMjVyZW07XG4gICAgICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOXB4IDEycHg7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJi5maW5pc2hfYXR0cmlidXRlIC52YWx1ZTpub3QoLnZhbHVlLXJlYXIpIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudmFsdWUtcmVhciB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiA4MHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWluLXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxvYWQtcmFuZ2UtdGl0bGUge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vc3R5bGUgaWYgcHJvZHVjdCBpcyBzZXJ2aWNlIHR5cGVcbiAgICAuc2VydmljZS1pbmZvLXdyYXBwZXIge1xuICAgICAgICAubGVmdC1pbmZvIHtcbiAgICAgICAgICAgIC5zZWwtc3VidGl0bGUge1xuICAgICAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0LWluZm8ge1xuICAgICAgICAgICAgLm5ld3NlYXJjaC10aXJlc2VsZWN0aW9uIHtcbiAgICAgICAgICAgICAgICAuaW5pdC1zZWxlY3RvciB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWluZm8tY29udGVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXJlIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbC1pbmZvIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNpemVzICYgU3BlY3MgLSBtYXN0ZXIgcHJvZHVjdFxuLnByb2R1Y3Qtc2l6ZS10YWJzIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBib3JkZXI6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtZ3JvdzogaW5pdGlhbDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgJi50cmFpbGVyLWxvYWQtcmFuZ2UtdGFicyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIC50YWJzLXRpdGxlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgd2lkdGg6IGF1dG87XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZsZXg6IDAgMSBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjIlO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAxcmVtIDFyZW07XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYubG9hZC1yYW5nZS1hbmNob3Ige1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAuNXJlbSAycmVtIDFyZW07XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgIH1cblxuICAgICAgICA+IGE6Zm9jdXMsXG4gICAgICAgID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuaXMtYWN0aXZlLFxuICAgICAgICAmOmZvY3VzLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b20tY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgIGEsXG4gICAgICAgICAgICBhOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1zaXplLXRhYnMtY29udGVudCB7XG4gICAgYm9yZGVyOiAwO1xuXG4gICAgLnRhYnMtcGFuZWwge1xuICAgICAgICBwYWRkaW5nOiAyLjc1cmVtIDA7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ4cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMyU7XG4gICAgICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYudHJhaWxlci1sb2FkLXJhbmdlLW9wdGlvbnMge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDAuNXJlbTtcblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXNpemUtdGFicyB7XG4gICAgICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudGFicy10aXRsZSB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpcmUtc2l6ZS1vcHRpb25zIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHJhaWxlci10aXJlLXNpemUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcblxuICAgICAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uaW1hZ2UtdG9vbHRpcCB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgZmxvYXQ6IHJpZ2h0O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBtYXJnaW46IDVweCAwIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgbWFyZ2luOiA1cHggMCAwIDIwcHg7XG4gICAgfVxuXG4gICAgLmhhcy10aXAge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgfVxufVxuXG4udG9vbHRpcC5pbWctdGlwIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBib3gtc2hhZG93OiAwIDAgNTVweCAtMTZweCByZ2JhKDAsIDAsIDAsIDAuNzUpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIG1heC13aWR0aDogMjYwcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDIzMHB4ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGgxIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDdweCAxNXB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgIH1cblxuICAgICYudG9wIHtcbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogaW5zZXQgMC40NXJlbTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudCB0cmFuc3BhcmVudCB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIGJvcmRlci10b3Atc3R5bGU6IHNvbGlkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBNYXN0ZXIgUERQXG4ucGRwLW1hc3RlciB7XG4gICAgLnByb2R1Y3Qtc2l6ZWYsXG4gICAgLnByb2R1Y3Qtd2hlZWxzaXplZiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIGJyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5wZHAtbWFpbiB7XG4gICAgICAgIC8vIFByb2R1Y3QgT3ZlcnZpZXdcbiAgICAgICAgLmJhZGdlcy1ib3gge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1iYWRnZSxcbiAgICAgICAgLnRlc3RlZC1ieWthbC1iYWRnZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAudGVzdGVkLWJ5a2FsLWJhZGdlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b3AtaW5mby1wcm9kdWN0LWJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgLy8gUERQIG5hdmlnYXRpb24gLSBqdXN0IGZvciBsYXJnZVxuICAgIC5wZHAtbmF2IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgd2lkdGg6IDIwJTtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxNXB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgJi5hY3RpdmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wZHAtbWFpbiB7XG4gICAgICAgIC5wcm9kdWN0LXNpemVzIHtcbiAgICAgICAgICAgIC5hdHRyLWNvbHVtbiB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQ1JTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKDIpIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jb21wYXJlLXBhZ2Uge1xuICAgIC8vIGhvcml6b250YWwgc2Nyb2xsIGZvciBtZWRpdW1cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgIC5zY3JvbGwtc2VjdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1mbG93OiBjb2x1bW47XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMjBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgLXdlYmtpdC1vdmVyZmxvdy1zY3JvbGxpbmc6IHRvdWNoO1xuICAgICAgICAgICAgLW1zLW92ZXJmbG93LXN0eWxlOiAtbXMtYXV0b2hpZGluZy1zY3JvbGxiYXI7XG5cbiAgICAgICAgICAgICYubm8tbWFyZ2luIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93IG5vd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC50d28tY29sdW1ucyB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgLnRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIC50aXRsZS1ib3JkZXIge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aHJlZS1jb2x1bW5zIHtcbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICAudGl0bGUtYm9yZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgLnRpdGxlLWJvcmRlciB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNtYWxsLWRldmljZS1tZXNzYWdlIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgbWFyZ2luOiAxMDBweCAwIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGFnZS10aXRsZSB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDIwcHg7XG4gICAgfVxuXG4gICAgYS5iYWNrIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1jb2x1bW4ge1xuICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUsXG4gICAgICAgICAgICAudGVzdC1zY29yZSAuc2Vhc29uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBvdXRsaW5lOiAwO1xuICAgICAgICAgICAgICAgIHRleHQtaW5kZW50OiAtOTk5OWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2NvbXBhcmUtdGFibGUge1xuICAgICAgICBtYXJnaW4tdG9wOiAxMDBweDtcblxuICAgICAgICAucHJvZHVjdC10aWxlLWNvbnRlbnQge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtd2ludGVyLXVzZSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIGN1c3RvbSBncmlkIGZvciBjb21wYXJlIHBhZ2VcbiAgICAudHdvLWNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogOC4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRocmVlLWNvbHVtbnMge1xuICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICBtYXgtd2lkdGg6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMzMuMzMzMzMlO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAzMy4zMzMzMyU7XG5cbiAgICAgICAgICAgICY6bnRoLWNoaWxkKDEpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyLjE4NjVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgyKSB7XG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEuNDA1NzVyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNDA1NzVyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgzKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMi4xODY1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2R1Y3QgVGlsZXMgY29udGFpbmVyXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIGhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgLmNvbXBhcmUtcmVtb3ZlLXByb2R1Y3Qge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgJXJlbW92ZVByb2R1Y3RJY29uIHsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgICAgICAgICAgICAgIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICArIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlcmVtb3ZlUHJvZHVjdEljb247XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBAZXh0ZW5kICVyZW1vdmVQcm9kdWN0SWNvbjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmVjb21tZW5kZWQtYmFnZGUsXG4gICAgICAgIC5wcm9tby1iYWRnZSxcbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyxcbiAgICAgICAgLmF2YWlsYWJpbGl0eS1tc2csXG4gICAgICAgIC5wcm9kdWN0LXNpemUsXG4gICAgICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2UsXG4gICAgICAgIC5hZGl0aW9uYWwtZGV0YWlscyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYmFkZ2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIxNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDI1cHg7XG5cbiAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgLmJyYW5kLW5hbWUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5uYW1lLWxpbmsge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlLXF0eS1ib3gge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA3NSU7XG5cbiAgICAgICAgICAgIC5wcmljZS1zYWxlcyxcbiAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaWNlLXN0YW5kYXJkICsgLnByaWNlLXNhbGVzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMgKyAucmViYXRlIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTIwcHg7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmludmVudG9yeSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1YW50aXR5IHtcbiAgICAgICAgICAgIGxhYmVsLFxuICAgICAgICAgICAgaW5wdXQucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgIHNlbGVjdCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogODVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWFkZC10by1jYXJ0IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgcGFkZGluZzogMzBweCAwIDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLy8gQ2F0ZWdvcnkgc2VjdGlvblxuICAgIC5jYXRlZ29yaWVzIHtcbiAgICAgICAgLmNhdGVnb3J5IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgY29sb3I6ICRjb21wYXJlLWdyYXk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBTdW1tYXJ5IHNlY3Rpb24gYW5kIFRpcmUgU3BlY3Mgc2VjdGlvblxuICAgIC5zdW1tYXJ5LFxuICAgIC50aXJlLXNwZWNzIHtcbiAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogN3B4IDEycHg7XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShldmVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOXB4IDEycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBLYWwncyBUZXN0IFNjb3Jlc1xuICAgIC50ZXN0LXNjb3JlIHtcbiAgICAgICAgLnNlY3Rpb24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKG9kZCkge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHVsIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGxpIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmF0dHJpYnV0ZS10aXRsZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubGFiZWwtdGl0bGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDc1cHgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhaXRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgICAgICB3aWR0aDogNzVweDs7XG4gICAgICAgIH1cblxuICAgICAgICBbY2xhc3NePVwiaWNvbi1cIl06OmJlZm9yZSxcbiAgICAgICAgW2NsYXNzKj1cIiBpY29uLVwiXTo6YmVmb3JlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWFzb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zbWFsbC1kZXZpY2UtbWVzc2FnZSB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBtYXJnaW46IDEwMHB4IDAgMDtcblxuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDI1cHggMCAyMHB4O1xuICAgIH1cblxuICAgIGEuYmFjayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY29sdW1uIHtcbiAgICAgICAgJjpub3QoOmZpcnN0LW9mLXR5cGUpIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLXRpdGxlLFxuICAgICAgICAgICAgLnRlc3Qtc2NvcmUgLnNlYXNvbi10aXRsZSB7XG4gICAgICAgICAgICAgICAgb3V0bGluZTogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWluZGVudDogLTk5OTllbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICNjb21wYXJlLXRhYmxlIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTAwcHg7XG5cbiAgICAgICAgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXdpbnRlci11c2Uge1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBjdXN0b20gZ3JpZCBmb3IgY29tcGFyZSBwYWdlXG4gICAgLnR3by1jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQoMSkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICAucm93LXNwYWNlcyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDguMzMzMzMlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDguMzMzMzMlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aHJlZS1jb2x1bW5zIHtcbiAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDMzLjMzMzMzJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogMzMuMzMzMzMlO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZCgxKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMi4xODY1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMikge1xuICAgICAgICAgICAgICAgIC5yb3ctc3BhY2VzIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjQwNTc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxLjQwNTc1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpudGgtY2hpbGQoMykge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAgICAgLnJvdy1zcGFjZXMge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIuMTg2NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IFRpbGVzIGNvbnRhaW5lclxuICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBoZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMjVweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIC5jb21wYXJlLXJlbW92ZS1wcm9kdWN0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICVyZW1vdmVQcm9kdWN0SWNvbiB7IC8qIHN0eWxlbGludC1kaXNhYmxlLWxpbmUgKi9cbiAgICAgICAgICAgICAgICAuY29tcGFyZS1yZW1vdmUtcHJvZHVjdCB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2sgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCA1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgKyAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIEBleHRlbmQgJXJlbW92ZVByb2R1Y3RJY29uO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgQGV4dGVuZCAlcmVtb3ZlUHJvZHVjdEljb247XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAgICAgICAucHJvbW8tYmFkZ2UsXG4gICAgICAgIC5wcm9kdWN0LWF0dHJpYnV0ZXMsXG4gICAgICAgIC5hdmFpbGFiaWxpdHktbXNnLFxuICAgICAgICAucHJvZHVjdC1zaXplLFxuICAgICAgICAudGVzdGVkLWJ5a2FsLWJhZGdlLFxuICAgICAgICAuYWRpdGlvbmFsLWRldGFpbHMge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWJhZGdlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubmFtZS1saW5rIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gUmV2aWV3c1xuICAgICAgICAucHJvZHVjdC1yZXZpZXcge1xuICAgICAgICAgICAgaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiA1cHggMCAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gICAgICAgICAgICB1bCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2FfczI4X3JhdGluZyxcbiAgICAgICAgICAgIC5zYV9zMjhfcG9pbnRzX3JhdGluZyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2FfczI4X2xlZnRCcmFja2V0cyxcbiAgICAgICAgICAgIC5zYV9zMjhfcHJvZHVjdFJldmlld0NvdW50LFxuICAgICAgICAgICAgLnNhX3MyOF9tYXN0ZXJDYXRlZ29yeVBhZ2VUZXh0LFxuICAgICAgICAgICAgLnNhX3MyOF9jaGlsZENhdGVnb3J5UGFnZVRleHQsXG4gICAgICAgICAgICAuc2FfczI4X3JpZ2h0QnJhY2tldHMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zYV9zMjhfcG9pbnRzX3JhdGluZyB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJpY2UtcXR5LWJveCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcblxuICAgICAgICAgICAgLnByaWNlLXNhbGVzLFxuICAgICAgICAgICAgLnByaWNlLXN0YW5kYXJkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyArIC5yZWJhdGUge1xuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIH1cblxuICAgICAgICAuaW52ZW50b3J5IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgIH1cblxuICAgICAgICAucXVhbnRpdHkge1xuICAgICAgICAgICAgbGFiZWwsXG4gICAgICAgICAgICBpbnB1dC5wcm9kdWN0LXF1YW50aXR5IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcXVhbnRpdHkge1xuICAgICAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA4NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtYWRkLXRvLWNhcnQge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAvLyBDYXRlZ29yeSBzZWN0aW9uXG4gICAgLmNhdGVnb3JpZXMge1xuICAgICAgICAuY2F0ZWdvcnkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgY29sb3I6ICM5OTk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG5cbiAgICAgICAgICAgICY6bm90KDpmaXJzdC1vZi10eXBlKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFN1bW1hcnkgc2VjdGlvbiBhbmQgVGlyZSBTcGVjcyBzZWN0aW9uXG4gICAgLnN1bW1hcnksXG4gICAgLnRpcmUtc3BlY3Mge1xuICAgICAgICAuYXR0cmlidXRlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMTJweDtcblxuICAgICAgICAgICAgJjpudGgtb2YtdHlwZShvZGQpIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1vZi10eXBlKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEthbCdzIFRlc3QgU2NvcmVzXG4gICAgLnRlc3Qtc2NvcmUge1xuICAgICAgICAuc2VjdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEycHg7XG5cbiAgICAgICAgICAgICY6bnRoLW9mLXR5cGUob2RkKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgbGkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGNsZWFyZml4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYXR0cmlidXRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sYWJlbC10aXRsZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEwcHg7XG4gICAgICAgICAgICB3aWR0aDogY2FsYygxMDAlIC0gNzVweCk7XG4gICAgICAgIH1cblxuICAgICAgICAucmFpdGluZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHdpZHRoOiA3NXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgW2NsYXNzXj1cImljb24tXCJdOjpiZWZvcmUsXG4gICAgICAgIFtjbGFzcyo9XCIgaWNvbi1cIl06OmJlZm9yZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vhc29uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuXG4gICAgICAgICAgICAmOm5vdCg6Zmlyc3Qtb2YtdHlwZSkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMzBweCAwIDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IHNldFxuICAgIC5wcm9kdWN0LXNldCB7XG4gICAgICAgIC8vIFByb2R1Y3QgdGlsZXMgc2VjdGlvblxuICAgICAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgLnByb2R1Y3Qtc2l6ZSB7XG4gICAgICAgICAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaXplLXByaWNlLXF0eS1ib3gge1xuICAgICAgICAgICAgLmJveC1zcGFjaW5nIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXNpemUge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiAxOCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMzAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnByaWNlUXR5Q29tcGFyZUZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgd2lkdGg6IDgyJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9tb3Rpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1zZXQtaXRlbSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXNldC1kZXRhaWxzIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDY1JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA3MyU7XG5cbiAgICAgICAgICAgICAgICAucHJvZHVjdC1wcmljZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmljZS1zYWxlcyxcbiAgICAgICAgICAgICAgICAucHJpY2Utc3RhbmRhcmQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5wcmljZS1zdGFuZGFyZCArIC5wcmljZS1zYWxlcyB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMnB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFkZC1zdWItcHJvZHVjdCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiAzNSU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1hZGQtdG8tY2FydCB7XG4gICAgICAgICAgICBmbG9hdDogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAvLyBTdW1tYXJ5IGFuZCBUaXJlIFNwZWNzIHNlY3Rpb25zXG4gICAgICAgIC5zZXQtYXR0ci10aXRsZXMge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEycHggMTJweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNldC1hdHRyaWJ1dGUtbmFtZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgd2lkdGg6IDE4JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VtbWFyeSxcbiAgICAgICAgLnRpcmUtc3BlY3Mge1xuICAgICAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgPiAudmFsdWUge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTglO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoOiAzMyU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICA+IC5uYW1lIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDM0JTtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aXJlLXNwZWNzIHtcbiAgICAgICAgICAgIC52YWx1ZS1yZWFyIHtcbiAgICAgICAgICAgICAgICAubmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmluaXNoX2F0dHJpYnV0ZSB7XG4gICAgICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDY2JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAudmFsdWU6bm90KC52YWx1ZS1yZWFyKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmZpbmFuY2luZy1ibG9ja3Mge1xuICAgICYuYWN0aXZlLXBsYW4ge1xuICAgICAgICAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICAgICAgaDIsXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDIzMHB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOTBweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwLmZpbmFuY2luZy1tb250aC10ZXh0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzBweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1NnB4O1xuXG4gICAgICAgICAgICArcC5maW5hbmNpbmctc21hbGwtaW5mbyB7XG4gICAgICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctaW5mbyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEuNDVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgICAgICAgICAgYm90dG9tOiAxMnB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNHB4KTtcbiAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCBhdXRvIDA7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA5MHB4O1xuICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLnN0ZXBzLXRvLXRha2Uge1xuICAgICAgICAuY2ItY29sdW1uLWNoaWxkIHtcbiAgICAgICAgICAgIGJvcmRlcjogN3B4IHNvbGlkICMxZTFlMWU7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0MzhweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gb25seSkge1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDUwNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICBoMixcbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLmZpbmFuY2luZy1zbWFsbC1pbmZvIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzcHgpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjExNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxLjRyZW07XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAxOHB4O1xuICAgICAgICB9XG4gICAgICAgIFxuICAgIH1cbn1cblxuLmF0cm9vdCB7XG4gICAgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMSksXG4gICAgLmZpbmFuY2luZy1ibG9ja3M6bm90KC5zdGVwcy10by10YWtlKTpudGgtY2hpbGQoMikge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCAjZmYzOTAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCAjZmYzOTAwO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogMXB4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDM3JTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxhc3QtbW9udGhseS1jb2x1bW4ge1xuICAgIHBhZGRpbmctYm90dG9tOiA1MHB4ICFpbXBvcnRhbnQ7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjI7XG4gICAgfVxuXG4gICAgLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1jb2x1bW4tY2hpbGQge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOTBweCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctbW9udGgtdGV4dCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwcHgpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0MXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctaW5mby0xLFxuICAgICAgICBwLmZpbmFuY2luZy1pbmZvLTIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcC5maW5hbmNpbmctaW5mby0xIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDMuMnJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAuZmluYW5jaW5nLXNtYWxsLWluZm8ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbGV0dGVyLXNwYWNpbmc6IC0ycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2ItY29sdW1uLWNoaWxkLWNvcHk6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgNTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAgICAgcC5maW5hbmNpbmctaW5mby0xLFxuICAgICAgICAgICAgICAgIHAuZmluYW5jaW5nLWluZm8tMiB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogOTAlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwLnRlcm1zLWNvbmRpdGlvbnMge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIGEge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNiLWNvbHVtbi1jaGlsZC1jb3B5LnNpbmdsZS1jb2x1bW4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIHAudGVybXMtY29uZGl0aW9ucyB7IFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uZmluYW5jaW5nLWFwcGx5LW5vdy1jdGEge1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICBhIHtcbiAgICAgICAgbWluLXdpZHRoOiAyMjBweDtcbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cbiIsIiNyZXN1bHRzLWluZm8tZnJvbS1nc3Age1xuICAgIG1hcmdpbjogMjVweCAwIDUwcHg7XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIH1cblxuICAgICNjaGFuZ2UtcmVzcG9uc2VzLWN0YSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItYWxsLXdlYXRoZXIgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkcHVycGxlO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3Itd2ludGVyIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJGJsdWUtd2hpdGVyO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItMy1zZWFzb24gaDQgc3BhbixcbiAgICAmLmNhdGNvbG9yLWFsbC1zZWFzb24gaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkb3JhbmdlLXllbGxvdztcbiAgICB9XG5cbiAgICAmLmNhdGNvbG9yLXBlcmZvcm1hbmNlIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJHB1cnBsZS1kYXJrZXI7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci10b3VyaW5nIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJGdyZWVuO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItbXVkLXRlcnJhaW4gaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkYnJvd24tZGFya2VyO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3Itc3BvcnQtdHJ1Y2sgaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkZ3JlZW4td2hpdGVyO1xuICAgIH1cblxuICAgICYuY2F0Y29sb3ItYWxsLXRlcnJhaW4gaDQgc3BhbiB7XG4gICAgICAgIGNvbG9yOiAkYnJvd247XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci1jb21tZXJjaWFsIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJGdyZXktMDE7XG4gICAgfVxuXG4gICAgJi5jYXRjb2xvci11bHRyYS1oaWdoLXBlcmZvcm1hbmNlIGg0IHNwYW4ge1xuICAgICAgICBjb2xvcjogJGdyZXktMDI7XG4gICAgfVxufVxuXG4jZ3VpZGVkU2VsbGluZ1BhdGhXcmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIC5hdHJvb3Qge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNnc3BNb2JpbGVDbG9zZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgICAgIHBhZGRpbmc6IDIwcHggMDtcbiAgICB9XG5cbiAgICBoNCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgcGFkZGluZzogMS41ZW0gMCAwLjc1ZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSksIDAuODUpO1xuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tbnVtYmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMWVtO1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBoZWlnaHQ6IDJlbTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyZW07XG4gICAgICAgIG1hcmdpbjogMCAxZW0gMCAtMy41ZW07XG4gICAgICAgIG1pbi13aWR0aDogMmVtO1xuICAgICAgICB3aWR0aDogMmVtO1xuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSkgdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlLnBuZ1wiKSAtNDJweCBjZW50ZXIgbm8tcmVwZWF0O1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDE5NHB4O1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkYXJrZ3JleTEpLCAwLjg1KTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL3F1ZXN0aW9uLWhlYWRlci1pbWFnZUAyeC5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAtNjZweCBjZW50ZXI7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDQ4JTtcbiAgICAgICAgfVxuXG4gICAgICAgID4gZGl2IHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjI1ZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMS4zNzVlbTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxLjM3NWVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjk3NzVlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwLjk3NzVlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjQwOTVlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMS40MDk1ZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5mYS10aW1lcyB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIG1hcmdpbi10b3A6IC0xMXB4O1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICB0b3A6IDUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICByaWdodDogMzJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLW11bHRpc2VsZWN0IHtcbiAgICAgICAgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiB0b3AgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjIuNXB4KTtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoNTAlIC0gMjIuNXB4KTtcbiAgICAgICAgICAgIGhlaWdodDogOC41ZW07XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjJlbSAwLjkzNzVyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMjIuNXB4KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDMzJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMzMlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMWVtO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjYyNXJlbSAxLjJlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMzMlIC0gMjBweCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiBjYWxjKDIwJSAtIDIwcHgpO1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IGNhbGMoMjAlIC0gMjBweCk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMi41ZW07XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDIwJSAtIDIwcHgpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDM3cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCA2cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogNDNweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIgc3BhbiB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA0OXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdGVkIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpLCAwLjQpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMS42ODc1cmVtO1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMyk7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcmVtO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNXJlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRvcDogMS42ODc1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzcmVtO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItd2lkdGg6IDVweDtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMy40Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogLTEuNjg3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAzLjEyNXJlbTtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDMuNDM3NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YSB7XG4gICAgICAgIC5nc3BBbnN3ZXIge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcblxuICAgICAgICAgICAgICAgIGg0LFxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGg0IHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDJlbSAwIDAuNzVlbTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGNvbG9yOiByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSksIDAuNyk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcHRpb24tYmcge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDI0cHg7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ3cHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAzLjc1ZW07XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiA5LjM3NWVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGIsXG4gICAgLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGMge1xuICAgICAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiBpbmhlcml0O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjMxMjVlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRyZW07XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RiIHtcbiAgICAgICAgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuICAgICAgICAgICAgaGVpZ2h0OiAxNC4xODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDEuODc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE0LjE4NzVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDEuODc1cmVtO1xuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAxLjI1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogMTQuMTg3NXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMS44NzVyZW07XG5cbiAgICAgICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTIuMTNyZW07XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAuOTUyNGVtO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzN3B4O1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA0M3B4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciBzcGFuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ5cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiA0LjM3NXJlbTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuOHJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNS42MjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWQge1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICB6LWluZGV4OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCAkd2hpdGU7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMS42ODc1cmVtO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogNXB4O1xuICAgICAgICAgICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMGNcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxLjVyZW07XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjAzNzVyZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwLjcyNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgdG9wOiAwLjUyNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMy4wMzc1cmVtO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwLXF1ZXN0aW9uLXN0eWxlLXJhZGlvc2VsZWN0YyB7XG4gICAgICAgIC5nc3AtcXVlc3Rpb24tbnVtYmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMy43NWVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICBoZWlnaHQ6IDEzcmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAxLjg3NXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEzLjgxMjVyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTAuNDM3NXJlbTtcblxuICAgICAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDE3cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGhlaWdodDogOC42MjVyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMTAuODEyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuN3JlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTRyZW07XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjdyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTlyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjI1ZW07XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMi41ZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWhvdmVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdzcC1xdWVzdGlvbi1zdHlsZS1yYWRpb3NlbGVjdGEgLmdzcEFuc3dlciB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIGg0LFxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkLFxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgaDQsXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb24ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBiYWNrZ3JvdW5kOiAkd2hpdGU7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMzZweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbjogLTQycHggNXB4IDA7XG4gICAgICAgIHdpZHRoOiAzNnB4O1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KSwgMC4yKTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2VsZWN0ZWQgLm9wdGlvbixcbiAgICAub3B0aW9uOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHdoaXRlO1xuXG4gICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5nc3AtcXVlc3Rpb24tc3R5bGUtcmFkaW9zZWxlY3RjIHtcbiAgICAuZ3NwLXF1ZXN0aW9uLWFuc3dlcnMgdWwge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIgLmdzcEFuc3dlciB7XG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiA0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZ3NwQW5zd2VyIHtcbiAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtYmFzaXM6IDQwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG5cbiAgICAgICAgICAgICYuc2VsZWN0ZWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZzo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIsXCI7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubm9yZXN1bHRzLXBhZ2Uge1xuICAgIHAsXG4gICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgIC5zZWFyY2gtcGhyYXNlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgfVxuXG4gICAgLm5vcmVzdWx0cy1tZXNzYWdlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICB9XG5cbiAgICAubmV3LXNlYXJjaCxcbiAgICAucmVsYXRlZC1zZWFyY2gsXG4gICAgLnJlc291cmNlLWNlbnRlciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgfVxuXG4gICAgLm5ldy1zZWFyY2gge1xuICAgICAgICBpbnB1dCB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tc2VhcmNoIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlbGF0ZWQtc2VhcmNoIHtcbiAgICAgICAgLnJlZmluZW1lbnQtaGVhZGVyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHVsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tZXItc2VydmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgOHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIHAsXG4gICAgICAgIGEge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vcmVzdWx0cy1zZWxlY3RvciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMuMTI1cmVtO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNjg3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24uaG9sbG93IHtcbiAgICAgICAgICAgIGNvbG9yOiBpbmhlcml0O1xuICAgICAgICB9XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgIC5ub3Jlc3VsdHMtcGFnZSB7XG4gICAgICAgIC5ub3Jlc3VsdHMtbWVzc2FnZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRhcmtncmV5MSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDQ1cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA0NXB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAubWVkaXVtLWNlbnRlcmVkIHtcbiAgICAgICAgICAgIGxlZnQ6IDUwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5ub3Jlc3VsdHMtc2VsZWN0b3Ige1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2thbHRpcmUvcXVlc3Rpb24taGVhZGVyLWltYWdlQDJ4LnBuZ1wiKTtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDU1MHB4IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IDYwMHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMy4xMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAubm9yZXN1bHRzLXBhZ2Uge1xuICAgICAgICAubm9yZXN1bHRzLXNlbGVjdG9yIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IDE1MCUgY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnZpc3VhbGl6ZXItd3JhcHBlciB7XG4gICAgYm9yZGVyOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbn1cblxuLnZpc3VhbGl6ZXItY29udGFpbmVyIHtcbiAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjc1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLnZpc3VhbGl6ZXItaW1hZ2Uge1xuICAgICAgICAgICAgYm90dG9tOiA0LjE3NXJlbTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aXN1YWxpemVyLXRvb2xzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubWluaW1pemUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIH1cblxuICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgZm9udC1zaXplOiAxN3B4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgfVxuXG4gICAgLmZpbmlzaCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNjI1cmVtO1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICB9XG5cbiAgICAuZmluaXNoLFxuICAgIC5hdHRyaWJ1dGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICBlbSB7XG4gICAgICAgICAgICBmb250LXN0eWxlOiBub3JtYWw7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjEwZVwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDZweDtcbiAgICAgICAgICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1wcmljaW5nIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5wcmljZS1zdGFuZGFyZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgKyAucHJpY2Utc2FsZXMge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LXByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIH1cblxuICAgIC52aXN1YWxpemVyLXRpcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3R0b206IDVweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWxhdGl2ZSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi52aXN1YWxpemVyLWNhcm91c2VsIHtcbiAgICBib3JkZXItdG9wOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBwYWRkaW5nOiAxLjI1cmVtIDMuNXJlbSAwO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIC5jYXJvdXNlbC13cmFwcGVyIHtcbiAgICAgICAgaGVpZ2h0OiAxNHJlbTtcbiAgICB9XG5cbiAgICAuY2Fyb3VzZWwtY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cbn1cblxuLnYtY2Fyb3VzZWwtaXRlbSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuXG4gICAgaGVpZ2h0OiAxNHJlbTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgIGltZyB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxMjBweDtcbiAgICAgICAgb3V0bGluZTogbm9uZTtcbiAgICB9XG5cbiAgICAucHJpY2Uge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAuY3VycmVuY3ktY29kZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwMCU7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjdGl2ZSxcbiAgICAmOmhvdmVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxufVxuXG4udmlzdWFsaXplci1jb2xvcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1hcmdpbjogMS4yNXJlbSAwIDAuNjI1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgYm90dG9tOiAwLjYyNXJlbTtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgICAgIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGhlaWdodDogMXJlbTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbjogNXB4IDJweDtcbiAgICAgICAgbWluLXdpZHRoOiAxcmVtO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHRleHQtaW5kZW50OiAtOTk5OXB4O1xuICAgICAgICB3aWR0aDogMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDJweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjExMVwiO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICAgICAgbWFyZ2luOiAtMC41cmVtIDAgMCAtMC41cmVtO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG4gICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aXZlLFxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3YtdmlzdWFsaXplci1sYXJnZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyNHJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52aXN1YWxpemVyLXRvb2xzIHtcbiAgICAgICAgLm1pbmltaXplIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG5cbiAgICAgICAgLmV4cGFuZCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtdGlsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgfVxufVxuXG4uY2Fyb3VzZWwtYnRuIHtcbiAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgaGVpZ2h0OiAycmVtO1xuICAgIGxlZnQ6IDFyZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNzVyZW07XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB0b3A6IDRyZW07XG4gICAgd2lkdGg6IDJyZW07XG5cbiAgICAmLnNsaWNrLWRpc2FibGVkIHtcbiAgICAgICAgYm9yZGVyLWNvbG9yOiAkbGlnaHQtZ3JheTtcbiAgICAgICAgY29sb3I6ICRsaWdodC1ncmF5O1xuICAgIH1cblxuICAgICYuY2Fyb3VzZWwtbmV4dCB7XG4gICAgICAgIGxlZnQ6IGF1dG87XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgIH1cbn1cblxuI3YtcGRwLXRvcGxldmVsY29tcG9uZW50IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAjdi12ZWhpY2xlLWltYWdlIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE3LjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAucmVsYXRpdmUge1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMuMTI1cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4jdi12aXN1YWxpemVyLWRlZmF1bHQtdmVoaWNsZS1zbWFsbCB7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuIiwiLy8gTG9naW4gcGFnZSBzdHlsZXNcblxuLmxvZ2luLXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDYuMjVyZW07XG4gICAgcGFkZGluZzogMC4zMTI1cmVtIDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBib3JkZXI6IDVweCBzb2xpZCByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSksIDAuOCk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAyLjgxM3JlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDQuMDYzcmVtO1xuICAgIH1cblxuICAgIC5wdF9jYXJ0ICYge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC45Mzc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjM3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5ib3JkZXJlZC1lbmQge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi4zNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAwLjMxMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuXG4gICAgICAgICAgICAuYnV0dG9uLWdyb3VwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhc3N3b3JkLXJlc2V0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9naW4tcmVtZW1iZXJtZSB7XG4gICAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMuMTI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVycm9yLWZvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjEyNXJlbTtcbiAgICB9XG5cbiAgICAubG9naW4tY3JlYXRlLWFjY291bnQgcCB7XG4gICAgICAgIG1hcmdpbjogMC4xODc1cmVtIDAgMS43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4xODc1cmVtO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5sb2dpbi1wYWdlLXRpdGxlLFxuJWxvZ2luLXBhZ2UtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBtYXJnaW46IDMwcHggMCAyLjkzNzVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgMi45Mzc1cmVtO1xuICAgIH1cbn1cblxuLy8gTW9kYWwgZGlhbG9nIHN0eWxpbmdcblxuLnVpLXdpZGdldC1vdmVybGF5IHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KSwgMC45KTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAwO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDEwMDtcbn1cblxuLnVpLXdpZGdldCB7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgcGFkZGluZzogMCAwLjkzNzVyZW07XG4gICAgei1pbmRleDogMTAxO1xuXG4gICAgcCB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM3NXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zNzVyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaWFsb2ctY29udGVudCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IDEuMDYyNXJlbSAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjY4NzVyZW0gMS44NzVyZW0gMi42ODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDEge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjE4NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudWktZGlhbG9nLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICBvdXRsaW5lOiBub25lO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAzNXB4O1xuICAgICAgICB0b3A6IDEycHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHJpZ2h0OiA0N3B4O1xuICAgICAgICAgICAgdG9wOiAyNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWJ1dHRvbi1pY29uLW9ubHkge1xuICAgICAgICAudWktYnV0dG9uLXRleHQge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC51aS1idXR0b24taWNvbi1wcmltYXJ5IHtcbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwZFwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3Zlcjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAjZGI1YTAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogMS41cmVtIDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMS44NzVyZW0gMS41ZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLm5vLWJ1dHRvbnBhbmUgLnVpLWRpYWxvZy1idXR0b25wYW5lIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAuYnV0dG9uLW1vZGFsIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTJyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuNzVyZW0gMThweDtcbiAgICB9XG59XG5cbi8vIFNob3cvSGlkZSBQYXNzd29yZCBidXR0b24gXG5cbi5wYXNzd29yZC1jb250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5maWVsZC13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuLnBhc3N3b3JkLWljb24ge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBoZWlnaHQ6IDIwcHg7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiAxMHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogMjBweDtcblxuICAgICY6OmFmdGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL2V5ZS1zaG93LXBhc3N3b3JkLnN2Z1wiKTtcbiAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb250YWluO1xuICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgaGVpZ2h0OiAyMHB4O1xuICAgICAgICB3aWR0aDogMjBweDtcbiAgICB9XG5cbiAgICAmLnBhc3N3b3JkLXNob3cge1xuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvZXllLWhpZGUtcGFzc3dvcmQuc3ZnXCIpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBSZXNldCBwYXNzd29yZCBkaWFsb2cgc3R5bGVzXG5cbi5mb3Jnb3QtcGFzc3dvcmQge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xufVxuXG4ucGFzc3dvcmQtcmVzZXQtZGlhbG9nIHtcbiAgICBtYXgtd2lkdGg6IDQycmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXJvdyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICBtaW4td2lkdGg6IDQwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjM3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIHN0cm9uZyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbi1ncm91cCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgfVxufVxuXG4ucHRfYWNjb3VudCB7XG4gICAgLm1lZGl1bS1jZW50ZXJlZCB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgfVxufVxuIiwiLnJlZ2lzdGVyLXBhZ2UtdGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBmb250LXNpemU6IDIxcHg7XG4gICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBtYXJnaW46IDMwcHggYXV0byAyLjVyZW07XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgIH1cblxuICAgICYuaGFzLXN1YnRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMC41cmVtO1xuICAgIH1cbn1cblxuLnJlZ2lzdGVyLWJyZWFkY3J1bWIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgIG1hcmdpbi10b3A6IDQwcHg7XG59XG5cbi5yZWdpc3Rlci1mb3JtIHtcbiAgICBtYXJnaW4tYm90dG9tOiA0Ljg3NXJlbTtcblxuICAgIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgICBtYXJnaW46IDAgMCAxcmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIH1cblxuICAgIC5pbmZvLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhpZGRlbi1jYXB0aW9uIHtcbiAgICAgICAgLmZvcm0tY2FwdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5ld3NsZXR0ZXItdGV4dCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5wYWNrYWdlcy1zZWxlY3Rpb24ge1xuICAgIG1hcmdpbjogNDBweCAwIDE1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgIH1cblxuICAgIC5jaXJjbGUtaW5kaWNhdG9yIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA5MHB4O1xuXG4gICAgICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEycHg7XG4gICAgICAgIH1cblxuICAgICAgICAucGstZWRpdC13aGVlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXAtbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDMycHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZWxlY3RlZCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgLnN0ZXAtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5kaXNhYmxlZCB7XG4gICAgICAgICAgICBjb2xvcjogI2Q5ZDlkYTtcblxuICAgICAgICAgICAgLnN0ZXAtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZDlkOWRhO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VsZWN0b3ItcGFja2FnZXMge1xuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIGg1IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWlkLWxpbmUtY29weSB7XG4gICAgICAgIG1hcmdpbjogMi41cmVtIDAgMi4zNzVyZW07XG4gICAgfVxuICAgIFxuXG4gICAgLm9lLXNpemUge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgM3JlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWwtc3VidGl0bGUgc3BhbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMThweDtcblxuICAgICAgICAgICAgJjpub3QoLnNlbC1zdWJ0aXRsZSkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYub2Utc2l6ZS1vcmFuZ2Uge1xuXG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24taG92ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiAkYnV0dG9uLWhvdmVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcHRpb25hbC1zaXplcy1oZWFkZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMTg3NXJlbTtcbiAgICAgICAgXG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNXB4O1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaG93LXNlbGYtc2VydmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgfVxuXG4gICAgLm9lLXNpemUtY29udGFpbmVyIHtcbiAgICAgICAgLnNlY3Rpb24tdGl0ZSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJ0aXRsZS10aXRsZSB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC55b3VyLXZlaGljbGUtaW5mbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUtdG9vbHRpcCB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNXJlbTtcblxuICAgICAgICAuc2VsLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMC41cmVtO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ub2Utc2l6ZS1idG4ge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnNlY3Rpb24tcXVlc3Rpb24tY29weSBwIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcblxuICAgIHNwYW4ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmbG9hdDogbGVmdDtcbiAgICB9XG59XG5cbi5wYWNrYWdlcy1zZWN0aW9uLWhlYWRpbmcge1xuICAgIEBleHRlbmQgLnNlY3Rpb24tcXVlc3Rpb24tY29weTsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMzEyNXJlbTtcbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IGRvdHRlZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogaW5oZXJpdDtcbiAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgIH1cbn1cblxuLnBhY2thZ2VzLXNlY3Rpb24taGVhZGluZy1tYWluIHtcbiAgICBtYXJnaW4tdG9wOiAxcmVtO1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgfVxufVxuXG4ucGFja2FnZXMtc3RhZ2dlcmVkIHtcbiAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgXG4gICAgLnBhY2thZ2Utc3RhZ2dlcmVkLWJ1dHRvbiB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgICAgIFxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiI3JlYmF0ZXNMYW5kaW5nV3JhcHBlciB7XG4gICAgLnJlYmF0ZXNUb3BTbG90V3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IDcwcHggMCAxMDBweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMjVweCAwIDEzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDEsXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBmb250LXNpemU6IDQ2cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjdweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4ycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAxLjRyZW0gMCAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMS42cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZXMtdGFicy1uYXYtd3JhcHBlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuNik7XG4gICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiAwO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDQ1cHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBtaW4taGVpZ2h0OiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZXMtdGFicy1uYXYge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiA0NXB4O1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiA2MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgbGkge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICAmLmFjdGl2ZSBhIHtcbiAgICAgICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXI6OmFmdGVyLFxuICAgICAgICAgICAgJi5hY3RpdmU6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGhlaWdodDogM3B4O1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZXNNYWluQ29udGVudFdyYXBwZXIge1xuICAgICAgICBtYXJnaW46IDQ1cHggMCAxMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiA3NXB4IDAgMTE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy1sYW5kaW5nLWhlYWQge1xuICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLnNtYWxsIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA4cHggMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAzMHB4IDAgMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIGJvcmRlcjogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIG1hcmdpbjogMTVweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDdweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlYmF0ZXMtaXRlbS1pbWcge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDM1LjMzMiU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlcy1pdGVtLWNvbnRlbnQge1xuICAgICAgICAgICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiA2NC42NyU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHggNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDIge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAxMHB4IDEwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMTBweCAxOHB4O1xuXG4gICAgICAgICAgICBzdHJvbmcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCA4cHggMTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlcy1pdGVtLXR5cGUtcm93IHtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAucmViYXRlcy1pdGVtLXR5cGUge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZXMtaXRlbS10eXBlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcblxuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyN3B4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDEzcHg7XG5cbiAgICAgICAgJi5ibGFjayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cblxuICAgIH1cbn1cbiIsIi5icmFuZHMtbGFuZGluZy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyYW5kcy1wYWdlLXRpdGxlIHtcbiAgICAgICAgQGV4dGVuZCAlbG9naW4tcGFnZS10aXRsZTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMi41cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyYW5kcyxcbiAgICAuZmVhdHVyZWQtYnJhbmRzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA0LjE4NzVyZW07XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMy4xMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhbmRzLXNsb3QgZGl2IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWFyb3VuZDtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIG1heC13aWR0aDogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogMS44cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJhbmRzIHtcbiAgICAgICAgcGFkZGluZzogMXJlbSAwO1xuICAgIH1cblxuICAgIC5icmFuZHMtaXRlbSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgJjpudGgtY2hpbGQob2RkKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjMxMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC42MjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDhyZW07XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4zcmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuM3JlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZmVhdHVyZWQtYnJhbmRzLWl0ZW0ge1xuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiA2cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDcuMTg3NXJlbTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTBweDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiAxNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICBtYXJnaW46IDAuNjI1cmVtIDAgMDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAuMzEyNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDAuODEyNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjNyZW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDAuNjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA0LjA2MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmFuZC1iYW5uZXIge1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICBwYWRkaW5nOiA0cmVtIDAgM3JlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgIHBhZGRpbmc6IDguNzVyZW0gMCA4LjI1cmVtO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGgxLFxuICAgIGgyIHtcbiAgICAgICAgZm9udC1zaXplOiA0MnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjdweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmFuZC1iYW5uZXItd3JhcHBlciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgICBtaW4taGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogNXJlbTtcbiAgICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICB9XG5cbiAgICAuYnJhbmQtYmFubmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNzklIDIwJTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDUuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA4LjEyNXJlbSAwIDguMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmFuZC1tZW51LXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEobWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpLCAwLjYpO1xuICAgIGJvdHRvbTogMDtcbiAgICBoZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICBsZWZ0OiAwO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIGZsZXgtZ3JvdzogMTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDMzJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzLjMxMjVyZW07XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMy43NXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VsZWN0ZWQsXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzcHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBoZWlnaHQ6IDZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5icmFuZC1wYWdlLXRpdGxlIHtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAyLjc1cmVtO1xuICAgIHBhZGRpbmctbGVmdDogMS4xMjVyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmFib3V0LWJyYW5kLXNlY3Rpb24ge1xuICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG5cbiAgICBpZnJhbWUge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJ1dHRvbixcbiAgICBwIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41cmVtO1xuICAgIH1cblxuICAgIC5hYm91dC1icmFuZC10b3Age1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgIH1cbn1cblxuLmJyYW5kLXBhZ2UtcHJvZHVjdHMge1xuICAgIC5ncmlkLXRpbGUge1xuICAgICAgICBAZXh0ZW5kIC5sYXJnZS0zOyAvKiBzdHlsZWxpbnQtZGlzYWJsZS1saW5lICovXG4gICAgfVxuXG4gICAgLnJlY29tbWVuZGVkLWJhZ2RlLFxuICAgIC5wcm9kdWN0LWNvbXBhcmUge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxufVxuIiwiLmNvbnRhY3R1cy1sYW5kaW5nLXdyYXBwZXIge1xuICAgIC5jb250YWN0LXVzLW1hcCB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1iYW5uZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMS43NXJlbTtcbiAgICAgICAgcGFkZGluZzogNHJlbSAwIDNyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiA4Ljc1cmVtIDAgOC4yNXJlbTtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29udGFjdHVzLWJhbm5lci10ZXh0LWJsb2NrIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDNyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2N3B4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyZHMtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweCAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtYmxvY2sge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgfVxuXG4gICAgLmNvbnRhY3Qtb3BlbmluZ2RheXMge1xuICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuY29udGFjdC1kaXZpZGVyIHtcbiAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICNlOGU4ZTk7XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1oZWxwIHtcbiAgICAgICAgbWFyZ2luLXRvcDogNHJlbTtcbiAgICB9XG5cbiAgICAuY29udGFjdC1hbGlnbi1jb21wbGVtZW50IHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iICFpbXBvcnRhbnQ7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1iYW5uZXItd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIuNzVyZW07XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMuMzEyNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1cmVtO1xuICAgICAgICAgICAgbWluLWhlaWdodDogMy43NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb250YWN0dXMtYmFubmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogNS42MjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogOC4xMjVyZW0gMCA4LjI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3R1cy1wYWdlLXRpdGxlIHtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjEyNXJlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMi43NXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiAxLjEyNXJlbTtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0dXMtaGVscC1jYXJkcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDJyZW07XG4gICAgICAgIG1hcmdpbi10b3A6IDJyZW07XG5cbiAgICAgICAgLmNhcmRzLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjIpO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcmQtYmxvY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkLWljb24ge1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgLXdlYmtpdC1mb250LXNtb290aGluZzogYW50aWFsaWFzZWQ7XG4gICAgICAgICAgICAtbW96LW9zeC1mb250LXNtb290aGluZzogZ3JheXNjYWxlO1xuICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgZm9udC12YXJpYW50OiBub3JtYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4yZW07XG4gICAgICAgICAgICBzcGVhazogbm9uZTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogaW5oZXJpdDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgd2lkdGg6IDFlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJkcy1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYXNzaXN0YW5jZS1ibG9jayB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAjZWRlZGVkO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICAuYXNzaXN0YW5jZS10ZXh0IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFzc2lzdGFuY2UtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBjb2xvcjogI2Y2MDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNvbnRhY3R1cy1hZGRyZXNzIHtcbiAgICBkaXNwbGF5OiBibG9jaztcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFkZHJlc3MtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIH1cblxuICAgIC5hZGRyZXNzLWxvY2F0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICB9XG5cbiAgICAuYWRkcmVzcy1kaXJlY3Rpb25zIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG5cbiAgICAuYWRkcmVzcy13b3JraW5naG91cnMge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgIH1cbn1cbiIsIkBtZWRpYSBwcmludCB7XG4gICAgYVtocmVmXTo6YWZ0ZXIge1xuICAgICAgICBjb250ZW50OiBub25lO1xuICAgIH1cblxuICAgIC5wdF9vcmRlci1jb25maXJtYXRpb24ge1xuICAgICAgICBtYXJnaW46IDVtbTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLmhlYWRlci1iYW5uZXIsXG4gICAgICAgIC5oZWFkZXItbmF2LFxuICAgICAgICAucHJpbnQtbGluayxcbiAgICAgICAgLmxvZ2luLWNyZWF0ZS1hY2NvdW50LFxuICAgICAgICAubmVlZC1oZWxwLWNoZWNrb3V0LFxuICAgICAgICAuZm9vdGVyLXdyYXBwZXIsXG4gICAgICAgIC5mb290ZXItY29weS13cmFwcGVyLFxuICAgICAgICAudG9wLWJhci1yaWdodCxcbiAgICAgICAgLmFkZC10by1jYWxlbmRhciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmF0cm9vdCxcbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jaGVja2VkLWljb24ge1xuICAgICAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgNHB4ICNmZjY5MDAgaW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItbWFpbi1uYXYge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3AtYmFyLWxlZnQge1xuICAgICAgICAgICAgICAgIC5oZWFkZXItbG9nby1pbWFnZSB7XG4gICAgICAgICAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgICAgICAgICAgaGVpZ2h0OiA1MCU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAyMCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICAgICAgICAgIGgxIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogLTE1bW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnNlY3Rpb24tYm94LXdyYXAge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgLnNlY3Rpb24tYm94IHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDQxLjY2NjY3JTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA0MS42NjY2NyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItaW5mb3JtYXRpb24ge1xuICAgICAgICAgICAgICAgIC5vcmRlci1kYXRlIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICAucHJvZHVjdG5hbWUtY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDMzLjY2NjY3JTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAzMy42NjY2NyU7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3R2YWx1ZXMtY29sdW1uIHtcbiAgICAgICAgICAgICAgICAgICAgZmxleDogMCAwIDY2LjMzMzMzJTtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2Ni4zMzMzMyU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAucHJvZHVjdC1yb3csXG4gICAgICAgICAgICAuc2VydmljZS1yb3cge1xuICAgICAgICAgICAgICAgIC5vcmRlcmRldGFpbHMtcHJvZHVjdG5hbWUge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMzMuNjY2NjclO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDMzLjY2NjY3JTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAub3JkZXJkZXRhaWxzLXByb2R1Y3R2YWx1ZXMge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNjYuMzMzMzMlO1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDY2LjMzMzMzJTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubGluZS1pdGVtLXByaWNlLFxuICAgICAgICAgICAgICAgIC5saW5lLWl0ZW0tcXVhbnRpdHksXG4gICAgICAgICAgICAgICAgLmxpbmUtaXRlbS10b3RhbCB7XG4gICAgICAgICAgICAgICAgICAgIC5zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1bW07XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMm1tIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY29uZmlybWF0aW9uLW1lc3NhZ2Utd3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byAxMHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1pbmZvcm1hdGlvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDEwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wZXJzb25hbC1wYXltZW50LWluZm8ge1xuICAgICAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgICAgICYuc2hvdy1mb3ItbWVkaXVtIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zbWFsbC0xMiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBheW1lbnQtdmVyaWZpY2F0aW9uIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE0cHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyAub3JkZXItcGF5bWVudC1zdW1tYXJ5IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3Qtc3BlY2lmaWMtbWVzc2FnZXMge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMCAhaW1wb3J0YW50O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubmVlZC1jaGFuZ2VzIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG5cbiAgICAjaW5zaWRlX2hvbGRlcixcbiAgICAubWFpbk5hdkxpdmVDaGF0Q1RBIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iLCIucGFnZS1pYW0tc3RvcmUtbG9jYXRvciB7XG4gICAgLnBhYy1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4ucHRfc3RvcmUtbG9jYXRvciB7XG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wYWdlLWxpbmsge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2ZpbHRlcnMtY29udGVudC13cmFwIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgcGFkZGluZzogMTVweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvLyB2ZWhpY2xlIHR5cGVzIGljb25zXG4gICAgLnZlaGljbGUtdHlwZXMtc2VjdGlvbiB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDE2IDApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwIDQwIDApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlaGljbGUtdHlwZXMtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC52ZWhpY2xlLXJhZGlvLWJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLnZlaGljbGUtdHlwZXMtdGl0bGUge1xuICAgICAgICBmb250LXdlaWdodDogNjAwO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNCk7XG4gICAgfVxuXG4gICAgLnZlaGljbGUtdHlwZSB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWluLWhlaWdodDogMTAwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1pbWFnZTogdXJsKFwiLi4vaW1hZ2VzL3ZlaGljbGUtdHlwZS9wZXJzb25hbC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvY29tbWVyY2lhbC5zdmdcIik7XG4gICAgICAgIH1cblxuICAgICAgICAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL2ZsZWV0LnN2Z1wiKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wZXJzb25hbC12ZWhpY2xlLWxhYmVsLFxuICAgICAgICAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsLFxuICAgICAgICAuZmxlZXQtdmVoaWNsZS1sYWJlbCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiBjZW50ZXIgdG9wIDI4cHg7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuXG4gICAgICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpoYXMoaW5wdXQ6Y2hlY2tlZCkge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuXG4gICAgICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnBlcnNvbmFsLXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvcGVyc29uYWwtc2VsZWN0ZWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29tbWVyY2lhbC12ZWhpY2xlLWxhYmVsIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvdmVoaWNsZS10eXBlL2NvbW1lcmNpYWwtc2VsZWN0ZWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgIFxuICAgICAgICAgICAgLmZsZWV0LXZlaGljbGUtbGFiZWwge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy92ZWhpY2xlLXR5cGUvZmxlZXQtc2VsZWN0ZWQuc3ZnXCIpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52ZWhpY2xlLXR5cGUtaWNvbiB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAzNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnZlaGljbGUtdHlwZS10b29sdGlwIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBoZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDMpO1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBsYWJlbCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYyg2MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24taXRlbS1zdW1tYXJ5IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbn1cblxuLnN0b3JlLWxvY2F0b3ItcGFnZS13cmFwcGVyIHtcbiAgICBtaW4taGVpZ2h0OiA2ODVweDtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICBtaW4taGVpZ2h0OiA4MjBweDtcbiAgICB9XG59XG5cbi5zdG9yZS1sb2NhdG9yLXBhZ2Uge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIHVsIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuXG4gICAgLmxpc3QtdmlldyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9ucy1saXN0IHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxNik7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCA0MCk7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWdlLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWFyY2gtY29udGFpbmVyIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMTYgMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgNDAgMCk7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAgN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbi5zbWFsbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMS41cHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdGFydF9sb2NhdGlvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMzUpO1xuXG4gICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICAgICAmOjpwbGFjZWhvbGRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWZpZWxkLXdyYXBwZXIge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgIC5pY29uLXNlYXJjaCB7XG4gICAgICAgICAgICAgICAgbGVmdDogMTBweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaWNvbi1jYW5jZWwge1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1maWx0ZXJzIHtcbiAgICAgICAgLmJyZWFkY3J1bWJzLWZpbHRlcnMgLmJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxM3B4KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuY2xlYXItZmlsdGVycyB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5icmVhZGNydW1iLWZpbHRlciB7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDUgMjAgNSA1KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jbGVhci1icmVhZGNydW1iLWZpbHRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiByZW0tY2FsYygyKTtcbiAgICAgICAgICAgICAgICB0b3A6IHJlbS1jYWxjKDQpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xlYXItZmlsdGVycyB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgdmVydGljYWwtY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTdweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5icmVhZGNydW1icy13cmFwcGVyIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCAxNik7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCA0MCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmlsdGVycy13cmFwcGVyIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgICAgICAmLmlzLWFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgLmZpbHRlcnMtYnV0dG9uOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBlXCI7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlcnMtYnV0dG9uLFxuICAgICAgICAuZmlsdGVycy10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZpbHRlcnMtYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG5cbiAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCIsIHNhbnMtc2VyaWY7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMyk7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgI2ZpbHRlcnMtY29udGVudC13cmFwIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDE0KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMTYpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAxNiAwIDQwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jbGVhci1maWx0ZXJzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTYpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xlYXItZmlsdGVycy1idXR0b24ge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICAmOmhvdmVyLFxuICAgICAgICAgICAgICAgICY6Zm9jdXMge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgJjpkaXNhYmxlZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHZlcnktbGlnaHQtZ3JleSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWx0ZXJzLWNvbnRlbnQtd3JhcHBlciB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZmlsdGVycy1vdmVybGF5IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIGhlaWdodDogY2FsYygxMDAlIC0gMjc4cHgpO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIHotaW5kZXg6IDEwMDtcbiAgICB9XG5cbiAgICAuc3RvcmUtZmlsdGVyIHtcbiAgICAgICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICAgICAgY2xpcDogcmVjdCgwLCAwLCAwLCAwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMXB4O1xuXG4gICAgICAgICY6bm90KDpjaGVja2VkKSxcbiAgICAgICAgJjpjaGVja2VkIHtcbiAgICAgICAgICAgICsgbGFiZWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAwIDAgMjQpO1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjFkYlwiO1xuICAgICAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6Y2hlY2tlZCArIGxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjExMVwiO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpkaXNhYmxlZCArIGxhYmVsIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHZlcnktbGlnaHQtZ3JleSk7XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaWRlLWZpbHRlciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9ucy1ib3gge1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAubG9jYXRpb24taXRlbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBicmlnaHQtZ3JleSk7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg5KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDE2KTtcblxuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgMS4xMjVyZW0gY2VudGVyO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNDApO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hY3RpdmUsXG4gICAgICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogN3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWxpZ2h0LWxpZ2h0LWdyYXk7XG5cbiAgICAgICAgICAgICAgICAucHItc25pcHBldC1zdGFycy5wci1zbmlwcGV0LXN0YXJzLXBuZyB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRtZWRpdW0tbGlnaHQtbGlnaHQtZ3JheTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wci1zbmlwcGV0LXJhdGluZy1kZWNpbWFsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc3RvcmUtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNiLWN0YSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2Nyb2xsLWxvYWRlciB7XG4gICAgICAgICAgICBib3R0b206IC03MHB4O1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2NhdGlvbi1pdGVtLWlubmVyIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAxNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG5cbiAgICAgICAgLmxvY2F0aW9uLWl0ZW0tZGlzdGFuY2Uge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiAzMDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24taXRlbS1uYW1lIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMTApO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5pY2tuYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYXAtdmlldyB7XG4gICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAuZXJyb3ItY29udGFpbmVyIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB6LWluZGV4OiAxMDtcblxuICAgICAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZXJyb3ItbWVzc2FnZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA0MHB4IDE1cHggMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2FkZXIge1xuICAgICAgICAgICAgei1pbmRleDogMTA7XG4gICAgICAgIH1cblxuICAgICAgICAuZ3BzLXRvZ2dsZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgI2QwZDBkMDtcbiAgICAgICAgICAgIGJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDEwO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogI2RkZDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI0cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnB0X3N0b3JlLWxvY2F0b3Ige1xuICAgICNmaWx0ZXJzLWNvbnRlbnQtd3JhcC5leHBhbmRlZCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIHotaW5kZXg6IDE7XG4gICAgfVxufVxuXG5AaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAubWFwLXZpZXcge1xuICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC52aWV3LW1hcC1idG4ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICAgLmFjdGl2ZS1idG4tdGV4dCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5pcy1hY3RpdmUge1xuICAgICAgICAgICAgLmJ0bi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aXZlLWJ0bi10ZXh0IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbnMtYm94IHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxufVxuXG4jbWFwLWJveCB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJG1hcC1iYWNrZ3JvdW5kLWdyZXk7XG4gICAgbWluLWhlaWdodDogMzIwcHg7XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgLnN0b3JlLWxvY2F0b3ItcGFnZSB7XG4gICAgICAgICNtYXAtYm94IHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHdpZHRoOiA2MCU7XG4gICAgICAgIH1cblxuICAgICAgICAubWFwLXZpZXcge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAubGlzdC12aWV3IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNzhweDtcbiAgICAgICAgICAgIHdpZHRoOiA0MCU7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VhcmNoLWZpbHRlci1ib3gge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlYXJjaC1jb250YWluZXIge1xuICAgICAgICAgICAgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHRfc3RvcmUtbG9jYXRvciB7XG4gICAgICAgICNmaWx0ZXJzLWNvbnRlbnQtd3JhcC5leHBhbmRlZCB7XG4gICAgICAgICAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDI3OHB4KTtcbiAgICAgICAgICAgIG92ZXJmbG93OiBhdXRvO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgd2lkdGg6IDQwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmxvY2F0aW9ucy1ib3gge1xuICAgIG92ZXJmbG93LXk6IHNjcm9sbDtcbn1cblxuLnRvZGF5cy1ob3Vycy10b2dnbGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAuc3RvcmUtaG91cnMtZXhwYW5kZWQge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQsIHZpc2liaWxpdHkgMC4zcyBlYXNlLWluLW91dDtcbiAgICAgICAgdmlzaWJpbGl0eTogaGlkZGVuO1xuXG4gICAgICAgIC5zdG9yZS1zY2hlZHVsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoOCk7XG5cbiAgICAgICAgKiB7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTgwZlwiO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIiwgc2Fucy1zZXJpZjtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiByZW0tY2FsYygzKTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuaXMtYWN0aXZlIHtcbiAgICAgICAgLnN0b3JlLWhvdXJzLWNvbGxhcHNlZDo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MGVcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yZS1ob3Vycy1leHBhbmRlZCB7XG4gICAgICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICAgICAgdmlzaWJpbGl0eTogdmlzaWJsZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRvZGF5cy1ob3Vycy1sYWJlbCB7XG4gICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG59XG5cbi5zdG9yZSB7XG4gICAgJi1jbG9zZWQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCByZWQtYWNjZXNzaWJsZSk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgIH1cblxuICAgICYtb3BlbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGdyZWVuLWFjY2Vzc2libGUpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi5zdG9yZS1ob3Vycy13cmFwcGVyIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG1heC1oZWlnaHQ6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0cmFuc2l0aW9uOiBtYXgtaGVpZ2h0IDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgbWF4LWhlaWdodDogNTAwcHg7XG4gICAgfVxufVxuXG5cbi5zdG9yZS1zY2hlZHVsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAxMHB4O1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogYXV0byBtaW5tYXgoMCwgMWZyKTtcbiAgICBqdXN0aWZ5LWl0ZW1zOiBzdGFydDtcblxuICAgIC5zdG9yZS1kYXkge1xuICAgICAgICB3aWR0aDogMTEwcHg7XG4gICAgfVxufVxuIiwiLmFsbC1zdG9yZXMge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5pcy1hY2NvcmRpb24tc3VibWVudS1wYXJlbnQgPiBhIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMjJweDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGxlZnQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc3VibWVudSB7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDI7XG5cbiAgICAgICAgICAgICZbYXJpYS1oaWRkZW49ZmFsc2VdIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jayAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNpdHktbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBtYXJnaW46IDVweCAwIC0ycHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC5zdG9yZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLm1lbnUgLmNpdHktYm94IHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cbiIsIi5zdG9yZS1kZXRhaWxzLXBhZ2Uge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMjAgMjApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIC5tYXAtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDEwMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLnJvdy1zZXBhcmF0b3Ige1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yZS1ob3VycyB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBsdXMtbWludXMtYWNjb3JkaW9uIC5tZW51Lm5lc3RlZCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6ICMwMDA7XG4gICAgICAgICAgICBjdXJzb3I6IGRlZmF1bHQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwIDIwcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIC5tYXAtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDEwMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgI21hcCxcbiAgICAgICAgI3N0cmVldHZpZXcge1xuICAgICAgICAgICAgbWluLWhlaWdodDogMjUwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAucm93LXNlcGFyYXRvciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlLWhvdXJzIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAucGx1cy1taW51cy1hY2NvcmRpb24gLm1lbnUubmVzdGVkIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogIzAwMDtcbiAgICAgICAgICAgIGN1cnNvcjogZGVmYXVsdDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyNCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzNXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMjBweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICB1bCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG5cbiAgICAgICAgJi5zdG9yZS1hZGRyZXNzIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjc7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgaGVpZ2h0OiAzMHB4O1xuICAgICAgICB0b3A6IDE2cHg7XG4gICAgICAgIHdpZHRoOiAzMHB4O1xuICAgIH1cblxuICAgIC5zdG9yZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICAubmlja25hbWUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNhX3MyOF9kaXNwbGF5X2F2Z19yYXRpbmcge1xuICAgICAgICBtYXJnaW46IDAgMCAxNXB4O1xuICAgIH1cblxuICAgIC5saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1jb250YWN0LWluZm8ge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDIwIDApO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWhvdXJzIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG4gICAgfVxuXG4gICAgLmJvbGQtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgfVxuXG4gICAgLmFib3V0LWxvY2F0aW9uIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1hbWVuaXRpZXMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiByZW0tY2FsYyg1KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub2ZmZXJlZC1zZXJ2aWNlLW5hbWUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICB9XG5cbiAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgYTo6YWZ0ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiLCBzYW5zLXNlcmlmO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogMjBweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdIGE6OmFmdGVyIHtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODBmXCI7XG4gICAgICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgxODBkZWcpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlLXNlcnZpY2VzLWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgNDAgNDApO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtdGl0bGUge1xuICAgICAgICAgICAgaDMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgICAgIGZvbnQtZmFtaWx5OiAkZ290aGFtLWEtYjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNzAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMCAzNSAwIDIwKTtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdG9yZS1zZXJ2aWNlcy1saXN0IHtcbiAgICAgICAgY29sdW1uLWNvdW50OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDM7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBjb2x1bW4tY291bnQ6IDQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFwLWNvbnRhaW5lciB7XG4gICAgICAgIHVsIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDJweDtcbiAgICAgICAgICAgIG1pbi13aWR0aDogMTEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgICYudWktc3RhdGUtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBhLnVpLXRhYnMtYW5jaG9yIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGl0bGUtbWFpbi1zZWN0aW9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW46IDAgMCAyNXB4O1xuICAgICAgICBwYWRkaW5nOiAwIDAgMCAxOHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICYucmV2aWV3LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMzAgMCAyMCk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5zdG9yZS1sb2NhdGlvbi1pbmZvIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgfVxuXG4gICAgLnN0b3JlLWFkZHJlc3Mge1xuICAgICAgICBmb250LWZhbWlseTogJGdvdGhhbS1hLWI7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNik7XG4gICAgICAgIHRleHQtcmVuZGVyaW5nOiBvcHRpbWl6ZUxlZ2liaWxpdHk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN0b3JlLWRpc3RhbmNlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgfVxufVxuXG4uc3RvcmUtbG9jYXRvci1wYWdlLXdyYXBwZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLnN0b3JlLWRldGFpbHMtc2lkZWJhciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBoZWlnaHQ6IGNhbGMoMTAwJSAtIDMyMHB4KTtcbiAgICBsZWZ0OiAtMTAwJTtcbiAgICBtYXJnaW4tdG9wOiAzMjBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0cmFuc2l0aW9uOiB0b3AgMC4zcyBlYXNlLWluLW91dDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICB6LWluZGV4OiAyO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBsZWZ0OiAtNDAlO1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0b3A6IDA7XG4gICAgICAgIHRyYW5zaXRpb246IGxlZnQgMC40cyBlYXNlLWluLW91dCwgb3BhY2l0eSAwLjRzIGVhc2UtaW4tb3V0O1xuICAgICAgICB3aWR0aDogNDAlO1xuICAgIH1cblxuICAgICYub3BlbiB7XG4gICAgICAgIGxlZnQ6IDA7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIG92ZXJmbG93OiB2aXNpYmxlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBvdmVyZmxvdzogYXV0bztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1hcC1jb250YWluZXIge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAuZ21ub3ByaW50LFxuICAgICAgICAuZ20tY29udHJvbC1hY3RpdmUsXG4gICAgICAgIC5nbS1pdi1hZGRyZXNzLFxuICAgICAgICAuZ3BzLXRvZ2dsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc3RvcmUtZGV0YWlscy1tb2RlIHtcbiAgICAuc3dpdGNoLXRvLXN0cmVldC12aWV3LFxuICAgIC5zd2l0Y2gtdG8tbWFwLXZpZXcge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDUgMCAwKTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDkpO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RyZWV0LXZpZXctd3JhcHBlciB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgXG4gICAgICAgICNzdHJlZXR2aWV3IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pcy1zbWFsbC12aWV3IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm90dG9tOiAyNXB4O1xuICAgICAgICBoZWlnaHQ6IDI1MHB4O1xuICAgICAgICBsZWZ0OiAyMHB4O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSAxNSA2MCk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgd2lkdGg6IDIwMHB4O1xuICAgICAgICB6LWluZGV4OiAyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgaGVpZ2h0OiAxNDBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwIDEwIDM1KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXAtdmlldyxcbiAgICAgICAgLnN0cmVldC12aWV3IHtcbiAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAuZ21ub3ByaW50LFxuICAgICAgICAgICAgLmdtLWNvbnRyb2wtYWN0aXZlLFxuICAgICAgICAgICAgLmdtLWl2LWFkZHJlc3MsXG4gICAgICAgICAgICAuZ3BzLXRvZ2dsZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICNzdHJlZXR2aWV3IHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLm1hcC1hY2NvcmRpb24ge1xuICAgIGJvdHRvbTogMjBweDtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG59XG5cbi5jdGEtYnV0dG9ucyB7XG4gICAgLmxpbmsge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogcmVtLWNhbGMoMTUpO1xuICAgIH1cbn1cblxuLmljb24tYW5nbGUtbGVmdDo6YmVmb3JlIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICBtYXJnaW46IDA7XG4gICAgd2lkdGg6IGF1dG87XG59XG5cbi5hY2Nlc3NpYmlsaXR5LXRhYmxlIHtcbiAgICBib3JkZXItc3BhY2luZzogMXB4O1xuXG4gICAgdGQge1xuICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCAkbGlnaHQtZ3JheTtcblxuICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLmFjY291bnQtc3VidGl0bGUge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIG1hcmdpbi1ib3R0b206IDEuNzVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzcmVtO1xuICAgIH1cblxuICAgIC5saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICB9XG59XG5cbi5hY2NvdW50LXNlY3Rpb24taGVhZGluZyB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgbWFyZ2luOiAyNXB4IDA7XG5cbiAgICAmLnRvcC1oZWFkaW5nIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG5cbiAgICArIC5iYWNrIHtcbiAgICAgICAgbWFyZ2luLXRvcDogLTEuM3JlbTtcbiAgICB9XG59XG5cbi5tb2RpZnktYXBwb2ludG1lbnQtYnV0dG9uIHtcbiAgICBtYXJnaW4tdG9wOiAzMHB4O1xuICAgIG1heC13aWR0aDogMjA4cHg7XG5cbiAgICAubW9kaWZ5LWFjY291bnQge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDI4cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi5hY2NvdW50LXNlY3Rpb24ge1xuICAgIHBhZGRpbmctYm90dG9tOiAzcmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZy10b3A6IDNyZW07XG4gICAgfVxuXG4gICAgLm5hdi13cmFwcGVyLmNvbHVtbnMge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY29udGVudC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNXB4IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubXktZ2FyYWdlLXBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIH1cblxuICAgIC5vcmRlci1oaXN0b3J5LWRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNzUlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2sge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjc1cmVtO1xuXG4gICAgICAgIGE6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZjA1M1wiO1xuICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjVyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMC45Mzc1cmVtO1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24tZ3JvdXAge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWJhc2lzOiAyNSU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIC5idXR0b24tbGluayB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uLWxpbmssXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgZmxleC1iYXNpczogMzAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZsZXgtYmFzaXM6IDIwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1oaXN0b3J5LWZvb3RlciB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgLmhlcmUtdG8taGVscCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmFjdGlvbi1ib3gge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlclN1bW1hcnlMaXZlQ2hhdCxcbiAgICAgICAgLnBob25lLW51bWJlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlICwgcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9uLWljb24ge1xuICAgICAgICAgICAgLmNhcmQtaWNvbiB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGlmeS1hcHBvaW50bWVudC1pbXBvcnRhbnQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIH1cblxuICAgIC5tb2RpZnktYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAwLjFyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5vLW9yZGVycy1zZWxlY3RvcnMge1xuICAgICAgICBtYXJnaW46IDAgLTEwcHg7XG5cbiAgICAgICAgLnNlbGVjdG9yLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5uby1vcmRlci1zZWxlY3Rvci10YWIge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICY6aG92ZXI6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdG9yLWltYWdlIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICAgICAgICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlbGVjdG9yLXRhYi10aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWNjb3VudC1ibG9jay1ib3JkZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAmLnBlcnNvbmFsLWluZm8ge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5vcmRlci1ibG9jayB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgIH1cblxuICAgIC5hY2NvdW50LWluZm8tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC5sYWJlbC13cmFwcGVyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIH1cblxuICAgIGxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAudG9wLWxhYmVsIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY291bnQtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICB9XG5cbiAgICAucHMtcmVzdWx0cy1pbWFnZS10aXAge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIFxuICAgIH1cblxuICAgIC5lbWFpbC1hZGRyZXNzLWluZm8ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgcGFkZGluZzogMTBweCAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogODAlO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYWNjb3VudC1lbWFpbC10b29sdGlwIHtcbiAgICAudG9vbHRpcC1waG9uZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICB9XG59XG5cbi5zZWNvbmRhcnktbmF2aWdhdGlvbiB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICYuYWNjb3VudC1wYWdlIC5tb2JpbGUtYWNjb3VudC1sYWJlbCAuYWNjb3VudC1wYWdlLFxuICAgICAgICAmLm9yZGVyLXBhZ2UgLm1vYmlsZS1hY2NvdW50LWxhYmVsIC5vcmRlci1wYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUtaXRlbXMtd3JhcHBlciB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1lbnUudmVydGljYWwgPiBsaS5tZW51LWl0ZW0ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgJi5oaWdobGlnaHRlZCBhIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBib3JkZXItZ3JleSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4IDAgMzBweDtcblxuICAgICAgICAgICAgLnRvZ2dsZS1pY29uIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmhpZ2hsaWdodGVkIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgICAgICAgICAudG9nZ2xlLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWVudSBsaSB7XG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpob3ZlciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmFjY291bnQtcGFnZSB7XG4gICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgICAgICAgICAmLmFjY291bnQtcGFnZSB7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgICYub3JkZXItcGFnZSB7XG4gICAgICAgIC5tZW51LWl0ZW0ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDI7XG5cbiAgICAgICAgICAgICAgICAmLm9yZGVyLXBhZ2Uge1xuICAgICAgICAgICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmNhcmZheC1oaXN0b3J5LXBhZ2Uge1xuICAgICAgICAubWVudS1pdGVtIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuXG4gICAgICAgICAgICAgICAgJi5jYXJmYXgtaGlzdG9yeS1wYWdlIHtcbiAgICAgICAgICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9iaWxlLWFjY291bnQtbWVudSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDAuNzVyZW07XG5cbiAgICBsaSBhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDAgMC42MjVyZW07XG4gICAgfVxuXG4gICAgJjpob3ZlcixcbiAgICAuYWN0aXZlLXN1Ym1lbnUge1xuICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICB9XG59XG5cbi5tZW51Lm1vYmlsZS1hY2NvdW50LWxpc3Qge1xuICAgIG1hcmdpbjogMC43NXJlbSAwLjMxMjVyZW0gMDtcbn1cblxuLm1lbnUgbGkgLm1vYmlsZS1hY2NvdW50LWxhYmVsIHtcbiAgICBwYWRkaW5nOiAwO1xuXG4gICAgc3BhbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJjo6YWZ0ZXIge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBjb250ZW50OiBcIlxcZjBkY1wiO1xuICAgICAgICBmb250LWZhbWlseTogZm9udGF3ZXNvbWU7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgcmlnaHQ6IC0ycHg7XG4gICAgICAgIHRvcDogMC4yNXJlbTtcbiAgICB9XG59XG5cbi5idXR0b24tZ3JvdXAge1xuICAgICYubm8tYm90LW1hcmdpbiB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkgeyBcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjY291bnQtYmxvY2stZ3JleSB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW4tYm90dG9tOiAxLjI1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbSAwLjFyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbSAxLjg3NXJlbSAwLjVyZW07XG4gICAgfVxuXG4gICAgLm9wZW5MaXZlQ2hhdEJ1dHRvbiB7XG4gICAgICAgIGIge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQgIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHsgXG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuNzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7IFxuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIxcHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMC4zNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDEuNzVyZW0gMCAwLjI1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm5vdCgucGhvbmUtbGluaykge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYm90dG9tLXNwYWNlLW1vYmlsZSB7XG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG4gICAgfVxufVxuXG4uYnV0dG9uLWxpbmsge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgbWFyZ2luLXRvcDogMC42MjVyZW07XG4gICAgcGFkZGluZzogMC43NXJlbSAwO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogbWlkZGxlO1xuICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMCAxLjI1cmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB3aWR0aDogYXV0bztcbiAgICB9XG59XG5cbi5wdF9hY2NvdW50LFxuLnB0X29yZGVyIHtcbiAgICAucGhvbmUtbGluayB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIENvbW1vbiBzdHlsZXMgZm9yIE9yZGVyIGhpc3RvcnkgYW5kIE9yZGVyIGRldGFpbHMgcGFnZXNcbi5vcmRlcmRldGFpbHMgLm9yZGVyLXNoaXBtZW50cyxcbi5vcmRlci1oaXN0b3J5LWxpc3Qge1xuICAgIC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gT3JkZXIgaGlzdG9yeVxuLm9yZGVyLWhpc3RvcnktbGlzdCB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG5cbiAgICAubGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIC5mYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cblxuICAgICAgICAuZmEtY2FsZW5kYXItbyB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC4zMTI1cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY2NvcmRpb24tb3JkZXItaGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1oaXN0b3J5LWl0ZW1zIHtcbiAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNvbHVtbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci10b3RhbHMge1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgLm9yZGVyLXZhbHVlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudG90YWwtdmFsdWUtcm93IHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItdG90YWxzLXJvdyxcbiAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1pbmZvIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMjVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLWluZm8tcm93IHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saW5lLWl0ZW1zIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgLnByb2R1Y3Qtcm93IHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAub3JkZXJkZXRhaWxzLXByb2R1Y3R2YWx1ZXMsXG4gICAgICAgICAgICAgICAgLm9yZGVyZGV0YWlscy1wcm9kdWN0bmFtZSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnJvdyB7XG4gICAgICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItbGVmdDogMDtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItaW5mbyxcbiAgICAgICAgLm9yZGVyLXRvdGFscyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgcGFkZGluZy10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAudmFsdWUtY29sdW1uIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktaGVhZGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxLjYyNXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxhYmVsIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDAuMzc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG5cbiAgICAgICAgICAgICYucGFpZC1vbmxpbmUge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLm9yZGVyLWhlYWRlci1pbmZvIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDVweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIC5yb3cge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1sb2NhdGlvbiB7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1pbmZvcm1hdGlvbi1jbGllbnQsXG4gICAgICAgIC5vcmRlci1sb2NhdGlvbiB7XG4gICAgICAgICAgICAudmFsdWUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2FuY2VsbGVkLW9yZGVyLFxuICAgICAgICAubW9kaWZpZWQtb3JkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tb2RpZmllZC1vcmRlciB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2FuY2VsbGVkLW9yZGVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGVycm9yKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1oaXN0b3J5LXRhYmxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDE1cHg7XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICAgICB0ciB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0aCxcbiAgICAgICAgdGQge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMS4zNzVyZW07XG5cbiAgICAgICAgICAgICY6Zmlyc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIHdpZHRoOiA1NiU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgIH1cblxuICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWJsb2NrIHtcbiAgICAgICAgLm9yZGVyLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIGhlaWdodDogNjRweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMjBweDtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICBjb2xvcjogJG9sZC1zaWx2ZXI7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxMDdcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBmb250LWZhbWlseTogXCJmb250ZWxsb1wiO1xuICAgICAgICAgICAgICAgIC13ZWJraXQtZm9udC1zbW9vdGhpbmc6IGFudGlhbGlhc2VkO1xuICAgICAgICAgICAgICAgIC1tb3otb3N4LWZvbnQtc21vb3RoaW5nOiBncmF5c2NhbGU7XG4gICAgICAgICAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtdmFyaWFudDogbm9ybWFsO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBub3JtYWw7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcbiAgICAgICAgICAgICAgICB0b3A6IDhweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMWVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTMwJSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmW2FyaWEtZXhwYW5kZWQ9XCJ0cnVlXCJdOjphZnRlciB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZVkoLTEpO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybS1vcmlnaW46IDUwJSA1MCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci10b3RhbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGNvbG9yOiAkYnV0dG9uLWRhcms7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAzMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXItbnVtYmVyLXN0YXR1cyB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm9yZGVyLXZlaGljbGUtbmFtZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwIDE1cHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnVua25vd24ge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgIFxuICAgICAgICAuYWNjb3JkaW9uLWNvbnRlbnQge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgbWluLWhlaWdodDogNzBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMTBweCAwO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE2cHggMjNweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNhci1hcHBvaW50bWVudC1pbmZvIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2FkLW1vcmUtY29udGFpbmVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0dmFsdWVzLWNvbHVtbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vYmlsZS10aXRsZXMge1xuICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZ290aGFtLWJvbGRcIiwgQXJpYWw7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gT3JkZXIgRGV0YWlscyBwYWdlXG4ub3JkZXJkZXRhaWxzIHtcbiAgICAub3JkZXItaW5mb3JtYXRpb24ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgIG1hcmdpbjogMCAwIDI1cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDEuNjI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLW51bWJlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBtYXJnaW46IDAgMCA1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnZhbHVlIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjY291bnQtYmxvY2stZ3JleSB7XG4gICAgICAgIC5sYWJlbCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGFiZWwge1xuICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxZW07XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmFjY291bnQtYmxvY2stYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAycHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjgxMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWNjb3VudC1zZWN0aW9uLWhlYWRpbmcge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxLjg3NXJlbTtcbiAgICB9XG5cbiAgICAubWluaS1hZGRyZXNzLWxvY2F0aW9uLFxuICAgIC5hY2NvdW50LWluZm8sXG4gICAgLmFwcG9pbnRtZW50LWluZm8ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAmLmVtYWlsIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LXRpbWUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICB9XG5cbiAgICAubGluZS1zZWN0aW9ucy1zZXBhcmF0b3Ige1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2YyZjJmMztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmFjY291bnQtaW5mby1saW5rIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG59XG5cbi5hY2NvdW50LWluZm8tbWVzc2FnZSB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi8vIE9yZGVyIFN1bW1hcnkgc2VjdGlvblxuLm9yZGVyLXBheW1lbnQtc3VtbWFyeSB7XG4gICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgYm9yZGVyOiAycHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAxcmVtIDEuMjVyZW0gMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbSAwO1xuICAgIH1cblxuICAgIC5vcmRlci1zdW1tYXJ5LXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS41NjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWRldGFpbC1zdW1tYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsb2F0OiByaWdodDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC42MjVyZW07XG4gICAgICAgICAgICB3aWR0aDogNTguMzMzMzMlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZWhpY2xlLWluZm8ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgIC5vcmRlci10b3RhbHMtdGFibGUge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAuYW1vdW50LXRvdGFsLXBhaWQge1xuICAgICAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYzO1xuXG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci10b3RhbCB7XG4gICAgICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZDpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ib2xkIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYub3JkZXItdG90YWwge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFtb3VudC10b3RhbC1wYWlkLFxuICAgICAgICAgICAgJi5hbW91bnQtc3RvcmUtdG90YWwge1xuICAgICAgICAgICAgICAgICYuYm9sZCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gXG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VycmVuY3ktY29kZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG4gICAgfVxufVxuXG4uYWNjb3VudC1pbmZvLXJvdyB7XG4gICAgLmFjY291bnQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmV4cGFuZGVkIHtcbiAgICAgICAgLmFjY291bnQtaW5mby13cmFwcGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1mb3JtIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVkaXQtZm9ybSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIG1hcmdpbi10b3A6IDE1cHg7XG5cbiAgICAgICAgLnJlcXVpcmVkLWluZGljYXRvciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhc3N3b3JkLWRvdHMge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxldHRlci1zcGFjaW5nOiAtMnB4O1xuXG4gICAgICAgIC5pY29uLWNpcmNsZTo6YmVmb3JlIHtcbiAgICAgICAgICAgIGNvbG9yOiAkZGFyay1ncmF5LWZlYXR1cmU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmVzZXQtcGFzc3dvcmQtYnV0dG9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgIH1cblxuICAgIC5lZGl0LXRvZ2dsZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG5cbiAgICAuaW50LXBob25lLXRlc3Rpbmcge1xuICAgICAgICBtYXJnaW46IDE1cHggMDtcbiAgICB9XG59XG5cbi8vIFZlcmlmaWNhdGlvbiBjb2RlIG1vZGFsXG4udmVyaWZpY2F0aW9uLW1vZGFsIHtcbiAgICBwYWRkaW5nOiAyNXB4O1xuICAgIHdpZHRoOiA1MDBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBoZWlnaHQ6IGF1dG87XG4gICAgICAgIG1hcmdpbjogMjBweDtcbiAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIHRvcDogMjBweDtcbiAgICB9XG5cbiAgICAudmVyaWZpY2F0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgIH1cblxuICAgIC5pY29uLXZlcmlmeS1tZXRob2Q6OmJlZm9yZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLnZlcmlmaWNhdGlvbi1tZXRob2Qge1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICAgICAgICBwYWRkaW5nOiAzcHggMDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG4gICAgICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICB9XG5cbiAgICAudmVyaWZpY2F0aW9uLXRleHQtbWVzc2FnZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuY3VzdG9tZXItY29udGFjdCB7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgfVxuXG4gICAgLnZlcmlmaWNhdGlvbi1hY3Rpb25zIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAgICAgICAmLmRpc2FibGUtcmVzZW5kIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVyaWZ5LWNvZGUtYnRuIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE4cHg7XG5cbiAgICAgICAgJltkaXNhYmxlZF0ge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc2VuZC1jb2RlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICB9XG5cbiAgICAudmVyaWZpY2F0aW9uLWNvZGUtc2VudCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgfVxuXG4gICAgLnZlcmlmaWNhdGlvbi1lcnJvciB7XG4gICAgICAgIGNvbG9yOiAkcmVkO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuaWNvbi1yZXNlbmQ6OmJlZm9yZSB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAudmVyaWZ5LWNvZGUtZm9ybSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgfVxufVxuXG4uc2VuZC12ZXJpZmljYXRpb24tY29kZS1mb3JtIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIH1cblxuICAgIC5zZW5kLXZlcmlmaWNhdGlvbi1jb2RlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDExMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyMHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cblxuICAgICAgICAmW2Rpc2FibGVkXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXh0cmEtbGlnaHQtZ3JheTtcbiAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGV4dHJhLWxpZ2h0LWdyYXk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAubGluZS1pdGVtIHtcbiAgICAgICAgLnByb2R1Y3QtYnJhbmQsXG4gICAgICAgIC5wcm9kdWN0LW5hbWUsXG4gICAgICAgIC5saW5lLWl0ZW0tcHJpY2UsXG4gICAgICAgIC5pdGVtLXF1YW50aXR5LFxuICAgICAgICAucHJpY2UtdG90YWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuZnJvbnQtYmFjay1zZXQtbGFiZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgfVxuXG4gICAgICAgIC5jdXJyZW5jeS1jb2RlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIubG9naW4tbW9kYWwge1xuICAgIGhlaWdodDogMTYwcHg7XG4gICAgbWluLWhlaWdodDogMTYwcHg7IC8vIE92ZXIgd3JpdGUgdGhlIG1pbi1oZWlnaHQgZnJvbSBfcmV2ZWFsLnNjc3NcbiAgICBwb3NpdGlvbjogYWJzb2x1dGUgIWltcG9ydGFudDtcbiAgICB3aWR0aDogNDAwcHg7XG4gICAgXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgaGVpZ2h0OiAxNzVweDtcbiAgICAgICAgbWluLWhlaWdodDogMTc1cHg7IC8vIE92ZXIgd3JpdGUgdGhlIG1pbi1oZWlnaHQgZnJvbSBfcmV2ZWFsLnNjc3NcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDcwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMHZ3IC0gMjBweCk7XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgfVxuXG4gICAgLmxvZ2luLW1vZGFsLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5uby10aGFua3Mge1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIFxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cblxuICAgICAgICA6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICAgICAgcGFkZGluZzogOHB4IDYwcHg7XG4gICAgfVxufVxuIiwiLnB0X215Z2FyYWdlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgLmNvbHVtbnMubW9iaWxlLXBhZGRpbmctcmlnaHQtNnB4IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jb2x1bW5zLm1vYmlsZS1wYWRkaW5nLWxlZnQtNnB4IHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLndpZHRoLTUwLXBlcmNlbnQge1xuICAgICAgICB3aWR0aDogNTAlO1xuICAgIH1cblxuICAgIC5kb3R0ZWQtYm9yZGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMy41cHggZG90dGVkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLmFycm93IHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgfVxuXG4gICAgLnRvcC1zZWN0aW9uLFxuICAgIC50b3Atc2VjdGlvbi1hcmNoaXZlIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogMTVweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgICAgICBwLFxuICAgICAgICAgICAgLmNhci1hZGQtbmV3LFxuICAgICAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNhci1hZGQtbmV3IHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiAyNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjEuNnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9wLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3Atc2VjdGlvbi1hcmNoaXZlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNzUlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24ge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3VidGl0bGUtdGV4dCB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItYWRkLW5ldyB7XG4gICAgICAgIGJ1dHRvbi5jYi1jdGEuYnV0dG9uLWhvbGxvdy1ibGFjayB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMXB4IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2Fycy1jb250YWluZXIsXG4gICAgLmNhcnMtY29udGFpbmVyLWFyY2hpdmVkIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IC0xNXB4O1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSArIDMwcHgpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1jb250YWluZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMzBweDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuY2ItY3RhIHtcbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLXZpc3VhbHMge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhci1pbmZvcm1hdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgICAgICAgICAgICAgIGJvcmRlci13aWR0aDogMTRweCAxNHB4IDA7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgICAgICBsZWZ0OiAtMjFweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiBjYWxjKDUwJSAtIDdweCk7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoOTBkZWcpO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAwO1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtaW4taGVpZ2h0OiA3MHB4O1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDEwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDEwMHB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMDBweDtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDkwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAubG9hZGVyIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhci1uYW1lLFxuICAgIC5jYXItdmluLFxuICAgIC5jYXItcGxhdGUtYWRkLFxuICAgIC5jYXItcGxhdGUtZWRpdCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNC40cHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAycHg7XG4gICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLXBsYXRlLWVkaXQsXG4gICAgLmNhci1uYW1lLFxuICAgIC5jYXItdmluIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDRweDtcbiAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIH1cblxuICAgIC5jYXItbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxNi44cHg7XG5cbiAgICAgICAgaSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItdGlyZS13aGVlbCA+IGRpdiB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxN3B4O1xuICAgICAgICBtYXJnaW4tdG9wOiAxNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXItdGlyZS13aGVlbCxcbiAgICAuY2FyLWluZm8tYm90dG9tIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNhci1pbmZvLWJvdHRvbSB7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi10b3A6IGF1dG87XG4gICAgICAgIHBhZGRpbmctdG9wOiAxNnB4O1xuICAgICAgICByb3ctZ2FwOiAxN3B4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLW5vLW9yZGVyLWhpc3Rvcnkge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICB9XG5cbiAgICAuY2FyLWFwcG9pbnRtZW50IHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDVweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAxNXB4IDIwcHg7XG4gICAgfVxuXG4gICAgLmNhci1hcHBvaW50bWVudC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogNXB4O1xuICAgIH1cblxuICAgIC5jYXItYXBwb2ludG1lbnQtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtbWFwLFxuICAgIC5tb2RpZnktYXBwb2ludG1lbnQge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtbWFwIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLm1vZGlmeS1hcHBvaW50bWVudCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuICAgIC5jYXItYnV5LWFjdGlvbnMge1xuICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWV2ZW5seTtcbiAgICAgICAgbWFyZ2luLXRvcDogNnB4O1xuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZmxleC1ncm93OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE1cHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpsYXN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWJ1eS1hY3Rpb24sXG4gICAgLnNlcnZpY2VzLWN0YSB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICYuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssXG4gICAgICAgICYuY2ItY3RhLmJ1dHRvbi1mdWxsLXdoaXRlIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDExcHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlcy1jdGEge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWFjY2Vzc2libGUtaG92ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY3VzdG9tLWNsYXNzIHtcbiAgICAgICAgLnF1ZXN0aW9ubWFya2NpcmNsZSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaWdobGlnaHQtZXhpc3RpbmctY2FyIHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgdHJhbnNpdGlvbjogYm9yZGVyLXdpZHRoIDAuNXMgbGluZWFyO1xuXG4gICAgICAgICYudHJhbnNpdGlvbi10by1lbmQge1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvZ2dsZS1hcmNoaXZlZC1jYXJzIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIGkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMHB4O1xuICAgICAgICAgICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcmNoaXZlZC1jYXJzIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAtMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgKyAzMHB4KTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnNlcnZpY2UtYWN0aW9ucy1tb2RhbCB7XG4gICAgdG9wOiA1MCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXJnaW46IGF1dG87XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG87XG4gICAgICAgIHdpZHRoOiA5NSU7XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luOiA4cHggMDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4O1xuICAgIH1cblxuICAgIC5jYXItYnV5LWFjdGlvbnMge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG4gICAgfVxuXG4gICAgLmNhci1idXktYWN0aW9uIHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAubW9kYWwtY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDE1cHg7XG4gICAgICAgIHRvcDogMTVweDtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzBweDtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnRleHQtYWxpZ24tcmlnaHQge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG4uZmxleC1vcmRlci0xIHtcbiAgICBvcmRlcjogLTE7XG59XG5cbi5nYXJhZ2UtbW9kYWwtdGl0bGUge1xuICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG59XG5cbltmb3JtLWN0cmxdIHtcbiAgICAudmluLWNvbnRhaW5lciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgJltmb3JtLWN0cmw9XCJjYXJmYXhcIl0sXG4gICAgJltmb3JtLWN0cmw9XCJlZGl0VmVoaWNsZURhdGFcIl0ge1xuICAgICAgICAudmluLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmdhcmFnZS1tb2RhbCB7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICAmI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgICAgICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjRweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAubW9kYWwtY2xvc2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogMTVweDtcbiAgICAgICAgdG9wOiAxNXB4O1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgZm9udC1zaXplOiAzMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRlc2NyaXB0aW9uIHtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAudmVoaWNsZXMtc2VjdGlvbiB7XG4gICAgICAgIGdhcDogMjBweDtcblxuICAgICAgICAuY2FyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IGNhbGMoNTAlIC0gMTBweCk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5hbWUteW91ci12ZWhpY2xlLWZpZWxkcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IDEwMCU7XG5cbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSxcbiAgICAgICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5maWVsZC1jb250YWluZXIge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDUwJTtcbiAgICAgICAgICAgIG1pbi13aWR0aDogNTAlO1xuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOm50aC1jaGlsZChvZGQpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmllbGQtbGFiZWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMTZweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b25zLXdyYXAge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgJi5hbGlnbi10by1yaWdodCB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDIwMHB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogbm9uZTtcbiAgICAgICAgICAgICAgICBtaW4td2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6ZGlzYWJsZWQge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRleHRyYS1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogJGV4dHJhLWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZml0LXdpZHRoIHtcbiAgICAgICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuICAgICAgICAgICAgICAgIG1pbi13aWR0aDogMjAwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgaW5wdXQge1xuICAgICAgICBtYXJnaW46IDZweCAwIDA7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTVweDtcbiAgICB9XG5cbiAgICAucGxhdGUtbm8tY29udGFpbmVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICB9XG5cbiAgICAuY2ItY3RhLmJ1dHRvbi1ob2xsb3ctYmxhY2ssXG4gICAgLmNiLWN0YS5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgICAgIHBhZGRpbmc6IDhweCA2MHB4O1xuICAgIH1cbn1cblxuLnZlaGljbGUtZXhpc3RzLW1vZGFsIHtcbiAgICBtYXgtd2lkdGg6IDQwMHB4O1xufVxuXG4ucGxhdGUtbnVtYmVyLW1vZGFsIHtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbn1cblxuLnBsYXRlLW51bWJlci1tb2RhbCxcbi5jYXItZWRpdC1tb2RhbCxcbi52ZWhpY2xlLWluZm8tbW9kYWwsXG4jdmVyaWZ5LXZlaGljbGUtbW9kYWwge1xuICAgIG1heC13aWR0aDogNzAwcHg7XG4gICAgcGFkZGluZzogMzBweDtcblxuICAgIC5nYXJhZ2UtdmVoaWNsZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyNHB4O1xuICAgICAgICBwYWRkaW5nOiAwIDM2cHggMjBweCAwO1xuICAgIH1cbn1cblxuI3ZlcmlmeS12ZWhpY2xlLW1vZGFsIHtcbiAgICBtYXgtaGVpZ2h0OiA4MHZoO1xuICAgIG92ZXJmbG93OiBhdXRvO1xufVxuXG4uY2FyLWVkaXQtbW9kYWwge1xuICAgIHAge1xuICAgICAgICBwYWRkaW5nOiAwIDAgMTBweDtcbiAgICB9XG59XG5cbi5hZGQtcGxhdGUtbm8ge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDE0LjRweDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cbiIsIi5wdF9vcmRlciB7XG4gICAgLmQtZmxleCB7XG4gICAgICAgIEBpbmNsdWRlIGZsZXg7XG4gICAgfVxuXG4gICAgLnBvc2l0aW9uLXJlbGF0aXZlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5mbGV4LXdyYXAge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLmZsZXgtY29sdW1uIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAuc3dpdGNoZXItY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZmxleC1hbGlnbihudWxsLCBtaWRkbGUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnN3aXRjaGVyIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB6LWluZGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBlbmQ7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3dpdGNoZXItaW5wdXQge1xuICAgICAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgICAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICB3aWR0aDogMXJlbTtcbiAgICAgICAgei1pbmRleDogLTE7XG5cbiAgICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWxhYmVsOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjpjaGVja2VkIH4gLnN3aXRjaGVyLWxhYmVsOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgcmlnaHQ6IDNweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zd2l0Y2hlci1sYWJlbCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgbGluZS1oZWlnaHQ6IDI0cHg7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgcGFkZGluZy1yaWdodDogNDVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgICAgICB2ZXJ0aWNhbC1hbGlnbjogdG9wO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5LW15LWdhcmFnZSk7XG4gICAgICAgICAgICBib3JkZXItcmFkaXVzOiAxMi41cHg7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBoZWlnaHQ6IDI0cHg7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogYWxsO1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgd2lkdGg6IDM5cHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiA1MCUgLyA1MCUgNTAlIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheS1teS1nYXJhZ2UpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMC41cmVtO1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgcmlnaHQ6IDE4cHg7XG4gICAgICAgICAgICB0b3A6IDNweDtcbiAgICAgICAgICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE1cyBlYXNlLWluLW91dCxiYWNrZ3JvdW5kLWNvbG9yIDAuMTVzIGVhc2UtaW4tb3V0LGJvcmRlci1jb2xvciAwLjE1cyBlYXNlLWluLW91dCxib3gtc2hhZG93IDAuMTVzIGVhc2UtaW4tb3V0LC13ZWJraXQtdHJhbnNmb3JtIDAuMTVzIGVhc2UtaW4tb3V0O1xuICAgICAgICAgICAgd2lkdGg6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItaGlzdG9yeS1maWx0ZXItYm94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW0ge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJyaWdodC1ncmV5KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtaW4taGVpZ2h0OiAxMjJweDtcbiAgICAgICAgcGFkZGluZzogMTRweCAxMHB4IDEwcHg7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDEyNXB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogMTAwJTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDE5cHg7XG4gICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICByaWdodDogOHB4O1xuICAgICAgICAgICAgdG9wOiA4cHg7XG4gICAgICAgICAgICB3aWR0aDogMTlweDtcbiAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItY2hlY2tib3gge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHotaW5kZXg6IDE7XG5cbiAgICAgICAgJjpjaGVja2VkIH4gLm9yZGVyLWhpc3RvcnktZmlsdGVyLWl0ZW0ge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIgeyBcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgJHdoaXRlO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkICR3aGl0ZTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDEwcHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDYwJTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDE0cHg7XG4gICAgICAgICAgICAgICAgdG9wOiAxMXB4O1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICAgICAgICAgICAgICB3aWR0aDogNnB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IDE7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FyLWltYWdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNDlweDtcbiAgICB9XG5cbiAgICAuY2FyLW5hbWUge1xuICAgICAgICBwYWRkaW5nOiA2cHggMCA0cHg7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuY2FyLXBsYXRlLFxuICAgIC5jYXItbmFtZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxufVxuIiwiI2NhcmZheC1oaXN0b3J5LW1vZGFsIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICBtYXgtd2lkdGg6IDgxNnB4O1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICB0b3A6IDE2cHg7XG4gICAgd2lkdGg6IDEwMCU7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgcG9zaXRpb246IHN0aWNreTtcbiAgICB9XG5cbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIG1heC1oZWlnaHQ6IDc4dmg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiA3OHZoOyAvKiBVc2UgdmggYXMgYSBmYWxsYmFjayBmb3IgYnJvd3NlcnMgdGhhdCBkbyBub3Qgc3VwcG9ydCBDdXN0b20gUHJvcGVydGllcyAqL1xuICAgICAgICAgICAgbWF4LWhlaWdodDogY2FsYyh2YXIoZHluYW1pY1NjcmVlblNpemUsIDF2aCkgKiAxMDApO1xuICAgICAgICAgICAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIC5tb2RhbC10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMik7XG4gICAgfVxuXG4gICAgLmNhcmZheC1oaXN0b3J5LWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGljZW5zZS1wbGF0ZS13cmFwcGVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuXG4gICAgICAgIC5saWNlbnNlLXBsYXRlLWhlYWRlciB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5saWNlbnNlLXBsYXRlLWNvbnRlbnQge1xuICAgICAgICAgICAgY29sdW1uLWdhcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmNvbHVtbiB7XG4gICAgICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5saWNlbnNlLXBsYXRlLWlubmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICAgICAgLnBsYXRlLW51bWJlci1pbnB1dCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuZXJyb3I6bm90KC5saWNlbnNlUGxhdGUpID4gKiB7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMjMycHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZm9ybS1yb3cge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXJyb3ItdmluIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdW5hdmFpbGFibGUpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDJweDtcbiAgICB9XG5cbiAgICAub3ItYnJlYWsge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgICAgIHBhZGRpbmc6IDAgMTBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAub3ItYnJlYWs6OmJlZm9yZSxcbiAgICAub3ItYnJlYWs6OmFmdGVyIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgIGZsZXg6IDEgMTtcbiAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgIH1cblxuICAgIC5vci1icmVhazo6YmVmb3JlIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC5vci1icmVhazo6YWZ0ZXIge1xuICAgICAgICBtYXJnaW4tbGVmdDogMTBweDtcbiAgICB9XG5cbiAgICAudmluLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiAxMnB4IDE2cHg7XG5cbiAgICAgICAgLnZpbi1oZWFkZXIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cblxuICAgICAgICAudmluLW51bWJlci1pbnB1dCB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVoaWNsZS1pbmZvcm1hdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgIH1cbn1cblxuI2NhcmZheC1kZWxldGUtbW9kYWwge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgbWF4LXdpZHRoOiByZW0tY2FsYyg1MDApO1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5tb2RhbC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMik7XG4gICAgfVxuXG4gICAgLm1vZGFsLXRleHQge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG5cbiAgICAuYnV0dG9ucy13cmFwIHtcbiAgICAgICAgY29sdW1uLWdhcDogNjBweDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgYnV0dG9uIHtcbiAgICAgICAgICAgIGZsZXg6IDUwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuI2NhcmZheC1oaXN0b3J5LW1vZGFsLFxuI2NhcmZheC1kZWxldGUtbW9kYWwge1xuICAgIC5jYXJmYXgtbW9kYWwtY2xvc2Uge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgcmlnaHQ6IDFyZW07XG4gICAgICAgIHRvcDogMC41cmVtO1xuICAgICAgICB6LWluZGV4OiA1O1xuICAgIH1cblxuICAgIGJ1dHRvbiB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgIGhlaWdodDogNDJweDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxufVxuXG4jY2FyZmF4LWRlbGV0ZS1mb3JtLFxuI3ZlaGljbGUtZmllbGRzZXQge1xuICAgIG1pbi1oZWlnaHQ6IDQycHg7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uZ3JleS1saW5lIHtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBjb250ZW50OiBcIlwiO1xuICAgIG1hcmdpbjogMTJweCAwO1xufVxuXG4uZmluZC12aW4td3JhcHBlciB7XG4gICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZS10eXBlOiBkaXNjO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtYnV0dG9ucyB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMDBweDtcbiAgICB9XG59XG5cbi5zZXJ2aWNlLXVuYXZhaWxhYmxlLXNlY3Rpb24ge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgbWFyZ2luOiA4cHggMCAyNHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTZweDtcblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDE4KTtcbiAgICB9XG5cbiAgICAudW5hdmFpbGFibGUtdGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdW5hdmFpbGFibGUpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBlcnJvcik7XG4gICAgICAgIHBhZGRpbmc6IDZweDtcbiAgICB9XG59XG5cbi52ZWhpY2xlLWRhdGEtc2VjdGlvbiB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMjBweDtcblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmNoZWNrYm94LWZvcm0ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cblxuICAgIC52ZWhpY2xlLWRhdGEtY29udGVudCB7XG4gICAgICAgIC5zYXZlLXZlaGljbGUtY29udGFpbmVyIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDlweDtcblxuICAgICAgICAgICAgLnNhdmUtdmVoaWNsZS1jaGVja2JveCB7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ubW9kYWwtYnV0dG9ucyB7XG4gICAgLmNhcmZsZXgtbG9nbyB7XG4gICAgICAgIGhlaWdodDogNTBweDtcbiAgICAgICAgd2lkdGg6IDE2MHB4O1xuICAgIH1cblxuICAgICNjYXJmYXgtc2VhcmNoLWJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGFya2dyZXkxKTtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAjY2FyZmF4LXNlcnZpY2UtYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICBtYXJnaW4tbGVmdDogMTRweDtcbiAgICAgICAgbWF4LXdpZHRoOiAyMzVweDtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG59XG5cbi5uby1zZXJ2aWNlLWhpc3Rvcnkge1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICB9XG5cbiAgICAubm8tc2VydmljZS1idXR0b24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIH1cbn1cbiIsIi5wdF9jYXJmYXgge1xuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAucm93LmF0cm9vdCB7XG4gICAgICAgICAgICAuY29udGVudC1jb2x1bW4ge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBhZ2UtZGVzY3JpcHRpb24ge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICB9XG5cbiAgICAuYWJvdXQtY2FyZmF4LXdyYXBwZXIge1xuICAgICAgICAuYWJvdXQtY2FyZmF4LXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDUwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50b2dnbGUtaXRlbSB7XG4gICAgICAgICAgICAuaXRlbS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgei1pbmRleDogMjtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoNTApO1xuICAgIH1cbn1cblxuLnNlcnZpY2UtaGlzdG9yeS13cmFwIHtcbiAgICAmW3RvZ2dsZS1zdGF0ZT1cImluaXRpYWxcIl0ge1xuICAgICAgICAuc2VydmljZS1oaXN0b3J5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubm8tc2VydmljZS1oaXN0b3J5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW3RvZ2dsZS1zdGF0ZT1cIm5vLXNlcnZpY2VcIl0ge1xuICAgICAgICAuc2VydmljZS1oaXN0b3J5IHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmW3RvZ2dsZS1zdGF0ZT1cImhhcy1zZXJ2aWNlXCJdIHtcbiAgICAgICAgLm5vLXNlcnZpY2UtaGlzdG9yeSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uc2VydmljZS1oaXN0b3J5IHtcbiAgICB3aWR0aDogMTAwJTtcblxuICAgIC5oaXN0b3J5LWhlYWRlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpIHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oZWFkZXItY29udGVudCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cblxuICAgICAgICAubG9nby1jb250YWluZXIge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXg6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJmYXgtbG9nbyB7XG4gICAgICAgICAgICBib3R0b206IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5kZWxldGUtYnV0dG9uIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgICAgICBmbGV4OiAxO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5oaXN0b3J5LXRhYmxlIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgLnRhYmxlLWhlYWRlciB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZXh0cmEtbGlnaHQtZ3JheTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgLnRhYmxlLWNvbHVtbi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRhYmxlLXJvdyB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgIH1cblxuICAgICAgICBiIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLXJvdyB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAkbGlnaHQtZ3JheS1vdmVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBnYXA6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJsZS1jb2x1bW4ge1xuICAgICAgICBmbGV4OiAxO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxMCkgcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHA6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgJi5zZXJ2aWNlcy1wZXJmb3JtZWQge1xuICAgICAgICAgICAgZmxleDogMjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWluLXdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgYi5tb2JpbGUtaGVhZGVyIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vYmlsZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG4iLCIkZ3JpZC1ib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGJvcmRlci1ncmV5KTtcblxuLnNlbC1pbmZvLmxlZnQtYXJyb3cge1xuICAgIG1pbi1oZWlnaHQ6IDEyNnB4O1xufVxuXG4uYnJha2VzLWRldGFpbHMge1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBtYXJnaW46IDUwcHggYXV0bztcblxuICAgIGgyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLmJyYWtlcy1kZXRhaWxzLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyYWtlcy1ncmlkLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMTVweDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDI5MHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZ3JpZC1tYWtlciB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJha2VzLWdyaWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlci1yaWdodDogJGdyaWQtYm9yZGVyO1xuICAgICAgICAgICAgYm9yZGVyLXRvcDogJGdyaWQtYm9yZGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDMsIG1pbm1heCg1MHB4LCAxZnIpKTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIC5ncmlkLWl0ZW0ge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogJGdyaWQtYm9yZGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAkZ3JpZC1ib3JkZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZ3JpZC1oZWFkZXIsXG4gICAgICAgICAgICAuZ3JpZC12ZWhpY2xlLXR5cGUge1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyYWtlcy1kaXNjbGFpbWVyIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB3aWR0aDogOTAlO1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJsb2NrLWVuZDogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5icmFrZXMtbm8tcmVzdWx0cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4O1xuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYmxvY2stZW5kOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDE1cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnJha2VzLWluY2x1ZGVkIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICAgICAgICAgIC5pbmNsdWRlZC1ibG9jayB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ibG9jay1lbmQ6IDVweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdWwge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgICAgICAgICBmb250LXdlaWdodDogNDAwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuXG4gICAgICAgICAgICAgICAgaSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTBweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJha2VzLWluc3BlY3Rpb24td3JhcHBlciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGJvcmRlcjogJGdyaWQtYm9yZGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMjVweCAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDI1cHg7XG5cbiAgICAgICAgICAgIGgyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgaW1nIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDkwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgd2lkdGg6IDk1JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgd2lkdGg6IDc1JTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJyYWtlcy1pbWFnZS1jb250YWluZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4uYnJha2VzLXBhY2thZ2VzLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9pbnRlcmZhY2UvdGlyZS1tYXJrLnBuZ1wiKTtcbiAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiByaWdodDtcbiAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgIGJhY2tncm91bmQtc2l6ZTogNTAlO1xuICAgIGJvcmRlcjogJGdyaWQtYm9yZGVyO1xuICAgIHBhZGRpbmc6IDE1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgIGJhY2tncm91bmQtcG9zaXRpb246IHRvcCByaWdodDtcbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLmJyYWtlcy1wYWNrYWdlcyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wYWNrYWdlcy1ibG9jayB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW46IDAgMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMyU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgICAgICAmLnBhY2thZ2VzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYucGFja2FnZXMtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuI3N0aWNreUNUQSB7XG4gICAgYm90dG9tOiAtMTAwJTtcbiAgICBib3gtc2hhZG93OiAwIDAgMTBweCAycHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBkYXJrZ3JleTEpO1xuICAgIGxlZnQ6IDA7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRyYW5zaXRpb246IGJvdHRvbSAwLjRzO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHotaW5kZXg6IDU7XG5cbiAgICAmLnNsaWRlIHtcbiAgICAgICAgYm90dG9tOiAwO1xuICAgIH1cblxuICAgIGEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG59XG4iLCIvLyBFbXB0eSBDYXJ0IHBhZ2Vcbi5jYXJ0LWVtcHR5IHtcbiAgICBtYXJnaW4tdG9wOiA0cmVtO1xuXG4gICAgaDEge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAycmVtO1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNhcnQtYWN0aW9uLWNvbnRpbnVlLXNob3BwaW5nIHtcbiAgICAgICAgZmxvYXQ6IG5vbmU7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDRyZW07XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG59XG5cbi8vIENhcnQgcGFnZVxuLmNhcnQtcGFnZSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNDApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLnBhZ2UtdGl0bGUge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlaGljbGUtaW5mbyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXRWZWhpY2xlQ2FydCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRibGFjaztcbiAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5zbWFsbC0xMiB7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDEwcHggMjBweDtcblxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtdGVjaG5pY2FsLWRpZmZpY3VsdGllcy5oZWFkZXIge1xuICAgICAgICAucm93IHtcbiAgICAgICAgICAgIG1hcmdpbjogLTQwcHggMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmhlYWRlci1wcm9kdWN0LWRldGFpbHMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE2KSAwO1xuICAgIH1cblxuICAgIC5pdGVtLWxpc3Qge1xuICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMjUpO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyMCAwKTtcblxuICAgICAgICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tYWluLXNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIC5xdHktaGVhZGVyIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50b3RhbC1wcmljZS1oZWFkZXIge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtcm93LFxuICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAuaXRlbS1xdWFudGl0eSB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuaXRlbS10b3RhbCxcbiAgICAgICAgICAgIC5zZXJ2aWNlLWl0ZW0tdG90YWwge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtbGluZS1zZXBhcmF0b3Ige1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogI2U4ZThlOTtcbiAgICAgICAgICAgIGJvdHRvbTogMDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGhlaWdodDogMnB4O1xuICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgIG1hcmdpbjogYXV0byAwO1xuICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICB0b3A6IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1zdW1tYXJ5LXJvdyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzLjEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWxpbmUtc2VwYXJhdG9yIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgb3JkZXI6IDM7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGlzY2xhaW1lci1jYXJ0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxMCk7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICYubGV2eS1tZXNzYWdlLWNhcnQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1zdW1tYXJ5IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1MCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxNSkgMDtcblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgICAgIHRkOmZpcnN0LWNoaWxkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLm9yZGVyLXRvdGFsIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vdXQtb2Ytc3RvY2stbWVzc2FnZS1ib3gge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICB3aWR0aDogMzAwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDMuMTI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuXG4gICAgICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtZmluYW5jaW5nIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgbWluLWhlaWdodDogNDVweDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYXJ0LWZpbmFuY2luZy1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiA2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2FydC1hY3Rpb24tY2hlY2tvdXQtYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhcnQtYWN0aW9uLWNoZWNrb3V0IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTIpIHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMDIzXCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uZWVkLWhlbHAtY2FydCB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC52ZXJpZnktdmVoaWNsZSB7XG4gICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDE2KSAwIDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgLmxlZnQtYm94LFxuICAgICAgICAgICAgLnJpZ2h0LWJveCB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDQxLjY2NjY3JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxlZnQtYm94IHtcbiAgICAgICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnJpZ2h0LWJveCB7XG4gICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAxNi42NjY2NyU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnZlcmlmaWVkLXJlc3BvbnNlIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pY29uLWJveCB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuMzEzcmVtO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgd2lkdGg6IDI3JTtcbiAgICAgICAgfVxuXG4gICAgICAgIC50ZXh0LWJveCB7XG4gICAgICAgICAgICB3aWR0aDogNzMlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmljb24tYWxlcnQge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwLjkzNzVyZW0gMCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZhLWNoZWNrIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAuOTM3NXJlbSAwIDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sZWZ0LWJveCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yaWdodC1ib3gge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBhIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RpY2t5LXNlY3Rpb24td3JhcHBlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgICAgICAgICAgdG9wOiAxMDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1zdW1tYXJ5LXdyYXBwZXIge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYXJrZXRpbmctY2FyZCB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWltYWdlOiB1cmwoXCIuLi9pbWFnZXMvaW50ZXJmYWNlL3RpcmUtbWFyay5wbmdcIik7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgICAgICAgYmFja2dyb3VuZC1zaXplOiAxMDAlO1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICAubGVhcm4tbW9yZS13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICAgICAgICAgIC5sZWFybi1tb3JlLWxpbmsge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgICY6aG92ZXIgPiAubW9yZS1pbmZvLXRleHQge1xuICAgICAgICAgICAgICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubW9yZS1pbmZvLXRleHQge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1hcmtldGluZy1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgYm9yZGVyOiA0cHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgICAgIC5tYXJrZXRpbmctdGl0bGUge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuXG4gICAgICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1hcmtldGluZy1pbmZvLXNlY3Rpb24ge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAgICAgICAgIC5jb250ZW50LXdyYXBwZXIge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBoNCB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDMwKTtcblxuICAgICAgICAgICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQ2FydCBQcm9kdWN0IHJvd1xuLmNhcnQtcm93IHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG5cbiAgICAuc2VydmljZS1yb3cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbGlzdC1pdGVtIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjkzNzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1pbWFnZSB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvO1xuICAgICAgICBtYXgtd2lkdGg6IDEwMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1hdHRyaWJ1dGVzIHtcbiAgICAgICAgLmF0dHJpYnV0ZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMC4zMTI1cmVtIDA7XG4gICAgICAgIH1cblxuICAgICAgICAmLmNhdGVnb3J5LWF0dHJpYnV0ZXMge1xuICAgICAgICAgICAgLm5hbWUge1xuICAgICAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgICAgIG1pbi1oZWlnaHQ6IDE4cHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC52YWx1ZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hdmFpbGFiaWxpdHktYXR0cmlidXRlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nOiAwLjMxMjVyZW0gMDtcblxuICAgICAgICAuYXZhaWxhYmlsaXR5LWxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LWF2YWlsYWJpbGl0eS1saXN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLml0ZW0tcXR5LXByaWNlLXNlY3Rpb24ge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLWhlYWRlci5xdHktaGVhZGVyLFxuICAgIC5zZWN0aW9uLWhlYWRlci5pdGVtLXByaWNlLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuaXRlbS1wcmljZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG5cbiAgICAgICAgLm9sZC1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IGxpbmUtdGhyb3VnaDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5pdGVtLXRvdGFsIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDM2KTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wcmljZS10b3RhbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtY2FyZC1xdWFudGl0eS5pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICAucHJvZHVjdC1xdWFudGl0eSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDU1cHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0UXVhbnRpdHkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlbW92ZS1idG4ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucmViYXRlLWJveCB7XG4gICAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZS1iYWRnZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6IHVybChcIi4uL2ltYWdlcy9pY29ucy9yZWJhdGVfaWNvbi5wbmdcIikgbm8tcmVwZWF0O1xuICAgICAgICAgICAgY29udGVudDogXCJcIjtcbiAgICAgICAgICAgIGhlaWdodDogMjVweDtcbiAgICAgICAgICAgIHdpZHRoOiAzMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlYmF0ZS10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICB9XG5cbiAgICAvLyBQcm9kdWN0IHNldFxuICAgICYuZmlyc3QtcHNldCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYuc2Vjb25kLXBzZXQge1xuICAgICAgICAuaXRlbS1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJlbW92ZS1idG4ge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjkzNzVyZW0gMCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZXJ2aWNlc1xuLmNhcnQtc2VydmljZXMge1xuICAgIC8vIFJlcXVpcmVkIFNlcnZpY2VzXG4gICAgJi5yZXF1aXJlZC1zZXJ2aWNlcyB7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcblxuICAgICAgICAuc2VydmljZS1yb3cge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUgMCAwKTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWl0ZW0tcHJpY2Utd3JhcHBlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaXRlbS1wcmljZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWluZm8td3JhcHBlciB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIEluY2x1ZGVkIFNlcnZpY2VzXG4gICAgJi5pbmNsdWRlZC1zZXJ2aWNlcyB7XG4gICAgICAgIC5pdGVtLXByaWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDA7XG4gICAgICAgICAgICAgICAgdG9wOiA1MCU7XG4gICAgICAgICAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gR3JvdXBlZCBzZXJ2aXNlc1xuICAgICYuZ3JvdXBlZC1zZXJ2aWNlcyB7XG4gICAgICAgIC5yZWNvbW1lbmRlZC1zZXJ2aWNlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgICAgICBib3JkZXI6IDRweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWdyb3VwLW5hbWUge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDQwIDAgMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaXRlbS10b3RhbCB7XG4gICAgICAgICAgICBmb250LXdlaWdodDogNTAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLml0ZW0tcHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pdGVtLXByaWNlLXdyYXBwZXIge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiByZW0tY2FsYygxMCAwKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuc2VydmljZS1pdGVtLXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS1yb3cge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDE1IDApO1xuICAgIH1cblxuICAgIC5ib3R0b20tbWFyZ2luIHtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYygwIDAgMjApO1xuICAgIH1cblxuICAgIC5zZXJ2aWNlLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA2MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaXRlbS1wcmljZS13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaW5mby13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMjUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnNlcnZpY2UtaW1hZ2Uge1xuICAgICAgICAgICAgZmxleDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIGZsZXg6IDE7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtbmFtZS1ib3gge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMCAwIDEwKTtcbiAgICB9XG5cbiAgICAuc2VydmljZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtbGFiZWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zaG9ydC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaW1hZ2Uge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LXdpZHRoOiA1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDYwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VydmljZS10b3RhbC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygwIDAgMCAxMik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9yZS1pbmZvLWxpbmsge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1vcmUtaW5mby10ZXh0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgfVxuXG4gICAgLm1haW4taGVhZGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi4xODhyZW07XG5cbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjVyZW07XG4gICAgfVxuXG4gICAgLnNlcnZpY2UtaXRlbS10b3RhbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg4KTtcbiAgICB9XG5cbiAgICAuaXRlbS1wcmljZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VydmljZSBtb3JlLWluZm8gbW9kYWxcbi8vIFNlcnZpY2UgY2hlY2sgbW9kYWwgKHdoZW4gdW5jaGVjayBhbiByZWNvbW1lbmRlZCBzZXJ2aWNlKVxuLy8gY29tbW9uIHN0eWxlc1xuLnJldmVhbFtpZCo9XCJzZXJ2aWNlcG9wdXBcIl0sXG4jc2VydmljZWluZm9tb2RhbCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICByaWdodDogMS4xMjVyZW07XG4gICAgICAgIHRvcDogMC45Mzc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICByaWdodDogMS43NXJlbTtcbiAgICAgICAgICAgIHRvcDogMS40MzhyZW07XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlcnZpY2UgbW9yZS1pbmZvIG1vZGFsXG4uc2VydmljZS1tb2RhbC1jb250ZW50IHtcbiAgICAuc2VydmljZS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDkwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZXJ2aWNlLWltYWdlIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAzNSU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9uZy1kZXNjcmlwdGlvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAxLjg3NXJlbTtcbiAgICAgICAgICAgIHdpZHRoOiA2NSU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFZlcmlmeSBWZWhpY2xlIG1vZGFsXG4uY2FydC12ZXJpZnktdmVoaWNsZS1tb2RhbCB7XG4gICAgcGFkZGluZzogMS4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtO1xuICAgIH1cbn1cblxuLy8gVmVyaWZ5IFZlaGljbGUgbW9kYWxcbi8vIFNlcnZpY2UgY2hlY2sgbW9kYWwgKHdoZW4gdW5jaGVjayBhbiByZWNvbW1lbmRlZCBzZXJ2aWNlKVxuLy8gY29tbW9uIHN0eWxlc1xuLmNhcnQtdmVyaWZ5LXZlaGljbGUtbW9kYWwsXG4jc2VydmljZWluZm9tb2RhbCB7XG4gICAgLnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgICAgd2lkdGg6IDkwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTs7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuZGVzY3JpcHRpb24ge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b25zLWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxLjI1cmVtIDAgMDtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIEhpZGUgTGl2ZSBDaGF0IGJ1dHRvblxuI2luc2lkZV9ob2xkZXIgI2luc2lkZV9saXZlQ2hhdFRhYiB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBZTU1vIGNoZWNrIG1vZGFsXG4uY2FydC1wc21vZGFsLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgbGluZS1oZWlnaHQ6IDEuMjtcbiAgICBtYXJnaW46IDIwcHggMCAwIDMwcHg7XG4gICAgd2lkdGg6IDg1JTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIH1cbn1cblxuLnRvdGFscy1zdGlja3ktYnV0dG9uIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgYm90dG9tOiAwO1xuICAgIGJveC1zaGFkb3c6IDAgLTRweCAxMHB4IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGlzYWJsZWQtZ3JleSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygxMCA4KTtcbiAgICBwb3NpdGlvbjogc3RpY2t5O1xuICAgIHotaW5kZXg6IDEwO1xuXG4gICAgLnByaWNlLXRvdGFsIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogM3B4O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICB9XG5cbiAgICAucHJpY2UtdG90YWwtdGV4dCB7XG4gICAgICAgIHBhZGRpbmctbGVmdDogcmVtLWNhbGMoNCk7XG4gICAgfVxufVxuXG4jcHNtb2RhbC5jYXJ0LXBzbW9kYWwge1xuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICByaWdodDogMjVweDtcbiAgICB9XG59XG5cbiNjYXJ0UXVhbnRpdHlNb2RhbCB7XG4gICAgYm9yZGVyOiAwO1xuICAgIG1heC13aWR0aDogMzgwcHg7XG4gICAgcGFkZGluZzogMDtcblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICBwYWRkaW5nOiA5cHggMTVweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIHBhZGRpbmc6IDAgMTVweDtcbiAgICB9XG5cbiAgICAuY2FydFF1YW50aXR5TW9kYWxDdGEge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgcGFkZGluZzogMCAxNXB4IDE1cHg7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cbn1cblxuLy8gV2h5IENob29zZSBLYWwgVGlyZSBtb2RhbCBcbiN3aHktY2hvb3NlLWthbHRpcmUtbW9kYWwge1xuICAgIHBhZGRpbmc6IHJlbS1jYWxjKDIwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBoZWlnaHQ6IGZpdC1jb250ZW50O1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgbWF4LWhlaWdodDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiA5MCU7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHVuc2V0O1xuICAgIH1cblxuICAgICYucmV2ZWFsIHtcbiAgICAgICAgbGVmdDogNTAlO1xuICAgICAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgICAgIHRvcDogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlKC01MCUsIC01MCUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDY5MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubW9kYWwtdGl0bGUge1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoMjApO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgdG9wOiByZW0tY2FsYygxMik7XG4gICAgfVxufVxuXG4vLyBDb250YWN0IFVzLyBMaXZlIENoYXQgc2VjdGlvblxuLmNvbnRhdC11cy1mb290ZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDgwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygzMCk7XG4gICAgfVxuXG4gICAgLmhlcmUtdG8taGVscCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkICRkYXJrLWdyYXktb3ZlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDAgMjUpO1xuICAgIH1cblxuICAgIC5jYXJ0LWZvb3Rlci1pbWFnZSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICBpbWcge1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMzAwKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250YWN0LXVzLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMzApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjAgMCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1zdWJ0aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTcpO1xuICAgIH1cblxuICAgIC5jb250YWN0LWluZm8tc2VjdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi1ib3gtY29udGVudCB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuODtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBob25lLW51bWJlciB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbiAgICAub3JkZXJTdW1tYXJ5TGl2ZUNoYXQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDIwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIGRvd24pIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFjdGlvbi1pY29uIHtcbiAgICAgICAgLmNhcmQtaWNvbiB7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIG1pbi1oZWlnaHQ6IHJlbS1jYWxjKDIyKTtcbiAgICB9XG5cbiAgICAuY2FyZC1pY29uIHtcbiAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IHJlbS1jYWxjKDgpO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTYpO1xuICAgIH1cbn1cblxuLm1hbnVmYWN0dXJlci1udW1iZXIge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgcmVtLWNhbGMoMjIpO1xuICAgIH1cbn1cbiIsIi8vIFJlcGxhY2UgcHJvZHVjdHMgZnJvbSBjYXJ0IC0gUG9wLXVwXG4jYWRkdG9jYXJ0cG9wdXAge1xuICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgLnByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG9zZS1idXR0b24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1hdHRyaWJ1dGVzLFxuICAgIC5jYXRlZ29yaWVzLWJveCxcbiAgICAuYXZhaWxhYmlsaXR5LW1zZyxcbiAgICAucmVjb21tZW5kZWQtYmFnZGUsXG4gICAgLnByb21vLWJhZGdlLFxuICAgIC50ZXN0ZWQtYnlrYWwtYmFkZ2Uge1xuICAgICAgICBkaXNwbGF5OiBub25lOyBcbiAgICB9XG5cbiAgICAucHJvZHVjdC1zaXplIHtcbiAgICAgICAgLnByb2R1Y3QtYXR0cmlidXRlcyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5wb3B1cC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxcmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9wdXAtc3VidGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLm5ldy1jYXJ0LWl0ZW0ge1xuICAgICAgICBtYXJnaW46IDMwcHggMCAyNXB4O1xuICAgIH1cblxuICAgIC5wcm9kdWN0LXRpbGUtYm94IHtcbiAgICAgICAgJjpmaXJzdC1vZi10eXBlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAyJSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGNvbG9yOiAjMDAwO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMTVweDtcbiAgICAgICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuXG4gICAgICAgIC5icmFuZC1uYW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAjMDAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnByb2R1Y3QtcHJpY2luZyB7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAwIDE1cHg7XG5cbiAgICAgICAgLmJveC1zcGFjaW5nIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnByb2R1Y3QtcHJpY2Uge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgIH1cblxuICAgICAgICAucmViYXRlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAyNXB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG5cbiAgICAgICAgJi5uby1ib3JkZXIge1xuICAgICAgICAgICAgYm9yZGVyOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYW5jZWwge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYWN0aW9ucy1tYXJnaW4ge1xuICAgICAgICBtYXJnaW46IDEuNXJlbSAwIDA7XG4gICAgfVxuXG4gICAgLmN1cnJlbnQtY2FydCB7XG4gICAgICAgIG1hcmdpbjogMjVweCAwIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogNDBweCAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1iYWRnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvcHVwLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDE1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXNpemUsXG4gICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDYwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LXByaWNpbmcge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB3aWR0aDogNDAlO1xuXG4gICAgICAgICAgICAuY3VycmVuY3ktaW5kaWNlcyB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbiNjYXJ0LXBvcHVwLWNvbnRhaW5lciB7XG4gICAgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5wcm9kdWN0LWJhZGdlIHtcbiAgICAgICAgbWF4LXdpZHRoOiAyNSU7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICBzcGFuIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgI2FkZHRvY2FydHBvcHVwIHtcbiAgICAgICAgd2lkdGg6IDcwMHB4O1xuXG4gICAgICAgIC5uZXctY2FydC1pdGVtIHtcbiAgICAgICAgICAgIC5wcm9kdWN0LWltYWdlIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAyNSU7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiA4LjMzMzMzJTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI1JTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtYm94IHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgNjYuNjY2NjclO1xuICAgICAgICAgICAgICAgIGZsZXg6IDAgMCA2Ni42NjY2NyU7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2Ni42NjY2NyU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LXRpbGUge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByb2R1Y3QtdGlsZS1jb250ZW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4Ym94O1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1mbG93OiByb3cgd3JhcDtcbiAgICAgICAgICAgICAgICBmbGV4LWZsb3c6IHJvdyB3cmFwO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogYXV0bztcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDgyLjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aW9ucyB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAxcHg7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA0MHB4O1xuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgd2lkdGg6IGF1dG87XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5jYW5jZWwge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxNXB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cbiIsIi5jYi1ib3JkZXJlZC1jb250ZW50IHtcbiAgICBib3JkZXI6IDdweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIHBhZGRpbmc6IDE1cHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICB9XG59XG5cbi8vIFBhZ2UgSGVhZGVyIENvbnRlbnQgQmxvY2tcbi5jYi1wYWdlLWhlYWRlciB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDUwJTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgcGFkZGluZzogMTAwcHggMCAxMjBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEwMHB4O1xuICAgICAgICBwYWRkaW5nOiAxMTVweCAwO1xuICAgIH1cblxuICAgIGgxIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNjZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItY3RhIHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICB9XG59XG5cblxuLy8gQ1RBIFN0eWxlXG5cbi5jYi1jdGEge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG1hcmdpbi1yaWdodDogMTBweDtcblxuICAgIG1hcmdpbi10b3A6IDEwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxuXG4gICAgJi5idXR0b24taG9sbG93LXdoaXRlIHtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDlweCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAmLmJ1dHRvbi1ob2xsb3ctYmxhY2sge1xuICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1cHg7XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuM3MgZWFzZS1pbi1vdXQ7XG4gICAgICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGVhc2UtaW4tb3V0O1xuICAgICAgICB0cmFuc2l0aW9uLXByb3BlcnR5OiBiYWNrZ3JvdW5kLCBjb2xvcjtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogOXB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyLFxuICAgICAgICAmOmZvY3VzIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQ6ICRidXR0b24tYWNjZXNzaWJsZS1ob3ZlcjtcbiAgICAgICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi5idXR0b24tZnVsbC13aGl0ZSB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGJvcmRlcjogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIHBhZGRpbmc6IDdweCAzMHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA5cHggMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgICYuZmluYW5jaW5nTGluayB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjpob3ZlcixcbiAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiAkYnV0dG9uLWhvdmVyO1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgJGJ1dHRvbi1ob3ZlcjtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICYubGluayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJyb3cge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYi1jdGEtc2Vjb25kYXJ5IHtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi8vIFNlY3Rpb24gSGVhZGVyIENvbnRlbnQgQmxvY2tcbi5jYi1zZWN0aW9uLWhlYWRlciB7XG4gICAgbWFyZ2luOiAwIGF1dG8gMjVweDtcblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHBhZGRpbmctbGVmdDogMjBweDtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyNnB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiA5MDBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAsXG4gICAgbGkge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBsaSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDFyZW07XG4gICAgfVxufVxuXG4uY2ItY29sdW1uIHtcbiAgICBtYXJnaW46IDVweCAwIDA7XG5cbiAgICAuY2ItY29sdW1uLWNoaWxkLWNvcHkge1xuICAgICAgICBwYWRkaW5nOiAyMHB4IDAgMDtcbiAgICB9XG5cbiAgICAuZmluYW5jaW5nLWJsb2Nrcy10aXRsZSB7XG4gICAgICAgIGNvbG9yOiAjZmY2OTAwO1xuICAgICAgICBmb250LXNpemU6IDNyZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG4gICAgICAgIG1heC13aWR0aDogODIuNXJlbTtcbiAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uY2ItY29sdW1uLWNoaWxkIHtcbiAgICBtYXJnaW46IDAgMCA0MHB4O1xuXG4gICAgaDIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDFlbTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMnB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuICAgICAgICBtYXJnaW46IDAgMCAxM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBpbWcge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDEwcHggMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VjdGlvbiBJbWFnZSBBbHRlcm5hdGUgQ29sdW1uXG4uY2ItaW1hZ2UtYWx0ZXJuYXRlLWNvbHVtbiB7XG4gICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgIC5jYi1jdGEge1xuICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICBwYWRkaW5nOiA3cHggMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMWVtO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMSk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU2VjdGlvbiBPbmUgQ29sdW1uIENUQVxuLmNiLTEtY29sdW1uLWN0YSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogNTAlIDEwMCU7XG4gICAgYmFja2dyb3VuZC1zaXplOiBjb3ZlcjtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICBtYXJnaW46IDAgYXV0byA0MHB4O1xuICAgIG1pbi1oZWlnaHQ6IDMwMnB4O1xuICAgIHBhZGRpbmc6IDYwcHggMDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IDc1cHggMCA1MHB4O1xuICAgIH1cblxuICAgID4gLnJvdyB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDM0cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIFRlc3RpbW9uaWFsXG4uY2ItdGVzdGltb25pYWwge1xuICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICBtYXJnaW46IDAgYXV0bztcbiAgICBwYWRkaW5nOiA2NXB4IDA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgYXV0bztcbiAgICAgICAgcGFkZGluZzogODBweCAwO1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IDIycHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjEpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2ItdGVzdGltb25pYWwtYXZhdGFyIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIGltZyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDQ4cHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuICAgICAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyAzIENvbHVtbiBGZWF0dXJlXG4uY2ItMy1jb2x1bW4tZmVhdHVyZSB7XG4gICAgbWFyZ2luLWJvdHRvbTogNDBweDtcblxuICAgIC5jYi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbjogMCBhdXRvIDIwcHg7XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmNiLWNvbHVtbi1jaGlsZC1jb3B5IHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2ItY3RhIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIEZlYXR1cmVkIFByb2R1Y3RzIENhcmRzXG4uY2ItZmVhdHVyZWQtcHJvZHVjdHMtY2FyZHMge1xuICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDYwcHg7XG4gICAgfVxuXG4gICAgLmNiLWN0YSB7XG4gICAgICAgIG1hcmdpbi10b3A6IDMwcHg7XG4gICAgfVxuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDQwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC10aWxlIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGhlaWdodDogaW5pdGlhbCAhaW1wb3J0YW50O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG59XG5cblxuLy8gU2VjdGlvbiBQcm9kdWN0IERldGFpbHMgQ2FyZHNcbi5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZCB7XG4gICAgbWFyZ2luOiAwIDAgMzBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDtcbiAgICB9XG5cbiAgICBpbWcucHJvZEltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1wcm9kdWN0LWRldGFpbHMtY2FyZC1oZWFkaW5ncyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDQge1xuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBoMiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGg1IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgdGFibGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuXG4gICAgICAgIHRoZWFkIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuXG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA1cHggMCAyMHB4O1xuXG4gICAgICAgICAgICB0aCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogNXB4IDAgMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHRoLFxuICAgICAgICB0ZCB7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdGJvZHkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdHIge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNiLXByb2R1Y3QtZGV0YWlscy1jYXJkLWN0YS13cmFwcGVyIHtcbiAgICAgICAgbWluLWhlaWdodDogNDVweDtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuY2ItcHJvZHVjdC1kZXRhaWxzLWNhcmQtY3RhcyB7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgICAgICBib3R0b206IDA7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2ItY3RhIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4vLyBTZWN0aW9uIFNlY29uZGFyeSBOYXZpZ2F0aW9uXG4uY2Itc2Vjb25kYXJ5LXBhZ2UtbmF2aWdhdGlvbiB7XG5cbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1jaGlsZCB7XG4gICAgICAgIGJvcmRlcjogMTBweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBwYWRkaW5nOiA4cHggNDBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmNiLXNlY29uZGFyeS1wYWdlLW5hdi1pY29uIHtcbiAgICAgICAgICAgIGhlaWdodDogMTAwcHg7XG4gICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGNvbG9yOiAjOTk5O1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gU2VjdGlvbiBDb2x1bW4gVGFic1xuLmNiLWNvbHVtbi10YWJzIHtcbiAgICAuY29sdW1uLWltYWdlLXdyYXBwZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGFicyB7XG4gICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgbGkgYTpob3ZlcixcbiAgICAgICAgbGkuaXMtYWN0aXZlIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgYm90dG9tOiAtNXB4O1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiA1cHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGFicy10aXRsZSA+IGE6Zm9jdXMsXG4gICAgICAgIC50YWJzLXRpdGxlID4gYVthcmlhLXNlbGVjdGVkPVwidHJ1ZVwiXSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBub25lO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGxpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzMy4yJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgICAgICBjb2xvcjogIzk5OTtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxNXB4O1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweCA2MHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50YWJzLWNvbnRlbnQge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIGJvcmRlci10b3A6IDVweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA2MHB4O1xuICAgICAgICBwYWRkaW5nOiA0MHB4IDAgMDtcblxuICAgICAgICAudGFicy1wYW5lbCB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgICAgICBoMiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMThweDtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFNlY3Rpb24gQ29sdW1uIERldGFpbHNcbi5jYi0xLWNvbHVtbi1kZXRhaWxzIHtcbiAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuXG4gICAgaDQge1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB9XG59XG5cbi8vIEFjY29yZGlvblxuLmNiLWFjY29yZGlvbiB7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyMSAwKTtcblxuICAgIC50b2dnbGUtaXRlbSB7XG4gICAgICAgIHN1bW1hcnkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICBcbiAgICAgICAgLml0ZW0tY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICAqIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gUXVlYmVjIExhbmRpbmcgcGFnZVxuLnB0X3F1ZWJlY2xhbmRpbmdwYWdlIHtcbiAgICAuc2ltcGxlLWhlYWRlci13cmFwcGVyIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxODAwcHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDk2cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWluLWhlaWdodDogYXV0bztcbiAgICAgICAgfVxuXG4gICAgICAgIC5yb3cge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGhlaWdodDogOTZweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zaW1wbGUtaGVhZGVyLWxvZ28ge1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEwOHB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYi1wYWdlLWhlYWRlciB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDYwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jYi1wYWdlLWhlYWRlciB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnF1ZWJlYy1wYWdlLXRleHQge1xuICAgICAgICBjb2x1bW5zOiAyO1xuICAgICAgICBtYXJnaW46IDAgYXV0byA2MHB4O1xuICAgICAgICBtYXgtd2lkdGg6IDEzMDBweDtcbiAgICAgICAgcGFkZGluZzogMCA1MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgZG93bikge1xuICAgICAgICAgICAgcGFkZGluZzogMCA0MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzdGFuZGFyZC1ibGFjayk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS42O1xuICAgICAgICB9XG5cbiAgICAgICAgKiB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucXVlYmVjLXBhZ2Utc3RvcmVzLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIHBhZGRpbmc6IDUwcHggMzBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIGRvd24pIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDUwIDM1cHg7XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiA1MHB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAucXVlYmVjLXN0b3JlLXRpdGxlIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCBhdXRvIDQwcHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMzBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5xdWViZWMtc3RvcmVzLWRldGFpbHMge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZ2FwOiAycmVtO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEyMzBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5xdWViZWMtc3RvcmUtZGV0YWlsIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDQwMHB4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IG5vbmU7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIGg1IHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5xdWViZWMtc3RvcmUtYWRkcmVzcyB7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5xdWViZWMtc3RvcmUtcGhvbmUge1xuICAgICAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuXG4gICAgICAgICAgICAgICAgICAgIGltZyB7XG4gICAgICAgICAgICAgICAgICAgICAgICB3aWR0aDogMTdweDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAxMHB4O1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZvb3Rlci1jb3B5LXdyYXBwZXIgLnJvdyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG59XG4iLCIuZm9vdGVyLWZhcS13cmFwcGVyIHtcbiAgICBtYXJnaW46IDAgMCA1MHB4O1xuXG4gICAgaHIge1xuICAgICAgICBib3JkZXItYm90dG9tLWNvbG9yOiAjZTBlMWUxO1xuICAgICAgICBtYXJnaW46IDAgMCA1MHB4O1xuICAgIH1cblxuICAgIGgyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI0KTtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICBoNSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cblxuICAgIHAge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICB9XG5cbiAgICBhLmZhcS1jdGEge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cblxuXG4gICAgLmNvbHVtbnMge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmd1ZXN0LWNoZWNrb3V0LXRleHQge1xuICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICBtYXJnaW4tdG9wOiAyM3B4O1xuXG4gICAgcCB7XG4gICAgICAgIG1hcmdpbjogMC4xODc1cmVtIDAgMS43NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiAwLjg3NXJlbTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjE4NzVyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLmNoZWNrb3V0LXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiAxOHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxZW07XG4gICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbn1cblxuLnB0X2NoZWNrb3V0IHtcbiAgICBsZWdlbmQge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgc2VsZWN0IHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5kaWFsb2ctcmVxdWlyZWQge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcbiAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgfVxuXG4gICAgLnN0ZXAtYmFjay1saW5rIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDIwcHggMDtcbiAgICB9XG5cbiAgICAuZm9ybS1yb3ctYnV0dG9uIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIGJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnBheW1lbnQtZm9ybSB7XG4gICAgZGlzcGxheTogbm9uZTtcblxuICAgICYuYWN0aXZlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtbWFpbi10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICB9XG59XG5cbi5jaGVja291dC1zdGVwIHtcbiAgICBoMiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgIHNwYW4ge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxucC5zZWxlY3QtdmVoaWNsZSB7XG4gICAgcGFkZGluZy10b3A6IHJlbS1jYWxjKDEwKTtcbn1cblxuLmhlYWRlci10aXRsZS13cmFwcGVyIHtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG5cbiAgICAuY2hlY2tvdXQtc3RlcC10aXRsZSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDE1cHggMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mb3JtLXJvdy1idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtbWFpbi1yb3cge1xuICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICB9XG59XG5cbi5jaGVja291dC1wcm9ncmVzcy1pbmRpY2F0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDY1cHg7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA4N3B4O1xuICAgIH1cblxuICAgIC5jaGVja291dC1tYWluLXRpdGxlIHtcbiAgICAgICAgcGFkZGluZzogNDVweCAwIDE1cHg7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgIH1cblxuICAgIC5zdGVwcy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIG1heC13aWR0aDogMjcwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogNDU0cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RlcHMge1xuICAgICAgICBhbGlnbi1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICB9XG5cbiAgICAuc3RlcCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtc21va2UpO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMDAlO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ2cHg7XG4gICAgICAgICAgICB3aWR0aDogNDZweDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLXNtb2tlKTtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDJweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHJpZ2h0OiAzMnB4O1xuICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgd2lkdGg6IDQ4cHg7XG4gICAgICAgICAgICB6LWluZGV4OiAtMTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICByaWdodDogNDZweDtcbiAgICAgICAgICAgICAgICB0b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDU0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOmZpcnN0LWNoaWxkIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tbGVmdDogNTRweDtcblxuICAgICAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1NHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogNTRweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtc21va2UpO1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAycHg7XG4gICAgICAgICAgICAgICAgbGVmdDogMzJweDtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgdG9wOiAxNnB4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNHB4O1xuICAgICAgICAgICAgICAgIHotaW5kZXg6IC0xO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbGVmdDogNDZweDtcbiAgICAgICAgICAgICAgICAgICAgdG9wOiAyMnB4O1xuICAgICAgICAgICAgICAgICAgICB3aWR0aDogNTRweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSxcbiAgICAgICAgJi5wYXNzZWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuXG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYucGFzc2VkIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDJweCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpIGluc2V0O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG5cbiAgICAgICAgICAgIC5pY29uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuaW5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zdGVwLW5hbWUge1xuICAgICAgICBib3R0b206IC0xNXB4O1xuICAgICAgICBmb250LXNpemU6IDhweDtcbiAgICAgICAgbGVmdDogLTUwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICByaWdodDogLTUwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm90dG9tOiAtMjBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmljb24ge1xuICAgICAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBmb250YXdlc29tZTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgJi1hcHBvaW50bWVudCB7XG4gICAgICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxmMjcxXCI7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLWluZm9ybWF0aW9uIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwMDdcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtdmVyaWZpY2F0aW9uIHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYwOWRcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtcmV2aWV3IHtcbiAgICAgICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICAgICAgY29udGVudDogXCJcXGYxNWNcIjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gT3JkZXIgU3VtbWFyeSBzZWN0aW9uXG4uY2hlY2tvdXQtc3VtbWFyeSB7XG4gICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgfVxufVxuXG4ucHJvZHVjdC1zcGVjaWZpYy1tZXNzYWdlcyB7XG4gICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygyMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMTAgMjAgMjAgMjApO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMiAxNSAxNSAxNSk7XG4gICAgfVxufVxuXG4uY2hlY2tvdXQtb3JkZXItdG90YWxzIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgbWFyZ2luOiAwIDAgMS41NjI1cmVtO1xuICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgICB9XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIG1hcmdpbjogMCAwIDFyZW07XG4gICAgfVxuXG4gICAgLm9yZGVyLXRvdGFscy10YWJsZSB7XG4gICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICB0Ym9keSB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIHRyOm50aC1jaGlsZChldmVuKSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMC42MjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB0ciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0ZDpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC42MjVyZW07XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQ6bGFzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogcmlnaHQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYm9sZCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbW91bnQtdG90YWwtcGFpZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMnB4IHNvbGlkICNmMmYyZjM7XG5cbiAgICAgICAgICAgICAgICB0ZCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDFyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5hbW91bnQtc3RvcmUtdG90YWwsXG4gICAgICAgICAgICAmLmFtb3VudC10b3RhbC1wYWlkIHtcbiAgICAgICAgICAgICAgICAmLmJvbGQge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcblxuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYudmVoaWNsZS1pbmZvIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHRkIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMCAwIDIuMTg4cmVtO1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGUtbWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxldnktbWVzc2FnZS1taW5pc3VtbWFyeSB7XG4gICAgICAgIGJvcmRlci10b3A6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgIG1hcmdpbjogcmVtLWNhbGMoMTgpIDAgMCAwO1xuICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoMTYpO1xuICAgIH1cblxuICAgIC5zdGVwLWJhY2stbGluayB7XG4gICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwO1xuICAgIH1cbn1cblxuLy8gTmVlZCBIZWxwIGJveFxuLm5lZWQtaGVscC1jaGVja291dCB7XG4gICAgaDMge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG4gICAgfVxuXG4gICAgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgfVxuXG4gICAgYSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgIH1cbn1cblxuLy8gU3RlcCAyIC0gWW91ciBJbmZvcm1hdGlvbiAmIENvbW1lcmNpYWwgRmxlZXQgVmVoaWNsZXNcbi5jaGVja291dC1zaGlwcGluZyB7XG4gICAgbGVnZW5kIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgfVxuXG4gICAgLmRpYWxvZy1yZXF1aXJlZCB7XG4gICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgdGV4dC1hbGlnbjogbGVmdDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2F2ZS1mb3ItYmlsbGluZyB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jaGVja291dC1maWVsZHMtY29udGFpbmVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBtYXJnaW46IDAgMCAxLjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWxlY3Rpb24tYm94IHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDIuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS41O1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC42MjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAucmFkaW8tZm9ybSxcbiAgICAgICAgLmNoZWNrYm94LWZvcm0ge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgOHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnJhZGlvLWZvcm0ge1xuICAgICAgICAgICAgLmZpZWxkLXdyYXBwZXIgKyBsYWJlbCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDJweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21tZXJjaWFsLWZsZWV0LXdyYXBwZXIge1xuICAgICAgICAuY29tbWVyY2lhbC1mbGVldC1mb3JtIHtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogNTAlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6ICRnbG9iYWwtd2VpZ2h0LWJvbGQ7XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxM3B4O1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5oYXMtdGlwIHtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDA7XG4gICAgICAgICAgICBsZWZ0OiA4cHg7XG4gICAgICAgICAgICB0b3A6IDA7XG5cbiAgICAgICAgICAgIC5xdWVzdGlvbm1hcmtjaXJjbGUge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVoaWNsZS1pbmZvcm1hdGlvbiB7XG4gICAgICAgIG1hcmdpbjogMjBweCAwIDMwcHg7XG4gICAgICAgIG1heC13aWR0aDogNTkwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDcwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5pbmZvcm1hdGlvbnMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBmb250LXdlaWdodDogbm9ybWFsO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAyMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgICAgIHBhZGRpbmctYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnZlaGljbGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgIH1cblxuICAgICAgICAuYWRkLXZlaGljbGUge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTQxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU3RlcCAyIHdhcm5pbmcgbW9kYWxcbiNwc21vZGFsIHtcbiAgICAmLndhcm5pbmctbW9kYWwge1xuICAgICAgICBwYWRkaW5nOiAzMHB4O1xuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEwcHggMCAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgICAgICB0b3A6IDIzcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDIxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmtlZXAtdmVoaWNsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAxMHB4IDAgMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU3RlcCAyIFlvdXIgSW5mb3JtYXRpb24gJiBTdGVwIDMgUGF5bWVudCAtIGN1c3RvbSBzdHlsZXMgZm9yIENpdHksIFByb3ZpbmNlLCBQb3N0YWwgY29kZSBhbmQgQ291bnRyeSBmaWVsZHNcbi5jaGVja291dC1maWVsZHMtY29udGFpbmVyIHtcbiAgICAuZm9ybS1yb3cge1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgJi5jaXR5LXJvdyxcbiAgICAgICAgICAgICYucG9zdGFsLXJvdyB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnN0YXRlLXJvdyxcbiAgICAgICAgICAgICYuY291bnRyeS1yb3cge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jaXR5LXJvdyxcbiAgICAgICAgJi5zdGF0ZS1yb3csXG4gICAgICAgICYucG9zdGFsLXJvdyxcbiAgICAgICAgJi5jb3VudHJ5LXJvdyB7XG4gICAgICAgICAgICBmbG9hdDogbGVmdDtcbiAgICAgICAgICAgIHdpZHRoOiA1MCU7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IG5vbmU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMCAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJjpub3QoLmNpdHktcm93KSxcbiAgICAgICAgJjpub3QoLnBvc3RhbC1yb3cpLFxuICAgICAgICAmOm5vdCguc3RhdGUtcm93KSxcbiAgICAgICAgJjpub3QoLmNoZWNrYm94LWZvcm0pLFxuICAgICAgICAmOm5vdCguY291bnRyeS1yb3cpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNpdHktcm93LFxuICAgICAgICAmLnN0YXRlLXJvdyxcbiAgICAgICAgJi5wb3N0YWwtcm93LFxuICAgICAgICAmLmNvdW50cnktcm93IHtcbiAgICAgICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogbm9uZTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAuNjI1cmVtO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyNSU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmOm5vdCguY2l0eS1yb3cpLFxuICAgICAgICAmOm5vdCgucG9zdGFsLXJvdyksXG4gICAgICAgICY6bm90KC5zdGF0ZS1yb3cpLFxuICAgICAgICAmOm5vdCguY291bnRyeS1yb3cpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgd2lkdGg6IDUwJTtcblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKG9kZCkge1xuICAgICAgICAgICAgICAgICAgICBjbGVhcjogbGVmdDtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW0gMCAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICY6bnRoLWNoaWxkKGV2ZW4pIHtcbiAgICAgICAgICAgICAgICAgICAgZmxvYXQ6IHJpZ2h0O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLmNpdHktcm93IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgY2xlYXI6IGxlZnQ7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5jb3VudHJ5LXJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnBvc3RhbC1yb3cge1xuICAgICAgICAgICAgLmZpZWxkLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpZWxkLXdyYXBwZXIuaGFzLXRvb2x0aXAge1xuICAgICAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogJGRhcmstZ3JheTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICB0b3A6IDUwJTtcbiAgICAgICAgICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSk7XG4gICAgICAgICAgICAgICAgei1pbmRleDogMTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYuZm9ybS1pbmRlbnQuY2hlY2tib3gtZm9ybSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi8vIFN0ZXAgMyAtIFBheW1lbnRcbi5jaGVja291dC1iaWxsaW5nIHtcbiAgICAudG9wLXBheW1lbnQtaW5mbyB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjI7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZHVlLXBheW1lbnQtdGl0bGUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNyk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIzKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuMjVyZW07XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hlY2tvdXQtZmllbGRzLWNvbnRhaW5lciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mb3JtLXJvdy5hZGRyZXNzLXJvdyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtbWV0aG9kIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMi44MTNyZW07XG4gICAgfVxuXG4gICAgLmNyZWRpdC1jYXJkLWxvZ29zIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIG1heC13aWR0aDogMTUwcHg7XG4gICAgfVxuXG4gICAgI21vbmVyaXNGcmFtZSB7XG4gICAgICAgIGhlaWdodDogMjM1cHg7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgICNtb25lcmlzTXNnIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuICAgICAgICBmbG9hdDogbGVmdDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbn1cblxuLy9TdGVwIDQgYW5kIDUgLSBjb21tb24gc3R5bGVcbi5vcmRlci1yZXZpZXctcGFnZSxcbi5jb25maXJtYXRpb24tcGFnZSB7XG4gICAgLmxpbmUtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgLnByb2R1Y3QtYnJhbmQge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE4cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZS1pdGVtLXByaWNlIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbS1xdWFudGl0eSB7XG4gICAgICAgIC5pdGVtLXF1YW50aXR5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFkZHJlc3MxIHtcbiAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgfVxuXG4gICAgLnppcC1jb2RlIHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG59XG5cbi8vIFN0ZXAgNCAtIE9yZGVyIFJldmlld1xuLm9yZGVyLXJldmlldy1wYWdlIHtcbiAgICBhZGRyZXNzIHtcbiAgICAgICAgZm9udC1zdHlsZTogbm9ybWFsO1xuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQ6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgIHBhZGRpbmc6IDAuOTM3NXJlbSAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICAgICAgICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2M3JlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgICYuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjNyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYzcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnJpZ2h0LWluZm8tYm94IHtcbiAgICAgICAgICAgIC5zZWN0aW9uLWJveCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudmVoaWNsZS1pbmZvLXdyYXBwZXIge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMS44NzVyZW07XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmRpc2NsYWltZXItY2hlY2tvdXQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1zdW1tYXJ5LWZvb3RlciB7XG4gICAgICAgIG1hcmdpbjogMS41NjNyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDMuMTI1cmVtIDAgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgfVxufVxuXG4vLyBPcmRlciBjb25maXJtYXRpb24gcGFnZVxuLmNvbmZpcm1hdGlvbi1wYWdlIHtcbiAgICBtYXJnaW46IDEuMjVyZW0gMCAwO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgbWFyZ2luOiAzLjQzOHJlbSAwIDA7XG4gICAgfVxuXG4gICAgLy8gQ3JlYXRlIGFjY291bnQgYm94XG4gICAgLmxvZ2luLWJveCB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuICAgICAgICBwYWRkaW5nOiAxLjI1cmVtIDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMS41NjNyZW0gMS4yNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgICYubG9naW4tY3JlYXRlLWFjY291bnQge1xuICAgICAgICAgICAgLmxvZ2luLWJveC1maWVsZHNldCB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgICAgICAgICAuZm9ybS1yb3cge1xuICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAxMDAlO1xuXG4gICAgICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmbGV4LWJhc2lzOiAzMCU7XG4gICAgICAgICAgICAgICAgICAgICAgICBtYXJnaW4tcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIGZvcm0ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5sb2dpbi1ib3gtc3VibWl0LWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgZmxleC1iYXNpczogMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnByaXZhY3ktcG9saWN5IHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDEzcHg7XG5cbiAgICAgICAgICAgICAgICAmLmxpbmsge1xuICAgICAgICAgICAgICAgICAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcmVhdGUtYWNjb3VudC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jcmVhdGUtYWNjb3VudC1kZXNjcmlwdGlvbiB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIE9yZGVyIGNvbmZpcm1hdGlvbiBtYWluIGNvbnRlbnRcbiAgICAuY29uZmlybWF0aW9uLW1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMi4xODhyZW07XG4gICAgICAgIH1cblxuICAgICAgICBoMSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIyKTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMS4zO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC45Mzc1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY3Rpb24tdGl0bGUtYm94IHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjg3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2M3JlbSAwIDA7XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZWRpdC1zZWN0aW9uLWxpbmsge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgfVxuXG4gICAgICAgICYuYWN0aW9uLWJveCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuXG4gICAgICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAub3JkZXJTdW1tYXJ5TGl2ZUNoYXQge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWN0aW9uLWljb24ge1xuICAgICAgICAgICAgICAgIC5jYXJkLWljb24ge1xuICAgICAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiAxNnB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcblxuICAgICAgICAmLS10b3AtbWFyZ2luIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDEuMjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS41NjNyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMS4yNXJlbTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwLjYyNXJlbTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwLjYyNXJlbTtcblxuICAgICAgICAgICAgICAgICYuY29sdW1ucyB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogMS41NjNyZW07XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDEuNTYzcmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuMzEyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNtcy1yZW1pbmRlci1ib3gge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcblxuICAgICAgICAgICAgZm9udC1zdHlsZTogaXRhbGljO1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS41NjNyZW0gMC42MjVyZW07XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMS44NzVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItY29uZmlybWF0aW9uLWxpbmtzIHtcbiAgICAgICAgYSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHB0LWluZm8tYm94IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgYm9yZGVyOiAzcHggc29saWQgI2YyZjJmMztcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgcGFkZGluZzogMC45Mzc1cmVtIDAuNjI1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXItd2lkdGg6IDZweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW0gMC45Mzc1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLmltZy1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAuNDM3NXJlbSAwIDA7XG4gICAgICAgICAgICB3aWR0aDogNTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMS4yNXJlbSAwIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAudGV4dC1ib3gge1xuICAgICAgICAgICAgd2lkdGg6IGNhbGMoMTAwJSAtIDU3cHgpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHdpZHRoOiBjYWxjKDEwMCUgLSA3MHB4KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm9yZGVyLWluZm9ybWF0aW9uIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm9yZGVyLWRhdGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYW1vdW50LWR1ZS1hdC1zdG9yZSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludCAoc21hbGwgb25seSkge1xuICAgICAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgICYtYmxvY2sge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgfVxuXG4gICAgICAgICYtbG9jYWxlIHtcbiAgICAgICAgICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAubWFpbi1zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgICAgICAgICBAbWVkaWEgcHJpbnQge1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgQGluY2x1ZGUgY2xlYXJmaXg7XG4gICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taW5pLWJpbGxpbmctYWRkcmVzcyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgKyAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb25maXJtYXRpb24tbWVzc2FnZS13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IGF1dG8gNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW46IDAgYXV0byA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlciB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2hlY2tlZC1pY29uIHtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIGhlaWdodDogMjdweDtcbiAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBib3gtc2hhZG93OiAwIDAgMCAzcHggbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpIGluc2V0O1xuICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICB3aWR0aDogMjhweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjo6YmVmb3JlIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGJvcmRlcjogNHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICBjb250ZW50OiBcIlxcZjAwY1wiO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IGZvbnRhd2Vzb21lO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHdpZHRoOiAyN3B4O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgICAgICAgICAgICAgIGhlaWdodDogMjhweDtcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6IDI4cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnRpdGxlIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBiYXNlbGluZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIxKTtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyOXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMzNweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJ0aXRsZSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyNXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGV0YWlscy13cmFwcGVyIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzVweDtcblxuICAgICAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIwcHg7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFwcG9pbnRtZW50LWRhdGEtdGltZS1sb2NhbGUge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1kYXRhLXRpbWUge1xuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG5cbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDI3cHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC10aW1lIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAubG9jYXRpb24tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE1cHg7XG5cbiAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1idXR0b24ge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYWRkLXRvLWNhbGVuZGFyIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcblxuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1yaWdodDogMTVweDtcbiAgICAgICAgICAgICAgICAgICAgbWF4LXdpZHRoOiAxOTZweDtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmludC1saW5rIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI3MHB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLWJveC13cmFwIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5yZW1pbmRlci1pbmZvIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5tYWluLXNlY3Rpb24tdGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jdXN0b21lci1jYXJlIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIHBhZGRpbmctdG9wOiAzMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmluZm9ybWF0aW9uLWFzc2V0cyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIHBhZGRpbmc6IDMwcHggMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaDMge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxOHB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwdC1pbmZvIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuXG4gICAgICAgICAgICAuaW5mb3JtYXRpb24tYm94LFxuICAgICAgICAgICAgZGl2IHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZGl2IHAge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mb3JtYXRpb24tYm94IHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDI1cHg7XG5cbiAgICAgICAgICAgIGRpdiB7XG4gICAgICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBwIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIG1heC1oZWlnaHQ6IDYwcHg7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA2MHB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQ6bm90KDpmaXJzdC1jaGlsZCkge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5hc3NldHMtcGRmIHtcbiAgICAgICAgICAgIC5hcHB0LWluZm8tcGRmIHtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmN1c3RvbWVyLWNhcmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5vcmRlci1jb25maXJtYXRpb24tZGV0YWlscyB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuXG4gICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAub3JkZXItc3VtbWFyeS10aXRsZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgYnJpZ2h0LWdyZXkpO1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1wYXltZW50LXN1bW1hcnkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDEuODc1cmVtIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxldnktbWVzc2FnZS1vcmRlcmRldGFpbHMge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICAgICAgICAgIG1heC13aWR0aDogMzYwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5vcmRlci1zdW1tYXJ5LWhlYWRlciB7XG4gICAgICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW07XG5cbiAgICAgICAgICAgIEBtZWRpYSBwcmludCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICAgICAgcGFnZS1icmVhay1hZnRlcjogYWx3YXlzO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmxpbmUtaXRlbXMge1xuICAgICAgICAgICAgLnByb2R1Y3QtYnJhbmQsXG4gICAgICAgICAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgfVxuXG4gICAgICAgIC5wcm9kdWN0bmFtZS1jb2x1bW4ge1xuICAgICAgICAgICAgLmxpbmUtaXRlbXMtdGl0bGUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5vcmRlci1zdW1tYXJ5LXByb2R1Y3RzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5taW5pLWFkZHJlc3MtbG9jYXRpb24ge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5mdWxsLW5hbWUge1xuICAgICAgICAgICAgb3JkZXI6IDA7XG4gICAgICAgIH1cblxuICAgICAgICAuZW1haWwge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnBvc3RhbC1jb2RlIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucGVyc29uYWwtcGF5bWVudC1pbmZvIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgIG1hcmdpbi1yaWdodDogMDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcblxuICAgICAgICAgICAgLmluZm9ybWF0aW9uLWJveCB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwIDA7XG5cbiAgICAgICAgICAgICAgICAmLS1mdWxsLXBhZGRpbmcge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYtLWdyZXktYmFja2dyb3VuZCB7XG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZ2hvc3QpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZWN0aW9uLXRpdGxlLWJveCB7XG4gICAgICAgICAgICAmLS1uby1tYXJnaW4ge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4O1xuICAgICAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYtLW9yYW5nZSB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5wYXltZW50LXZlcmlmaWNhdGlvbiB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgICAgICAgICAgICAgbWFyZ2luLXJpZ2h0OiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuc2VjdGlvbi1ib3gge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1naG9zdCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMTJweCAxNXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5uZWVkLWNoYW5nZXMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICAgICAgQG1lZGlhIHByaW50IHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnBheW1lbnQtdmVyaWZpY2F0aW9uIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAub3JkZXItdG90YWxzLXRhYmxlIHtcbiAgICAgICAgdHIge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4ucHJvZHVjdC1kZXRhaWxlZC1pbmZvIHtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG5cbiAgICAuYXR0cmlidXRlLWRhdGEge1xuICAgICAgICBmb250LXNpemU6IDAuODc1cmVtO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uc2F2ZS1mb3ItYmlsbGluZyB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1vbmVyaXNJbnB1dCB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2IoMjA0LCAyMDQsIDIwNCk7XG4gICAgYm9yZGVyLXN0eWxlOiBzb2xpZDtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogMTBweDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgcGFkZGluZy1yaWdodDogMTVweDtcbiAgICBwYWRkaW5nLXRvcDogMTBweDtcbn1cblxuI21vbmVyaXNOYW1lSW5wdXQge1xuICAgIHdpZHRoOiAyNTVweDtcbn1cblxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgZGl2OmZpcnN0LWNoaWxkLFxuLmNoZWNrb3V0LWJpbGxpbmcgLmNoZWNrb3V0LWZpZWxkcy1jb250YWluZXIgZGl2OmZpcnN0LWNoaWxkICsgZGl2IHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4vLyBNaW5pIGhlYWRlciBzdHlsZVxuLm1pbmktaGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWdob3N0KTtcblxuICAgIC5oZWFkZXItbG9nbyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogOHB4IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jaGVja291dC1wZXJzb25hbC1pbmZvIHtcbiAgICAuYWNjb3VudC1pbmZvLWNoZWNrb3V0IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuXG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxcHg7XG4gICAgfVxuXG4gICAgLmFjY291bnQtaW5mby1jaGVja291dC1sYWJlbCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcblxuICAgICAgICBsaW5lLWhlaWdodDogMjBweDtcbiAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICB9XG5cbiAgICAuYWNjb3VudC1pbmZvLWZvcm0ge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgIH1cblxuICAgICYuZXhwYW5kZWQge1xuICAgICAgICAuYWNjb3VudC1pbmZvLWZvcm0ge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cblxuICAgICAgICAuYWNjb3VudC1pbmZvLWNoZWNrb3V0LFxuICAgICAgICAuYWNjb3VudC1pbmZvLWNoZWNrb3V0LWxhYmVsLFxuICAgICAgICAubmFtZS1sZW5ndGgtZXJyb3Ige1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hY2NvdW50LWluZm8tZm9ybS10b2dnbGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLnVwZGF0ZS1jcmVkcy1saW5rIHtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLnJlcXVpcmVkLWZpZWxkOjphZnRlciB7XG4gICAgY29udGVudDogXCIqXCI7XG4gICAgbWFyZ2luLWxlZnQ6IDNweDtcbn1cbiIsIi8vIFRoaXMgZmlsZSBjb250YWlucyB0aGUgc3R5bGVzIGZvciB0aGUgYm94IHdpdGggY2FydCBkZXRhaWxzIGZyb20gQ2hlY2tvdXQsIFN1bW1hcnkgYW5kIE9yZGVyIERldGFpbHMoTXkgQWNjb3VudCkgcGFnZXNcbi5jYXJ0LXN1bW1hcnktYm94IHtcbiAgICAuc2VjdGlvbi1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgICAgICYucXR5LWhlYWRlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAmLnRvdGFsLXByaWNlLWhlYWRlciB7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW1zIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEuNTYyNXJlbSAxLjg3NXJlbSAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDEuMjVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDEuNTYyNXJlbTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tZGV0YWlscyB7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAxMHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucHJvZHVjdC1icmFuZCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICB9XG5cbiAgICAucHJvZHVjdC1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxOCk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubGluZS1pdGVtLXByaWNlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAub2xkLXByaWNlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpbmUtaXRlbS1xdWFudGl0eSB7XG4gICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICB9XG5cbiAgICAuaXRlbS1xdWFudGl0eSxcbiAgICAucHJpY2UtdG90YWwge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTUpO1xuICAgIH1cblxuICAgIC5saW5lLWl0ZW0tdG90YWwge1xuICAgICAgICB0ZXh0LWFsaWduOiByaWdodDtcbiAgICB9XG5cbiAgICAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZjJmMmYzO1xuICAgICAgICBwYWRkaW5nOiAxLjU2MjVyZW0gMS44NzVyZW07XG5cbiAgICAgICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8vIFByb2R1Y3QgU2V0XG4gICAgLmZyb250LWJhY2stc2V0LWxhYmVsIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLmZpcnN0LXBzZXQge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAwLjkzNzVyZW07XG4gICAgfVxuXG4gICAgLy8gUmViYXRlIHNlY3Rpb25cbiAgICAucmViYXRlLWJhZGdlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIG9ubHkpIHtcbiAgICAgICAgICAgIG1hcmdpbjogMC4zMTI1cmVtIDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiB1cmwoXCIuLi9pbWFnZXMvaWNvbnMvcmViYXRlX2ljb24ucG5nXCIpIG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGNvbnRlbnQ6IFwiXCI7XG4gICAgICAgICAgICBoZWlnaHQ6IDI1cHg7XG4gICAgICAgICAgICBtYXJnaW46IDAgMC4yNXJlbSAwIDA7XG4gICAgICAgICAgICB3aWR0aDogMjVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGUtdGV4dCB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgfVxufVxuXG4vLyBBZGl0aW9uYWwgU2VydmljZXNcbi5zZXJ2aWNlLXJvdyB7XG4gICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgfVxufVxuXG4vLyBBZGl0aW9uYWwgY3VzdG9tIHN0eWxlcyBmb3IgT3JkZXIgRGV0YWlscyhNeSBBY2NvdW50KSBwYWdlXG4ub3JkZXJkZXRhaWxzIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG4gICAgICAgIHBhZGRpbmc6IDFyZW0gMS4yNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMXB4O1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGUtYm94IHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG5cbi8vIEFkaXRpb25hbCBjdXN0b20gc3R5bGVzIGZvciBDaGVja291dCBwYWdlc1xuLmNoZWNrb3V0LW1pbmktY2FydCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgJG1lZGl1bS1ncmF5O1xuICAgIHBhZGRpbmc6IDMwcHggMjBweDtcblxuICAgIC5zZWN0aW9uLXRpdGxlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG59XG5cbkBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAuY2hlY2tvdXQtbWluaS1jYXJ0IHtcbiAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAuc2VjdGlvbi10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDEuMjVyZW0gMCAwIDEuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAubWFpbi1zZWN0aW9uLWhlYWRlciB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgLmNhcnQtc3VtbWFyeS1ib3gge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuXG4gICAgICAgICAgICAubGluZS1pdGVtcyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmUtaXRlbSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNmMmYyZjM7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDEuMjVyZW07XG5cbiAgICAgICAgICAgICAgICA+IGRpdiB7XG4gICAgICAgICAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLmZpcnN0LXBzZXQge1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMC4zMTI1cmVtO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc2Vjb25kLXBzZXQge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLXRvcDogMC4zMTI1cmVtO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmxpbmUtaXRlbS1kZXRhaWxzIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAzcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWJyYW5kIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LWJyYW5kLFxuICAgICAgICAgICAgLnByb2R1Y3QtbmFtZSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wcmljZS10b3RhbCB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5saW5lLWl0ZW0tcXVhbnRpdHkge1xuICAgICAgICAgICAgLnNlY3Rpb24taGVhZGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrICFpbXBvcnRhbnQ7XG5cbiAgICAgICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiOlwiO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zZXJ2aWNlLXJvdyB7XG4gICAgICAgICAgICBib3JkZXI6IDA7XG5cbiAgICAgICAgICAgIC5wcm9kdWN0LW5hbWUge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG59XG5cblxuLy8gQWRpdGlvbmFsIGN1c3RvbSBzdHlsZXMgZm9yIFN0ZXAgNCAtIE9yZGVyIFJldmlld1xuLm9yZGVyLXJldmlldy1wYWdlIHtcbiAgICAuY2FydC1zdW1tYXJ5LWJveCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMzVweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMC42MjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyOiAycHggc29saWQgI2YyZjJmMztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kYXRhLXRpbWUge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHAtaW5mby13cmFwcGVyIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5sb2NhdGlvbi1ib3gge1xuICAgICAgICAuc2VjdGlvbi10aXRsZSxcbiAgICAgICAgcCwge1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDIycHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi10aXRsZS1ib3gge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwIDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VjdGlvbi1ib3gtd3JhcCB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmVkaXQtc2VjdGlvbi1saW5rIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTNweDtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1pbmktYWRkcmVzcy1sb2NhdGlvbiB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmZ1bGwtbmFtZSB7XG4gICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5lbWFpbCB7XG4gICAgICAgICAgICBvcmRlcjogMTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5waG9uZS1udW1iZXIge1xuICAgICAgICAgICAgb3JkZXI6IDI7XG4gICAgICAgIH1cblxuICAgICAgICAucG9zdGFsLWNvZGUge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5kaXNjbGFpbWVyLWNoZWNrb3V0IHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gQWRpdGlvbmFsIGN1c3RvbSBzdHlsZXMgZm9yIHJlYmF0ZSBtZXNzYWdlIC0gT3JkZXIgUmV2aWV3ICYgQ29uZmlybWF0aW9uIHBhZ2Vcbi5vcmRlci1yZXZpZXctcGFnZSxcbi5jb25maXJtYXRpb24tcGFnZSB7XG4gICAgLnJlYmF0ZS10ZXh0IHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgfVxuXG4gICAgLnJlYmF0ZS1ib3gge1xuICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB3aWR0aDogODAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogMjUlO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgd2lkdGg6IDI3JTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5yZWJhdGUtYmFkZ2Uge1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIH1cbn1cbiIsIi8vIEJlZ2luOiBBcHBvaW50bWVudCBDYWxlbmRhclxuLmFwcG9pbnRtZW50cyB7XG4gICAgJi5hcHBvaW50bWVudHMtd3JhcCB7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuODc1cmVtO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMXB4IHNvbGlkICM5Nzk3OTc7XG4gICAgICAgICAgICBtYXJnaW46IDUwcHggMCA3NXB4O1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0NHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1haW4tdGl0bGUge1xuICAgICAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBtYXJnaW46IDAgMCAwLjYyNXJlbTtcbiAgICAgICAgcGFkZGluZy10b3A6IDUwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZHVyYXRpb24ge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1jYWxlbmRhciB7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgICAgICAubG9hZGVyIHtcbiAgICAgICAgICAgIGJvdHRvbTogLTRlbTtcbiAgICAgICAgICAgIHRvcDogYXV0bztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG5kciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtc21va2UpO1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMThweDtcbiAgICB9XG5cbiAgICAuY2xuZHItY29udHJvbHMge1xuICAgICAgICBAaW5jbHVkZSBjbGVhcmZpeDtcbiAgICAgICAgYm9yZGVyLWJvdHRvbS13aWR0aDogMDtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIHBhZGRpbmc6IDEuODc1cmVtIDAgMS4yNXJlbTtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgICAgIC5tb250aCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNsbmRyLXByZXZpb3VzLWJ1dHRvbixcbiAgICAuY2xuZHItbmV4dC1idXR0b24ge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgICAgIGZsb2F0OiBsZWZ0O1xuICAgICAgICB0ZXh0LWluZGVudDogLTk5OTlweDtcbiAgICB9XG5cbiAgICAuY2xuZHItcHJldmlvdXMtYnV0dG9uLFxuICAgIC5jbG5kci1uZXh0LWJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAyMHB4O1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGZvbnQtZmFtaWx5OiBcImZvbnRlbGxvXCI7XG4gICAgICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogM3B4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgdGV4dC1pbmRlbnQ6IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG5kci1wcmV2aW91cy1idXR0b24ge1xuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgY29udGVudDogXCJcXGU4MTNcIjtcbiAgICAgICAgICAgIGxlZnQ6IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbGVmdDogMjBweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG5kci1uZXh0LWJ1dHRvbiB7XG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlxcZTgxNFwiO1xuICAgICAgICAgICAgcmlnaHQ6IDE1cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcmlnaHQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2xuZHItdGFibGUge1xuICAgICAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgdGhlYWQge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkZGRlO1xuICAgICAgICAgICAgYm9yZGVyLXRvcC13aWR0aDogMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHRib2R5IHtcbiAgICAgICAgICAgIHRyIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgdGQge1xuICAgICAgICAgICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgdGQge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgfVxuXG4gICAgICAgIC5jbG5kci1jb250cm9scyB7XG4gICAgICAgICAgICAmLndlZWsge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDIwcHggMCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmhlYWRlci1kYXkge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEwKTtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCAwLjYyNXJlbTtcblxuICAgICAgICAgICAgJjpmaXJzdC1jaGlsZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAjZGRkZGRlO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmOmxhc3QtY2hpbGQge1xuICAgICAgICAgICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICNkZGRkZGU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXZlbnQge1xuICAgICAgICAgICAgLnctZGF5LFxuICAgICAgICAgICAgLm1vbnRoLWRheSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5kYXkge1xuICAgICAgICAgICAgLm1vbnRoLXZpZXcge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDExcHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChsYXJnZSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogMTVweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICBAbWVkaWEgb25seSBzY3JlZW4gYW5kIChtaW4td2lkdGg6IDEwMjRweCkgYW5kIChtYXgtd2lkdGg6IDExMDBweCkge1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiA3cHg7XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgQG1lZGlhIG9ubHkgc2NyZWVuIGFuZCAobWluLXdpZHRoOiAxMTAwcHgpIGFuZCAobWF4LXdpZHRoOiAxMzE5cHgpIHtcbiAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogOXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJi5ldmVudDpob3ZlciB7XG4gICAgICAgICAgICAgICAgLmRheS1jb250ZW50cyB7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6bm90KC5ldmVudCkge1xuICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICYuYWN0aXZlLWV2ZW50IHtcbiAgICAgICAgICAgICAgICAuZGF5LWNvbnRlbnRzIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmZpcnN0LWRheSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm1vbnRoLWRheSB7XG4gICAgICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG5cbiAgICAgICAgLmRheS1jb250ZW50cyB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIGhlaWdodDogMjlweDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICAgICAgbWFyZ2luOiBhdXRvO1xuICAgICAgICAgICAgd2lkdGg6IDI5cHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAzM3B4O1xuICAgICAgICAgICAgICAgIHdpZHRoOiAzM3B4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnctZGF5IHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLndlZWstdmlldyB7XG4gICAgICAgICAgICAuY29udHJvbGwtd3JhcHBlciB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jbG5kci10YWJzIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAudGFiIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcbiAgICAgICAgICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLXNtb2tlKTtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICAgICAgICAgICBmbGV4OiAwIDAgNTAlO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICAgICAgICAgICYuYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb250aC10YWIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZXJyb3ItbWVzc2FnZSBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZXJyb3IpO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kYXRlIC5hcHBvaW50bWVudHMsXG4gICAgLmFwcG9pbnRtZW50LWRhdGUtdGltZSxcbiAgICAubm8tYXZhaWxhYmxlLWFwcG9pbnRtZW50cyB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGRkZGU7XG4gICAgICAgIGJvcmRlci10b3Atd2lkdGg6IDA7XG4gICAgICAgIHBhZGRpbmc6IDEuNTYzcmVtIDEuMjVyZW0gMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMS44NzVyZW0gMDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMTtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuNjI1cmVtO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgc3Bhbjpub3QoLmFwcG9pbnRtZW50LWRhdGUtdGl0bGUpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDE7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGF0ZSB7XG4gICAgICAgIHNwYW46bm90KC5hcHBvaW50bWVudC1kYXRlLXRpdGxlKSB7XG4gICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZmxvYXQ6IGxlZnQ7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgICAgICAgICBwYWRkaW5nOiAwLjYyNXJlbSAwLjkzNzVyZW07XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogNTAlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCAwIDAuOTM3NXJlbTtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTYuNiU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5hcHBvaW50bWVudHMge1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDIwcHg7XG5cbiAgICAgICAgICAgIC5hcHBvaW50bWVudC1kYXRlLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgc3BhbiB7XG4gICAgICAgICAgICAgICAgZmxleDogMCAwIDMzJTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAxMHB4IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBmbGV4OiAwIDAgMjUlO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuYXBwb2ludG1lbnQtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiAkd2hpdGU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxLjU2M3JlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgcGFkZGluZzogMS44NzVyZW0gMCAwLjkzNzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAuYXBwb2ludG1lbnQtZGF0ZS10aXRsZSB7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmVkaXQtYXBwb2ludG1lbnQge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHB0LWV4cGlyeSB7XG4gICAgICAgIG1hcmdpbjogMS4yNXJlbSAwIDA7XG5cbiAgICAgICAgcCB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm5lZWQtaGVscC1jaGVja291dC1hcHBvaW50bWVudCB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICAgICAgbWFyZ2luOiA1MHB4IDAgMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAyMHB4IDAgMDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgYSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtYnV0dG9ucy1ib3gge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgIH1cblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobGFyZ2UgdXApIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgJi53aXRoLWFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1jb250aW51ZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtZGF0ZS10aW1lIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgbWF4LXdpZHRoOiAzNzZweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHB0LWV4cGlyeSB7XG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG4vLyBFbmQ6IEFwcG9pbnRtZW50IENhbGVuZGFyXG5cbi5hcHBvaW50bWVudC1wYWdlIHtcbiAgICAuYXBwb2ludG1lbnQtcGFnZS10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG5cbiAgICAgICAgbWFyZ2luOiAwIDAgMS4yNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICB9XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudmVydGljYWwtYWxpZ24ge1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgfVxuXG4gICAgLnN0YXJ0X2xvY2F0aW9uIHtcbiAgICAgICAgYm9yZGVyLXJpZ2h0OiAwO1xuICAgICAgICBmbGV4OiAxO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBoZWlnaHQ6IDQ1cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc2VhcmNoLXN0b3JlIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBtYXgtd2lkdGg6IDQwcHg7XG4gICAgICAgIHBhZGRpbmc6IDEzcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgaGVpZ2h0OiA0NXB4O1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxMzRweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgICNtYXAtYm94IHtcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAxLjI1cmVtIDAgMC42MjVyZW07XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudG9nZ2xlLW1hcCB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBsaW5lLWhlaWdodDogMzlweDtcbiAgICAgICAgbWFyZ2luOiAxNXB4IDAgMDtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwIDE1cHg7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDEzOXB4O1xuICAgICAgICAgICAgcGFkZGluZzogMCAxNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLm1hcC12aWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogMzYwcHggIWltcG9ydGFudDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5saXN0LXZpZXctaXRlbXMge1xuICAgICAgICAubG9jYXRpb24taXRlbSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2Q5ZDlkYTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5sb2NhdGlvbi1pdGVtLXdyYXBwZXIge1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCAwIDU1cHg7XG4gICAgICAgIH1cblxuICAgICAgICAubW9yZS10aW1lcyxcbiAgICAgICAgLmJvb2stbm93IHtcbiAgICAgICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDIwcHg7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDE1cHggMCAwO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5tb3JlLXRpbWVzIHtcbiAgICAgICAgICAgICY6bm90KC5zdG9yZWQtaGVyZS1idG4pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDdweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmhvbGxvdyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTNweCAxNXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlZC1oZXJlLWJ0biB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgICAgICAgIG1hcmdpbjogMjBweCAwIDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDI0MXB4O1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdG9yZWQtdGlyZXMge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJvb2stbm93IHtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDdweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5zaG93LXN0b3JlLWJveCB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgICAgIH1cblxuICAgICAgICAuc2hvdy1zdG9yZS1pbmZvIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtaW1hZ2U6IHVybChcIi4uL2ltYWdlcy9rYWx0aXJlL2xpc3R2aWV3QXJyb3cucG5nXCIpO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogcmlnaHQgY2VudGVyO1xuICAgICAgICAgICAgYmFja2dyb3VuZC1yZXBlYXQ6IG5vLXJlcGVhdDtcbiAgICAgICAgICAgIGhlaWdodDogMTZweDtcbiAgICAgICAgICAgIHdpZHRoOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmhpZ2hsaWdodC1vdXRvZnN0b2NrLXN0b3JlIHtcbiAgICAgICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB0cmFuc2l0aW9uOiBib3JkZXItd2lkdGggMC4zcyBlYXNlLWluLW91dDtcblxuICAgICAgICAgICAgJi50cmFuc2l0aW9uLXRvLWVuZCB7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXdpZHRoOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxpc3Qtdmlldy1pdGVtcyxcbiAgICAuc3RvcmUtZGV0YWlscy1ib3gge1xuICAgICAgICBwIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgICAgIG1hcmdpbjogMDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24taXRlbS1uYW1lIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDAgMC4zMTI1cmVtO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5pY2tuYW1lIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubG9jYXRpb24taXRlbS1kaXN0YW5jZSB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luLXRvcDogNXB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcmUtYXZhaWxhYmlsaXR5IHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDA7XG5cbiAgICAgICAgLmF2YWlsYWJpbGl0eS1tZXNzYWdlIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIH1cblxuICAgICAgICAuZWFybGllc3QtYXZhaWxhYmxlIHtcbiAgICAgICAgICAgIC5zbG90LWluZm8ge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5zZWFyY2hpbmctZm9yLWF2YWlsYWJpbGl0eSB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICRyZWQ7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5mbG9hdC1jbGVhci1ib3RoIHtcbiAgICAgICAgICAgICAgICBjbGVhcjogYm90aDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5uby10cmFpbGVyLXNlcnZpY2Uge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNSk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgfVxuXG4gICAgLnJhdGluZy1kaXN0YW5jZS1ib3gge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24tc2VsZjogZmxleC1zdGFydDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJhY2stYW5kLXBhZ2luYXRpb24td3JhcHBlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBtYXJnaW46IDEuODc1cmVtIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgICAgIG1hcmdpbjogMS44NzVyZW0gMCAtMS44NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBvbmx5KSB7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXAtYmFjay1saW5rIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnBhZ2luYXRpb24ge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLy8gU3RvcmUgRGV0YWlsc1xuICAgIC5tYXAtaW5mb2JveCB7XG4gICAgICAgIC5zdG9yZS1iYWNrLWJveCB7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0b3JlLWJhY2sge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuc3RvcmUtZGV0YWlscy1ib3gge1xuICAgICAgICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICAgICAgIC5sb2NhdGlvbi1kaXN0YW5jZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMTBweCAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vcmUtaW5mby1ib3gge1xuICAgICAgICAgICAgbWFyZ2luOiAwLjYyNXJlbSAwIDEuODc1cmVtO1xuXG4gICAgICAgICAgICAuaXMtYWNjb3JkaW9uLXN1Ym1lbnUtcGFyZW50IHtcbiAgICAgICAgICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAubW9yZS1pbmZvLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgcGFkZGluZzogMCAwIDAgMS4yNXJlbTtcbiAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuXG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICAgICAgbGVmdDogMDtcbiAgICAgICAgICAgICAgICByaWdodDogYXV0bztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5zdWJtZW51IHtcbiAgICAgICAgICAgIG1hcmdpbjogMC42MjVyZW0gMCAwIDEuMjVyZW07XG4gICAgICAgIH1cblxuICAgICAgICAucGhvbmUtbnVtYmVyIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgICAgIG1hcmdpbjogMC45Mzc1cmVtIDA7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYm9va2luZy1ub3QtYXZhaWxhYmxlIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNkOWQ5ZGE7XG4gICAgICAgIG1hcmdpbjogMCAwIDIuMTg4cmVtO1xuICAgICAgICBwYWRkaW5nOiAwIDAgMS44NzVyZW07XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBoMyB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAwLjMxMjVyZW07XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWZpbHRlcnMge1xuICAgICAgICBwYWRkaW5nLXRvcDogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAyMzZweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGxhYmVsIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxM3B4IDAgMCAxNnB4O1xuICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB9XG5cbiAgICAgICAgc2VsZWN0IHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA4MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdC1sb2NhdGlvbi13cmFwcGVyIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cbn1cblxuXG4vLyBBcHBvaW50bWVudCB0aW1lIGhhcyB0YWtlbiAtIHBvcHVwXG4vLyBBcHBvaW50bWVudCBSZWxlYXNlZCBNZXNzYWdpbmcgLSBwb3B1cFxuLmFwcG9pbnRtZW50LXBvcHVwLXdyYXAge1xuICAgIHBhZGRpbmc6IDEuMjVyZW07XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiAxLjg3NXJlbTtcbiAgICB9XG5cbiAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgcmlnaHQ6IDEuMTI1cmVtO1xuICAgICAgICB0b3A6IDAuOTM3NXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcmlnaHQ6IDEuNzVyZW07XG4gICAgICAgICAgICB0b3A6IDEuNDM4cmVtO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgaDMge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgICAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgICAgICBtYXJnaW46IDAgMCAxLjU2M3JlbTtcbiAgICAgICAgd2lkdGg6IDgwJTtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIG1hcmdpbjogMCAwIDEuNTYzcmVtO1xuICAgIH1cblxuICAgIC5idXR0b24ge1xuICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU3R5bGUgZm9yIHN0b3JhZ2UgbW9kYWwgZnJvbSBhcHBvaW50bWVudCBzdGVwXG4jc3RvcmFnZU1vZGFsLFxuI3RyYWlsZXJUaXJlTW9kYWwge1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgLmJyaW5naW5nLXRyYWxlci1idG4ge1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cblxuICAgICAgICAuYnJpbmdpbmctd2hlZWwtYnRuIHtcbiAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgJi50cmFpbGVyLWFwcG9pbnRtZW50LW1vZGFsIHtcbiAgICAgICAgaGVpZ2h0OiBhdXRvO1xuICAgICAgICBtYXgtaGVpZ2h0OiB1bnNldDtcbiAgICAgICAgbWluLWhlaWdodDogdW5zZXQ7XG4gICAgfVxuXG4gICAgLm1vZGFsLWNvbnRlbnQge1xuICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IDMwcHggMDtcbiAgICAgICAgfVxuXG4gICAgICAgICYudHJhaWxlci1tb2RhbC1jb250ZW50IHtcbiAgICAgICAgICAgIHBhZGRpbmctdG9wOiAwO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIC50aXRsZS5zdGVwLXRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZSB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDIwcHg7XG4gICAgICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1bnNldDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnRpdGxlLWxhcmdlIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAmLnRpdGxlLXNtYWxsIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgICYuc2Vjb25kLXN0ZXAtbW9kYWwtdGl0bGUge1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuY2xvc2UtYnV0dG9uLFxuICAgICAgICAgICAgLnJldHVybi1zdGVwLWJ1dHRvbiB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJG1lZGl1bS1saWdodC1ncmF5O1xuICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAubWFpbi1tb2RhbC10aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAmLnNlY29uZC1zdGVwIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY29uZGFyeS1tb2RhbC10aXRsZSB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICYuc2Vjb25kLXN0ZXAge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgaW1nOm5vdCgudHJhaWxlci1pbWFnZSkge1xuICAgICAgICBtYXgtd2lkdGg6IDY4cHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1heC13aWR0aDogODZweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcblxuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMjBweDtcbiAgICB9XG5cbiAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cblxuICAgICAgICAuaW5mby1idG4ge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXktb3ZlcjtcblxuICAgICAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNXB4IDA7XG4gICAgICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICAgICAgbWF4LXdpZHRoOiA1MCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHdpZHRoOiBhdXRvO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi50cmFpbGVyLWJ1dHRvbiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1hcm91bmQ7XG4gICAgICAgICAgICBtaW4taGVpZ2h0OiAyMzNweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBoZWlnaHQ6IDIzM3B4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnRyYWlsZXItaW5mby1idXR0b25zIHtcbiAgICAgICAgICAgICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICAgICAgICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgICAgICBib3JkZXItcmlnaHQ6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG5vYmVsKTtcbiAgICAgICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDAgMzVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDE1cHg7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFyZS1zdG9yZWQtYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ub3Qtc3RvcmVkLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmJyaW5naW5nLXRyYWxlci1idG4sXG4gICAgLmJyaW5naW5nLXdoZWVsLWJ0biB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICBib3JkZXItY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbWlkZ3JleSk7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgbWF4LWhlaWdodDogNDhweDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMjM2cHg7XG4gICAgICAgICAgICBwYWRkaW5nOiA3cHggMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFpbGVyLW1vZGFsLXN0ZXAge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAucmV0dXJuLXN0ZXAtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLm1vZGFsLWhlYWRlcixcbiAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcblxuICAgICAgICAgICAgICAgICYubW9iaWxlLXRpdGxlLXRlbGwtdXMtbW9yZSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLm1vYmlsZS10aXRsZS10ZWxsLXVzLW1vcmUge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5LWFjY2Vzc2libGUpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgICAgICYuc2Vjb25kLXN0ZXAtYWN0aXZlIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgJi5uZXh0LXN0ZXAudHJhaWxlci1pbmZvIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC50aXRsZS50aXRsZS1zbWFsbCB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbm9iZWwpO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAudHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnByZXZpb3VzLXN0ZXAge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogNTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLnRyYWlsZXItaW5mbyB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDA7XG5cbiAgICAgICAgICAgICAgICAudHJhaWxlci1pbmZvLWJ1dHRvbnMge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRpdGxlLnRpdGxlLXNtYWxsIHtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiB1bnNldDtcblxuICAgICAgICAgICAgICAgIC50cmFpbGVyLW1vZGFsLWJ0biB7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgICAgICAgICAgICAgIC5icmluZ2luZy13aGVlbC1idG4ge1xuICAgICAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkbWVkaXVtLWxpZ2h0LWxpZ2h0LWdyYXk7XG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogMDtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgICAgIG9yZGVyOiAxO1xuXG4gICAgICAgICAgICAgICAgICAgICYuc2VsZWN0ZWQtc3RlcC1vcHRpb24ge1xuICAgICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgICAgICAgICAgICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgICAgICAgICAgbWFyZ2luLXRvcDogNTBweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG9yZGVyOiAyO1xuICAgIFxuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgLnNlbGVjdGVkLXN0ZXAtb3B0aW9uIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJldHVybi1zdGVwLWJ1dHRvbiB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgZm9udC1zaXplOiAyZW07XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyN3B4O1xuICAgICAgICBwb3NpdGlvbjogdW5zZXQ7XG4gICAgICAgIHJpZ2h0OiAxcmVtO1xuICAgICAgICB0b3A6IDAuNXJlbTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcblxuICAgICAgICAgICAgJi5ub3Qtc3RlcC1vbmUge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuXG4jbGljZW5zZVBsYXRlTW9kYWwge1xuICAgIC5tb2RhbC1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMCAyNXB4O1xuICAgIH1cblxuICAgICNsaWNlbnNlUGxhdGVTdWJtaXQge1xuICAgICAgICBtYXgtd2lkdGg6IDI1MHB4O1xuICAgIH1cblxuICAgICNsaWNlbnNlLXBsYXRlLW51bWJlciB7XG4gICAgICAgIHBhZGRpbmc6IDAgNjVweDtcbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICRnb3RoYW0tYS1iO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgIH1cbn1cblxuI3RyYWlsZXJUaXJlTW9kYWwge1xuICAgICYucmV2ZWFsIHtcbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHdpZHRoOiA3NzVweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1oZWFkZXIge1xuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgICAgICBtYXJnaW46IDMwcHggMzBweCAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWlsZXItdGlyZS1oZWFkZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5cbiAgICAgICAgLm1vZGFsLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMjJweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgc2Vjb25kYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5tb2RhbC1jb250ZW50LnRyYWlsZXItbW9kYWwtY29udGVudCB7XG4gICAgICAgIC5hY3RpdmUtdGl0bGUgLnN0ZXAtbWVzc2FnZSB7XG4gICAgICAgICAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggMCAycHg7XG4gICAgICAgIH1cblxuICAgICAgICAuc2Vjb25kYXJ5LW1vZGFsLXRpdGxlLmRpc2FibGVkIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGRpc2FibGVkLWdyZXkpO1xuICAgICAgICAgICAgY3Vyc29yOiBhdXRvO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXAtdGl0bGUge1xuICAgICAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLnNlY29uZC10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgICAgZm9udC1zaXplOiAyMHB4O1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMThweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgYm9yZGVyOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgICAgICAgICAgYm9yZGVyLXRvcDogMDtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMjBweCAwO1xuICAgICAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICBtYXJnaW46IDMwcHggMzBweCAwO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAmLnRyYWlsZXItbW9kYWwtY29udGVudCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIGhlaWdodDogNDAwcHg7XG4gICAgICAgICAgICAgICAgb3ZlcmZsb3cteTogaGlkZGVuO1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBidXR0b24uY2xvc2UtYnV0dG9uIHtcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICAgICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWlsZXItbW9kYWwtc3RlcCB7XG4gICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuXG4gICAgICAgIC50cmFpbGVyLWluZm8tYnV0dG9ucyB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlY29uZGFyeS1tb2RhbC10aXRsZSB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KHNtYWxsIG9ubHkpIHtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG5cbiAgICAgICAgLnN0ZXAtYXJyb3cge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgZGlzYWJsZWQtZ3JleSk7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDEzcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjdHJhaWxlclRpcmVNb2RhbEV4aXQge1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBsZWZ0OiAzMDBweDtcbiAgICAgICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5icmluZ2luZy10cmFsZXItYnRuLFxuICAgIC5icmluZ2luZy13aGVlbC1idG4ge1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgIH1cblxuICAgICNicmluZ2luZ1RyYWlsZXIsXG4gICAgI2JyaW5naW5nVHJhaWxlcldoZWVsIHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgbWF4LWhlaWdodDogbm9uZTtcbiAgICAgICAgbWF4LXdpZHRoOiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogMTBweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgICAgICAgfVxuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgb25seSkge1xuICAgICAgICAgICAgbWFyZ2luOiAxMHB4IDA7XG4gICAgICAgICAgICBwYWRkaW5nOiAzMHB4IDIwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGJvcmRlci1sZWZ0OiAxMHB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIG1heC1oZWlnaHQ6IDkwcHg7XG4gICAgICAgICAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBvbmx5KSB7XG4gICAgICAgICAgICAgICAgbWF4LWhlaWdodDogNjBweDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRyYWlsZXItbW9kYWwtYnRuIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGxpZ2h0ZXItZ3JheTtcbiAgICAgICAgYm9yZGVyOiAwO1xuXG4gICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgYm9yZGVyLWxlZnQ6IDEwcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDI4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuY2hvb3NlLWFjdGlvbiB7XG4gICAgICAgICYuY3VycmVudCB7XG4gICAgICAgICAgICAuYnV0dG9uLXdyYXBwZXIge1xuICAgICAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KDIsIDM2MHB4KTtcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudHJhaWxlclR5cGUge1xuICAgICAgICAmLmN1cnJlbnQge1xuICAgICAgICAgICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiBncmlkO1xuICAgICAgICAgICAgICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdCgyLCAyNzBweCk7XG4gICAgICAgICAgICAgICAgICAgIGdyaWQtdGVtcGxhdGUtcm93czogcmVwZWF0KDIsIDc2cHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50cmFpbGVyTGVuZ3RoIHtcbiAgICAgICAgJi5jdXJyZW50IHtcbiAgICAgICAgICAgIC5zZWNvbmQtdGl0bGUge1xuICAgICAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5idXR0b24td3JhcHBlciB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZ3JpZDtcbiAgICAgICAgICAgICAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMywgMTcwcHgpO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cbn1cblxuLy8gU3R5bGUgZm9yIHN0b3JhZ2UgbW9kYWwgZnJvbSBhcHBvaW50bWVudCBzdGVwXG4jYXBwb2ludG1lbnRTZWN1cmUsXG4jc2VsZWN0ZU5ld0FwcG9pbnRtZW50IHtcbiAgICAubW9kYWwtY29udGVudCB7XG4gICAgICAgIHBhZGRpbmc6IDIwcHg7XG4gICAgfVxuXG4gICAgLmNsb3NlLWJ1dHRvbiB7XG4gICAgICAgIG91dGxpbmU6IG5vbmU7XG4gICAgfVxuXG4gICAgLnRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiA2OHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDg2cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgcGFkZGluZzogMCAwIDEwcHg7XG4gICAgfVxuXG4gICAgLmJ1dHRvbi13cmFwcGVyIHtcbiAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgZmxleC13cmFwOiB3cmFwO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbGV4LXdyYXA6IG5vd3JhcDtcbiAgICAgICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFyZS1zdG9yZWQtYnRuIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgbWFyZ2luOiAwIDE1cHggMCAwO1xuICAgICAgICAgICAgbWF4LXdpZHRoOiAxNTJweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ub3Qtc3RvcmVkLWJ0biB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDIyNXB4O1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtY29uZmlybWF0aW9uIHtcbiAgICBtYXJnaW4tdG9wOiA1MHB4O1xuXG4gICAgLnRpdGxlLXdyYXBwZXIge1xuICAgICAgICBhbGlnbi1pdGVtczogYmFzZWxpbmU7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJHdoaXRlO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50aXRsZSB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLW1lZGl1bTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5zZWN1ZHJlZC10aXRsZSB7XG4gICAgICAgIHBhZGRpbmc6IDE0cHggMCAxNHB4IDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjApO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnJlc3RhcnQtYnV0dG9uIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeS1hY2Nlc3NpYmxlKTtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC5leHBpcnkge1xuICAgICAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBub2JlbCk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBsaW5lLWhlaWdodDogMjJweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgcGFkZGluZzogMCAxMHB4IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNTBweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDAgMCA1MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWNvbnRlbnQge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtd3JhcDogbm93cmFwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWRhdGUtdGltZSB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFwcG9pbnRtZW50LWFkZHJlc3Mtd3JhcHBlciB7XG4gICAgICAgIGZsZXg6IDAgMCAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAwIDEwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICBwYWRkaW5nOiAwIDAgMCAyMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWhlYWRlciB7XG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlbGVjdGVkLWFwcG9pbnRtZW50LWluZm8ge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1tZWRpdW07XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnktYWNjZXNzaWJsZSk7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMDtcbiAgICB9XG5cbiAgICAuYXBwb2ludG1lbnQtYnV0dG9ucyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGZsZXgtd3JhcDogd3JhcDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleC13cmFwOiBub3dyYXA7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiA2MHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbmZpcm0tYnV0dG9uIHtcbiAgICAgICAgZmxleDogMCAwIDEwMCU7XG4gICAgICAgIG1hcmdpbjogMCAwIDIwcHg7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXg6IDAgMCA1MCU7XG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgICAgICBtYXgtd2lkdGg6IDE5NnB4O1xuICAgICAgICAgICAgb3JkZXI6IDE7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYmFjay1idXR0b24ge1xuICAgICAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNTBweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZmxleDogMCAwIDUwJTtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIG1heC13aWR0aDogMTk2cHg7XG4gICAgICAgICAgICBvcmRlcjogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1kdXJhdGlvbiB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDAgMCAxMHB4O1xuICAgIH1cblxuICAgIC5sb2NhdGlvbi1pdGVtLW5hbWUsXG4gICAgLmxvY2F0aW9uLWl0ZW0tYWRkcmVzcyB7XG4gICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMnB4O1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxuXG4gICAgLmxvY2F0aW9uLWl0ZW0tbmFtZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIH1cblxuICAgIC5sb2NhdGlvbi10aXRsZSB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5yZXN0YXJ0LWFwcG9pbnRtZW50IHtcbiAgICAgICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIH1cblxuICAgIC5jaXR5IHtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IGNhcGl0YWxpemU7XG4gICAgfVxuXG4gICAgLnppcC1jb2RlLFxuICAgIC5zdGF0ZSB7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxufVxuIiwiLnBhZ2UtZGVzaWduZXIta2FsdGlyZSB7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KGxhcmdlIHVwKSB7XG4gICAgICAgIC5uby1wYWRkaW5nLWxlZnQtbGFyZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLm5vLXBhZGRpbmctcmlnaHQtbGFyZ2Uge1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5ibGFjayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAud2hpdGUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5vcmFuZ2Uge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5kYXJrZXItZ3JheSB7XG4gICAgICAgIGNvbG9yOiAkZGFya2VyLWdyYXkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuaGFzLXNoYWRkb3cge1xuICAgICAgICB0ZXh0LXNoYWRvdzogMCAwIDEycHggcmdiYSgwLCAwLCAwLCAwLjMpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQtYmxhY2sge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZC13aGl0ZSB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYmFja2dyb3VuZC1vcmFuZ2Uge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmJhY2tncm91bmQtZGFya2VyLWdyYXkge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2VyLWdyYXkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICBoNSBhIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIC5jb21wb25lbnQtZmlndXJlIHtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJhbm5lci10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDYwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYyg2MCk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYyg0MCk7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDQwKTtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTVweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5iYW5uZXItc3VidGl0bGUge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tbWVkaXVtO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEzKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IHJlbS1jYWxjKDQpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgICAgICAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAwO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgZmlnY2FwdGlvbiB7XG4gICAgICAgICAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgICAgICAgIHRvcDogMDtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgICAgICAucm93IHtcbiAgICAgICAgICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb21wb25lbnQtaW1hZ2Uge1xuICAgICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgICAgICBvYmplY3QtcG9zaXRpb246IHZhcigtLWZvY2FsLXBvaW50LXgpIHZhcigtLWZvY2FsLXBvaW50LXkpO1xuICAgICAgICAvLyB3aWR0aDogMTAwJTtcbiAgICB9XG5cbiAgICAudmlkZW8tYXJ0aWNsZSB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1tYWluLWltYWdlLFxuICAgIC5mZWF0dXJlZC1hcnRpY2xlLFxuICAgIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUge1xuICAgICAgICAudmlkZW8tYXJ0aWNsZSBpIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiA2MHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmZlYXR1cmUtYXJ0aWNsZS1pbWFnZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IHJlbS1jYWxjKDMwMCk7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cblxuICAgIC5leHBlcmllbmNlLWxheW91dHMtZXhwbG9yZXRvcGljLFxuICAgIC5leHBlcmllbmNlLWFzc2V0cy1leHBsb3JldG9waWNzIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBsaWdodC1ncmF5KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoODApIDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg0MCkgMDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3BpYy1saW5rLXRpdGxlIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDM1cHgpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMzVweCk7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChzbWFsbCBkb3duKSB7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICBhLnRvcGljLWxpbmsge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBzZWNvbmRhcnkpO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcblxuICAgICAgICAmOmhvdmVyIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG5cbiAgICAgICAgLnRvcGljLWxpbmstaW1hZ2Uge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MHB4O1xuICAgICAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBwYWRkaW5nLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9wdWxhci1yZWFkcyB7XG4gICAgICAgIG1hcmdpbjogNTBweCAwIDIwcHg7XG4gICAgfVxuXG4gICAgLmFydGljbGVzLWluZmluaXRlIHtcbiAgICAgICAgbWFyZ2luOiAyMHB4IDA7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbjogNTBweCAwIDIwcHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAucG9wdWxhci1yZWFkcy10b3AsXG4gICAgLnJlbGF0ZWQtcmVhZHMtdG9wIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAucG9wdWxhci1yZWFkcy10aXRsZSB7XG4gICAgICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNik7XG4gICAgICAgIGZvbnQtd2VpZ2h0OiBib2xkO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMTQpO1xuICAgICAgICBwYWRkaW5nLWxlZnQ6IDhweDtcbiAgICAgICAgXG4gICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgfVxuXG4gICAgLnBvcHVsYXItcmVhZHMtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIHRleHQtYWxpZ246IHJpZ2h0O1xuICAgIH1cblxuICAgIC5hcnRpY2xlLWNvbnRhaW5lciB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkICRsaWdodGVyLWdyYXk7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgfVxuXG4gICAgLmFydGljbGUtaW5mbyB7XG4gICAgICAgIHBhZGRpbmc6IDE1cHggMTVweCA2cHg7XG4gICAgfVxuXG4gICAgLmZlYXR1cmVkLXRhZyB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgfVxuXG4gICAgLmFydGljbGUtdGl0bGUge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgICAgIGhlaWdodDogMzhweDtcbiAgICAgICAgbGluZS1oZWlnaHQ6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1saW5rLnRleHQtbGluayB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBmb250LXdlaWdodDogYm9sZDtcblxuICAgICAgICAmLmJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAyMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgY29udGVudDogXCIgPlwiO1xuICAgICAgICB9XG5cbiAgICAgICAgJi50ZXh0LWxpbmstY3VzdG9tOjphZnRlciB7XG4gICAgICAgICAgICBjb250ZW50OiBcIlwiO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtY29udGFpbmVyLFxuICAgIC5mZWF0dXJlZC1hcnRpY2xlIHtcbiAgICAgICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIH1cblxuICAgIC5hcnRpY2xlLWxpbmstZnVsbCB7XG4gICAgICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB6LWluZGV4OiAxO1xuICAgIH1cblxuICAgIC5mZWF0dXJlZC1hcnRpY2xlLFxuICAgIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUge1xuICAgICAgICBjb2xvcjogJHdoaXRlO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgICAgIC5hcnRpY2xlLWluZm8ge1xuICAgICAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogJGRhcmtlci1ncmF5O1xuICAgICAgICAgICAgaGVpZ2h0OiAxMDAlO1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCA1MHB4IDA7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nOiAyMHB4IDQwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZmVhdHVyZWQtdGFnIHtcbiAgICAgICAgICAgIGJhY2tncm91bmQtY29sb3I6ICRkYXJrLWdyYXktZmVhdHVyZTtcbiAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoOSk7XG4gICAgICAgICAgICBwYWRkaW5nOiA0cHggN3B4O1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLXRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMzEpO1xuICAgICAgICAgICAgZm9udC13ZWlnaHQ6IG5vcm1hbDtcbiAgICAgICAgICAgIGhlaWdodDogYXV0bztcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygzMik7XG4gICAgICAgICAgICBwYWRkaW5nOiAxNnB4IDAgMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjMpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyOCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1kZXNjcmlwdGlvbiB7XG4gICAgICAgICAgICBkaXNwbGF5OiAtd2Via2l0LWJveDsgLyogc3R5bGVsaW50LWRpc2FibGUtbGluZSAqL1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMyk7XG4gICAgICAgICAgICAtd2Via2l0LWxpbmUtY2xhbXA6IDI7XG4gICAgICAgICAgICBtYXgtaGVpZ2h0OiAzNnB4O1xuICAgICAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIC13ZWJraXQtbGluZS1jbGFtcDogMztcbiAgICAgICAgICAgICAgICBtYXgtaGVpZ2h0OiA1NXB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtbGluay5idXR0b24ge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMik7XG4gICAgICAgICAgICBtYXJnaW46IDIwcHggMCAwO1xuICAgICAgICAgICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGVzLWxheW91dCB7XG4gICAgICAgIC5mZWF0dXJlLWFydGljbGUtaW1hZ2Uge1xuICAgICAgICAgICAgbWF4LWhlaWdodDogcmVtLWNhbGMoMjU2KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mZWF0dXJlZC1sZWZ0LWFydGljbGUge1xuICAgICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG5cbiAgICAgICAgLmFydGljbGUtaW5mbyB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyMnB4IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS10aXRsZSB7XG4gICAgICAgICAgICBwYWRkaW5nOiAyNnB4IDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLWRlc2NyaXB0aW9uIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIG1hcmdpbjogNXB4IDAgMjBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGEge1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRvcGljLWJyZWFkY3J1bWIge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAkZGFya2VyLWdyYXk7XG4gICAgICAgIGNvbG9yOiAkd2hpdGU7XG5cbiAgICAgICAgLmFydGljbGUtYnJlYWRjcnVtYnMge1xuICAgICAgICAgICAgbWFyZ2luOiAxNXB4IDAgNXB4O1xuXG4gICAgICAgICAgICBhLFxuICAgICAgICAgICAgcCB7XG4gICAgICAgICAgICAgICAgY29sb3I6ICR3aGl0ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC50b3BpYy10aXRsZSB7XG4gICAgICAgICAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuXG4gICAgICAgICAgICAmLXRleHQge1xuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTYpO1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxNik7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMjVweCAxMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtYnJlYWRjcnVtYnMge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgICAgIG1hcmdpbjogMTBweCAwIDIwcHg7XG5cbiAgICAgICAgYSxcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygxMSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYi1sZXZlbC0xLFxuICAgIC5icmVhZGNydW1iLWxldmVsLTIsXG4gICAgLmJyZWFkY3J1bWItbGV2ZWwtMyB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMHB4O1xuICAgIH1cblxuICAgIC5icmVhZGNydW1iLWxldmVsLTEsXG4gICAgLmJyZWFkY3J1bWItbGV2ZWwtMiB7XG4gICAgICAgIGEsXG4gICAgICAgIHAge1xuICAgICAgICAgICAgJjo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiL1wiO1xuICAgICAgICAgICAgICAgIG1hcmdpbjogMCA2cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYnJlYWRjcnVtYi1sZXZlbC0zIHtcbiAgICAgICAgcCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXJ0aWNsZS1jb250ZW50cyxcbiAgICAuY29udGVudC1tYXJrdXAge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA1MHB4O1xuICAgICAgICBtYXJnaW4tdG9wOiA0MHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBwIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMC44NzVyZW07XG4gICAgICAgIH1cblxuICAgICAgICBwLFxuICAgICAgICB1bCxcbiAgICAgICAgb2wsXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIH1cblxuICAgICAgICBwLFxuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG4gICAgICAgIH1cblxuICAgICAgICBwLFxuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIGgxIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41NjI1cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNTYyNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgyIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogMS41cmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDEuNXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHNlY29uZGFyeSk7XG4gICAgICAgICAgICBmb250LXNpemU6IDFyZW07XG4gICAgICAgICAgICBsaW5lLWhlaWdodDogMXJlbTtcbiAgICAgICAgfVxuXG4gICAgICAgIGg0IHtcbiAgICAgICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgZm9udC1zaXplOiAxcmVtO1xuICAgICAgICAgICAgbGluZS1oZWlnaHQ6IDFyZW07XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAxMHB4O1xuICAgICAgICB9XG5cbiAgICAgICAgLmFydGljbGUtcGFnZS10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI1KTtcbiAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiByZW0tY2FsYygyNSk7XG4gICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgICAgICAgICAgICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1tYWluLWltYWdlIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1wYWdlLWNvbnRlbnQge1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogNzVweDtcbiAgICAgICAgfVxuXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIEBpbmNsdWRlIGZvbnQtZ290aGFtLWJvb2s7XG5cbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDMwcHg7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDIwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICB1bCB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib29rO1xuXG4gICAgICAgICAgICBsaXN0LXN0eWxlOiBkaXNjO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAzMHB4O1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSBkb3duKSB7XG4gICAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaW1nIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICAgICAgbWFyZ2luOiAwIGF1dG87XG4gICAgICAgIH1cblxuICAgICAgICAucHJvZHVjdC1pbWFnZS1iYWRnZSB7XG4gICAgICAgICAgICBpbWcge1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5jb250ZW50LW1hcmt1cCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG5cbiAgICAuYm90dG9tLWJvcmRlci0ycC1ncmF5IHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkICRsaWdodC1ncmF5LW92ZXI7XG4gICAgfVxuXG4gICAgLnZpZGVvLWFydGljbGUtbGluayB7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgei1pbmRleDogMjtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZS12aWRlbyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDUwcHg7XG4gICAgICAgIG1hcmdpbi10b3A6IDUwcHg7XG4gICAgfVxuXG4gICAgLnRodW1icy11cC1jb250YWluZXIge1xuICAgICAgICBtYXJnaW46IDIwcHggMCA1MHB4O1xuICAgICAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnRodW1icy11cC10aXRsZSBwIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIH1cblxuICAgIC50aHVtYnMtdXAtc3VidGl0bGUgcCB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLnRodW1icy11cC10cmlnZ2VycyB7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgICAgICBwYWRkaW5nLXRvcDogMjBweDtcblxuICAgICAgICBpIHtcbiAgICAgICAgICAgIGNvbG9yOiAkdGh1bWJzLWdyYXk7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoNDIpO1xuICAgICAgICB9XG5cbiAgICAgICAgaS5hY3RpdmUge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAudGh1bWJzLXVwLXRyaWdnZXIsXG4gICAgLnRodW1icy1kb3duLXRyaWdnZXIge1xuICAgICAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgfVxuXG4gICAgLnRodW1icy11cC10cmlnZ2VyIHtcbiAgICAgICAgbWFyZ2luLXJpZ2h0OiAxMHB4O1xuICAgIH1cblxuICAgIC50aHVtYnMtZG93bi10cmlnZ2VyIHtcbiAgICAgICAgbWFyZ2luLWxlZnQ6IDEwcHg7XG4gICAgICAgIHBhZGRpbmctdG9wOiAxMnB4O1xuICAgIH1cblxuICAgIC5hcnRpY2xlLWV4dGVybmFsLXNlY3Rpb24ge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiA3NXB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMjBweDtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5hcnRpY2xlLWV4dGVybmFsLWNvbnRlbnQge1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQoc21hbGwgZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDMwcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuYXJ0aWNsZS1leHRlcm5hbC10aXRsZSB7XG4gICAgICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDIwKTtcbiAgICAgICAgICAgIG1hcmdpbjogMTBweCAwO1xuICAgICAgICAgICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICAgICAgfVxuXG4gICAgICAgIC5hcnRpY2xlLWV4dGVybmFsLXN1YnRpdGxlIHtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIC5idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMjBweDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcnRpY2xlLWZpbHRlcnMge1xuICAgICAgICBwYWRkaW5nOiA1MHB4IDEwcHggMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogNTBweCAzMHB4IDAgMTBweDtcbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTJweCk7XG4gICAgICAgICAgICBtYXJnaW46IDAgMCAzMHB4O1xuICAgICAgICAgICAgcGFkZGluZy1ib3R0b206IDMwcHg7XG4gICAgICAgIH1cblxuICAgICAgICBhIHtcbiAgICAgICAgICAgIGNvbG9yOiAkYmxhY2s7XG4gICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICAgICAgfVxuXG4gICAgICAgIGE6aG92ZXIge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAuYWN0aXZlLWxpbmsge1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgICAgIH1cblxuICAgICAgICAuc3ViY2F0ZWdvcnktcmVnaW9uIHtcbiAgICAgICAgICAgIG1hcmdpbjogMCAwIDEwcHggMTBweDtcblxuICAgICAgICAgICAgYSB7XG4gICAgICAgICAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmFydGljbGUtY291bnQge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgfVxuICAgIH1cblxuICAgIHAuYXJ0aWNsZS1jb3VudC1tb2JpbGUge1xuICAgICAgICBib3JkZXItYm90dG9tOiAwO1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDAgMDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGEucmVmaW5lbWVudC1maWx0ZXItdG9nZ2xlIHtcbiAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICAgIH1cblxuICAgICAgICAmLmFjdGl2ZSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG5cbiAgICAgICAgICAgIDo6YWZ0ZXIge1xuICAgICAgICAgICAgICAgIGNvbnRlbnQ6IFwiXFxlODA3XCI7XG4gICAgICAgICAgICAgICAgZm9udC1mYW1pbHk6IFwiZm9udGVsbG9cIjtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDE3cHg7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICAgICAgICAgIHJpZ2h0OiAxNXB4O1xuICAgICAgICAgICAgICAgIHRvcDogNTAlO1xuICAgICAgICAgICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC50b3BpYy1maWx0ZXJzIHtcbiAgICAgICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgYm9yZGVyLWxlZnQ6IDFweCBzb2xpZCAkbWVkaXVtLWdyYXk7XG4gICAgICAgIGJvcmRlci1yaWdodDogMXB4IHNvbGlkICRtZWRpdW0tZ3JheTtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgcGFkZGluZzogMTVweDtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgYm9yZGVyOiAwO1xuICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnRhYmxlLWdyaWQtY29tcG9uZW50IHtcbiAgICAgICAgdGV4dC1hbGlnbjogY2VudGVyO1xuXG4gICAgICAgIC5jb2x1bW4tY29udGVudCB7XG4gICAgICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgICAgICAgICAgcGFkZGluZzogMTBweDtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gZG93bikge1xuICAgICAgICAgICAgICAgIHBhZGRpbmc6IDRweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIHAge1xuICAgICAgICAgICAgbWFyZ2luOiAwO1xuICAgICAgICB9XG5cbiAgICAgICAgdWwge1xuICAgICAgICAgICAgbGlzdC1zdHlsZTogZGlzYztcbiAgICAgICAgfVxuXG4gICAgICAgIG9sIHtcbiAgICAgICAgICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG4gICAgICAgIH1cblxuICAgICAgICBwLFxuICAgICAgICB1bCxcbiAgICAgICAgb2wge1xuICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxNCk7XG5cbiAgICAgICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDEyKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5mbGV4LWNlbnRlciB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLmNvbnRlbnQtb3B0aW9uYWwtdGl0bGUge1xuICAgICAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjUpO1xuICAgICAgICBsaW5lLWhlaWdodDogcmVtLWNhbGMoMjUpO1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIGRvd24pIHtcbiAgICAgICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgICAgICAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmV4cGVyaWVuY2UtbGF5b3V0cy1wcm9kdWN0Y2FyZHJpZ2h0LFxuICAgIC5leHBlcmllbmNlLWxheW91dHMtcHJvZHVjdGNhcmRsZWZ0LFxuICAgIC5leHBlcmllbmNlLWxheW91dHMtcHJvZHVjdGNhcmRzY2VudGVyZWQge1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDMwIDApO1xuICAgIH1cblxuICAgIC5wb3dlcnJldmlld3MtY29udGFpbmVyIHtcbiAgICAgICAgbWluLWhlaWdodDogMzNweDtcbiAgICB9XG59XG5cbi52aWRlby1hcnRpY2xlLXBvcHVwIHtcbiAgICAudWktZGlhbG9nLXRpdGxlYmFyLWNsb3NlIHtcbiAgICAgICAgcmlnaHQ6IDE2cHg7XG4gICAgICAgIHRvcDogLTI4cHg7XG4gICAgXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICByaWdodDogMTZweDtcbiAgICAgICAgICAgIHRvcDogLTI4cHg7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAjZGlhbG9nLWNvbnRhaW5lciB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgfVxufVxuXG4jcmVzb3VyY2UtY2VudHJlIHtcbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAuZXhwZXJpZW5jZS1hc3NldHMtaGVhZGxpbmViYW5uZXJmdWxsd2lkdGgge1xuICAgICAgICAgICAgaGVpZ2h0OiAzNzFweDtcbiAgICAgICAgICAgIHRleHQtYWxpZ246IGNlbnRlcjtcblxuICAgICAgICAgICAgLnRpdGxlLXJvdyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDAgMCAzNDVweDtcbiAgICAgICAgICAgICAgICB0ZXh0LWFsaWduOiBqdXN0aWZ5O1xuXG4gICAgICAgICAgICAgICAgLmJhbm5lci10aXRsZSB7XG4gICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNjVweDtcbiAgICAgICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAuYmFubmVyLXN1YnRpdGxlIHtcbiAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgICAgIC5zdWJ0aXRsZS1yb3cge1xuICAgICAgICAgICAgICAgICAgICBtYXJnaW46IDA7XG5cbiAgICAgICAgICAgICAgICAgICAgLnN1YnRpdGxlLWNvbHVtbiB7XG4gICAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgLmV4cGVyaWVuY2UtYXNzZXRzLWV4cGxvcmV0b3BpY3Mge1xuICAgICAgICAgICAgaGVpZ2h0OiA0MDhweDtcbiAgICAgICAgICAgIHBhZGRpbmc6IDEyMHB4IDA7XG5cbiAgICAgICAgICAgIC50b3BpYy1saW5rLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDQycHg7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMDtcbiAgICAgICAgICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLnRvcGljLWNvbHVtbiB7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAwIDI0cHg7XG4gICAgICAgICAgICAgICAgcGFkZGluZzogMDtcblxuICAgICAgICAgICAgICAgIC50b3BpYy1saW5rIHtcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogZmxleDtcbiAgICAgICAgICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcblxuICAgICAgICAgICAgICAgICAgICBpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnQtc2l6ZTogNTZweDtcbiAgICAgICAgICAgICAgICAgICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAgICAgICAgIHAge1xuICAgICAgICAgICAgICAgICAgICAgICAgZm9udC1zaXplOiAxOHB4O1xuICAgICAgICAgICAgICAgICAgICAgICAgcGFkZGluZy10b3A6IDIycHg7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICAuZXhwZXJpZW5jZS1sYXlvdXRzLXBvcHVsYXJyZWFkcyB7XG4gICAgICAgICAgICAucG9wdWxhci1yZWFkcyB7XG4gICAgICAgICAgICAgICAgbWFyZ2luOiAxMDBweCAwIDcwcHg7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIC5wb3B1bGFyLXJlYWRzLXRpdGxlIHtcbiAgICAgICAgICAgICAgICBmb250LXNpemU6IDI2cHg7XG4gICAgICAgICAgICAgICAgaGVpZ2h0OiAyM3B4O1xuICAgICAgICAgICAgICAgIGxpbmUtaGVpZ2h0OiAyMXB4O1xuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICAuZmVhdHVyZWQtYXJ0aWNsZSB7XG4gICAgICAgICAgICAgICAgbWFyZ2luLWJvdHRvbTogMzBweDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgLmFydGljbGUtY29udGFpbmVyIHtcbiAgICAgICAgICAgICAgICBtYXJnaW4tYm90dG9tOiAzMHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxufVxuIiwiLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC10aXRsZSB7XG4gICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9sZDtcblxuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjEpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMzAgMCAyMCk7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMjYpO1xuICAgICAgICBtYXJnaW46IHJlbS1jYWxjKDUwIDApO1xuICAgIH1cbn1cblxuLnNlbGYtc2VydmljZS1lbnRyeS1wb2ludC1vcmRlciB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgLy8gUmVtb3ZlIGlucHV0J3MgYXJyb3dzL3NwaW5uZXJzIGJveFxuICAgIGlucHV0W3R5cGU9XCJudW1iZXJcIl0ge1xuICAgICAgICBhcHBlYXJhbmNlOiB0ZXh0ZmllbGQ7XG4gICAgfVxuXG4gICAgaW5wdXQ6Oi13ZWJraXQtb3V0ZXItc3Bpbi1idXR0b24sXG4gICAgaW5wdXQ6Oi13ZWJraXQtaW5uZXItc3Bpbi1idXR0b24ge1xuICAgICAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxufVxuXG4uc2VsZi1zZXJ2aWNlLWVudHJ5LXBvaW50LXdyYXBwZXIge1xuICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwMCk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNSAwKTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIGJvcmRlcjogcmVtLWNhbGMoNSkgc29saWQgcmdiYShtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpLCAwLjgpO1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYyg4MCAwIDQwKTtcbiAgICB9XG5cbiAgICAuaGFzLXRpcC1jdXN0b20ge1xuICAgICAgICBib3JkZXI6IDA7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYyg3KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgICAgICB0b3A6IHJlbS1jYWxjKC0yKTtcbiAgICB9XG5cbiAgICAucXVlc3Rpb25tYXJrY2lyY2xlIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICBtYXJnaW4tcmlnaHQ6IDA7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxOCk7XG4gICAgfVxufVxuXG4uZmluZC1teS1hcHBvaW50bWVudCB7XG4gICAgbWFyZ2luLWxlZnQ6IHJlbS1jYWxjKDE1KTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgfVxufVxuXG4uc2Vhc29uLXRpcmUtcG9wdXAge1xuICAgIHdpZHRoOiA2MDBweCAhaW1wb3J0YW50O1xuXG4gICAgLmRpYWxvZy1jb250ZW50IHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICB9XG5cbiAgICAuc2Vhc29uLXRpcmUtcG9wdXAtdGl0bGUge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUgNjAgMjUgMjUpO1xuICAgIH1cblxuICAgIC51aS1kaWFsb2ctdGl0bGViYXItY2xvc2Uge1xuICAgICAgICAudWktYnV0dG9uLWljb24tcHJpbWFyeSB7XG4gICAgICAgICAgICAmOjphZnRlciB7XG4gICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICY6aG92ZXIge1xuICAgICAgICAgICAgICAgICY6OmFmdGVyIHtcbiAgICAgICAgICAgICAgICAgICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgd2hpdGUtZGVmYXVsdCk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICB9XG4gICAgfVxuXG4gICAgLnNlYXNvbi10aXJlLXBvcHVwLXdyYXBwZXIge1xuICAgICAgICBkaXNwbGF5OiBmbGV4O1xuICAgICAgICBmbGV4LWZsb3c6IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSA2MCAyNSAxMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIGZsZXgtZmxvdzogcm93O1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUgNjAgMjUgMTUpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbmZpcm0tY2FuY2VsYXRpb24td3JhcHBlciB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDEwKTtcblxuICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMjUgMTUpO1xuICAgICAgICB9XG5cbiAgICAgICAgLmJ1dHRvbiB7XG4gICAgICAgICAgICB3aWR0aDogMTAwJTtcblxuICAgICAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgJjpmb2N1cyB7XG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuXG4gICAgICAgIC5rZWVwLWFwcG9pbnRtZW50LWJ1dHRvbiB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgY29sb3I6ICRibGFjaztcbiAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiAwO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTMgMTUpO1xuXG4gICAgICAgICAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICAgICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxMCk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAuYXBpZmFpbGVkLXBvcHVwLXdyYXBwZXIge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygyNSAxMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDI1IDE1KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZGlzYWJsZWQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmlucHV0LWN1c3RvbSxcbiAgICBpbnB1dFt0eXBlPVwicmFkaW9cIl0ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHZlcnktbGlnaHQtZ3JleSk7XG4gICAgICAgIGhlaWdodDogcmVtLWNhbGMoMTgpO1xuICAgICAgICB3aWR0aDogcmVtLWNhbGMoMTgpO1xuICAgIH1cblxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgICY6Y2hlY2tlZCArIC5pbnB1dC1jdXN0b20ge1xuICAgICAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgICAgIGJvcmRlcjogcmVtLWNhbGMoNCkgc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIGltZyB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbWF4LXdpZHRoOiByZW0tY2FsYygxMjApO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBmbG9hdDogcmlnaHQ7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VydmV5LXdyYXBwZXIge1xuICAgIC5maWVsZC13cmFwcGVyIHtcbiAgICAgICAgQGluY2x1ZGUgZm9udC1nb3RoYW0tYm9vaztcblxuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDE1KTtcbiAgICB9XG5cbiAgICAucmFkaW8tZm9ybSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IHJlbS1jYWxjKDEwKTtcbiAgICB9XG5cbiAgICAuaW5wdXQtY3VzdG9tLFxuICAgIGlucHV0W3R5cGU9XCJyYWRpb1wiXSB7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgdmVyeS1saWdodC1ncmV5KTtcbiAgICAgICAgaGVpZ2h0OiByZW0tY2FsYygxOCk7XG4gICAgICAgIHdpZHRoOiByZW0tY2FsYygxOCk7XG4gICAgfVxuXG4gICAgaW5wdXRbdHlwZT1cInJhZGlvXCJdIHtcbiAgICAgICAgJjpjaGVja2VkICsgLmlucHV0LWN1c3RvbSB7XG4gICAgICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHdoaXRlLWRlZmF1bHQpO1xuICAgICAgICAgICAgYm9yZGVyOiByZW0tY2FsYyg0KSBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNhbmNlbC1hcHBvaW50bWVudC13aHkge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygxNSk7XG4gICAgfVxuXG4gICAgLmNhbmNlbC1hcHBvaW50bWVudC1zdXJ2ZXktc3VibWl0IHtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMzApO1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygxNSA1MCk7XG4gICAgfVxuXG4gICAgLmJ1dHRvbltkaXNhYmxlZF0ge1xuICAgICAgICBiYWNrZ3JvdW5kOiAkZ3JleS1kaXNhYmxlZDtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG59XG5cbi50b29sdGlwIHtcbiAgICAuc2Vhc29uLXRpcmUtcG9wdXAtb3JkZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTUpO1xuICAgIH1cbn1cblxuLmFwcG9pbnRtZW50LXJlc2NoZWR1bGUtbWVzc2FnZS1ib3gge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDEwIDIwKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAzMCAzMCA2MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzAgNjApO1xuICAgIH1cblxuICAgIC5mYS1jaGVjay1jaXJjbGUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5mYS1jaGVjayB7XG4gICAgICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDExKTtcbiAgICAgICAgbGVmdDogcmVtLWNhbGMoMzApO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuXG4gICAgICAgICY6OmJlZm9yZSB7XG4gICAgICAgICAgICBib3JkZXI6IDNweCBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgICAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMyk7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1yZXNjaGVkdWxlLW1lc3NhZ2UtYm94LWtlZXAge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDEwIDIwKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAyMCk7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBwYWRkaW5nOiByZW0tY2FsYygzMCk7XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtZmluZGVyLWVycm9yLXdyYXBwZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgbGlnaHQtZ3JheSk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygwIDEwIDIwKTtcbiAgICBwYWRkaW5nOiByZW0tY2FsYygzMCAzMCAzMCA2MCk7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuXG4gICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMzAgNjApO1xuICAgIH1cblxuICAgIC5mYS1leGNsYW1hdGlvbi10cmlhbmdsZSxcbiAgICAuZmEtY2hlY2sge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygyMCk7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIH1cblxuICAgIC5mYS1jaGVjayB7XG4gICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTEpO1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYyg1KTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMpO1xuICAgICAgICB9XG4gICAgfVxuXG4gICAgLmNvbnRhY3QtdXMsXG4gICAgLnRhbGstbWVtYmVyIHtcbiAgICAgICAgZm9udC13ZWlnaHQ6IGJvbGQ7XG4gICAgfVxuXG4gICAgLnRhbGstbWVtYmVyIHtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5waG9uZS1udW1iZXIge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBtaWRncmV5KTtcbiAgICB9XG59XG5cbi5jYW5jZWwtYXBwb2ludG1lbnQtc3VjY2Vzcy13cmFwcGVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIGxpZ2h0LWdyYXkpO1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMjUgMCAzNSk7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoMzAgMzAgMzAgNjApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcblxuICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMwIDYwKTtcbiAgICB9XG5cbiAgICAuZmEtY2hlY2sge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgZm9udC1zaXplOiByZW0tY2FsYygxMSk7XG4gICAgICAgIGxlZnQ6IHJlbS1jYWxjKDMwKTtcbiAgICAgICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoNSk7XG4gICAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcblxuICAgICAgICAmOjpiZWZvcmUge1xuICAgICAgICAgICAgYm9yZGVyOiAzcHggc29saWQgbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICAgICAgICAgIHBhZGRpbmc6IHJlbS1jYWxjKDMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLXRpdGxlIHtcbiAgICBAaW5jbHVkZSBmb250LWdvdGhhbS1ib2xkO1xuXG4gICAgZm9udC1zaXplOiByZW0tY2FsYygyMSk7XG4gICAgbWFyZ2luOiByZW0tY2FsYygzMCAwIDIwKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBmb250LXNpemU6IHJlbS1jYWxjKDI2KTtcbiAgICAgICAgbWFyZ2luOiByZW0tY2FsYyg1MCAwIDIwKTtcbiAgICB9XG5cbiAgICAmOjpiZWZvcmUge1xuICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgY29udGVudDogXCJ8XCI7XG4gICAgICAgIG1hcmdpbi1yaWdodDogcmVtLWNhbGMoOCk7XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLW9yZGVyLXN1bW1hcnkge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMjAgMCk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtc3RhcnR0aW1lIHtcbiAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYygyMCk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtc3RhcnR0aW1lLWRheSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jb25maXJtIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg1KTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jb25maXJtLXByb3ZpbmNlIHtcbiAgICBtYXJnaW4tYm90dG9tOiByZW0tY2FsYyg0MCk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24ge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLWxpbmU7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtbG9jYXRpb24tZGlzdGFuY2Uge1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIG1pZGdyZXkpO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTIpO1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG4gICAgcGFkZGluZzogcmVtLWNhbGMoNSkgMCByZW0tY2FsYygxMCk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtc3BhY2Uge1xuICAgIG1hcmdpbjogcmVtLWNhbGMoMTAgMCAyMCk7XG59XG5cbi5hcHBvaW50bWVudC1kYXNoYm9hcmQtcmVzY2hlZHVsZSB7XG4gICAgbWFyZ2luLXRvcDogcmVtLWNhbGMoMjApO1xufVxuXG4uYXBwb2ludG1lbnQtZGFzaGJvYXJkLWNhbmNlbCB7XG4gICAgY29sb3I6IG1hcC1nZXQoJGZvdW5kYXRpb24tcGFsZXR0ZSwgcHJpbWFyeSk7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbGluZS1oZWlnaHQ6IGluaGVyaXQ7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMTAwKTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogdGV4dC10b3A7XG5cbiAgICBAaW5jbHVkZSBicmVha3BvaW50KG1lZGl1bSB1cCkge1xuICAgICAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgICAgIG1hcmdpbi1sZWZ0OiByZW0tY2FsYygxNSk7XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItc2VsZWN0LW5ldy1kYXRlIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE4KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDMwKTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jYWxlbmRhci1uYW1lIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE2KTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1sb2NhdGlvbi1jYWxlbmRhci1hZGRyZXNzIHtcbiAgICBmb250LXNpemU6IHJlbS1jYWxjKDE0KTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDEwKTtcbn1cblxuLmFwcG9pbnRtZW50LWNhbGVuZGFyLWRyb3Age1xuICAgIGNvbG9yOiBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTQpO1xuXG4gICAgJjpob3ZlciB7XG4gICAgICAgIGNvbG9yOiAjZGI1YTAwO1xuICAgIH1cbn1cblxuLnN0b3JlLWRldGFpbHMtYm94LXdyYXBwZXIge1xuICAgIG1hcmdpbi10b3A6IHJlbS1jYWxjKDQwKTtcblxuICAgIC5zdG9yZS1kZXRhaWxzLWJveCB7XG4gICAgICAgIG1hcmdpbi10b3A6IDA7XG5cbiAgICAgICAgLm1vcmUtaW5mby10aXRsZSB7XG4gICAgICAgICAgICBjb2xvcjogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCBwcmltYXJ5KTtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogcmVtLWNhbGMoMTMpO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItcGxhaW4tdGV4dCB7XG4gICAgbWFyZ2luLWJvdHRvbTogcmVtLWNhbGMoMjApO1xufVxuXG4uYXBwb2ludG1lbnQtY2FsZW5kYXItYnV0dG9uLXdyYXBwZXIge1xuICAgIC5idXR0b25bZGlzYWJsZWRdIHtcbiAgICAgICAgYmFja2dyb3VuZDogJGdyZXktZGlzYWJsZWQ7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuXG4gICAgLmJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICB3aWR0aDogaW5oZXJpdDtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC5hcHBvaW50bWVudC1jYWxlbmRhci1rZWVwIHtcbiAgICAgICAgYmFja2dyb3VuZDogbWFwLWdldCgkZm91bmRhdGlvbi1wYWxldHRlLCB3aGl0ZS1kZWZhdWx0KTtcbiAgICAgICAgYm9yZGVyOiByZW0tY2FsYygzKSBzb2xpZCBtYXAtZ2V0KCRmb3VuZGF0aW9uLXBhbGV0dGUsIHByaW1hcnkpO1xuICAgICAgICBjb2xvcjogJGJsYWNrO1xuICAgICAgICBtYXJnaW4tbGVmdDogMDtcbiAgICAgICAgcGFkZGluZzogcmVtLWNhbGMoMTEgMTUpO1xuXG4gICAgICAgIEBpbmNsdWRlIGJyZWFrcG9pbnQobWVkaXVtIHVwKSB7XG4gICAgICAgICAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgICAgICB9XG4gICAgfVxufVxuXG4uYXBwb2ludG1lbnQtYWN0aXZlIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4uYXBwb2ludG1lbnQtZGF0ZSB7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLmFwcG9pbnRtZW50LWRhc2hib2FyZC1kYXRlIHtcbiAgICBmbGV4OiAwIDAgMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogcmVtLWNhbGMoMTApO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IG5vbmU7XG59XG5cbi5yZXZlYWwuYXBwb2ludG1lbnQtY2FsZW5kYXItbW9kYWwge1xuICAgIGhlaWdodDogYXV0bztcbiAgICBtaW4taGVpZ2h0OiBhdXRvO1xuXG4gICAgLmFwcG9pbnRtZW50LWNhbGVuZGFyLWtlZXAge1xuICAgICAgICBtYXJnaW4tdG9wOiByZW0tY2FsYygyMCk7XG5cbiAgICAgICAgQGluY2x1ZGUgYnJlYWtwb2ludChtZWRpdW0gdXApIHtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDA7XG4gICAgICAgIH1cbiAgICB9XG59XG5cbi5hcHBvaW50bWVudC1maW5kZXItZXJyb3ItYmxvY2sge1xuICAgIC5hcHBvaW50bWVudC1maW5kZXItZXJyb3Itd3JhcHBlciB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICB9XG59XG5cbkBtZWRpYSBwcmludCB7XG4gICAgLmluZm9ybWF0aW9uLWJveCB7XG4gICAgICAgIGgzIHtcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICB9XG4gICAgfVxufVxuIiwiLy8gSW4gdGhpcyBmaWxlIHdlIHdpbGwgaGlkZSBzb21lIHNlY3Rpb25zIHRoYXQgd2lsbCBub3QgYmUgZGVsaXZlcmVkIGZvciB0aGUgbW9tZW50IG9yIHdpbGwgYmUgc29tZSBDUidzIGluIHRoZSBmdXR1cmUgZm9yIHRob3NlIHNlY3Rpb25zXG5cbi8vIGhpZGUgcmVjb21tZW5kZWQgYmFkZ2VzIGZyb20gdGhlIHRvcCBvZiB0aWxlcyAoZ3JpZCBwYWdlKVxuLnNlYXJjaC1yZXN1bHQtY29udGVudCAucHJvZHVjdC10aWxlIC5yZWNvbW1lbmRlZC1iYWdkZSB7XG4gICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xufVxuXG4vLyBoaWRlIFwiSG93IHdvdWxkIHlvdSBsaWtlIHRvIGJlIHJlbWluZGVkIG9mIHlvdXIgYXBwb2ludG1lbnQ/XCIgc2VjdGlvbiBmcm9tIENoZWNrb3V0IFN0ZXAgMlxuLmNoZWNrb3V0LXNoaXBwaW5nIC5zZWxlY3Rpb24tYm94LnJlbWluZGVkLWFwcG9pbnRtZW50IHtcbiAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8vIHJlbW92ZSBzZWxlY3QgYXJyb3cgZm9yIENvdW50cnkgZmllbGRcbi8vIG5vdyB3ZSBoYXZlIGp1c3Qgb25lIGNvdW50cnkgYWRkZWQgYXV0b21hdGljYWxseSBhbmQgdGhlIHNlbGVjdCBmaWVsZCBpcyBub3QgZWRpdGFibGVcbi5jaGVja291dC1maWVsZHMtY29udGFpbmVyIC5jb3VudHJ5LXJvdyAuaW5wdXQtc2VsZWN0IHtcbiAgICBiYWNrZ3JvdW5kLWltYWdlOiBub25lO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAgICNpbnNpZGVfaG9sZGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICB9XG59XG4iXX0= */
